Confluence Claude Skill
npx skills add https://github.com/spillwavesolutions/confluence-skill --skill confluenceCLI를 사용하여 이 스킬을 설치하고 작업 공간에서 SKILL.md 워크플로 사용을 시작하세요.
A comprehensive Claude Code skill that provides expert guidance for managing Confluence documentation, including Wiki Markup mastery, Markdown conversion, Mermaid diagram integration, and seamless interaction with the Atlassian MCP server.
A skill is an instruction manual that teaches Claude Code how to use MCP (Model Context Protocol) tools effectively. Think of it this way:
Claude Code can discover and use MCP tools automatically, but skills provide the critical context, workflows, and domain expertise that make interactions efficient, reliable, and consistent with documentation best practices.
This skill works hand-in-glove with the Atlassian MCP server (mcp__atlassian-evinova). The MCP provides raw access to Confluence's API capabilities, while this skill provides:
When you ask Claude Code to work with Confluence, this skill ensures operations follow proven patterns, handle format conversions correctly, and maintain documentation quality.
The recommended way to install this skill across different AI coding agents is using the skilz universal installer.
pip install skilz
This skill supports Agent Skill Standard which means it supports 14 plus coding agents including Claude Code, OpenAI Codex, Cursor and Gemini.
You can use either -g or --git with HTTPS or SSH URLs:
# HTTPS URL
skilz install -g https://github.com/SpillwaveSolutions/confluence-skill
# SSH URL
skilz install --git [email protected]:SpillwaveSolutions/confluence-skill.git
Install to user home (available in all projects):
skilz install -g https://github.com/SpillwaveSolutions/confluence-skill
Install to current project only:
skilz install -g https://github.com/SpillwaveSolutions/confluence-skill --project
Install for OpenCode:
skilz install -g https://github.com/SpillwaveSolutions/confluence-skill --agent opencode
Project-level install:
skilz install -g https://github.com/SpillwaveSolutions/confluence-skill --project --agent opencode
Project-level install for Gemini:
skilz install -g https://github.com/SpillwaveSolutions/confluence-skill --agent gemini
Install for OpenAI Codex:
skilz install -g https://github.com/SpillwaveSolutions/confluence-skill --agent codex
Project-level install:
skilz install -g https://github.com/SpillwaveSolutions/confluence-skill --project --agent codex
# Claude to user home dir ~/.claude/skills
skilz install SpillwaveSolutions_confluence-skill/confluence
# Claude skill in project folder ./claude/skills
skilz install SpillwaveSolutions_confluence-skill/confluence --project
# OpenCode install to user home dir ~/.config/opencode/skills
skilz install SpillwaveSolutions_confluence-skill/confluence --agent opencode
# OpenCode project level
skilz install SpillwaveSolutions_confluence-skill/confluence --agent opencode --project
# OpenAI Codex install to user home dir ~/.codex/skills
skilz install SpillwaveSolutions_confluence-skill/confluence
# OpenAI Codex project level ./.codex/skills
skilz install SpillwaveSolutions_confluence-skill/confluence --agent opencode --project
# Gemini CLI (project level) -- only works with project level
skilz install SpillwaveSolutions_confluence-skill/confluence --agent gemini
See this site skill Listing to see how to install this exact skill to 14+ different coding agents.
Skilz supports 14+ coding agents including Claude Code, OpenAI Codex, OpenCode, Cursor, Gemini CLI, GitHub Copilot CLI, Windsurf, Qwen Code, Aidr, and more.
For the full list of supported platforms, visit SkillzWave.ai/platforms or see the skilz-cli GitHub repository
Largest Agentic Marketplace for AI Agent Skills and
SpillWave: Leaders in AI Agent Development.
This skill can be installed at multiple levels depending on your organizational structure and needs:
Install in your home directory for use across all projects:
~/.claude/skills/confluence/
Use case: You work with a single Confluence instance across all projects.
Install within a specific project directory:
/path/to/project/.claude/skills/confluence/
Use case: Project-specific Confluence configuration, custom templates, or documentation workflows that differ from other projects.
Install at a workspace directory that groups multiple related projects:
~/workspace/acme-corp/.claude/skills/confluence/
~/workspace/tech-startup/.claude/skills/confluence/
Use case:
Claude Code follows this priority order when loading skills:
.claude/skills/ in current directory).claude/skills/ in parent directories)~/.claude/skills/ in home directory)This allows project-specific customizations to override workspace or global defaults.
For organizations that need to connect to multiple Confluence instances (multiple clients, acquisitions, different departments), you can configure the Atlassian MCP at different levels using .mcp.json files.
Scenario: You're a consultant managing documentation for multiple clients, each with their own Atlassian instance.
# Client 1 workspace
~/clients/acme-industries/
├── .mcp.json # Confluence config for acme-industries.atlassian.net
├── .claude/
│ ├── skills/confluence/ # Client-specific templates (optional)
│ └── settings.local.json
├── project-alpha/
│ └── docs/
└── project-beta/
└── docs/
# Client 2 workspace
~/clients/globex-corp/
├── .mcp.json # Confluence config for globex.atlassian.net
├── .claude/
│ ├── skills/confluence/ # Client-specific templates (optional)
│ └── settings.local.json
├── web-app/
│ └── documentation/
└── mobile-app/
└── documentation/
Scenario: Large organization with different Confluence spaces per department.
# Engineering workspace
~/workspaces/engineering/
├── .mcp.json # Confluence config focused on DEV space
├── .claude/skills/confluence/ # Engineering documentation patterns
├── backend-services/
│ └── docs/
└── frontend-apps/
└── docs/
# Product workspace
~/workspaces/product/
├── .mcp.json # Confluence config focused on PRODUCT space
├── .claude/skills/confluence/ # Product documentation patterns
├── feature-specs/
└── roadmap/
Each workspace can have its own .mcp.json file with Confluence credentials:
{
"mcpServers": {
"atlassian-evinova": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-atlassian"],
"env": {
"CONFLUENCE_URL": "https://acme-industries.atlassian.net/wiki",
"CONFLUENCE_API_TOKEN": "your-api-token-here",
"CONFLUENCE_EMAIL": "[email protected]",
"CONFLUENCE_SPACES_FILTER": "DEV,API,DOCS"
}
}
}
}
Claude Code uses this priority for .mcp.json files:
~/.claude/mcp.json)This allows you to:
The Atlassian MCP server must be configured in Claude Code:
npm install -g @modelcontextprotocol/server-atlassian
Configure in ~/.claude/mcp.json or workspace-level .mcp.json:
{
"mcpServers": {
"atlassian-evinova": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-atlassian"],
"env": {
"CONFLUENCE_URL": "https://your-domain.atlassian.net/wiki",
"CONFLUENCE_API_TOKEN": "your-api-token",
"CONFLUENCE_EMAIL": "[email protected]",
"CONFLUENCE_SPACES_FILTER": "DEV,DOCS"
}
}
}
}
Generate a Confluence API token:
.mcp.json configurationEnsure your Confluence account has appropriate permissions for:
For full functionality, install these optional tools:
# mark CLI for Git-to-Confluence synchronization
brew install kovetskiy/mark/mark
# OR
go install github.com/kovetskiy/mark@latest
# Mermaid CLI for diagram rendering
npm install -g @mermaid-js/mermaid-cli
# Additional conversion tools (optional)
npm install -g markdown2confluence
Using skilz (recommended):
pip install skilz
skilz install -g https://github.com/SpillwaveSolutions/confluence-skill
Or manually:
# Global installation
mkdir -p ~/.claude/skills/
cd ~/.claude/skills/
git clone https://github.com/SpillwaveSolutions/confluence-skill confluence
# OR workspace installation
mkdir -p ~/workspace/acme-corp/.claude/skills/
cd ~/workspace/acme-corp/.claude/skills/
git clone https://github.com/SpillwaveSolutions/confluence-skill confluence
# OR project installation
mkdir -p /path/to/project/.claude/skills/
cd /path/to/project/.claude/skills/
git clone https://github.com/SpillwaveSolutions/confluence-skill confluence
Create or update .mcp.json at the appropriate level:
{
"mcpServers": {
"atlassian-evinova": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-atlassian"],
"env": {
"CONFLUENCE_URL": "https://your-domain.atlassian.net/wiki",
"CONFLUENCE_API_TOKEN": "your-token-here",
"CONFLUENCE_EMAIL": "[email protected]"
}
}
}
}
Simply ask Claude Code to work with Confluence:
"Create a Confluence page from this Markdown document in the DEV space"
"Search Confluence for pages about API authentication"
"Convert this Wiki Markup to Markdown"
"Update the 'Getting Started' page with this new content"
"Render these Mermaid diagrams and upload to Confluence"
Claude Code will automatically:
The skill includes a powerful upload script (scripts/upload_confluence.py) that converts Markdown files to Confluence pages.
Smart upload (reads metadata from frontmatter):
python3 ~/.claude/skills/confluence/scripts/upload_confluence.py page.md
Update specific page by ID:
python3 ~/.claude/skills/confluence/scripts/upload_confluence.py page.md --id 450855912
Create new page in a space:
python3 ~/.claude/skills/confluence/scripts/upload_confluence.py page.md --space ARCP --parent-id 123456
Preview without uploading:
python3 ~/.claude/skills/confluence/scripts/upload_confluence.py page.md --dry-run
The most powerful feature is the seamless workflow for updating existing pages:
# 1. Download a page (gets frontmatter with all metadata)
python3 ~/.claude/skills/confluence/scripts/download_confluence.py 450855912
# 2. Edit the markdown file locally
vim Data_Source_Registry_Manager_API.md
# 3. Upload changes (reads everything from frontmatter - zero configuration!)
python3 ~/.claude/skills/confluence/scripts/upload_confluence.py Data_Source_Registry_Manager_API.md
The frontmatter from the download contains:
Mermaid diagrams in your Markdown are automatically rendered to SVG images and uploaded as attachments:
## Architecture Diagram
```mermaid
graph TD
A[Client] --> B[Server]
B --> C[Database]
```
Requirements:
npm install -g @mermaid-js/mermaid-cli
The upload script searches for credentials in this order:
CONFLUENCE_URL, CONFLUENCE_USERNAME, CONFLUENCE_API_TOKEN).env in current directory.env.confluence in current directory.env.jira in current directory.env.atlassian in current directory~/.config/mcp/.mcp.json)Create a .env file with your credentials:
CONFLUENCE_URL=https://your-domain.atlassian.net
[email protected]
CONFLUENCE_API_TOKEN=your_api_token_here
See examples/.env.confluence.example for a template.
usage: upload_confluence.py [-h] [--id PAGE_ID] [--space SPACE] [--title TITLE]
[--parent-id PARENT_ID] [--ignore-frontmatter]
[--dry-run] [--env-file ENV_FILE]
[--update-frontmatter] [--output-dir OUTPUT_DIR]
file
positional arguments:
file Markdown file to upload
options:
--id PAGE_ID Page ID (for updates)
--space SPACE Space key (required for new pages)
--title TITLE Page title (overrides frontmatter/H1)
--parent-id PARENT_ID Parent page ID (specify parent to move page)
--ignore-frontmatter Ignore parent_id in frontmatter (update page in place without moving)
--dry-run Preview without uploading
--env-file ENV_FILE Path to .env file with credentials
--update-frontmatter Update markdown file frontmatter after upload
--output-dir OUTPUT_DIR Directory for generated diagrams
Parent Relationship Control (IMPORTANT)
The script's handling of parent relationships requires attention during migrations:
parent.id from YAML frontmatter if present--ignore-frontmatter: Ignores frontmatter parent, updates content only--parent-id: Explicitly sets parent (overrides frontmatter)--ignore-frontmatter --parent-id X = full controlCommon Scenarios:
# Content-only update (no parent change)
python3 upload_confluence.py --id 123456 --ignore-frontmatter page.md
# Content update + explicit move to new parent
python3 upload_confluence.py --id 123456 --parent-id 789012 --ignore-frontmatter page.md
# Use frontmatter parent (legacy behavior)
python3 upload_confluence.py --id 123456 page.md
Critical Warning: When restoring content from backup files after moving pages, always use --ignore-frontmatter to prevent inadvertent moves back to original parents. See PARENT_RELATIONSHIP_GUIDE.md for details.
When you download a page, it includes complete metadata:
---
title: Data Source Registry Manager API
confluence:
id: '450855912'
space: ARCP
type: page
version: 2
confluence_url: https://your-domain.atlassian.net/wiki/spaces/ARCP/pages/450855912
parent:
id: '438862162'
title: PDR Components
file: PDR_Components.md
breadcrumb:
- id: '205127682'
title: Platform Home
- id: '438862162'
title: PDR Components
- id: '450855912'
title: Data Source Registry Manager API
exported_at: '2025-11-06 12:03:44'
exported_by: confluence_downloader
---
On upload, the script:
confluence.id to update existing pageconfluence.version to auto-increment to version 3confluence.space to use for creation if no IDparent.id to set parent page relationshipInstall Python dependencies:
cd ~/.claude/skills/confluence/scripts
pip3 install -r requirements.txt
Optional (for Mermaid diagrams):
npm install -g @mermaid-js/mermaid-cli
~/.claude/skills/confluence/
├── CLAUDE.md # Architecture guide for Claude Code
├── README.md # This file
├── SKILL.md # Detailed skill documentation
├── QUICK_REFERENCE.md # Command cheat sheet
├── INSTALLATION.md # Installation guide
├── PARENT_RELATIONSHIP_GUIDE.md # Parent relationship handling guide (CRITICAL)
├── scripts/
│ ├── upload_confluence.py # Upload Markdown to Confluence
│ ├── download_confluence.py # Download Confluence pages to Markdown
│ ├── convert_markdown_to_wiki.py # Markdown to Wiki Markup converter
│ ├── render_mermaid.py # Mermaid diagram renderer
│ └── generate_mark_metadata.py # mark metadata generator
├── references/
│ ├── wiki_markup_guide.md # Complete Wiki Markup reference
│ ├── conversion_guide.md # Conversion rules and edge cases
│ └── mark_tool_guide.md # mark CLI documentation
├── examples/
│ └── sample-confluence-page.md # Example Markdown document
└── assets/
└── (diagram examples)
Comprehensive workflow documentation including:
Quick command reference for:
Essential reading for migrations and content restoration:
--ignore-frontmatter and --parent-id optionsRead this guide before:
Complete Wiki Markup syntax reference:
Detailed conversion rules:
Comprehensive mark CLI guide:
Python utilities for automation:
convert_markdown_to_wiki.py - Format conversionrender_mermaid.py - Diagram renderinggenerate_mark_metadata.py - Metadata managementArchitecture and patterns guide for Claude Code instances, documenting:
"Create a Confluence page from this Markdown in the DEV space titled 'API Guide'"
"Convert this Markdown document with Mermaid diagrams to Confluence"
"Create a page under 'Documentation' parent with this content"
"Search Confluence for pages about authentication in the DEV space"
"Find all pages labeled 'api' created this month"
"Show me pages in DEV space modified in the last 7 days"
"Convert this Wiki Markup to Markdown"
"Convert this Markdown to Confluence format"
"Show me how to write a table in Wiki Markup"
"Render this Mermaid diagram and create a Confluence page"
"Extract all diagrams from this Markdown and upload to Confluence"
"Create a page with this flowchart diagram"
"Add mark metadata to this Markdown file for syncing to DEV space"
"Help me sync this docs/ folder to Confluence using mark"
"Set up CI/CD to sync Markdown docs to Confluence"
"Update the 'Getting Started' page in DEV space with this new content"
"Find and update the authentication guide with these changes"
"Add this section to the API documentation page"
Always verify space keys before operations:
"What Confluence spaces are available?"
Organize content with parent-child relationships:
"Create this page under 'Documentation > API Guides' in DEV space"
Use labels for organization and discovery:
"Create this page with labels: api, documentation, authentication"
Verify format conversions before bulk operations:
"Convert this small section first to verify the formatting"
Always commit .mmd files alongside Markdown:
docs/
├── architecture.md
└── diagrams/
├── architecture-overview.mmd
└── data-flow.mmd
Automate Confluence updates from Git:
"Set up mark CLI to sync this repository's docs to Confluence"
Track changes with meaningful version comments:
"Update this page with version comment: Updated API authentication flow"
"What Confluence spaces are available?" to see available spacesCONFLUENCE_SPACES_FILTER environment variable in .mcp.jsonmmdc --versionmark --version--dry-run first/wiki suffix.mcp.json is loaded for workspace/projectCONFLUENCE_URL in environment configurationThis Confluence skill can work alongside other Claude Code skills:
Link documentation to JIRA issues:
"Create remote link from JIRA ticket ENG-123 to this Confluence page"
Maintain project-specific documentation:
"Create Confluence pages from the project's README and architecture docs"
Convert meeting notes to documentation:
"Create Confluence page from these meeting notes in the TEAM space"
See SKILL.md for:
See scripts/ for automation:
Extend conversion scripts for:
Automatically sync documentation to Confluence when docs change:
# .github/workflows/sync-confluence.yml
name: Sync to Confluence
on:
push:
paths:
- 'docs/**/*.md'
branches:
- main
jobs:
sync:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install mark
run: |
curl -LO https://github.com/kovetskiy/mark/releases/latest/download/mark
chmod +x mark
sudo mv mark /usr/local/bin/
- name: Install mermaid-cli
run: npm install -g @mermaid-js/mermaid-cli
- name: Sync to Confluence
env:
CONFLUENCE_USERNAME: ${{ secrets.CONFLUENCE_USERNAME }}
CONFLUENCE_PASSWORD: ${{ secrets.CONFLUENCE_API_TOKEN }}
CONFLUENCE_BASE_URL: ${{ secrets.CONFLUENCE_BASE_URL }}
run: |
for file in docs/**/*.md; do
# Render any Mermaid diagrams
python scripts/render_mermaid.py --extract-from-markdown "$file" --output-dir diagrams/
# Sync to Confluence
mark -u "$CONFLUENCE_USERNAME" \
-p "$CONFLUENCE_PASSWORD" \
--base-url "$CONFLUENCE_BASE_URL" \
-f "$file"
done
cd ~/.claude/skills/confluence # or workspace/project path
git pull origin main
You can customize this skill by:
Keep skill customizations in version control:
cd ~/.claude/skills/confluence # or workspace path
git remote add team-fork https://github.com/your-org/confluence-skill-fork.git
git push team-fork main
This allows sharing customizations across your team.
For issues or questions:
To improve this skill:
SKILL.mdreferences/conversion_guide.mdexamples/scripts/This skill is designed for use with Claude Code and the Atlassian MCP server.