What inspired you?
Our "aha!" moment didn’t strike while working on a piece of code - it actually happened in the middle of a chaotic marketing sprint. As AI began to reshape our workflow, we realized that prompts were no longer just "inputs" - they had become the new DNA of our tasks. Yet, these gold-standard instructions were constantly being lost in messy Slack threads or buried in private notepads, making collaboration nearly impossible. We saw a market flooded with hyper-technical tools that seemed to require a PhD in "AI-speak," and we knew there was a better way for the rest of us. We were inspired to build a bridge between the raw power of LLMs and the structured world of Jira and Confluence. The idea was to transform AI from a solitary "black box" into a transparent, standardized, and collaborative team asset that anyone - from a content creator to a DevOps engineer - can master.
What does it do?
The AI Prompt Manager transforms Jira from a task tracker into a centralized AI command center. We’ve closed the loop between ideation and documentation by allowing users to execute prompts directly within a Jira work item.
- The Execution Loop: Users can trigger prompts using their choice of LLM models without ever leaving the work item. But the real magic happens next: with one click, the output is saved directly to a new Confluence page. We’ve built-in automatic bi-directional linking, ensuring that your Jira "source of truth" and your Confluence "documentation" are always connected.
- The Prompt Library & Transparency: We’ve eliminated the hunt for "that one prompt that worked." The prompt used for a task is visible and editable within the Jira work item panel. On the work item view, prompts can also be saved before their execution. On top of that, users have access to the Prompt-Template Library, where they can store, create templates for prompts, and use them in Jira work items.
- Dynamic Customization: To ensure high-level standardization without sacrificing flexibility, we implemented smart variables. Users can reference entirely different prompts within a single command {{templates.promptName}} or use dynamic placeholders (e.g. app name) in format {{variables.appName}} that update automatically. This way, the app becomes a framework for consistent, high-quality output across the entire organization.
What have you learned?
This project was a milestone as our first cross-context application, requiring a unified architecture to bridge Jira and Confluence seamlessly. We mastered the TipTap/ProseMirror ecosystem to build custom nodes and automated PasteRules, while leveraging the Forge LLM API to create custom tools that fetch data across both platforms. Finally, by using @compiled/react, we ensured high performance and visual consistency regardless of whether the app is rendered in a Jira work item panel or a Confluence page.
How did you build your project?
The app is built on Forge architecture to maximize both native performance and UI flexibility:
- Modules: We utilized jira:issuePanel, globalPage, and adminPage, while implementing Realtime Events for live state updates.
- Frontend Strategy: We used Forge UI Kit for standard administrative views and Custom UI for the complex editor interface. To bridge the two, we used a Frame to embed Custom UI views within UI Kit components.
- Editor Architecture: The core is a customized TipTap editor built on the ProseMirror model. We developed bespoke extensions for dynamic variables and Confluence linking to ensure seamless data flow between Jira issues and Confluence pages.
What challenges have you faced?
The road to a seamless, native experience involved several technical hurdles, starting with the complexity of the TipTap node lifecycle. Managing the parsing, rendering, and serialization of custom nodes required a deep dive into ProseMirror architecture, particularly when ensuring strict type safety with TypeScript and the ReactNodeViewRenderer. Beyond the editor itself, we faced a significant challenge in bridging the "context gap" to make the LLM truly effective. To solve this, we engineered custom "tools" for the Forge LLM module that allow the model to dynamically fetch and interpret the content of linked Confluence pages, transforming static prompts into context-aware instructions. Finally, we had to navigate the nuances of the Atlaskit Design System. Aligning our custom UI with specific design tokens and optimizing @compiled/react performance was a meticulous process, but essential for ensuring the app feels like an organic, performant part of the Atlassian ecosystem.
What are the accomplishments you are proud of?
Our primary achievement is the successful integration of the Forge LLM module, which allowed us to prioritize data security and ecosystem alignment. While our initial build utilized an OpenAI integration, we pivoted to Forge to fully meet the "Runs on Atlassian" requirements. We are proud to participate in the EAP for this module, as it enables us to deliver the full power of AI while ensuring all data remains securely within the Atlassian data safety boundaries. Additionally, we successfully implemented a highly customized TipTap editor rather than relying on the more restrictive editor-core. By building our own ProseMirror-based extensions, we created a stable, performant editing environment that avoids the common production issues associated with extending standard Atlassian editor components. Finally, we are proud of our cross-context architecture, which transforms a prompt into a bridge between platforms. It leverages an organization’s Confluence knowledge base to generate high-quality, relevant results directly within Jira work items.
What’s next for the AI Prompt Manager?
Our roadmap is as ambitious as the AI landscape itself. We are eagerly awaiting the general availability of the Forge LLM model and support for different LLM models, such as OpenAI or Rovo - all to expand our native integration. Our next steps include granular permission management for templates and expanding action availability - think AI-generated comments and automatic description updates. Most excitingly, we’re exploring Rovo Agent integrations to proactively suggest the perfect prompt template based on the specific context of your Jira task. The possibilities are endless, and we’re ready to build them all.
Built With
- atlaskit
- forge
- forge-llm
- react
- tiptap-editor
- typescript


Log in or sign up for Devpost to join the conversation.