> confluence-assistant
Expert in Confluence operations using Atlassian MCP. Use when the user says "search Confluence", "create a Confluence page", "update a page", "find documentation in Confluence", "list spaces", or "add a comment to a page". Do NOT use for Jira issues, general web search, or local file creation.
curl "https://skillshub.wtf/tech-leads-club/agent-skills/confluence-assistant?format=md"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
1. 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
2. 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)
3. 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.
4. 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
bodyfield - Use
searchfirst 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"
1. search("API documentation")
2. getConfluencePage(cloudId, pageId="found-id")
3. 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"
1. getConfluenceSpaces(cloudId, keys=["TECH"])
2. 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?"
1. search("onboarding documentation")
2. getConfluencePage(cloudId, pageId="id-from-results")
3. 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
1. Step 1
2. Step 2
3. 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)
> related_skills --same-repo
> playwright-skill
Complete browser automation with Playwright. Auto-detects dev servers, writes clean test scripts to /tmp. Test pages, fill forms, take screenshots, check responsive design, validate UX, test login flows, check links, automate any browser task. Use when user wants to test websites, automate browser interactions, validate web functionality, or perform any browser-based testing. Do NOT use for quick page debugging or network inspection (use chrome-devtools instead).
> nx-workspace
Configure, explore, and optimize Nx monorepo workspaces. Use when setting up Nx, exploring workspace structure, configuring project boundaries, analyzing affected projects, optimizing build caching, or implementing CI/CD with affected commands. Keywords — nx, monorepo, workspace, projects, targets, affected. Do NOT use for running tasks (use nx-run-tasks) or code generation with generators (use nx-generate).
> nx-run-tasks
Execute build, test, lint, serve, and other tasks in an Nx workspace using single runs, run-many, and affected commands. Use when user says "run tests", "build my app", "lint affected", "serve the project", "run all tasks", or "nx affected". Do NOT use for code generation (use nx-generate) or workspace configuration (use nx-workspace).
> nx-generate
Generate code using Nx generators — scaffold projects, libraries, features, or run workspace-specific generators with proper discovery, validation, and verification. Use when user says "create a new library", "scaffold a component", "generate code with Nx", "run a generator", "nx generate", or any code scaffolding task in a monorepo. Prefers local workspace-plugin generators over external plugins. Do NOT use for running build/test/lint tasks (use nx-run-tasks) or workspace configuration (use nx-