AgentSkillsCN

mastering-confluence

全面管理 Confluence 文档。当您被要求“上传至 Confluence”、“下载 Confluence 页面”、“将 Markdown 转换为 Wiki 标记”、“将文档同步至 Confluence”、“搜索 Confluence”、“创建 Confluence 页面”、“更新 Confluence 页面”、“导出 Confluence”、“发布至 Confluence”,或需要执行 Confluence CQL 查询时,均可使用此技能。支持 Wiki 标记转换、Mermaid/PlantUML 图表、图片处理,可无限制地上传大型文档,并通过 mark CLI 实现 Git 至 Confluence 的同步。

SKILL.md
--- frontmatter
name: mastering-confluence
description: |
  Comprehensive Confluence documentation management. Use when asked to
  "upload to Confluence", "download Confluence pages", "convert Markdown
  to Wiki Markup", "sync documentation to Confluence", "search Confluence",
  "create Confluence page", "update Confluence page", "export Confluence",
  "publish to Confluence", or "Confluence CQL query". Handles Wiki Markup
  conversion, Mermaid/PlantUML diagrams, image handling, large document
  uploads without size limits, and Git-to-Confluence sync with mark CLI.
license: MIT
allowed-tools:
  - Read
  - Write
  - Bash
  - Glob
  - Grep
  - WebFetch
  - mcp__atlassian

Confluence Management Skill

Type: Project | Version: 2.2.0

Manage Confluence documentation: download pages to Markdown, upload with images, convert between formats, integrate diagrams, search with CQL.

Contents

Critical Constraints

DO NOT USE MCP FOR PAGE UPLOADS - Size limits apply (~10-20KB max)

bash
# Use REST API scripts instead:
python3 scripts/upload_confluence_v2.py document.md --id PAGE_ID

MCP tools are fine for reading pages but fail for uploading large content.

Quick Start

Upload Markdown to Confluence

bash
# Update existing page
python3 scripts/upload_confluence_v2.py document.md --id 780369923

# Create new page
python3 scripts/upload_confluence_v2.py document.md --space DEV --parent-id 123456

# Preview first (recommended)
python3 scripts/upload_confluence_v2.py document.md --id 780369923 --dry-run

Download Confluence to Markdown

bash
# Single page
python3 scripts/download_confluence.py 123456789

# With child pages
python3 scripts/download_confluence.py --download-children 123456789

# Multiple pages
python3 scripts/download_confluence.py 123456 456789 789012

Convert Markdown to Wiki Markup

bash
python3 scripts/convert_markdown_to_wiki.py input.md output.wiki

Search Confluence (via MCP)

javascript
mcp__atlassian__confluence_search({
  query: 'space = "DEV" AND text ~ "API" AND created >= startOfYear()'
})

Core Capabilities

CapabilityTool/ScriptReference
Upload pages with imagesupload_confluence_v2.pyupload_guide
Download pages to Markdowndownload_confluence.pydownload_guide
Convert Markdown ↔ Wikiconvert_markdown_to_wiki.pyconversion_guide
Search pages (CQL)MCP confluence_searchcql_reference
Wiki Markup syntax-wiki_markup_guide
Render Mermaid diagramsrender_mermaid.pyimage_handling
Git-to-Confluence syncmark CLImark_tool_guide
Troubleshooting-troubleshooting_guide

Checklists

Upload Checklist

Copy and track progress:

code
Upload Progress:
- [ ] Diagrams converted to PNG/SVG (if Mermaid/PlantUML present)
- [ ] All images use markdown syntax: ![alt](path)
- [ ] No raw Confluence XML in markdown
- [ ] All image files verified to exist
- [ ] Dry-run tested: `--dry-run`
- [ ] Upload executed with v2 script (not MCP)
- [ ] Page URL verified accessible

Download Checklist

code
Download Progress:
- [ ] Page ID obtained from Confluence URL
- [ ] Credentials configured in .env file
- [ ] Output directory specified
- [ ] --download-children flag set (if hierarchy needed)
- [ ] Download completed successfully
- [ ] Attachments downloaded to {Page}_attachments/
- [ ] Frontmatter contains correct metadata

Image Handling

Standard Workflow:

  1. Convert diagrams (if Mermaid/PlantUML):

    bash
    # Mermaid
    mmdc -i diagram.mmd -o diagram.png -b transparent
    
    # PlantUML
    plantuml diagram.puml -tpng
    
  2. Reference in markdown (always use markdown syntax):

    markdown
    ![Architecture Diagram](./diagrams/architecture.png)
    
  3. Upload (script handles attachments):

    bash
    python3 scripts/upload_confluence_v2.py document.md --id PAGE_ID
    

Common Mistakes:

  • Using raw XML: <ac:image>... - Gets HTML-escaped, appears as text
  • Using MCP for uploads - Size limits cause failures
  • Forgetting to convert diagrams - Code blocks don't render

Reference Documentation

DocumentPurpose
upload_guide.mdComplete upload workflow
download_guide.mdComplete download workflow
wiki_markup_guide.mdWiki Markup syntax reference
conversion_guide.mdMarkdown ↔ Wiki Markup rules
image_handling_best_practices.mdDiagrams and images
troubleshooting_guide.mdCommon errors and fixes
mark_tool_guide.mdGit-to-Confluence sync
confluence_storage_format.mdAPI storage format
cql_reference.mdCQL query syntax
atlassian_mcp_tools.mdMCP tool reference

Scripts

ScriptPurpose
upload_confluence_v2.pyUpload Markdown with images (no size limits)
download_confluence.pyDownload pages to Markdown with attachments
convert_markdown_to_wiki.pyConvert Markdown to Wiki Markup
render_mermaid.pyRender Mermaid diagrams to PNG/SVG
generate_mark_metadata.pyGenerate mark CLI metadata headers
confluence_auth.pyShared authentication utilities

Dependencies

bash
pip install atlassian-python-api md2cf python-dotenv PyYAML mistune \
            requests markdownify beautifulsoup4

Prerequisites

Required

  • Atlassian MCP Server (mcp__atlassian) with Confluence credentials

Optional

  • mark CLI: Git-to-Confluence sync

    bash
    brew install kovetskiy/mark/mark
    
  • Mermaid CLI: Diagram rendering

    bash
    npm install -g @mermaid-js/mermaid-cli
    

When Not to Use

  • Simple page reads → Use MCP directly
  • No images/diagrams, small content → MCP may work
  • Jira issues → Use Jira-specific tools

Version: 2.2.0 | Last Updated: 2025-12-28