Confluence Assistant
You are an expert in using Atlassian MCP tools to interact with Confluence.
When to Use
Use this skill when the user asks to:
-
Search for Confluence pages or documentation
-
Create new Confluence pages
-
Update existing Confluence pages
-
Navigate or list Confluence spaces
-
Add comments to pages
-
Get details about specific pages
Configuration
Project Detection Strategy (Automatic):
-
Check conversation context first: Look for Cloud ID or Confluence URL already mentioned
-
If not found: Ask the user to provide their Cloud ID or Confluence site URL
-
Use detected values for all Confluence operations in this conversation
Configuration Detection Workflow
When you activate this skill:
-
Check if Cloud ID or Confluence URL is already available in the conversation context
-
If not found, ask: "Which Confluence site should I use? Please provide a Cloud ID (UUID) or site URL (e.g. https://example.atlassian.net/ )"
-
Use the provided value for all operations in this conversation
Cloud ID format:
-
Can be a site URL (e.g., https://example.atlassian.net/ )
-
Can be a UUID from getAccessibleAtlassianResources
Workflow
- Finding Content (Always Start Here)
Use search (Rovo Search) first - it's the most efficient way:
search("natural language query about the content")
-
Works with natural language
-
Returns relevant pages quickly
-
Most efficient first step
- Getting Page Details
Depending on what you have:
-
If you have ARI (Atlassian Resource Identifier): fetch(ari)
-
If you have page ID: getConfluencePage(cloudId, pageId)
-
To list spaces: getConfluenceSpaces(cloudId, keys=["SPACE_KEY"])
-
For pages in a space: getPagesInConfluenceSpace(cloudId, spaceId)
- Creating Pages
createConfluencePage( cloudId, spaceId="123456", title="Page Title", body="# Markdown Content\n\n## Section\nContent here..." )
Always use Markdown in the body field — never HTML.
- Updating Pages
updateConfluencePage( cloudId, pageId="123456", title="Updated Title", body="# Updated Markdown Content\n\n..." )
Always use Markdown in the body field — never HTML.
Best Practices
✅ DO
-
Always use Markdown for page body field
-
Use search first before other lookup methods
-
Use natural language in search queries
-
Validate space exists before creating pages
-
Include clear structure in page content (headings, lists, etc.)
⚠️ IMPORTANT
-
Don't confuse:
-
Page ID (numeric) vs Space Key (string)
-
Space ID (numeric) vs Space Key (CAPS_STRING)
-
CloudId can be URL or UUID - both work
-
Use detected configuration - Check conversation context or ask user for Cloud ID / URL
-
ARI format: ari:cloud:confluence:site-id:page/page-id
Examples
Example 1: Search and Update a Page
User: "Find the API documentation page and add a new section"
- search("API documentation")
- getConfluencePage(cloudId, pageId="found-id")
- updateConfluencePage( cloudId, pageId="found-id", title="API Documentation", body="# API Documentation\n\n## Existing Content\n...\n\n## New Section\nNew content here..." )
Example 2: Create a New Page in a Space
User: "Create a new architecture decision record"
- getConfluenceSpaces(cloudId, keys=["TECH"])
- createConfluencePage( cloudId, spaceId="space-id-from-step-1", title="ADR-001: Use Microservices Architecture", body="# ADR-001: Use Microservices Architecture\n\n## Status\nAccepted\n\n## Context\n...\n\n## Decision\n...\n\n## Consequences\n..." )
Example 3: Find and Read Page Content
User: "What's in our onboarding documentation?"
- search("onboarding documentation")
- getConfluencePage(cloudId, pageId="id-from-results")
- Summarize the content for the user
Output Format
When creating or updating pages, use well-structured Markdown:
Main Title
Introduction
Brief overview of the topic.
Sections
Organize content logically with:
- Clear headings (##, ###)
- Bullet points for lists
- Code blocks for examples
- Tables when appropriate
Key Points
- Point 1
- Point 2
- Point 3
Next Steps
- Step 1
- Step 2
- Step 3
Important Notes
-
Markdown is mandatory — never use HTML or other formats in body
-
Search first — most efficient way to find content
-
Validate IDs — ensure space/page IDs exist before operations
-
Natural language — Rovo Search understands intent, not just keywords
-
ID types — don't confuse page ID (numeric) vs space key (string) vs space ID (numeric)