Skip to content

Repository files navigation

Confluence Assistant Skills



17
Skills
108
CLI Commands
10
E2E Tests
CQL
Query Support

Release PyPI License Python Confluence


🚀 Stop clicking through Confluence. Start talking to it.

Confluence Assistant Skills brings the power of natural language automation to Confluence Cloud.
Ask Claude to create pages, search content, manage permissions, and more — all without leaving your terminal.


You: "Find all pages labeled 'api-docs' modified this week and export to CSV"

Claude: Found 23 pages matching your criteria.
        ✓ Exported to api-docs-report.csv

Get Started · View Skills · Documentation · Contributing




😤 Without Assistant Skills

1. Open browser
2. Navigate to Confluence
3. Click through menus
4. Find the right space
5. Create page manually
6. Copy-paste content
7. Format everything
8. Add labels one by one
9. Set permissions
10. Repeat for next page...

Time: 15+ minutes per page

🎯 With Assistant Skills

You: "Create a page called 'Q4 Planning'
      in the DOCS space with the content
      from my notes.md file, label it
      'planning' and 'q4-2024'"

Claude: ✓ Created page "Q4 Planning"
        ✓ Added 2 labels
        ✓ Page ID: 12345

Time: 10 seconds




⚡ Quick Start

1️⃣ Install

Option A: Claude Code Plugin (recommended)

/plugin grandcamel/Confluence-Assistant-Skills

Option B: Marketplace

claude plugin marketplace add https://github.com/grandcamel/confluence-assistant-skills.git#main
claude plugin install confluence-assistant-skills@confluence-assistant-skills-marketplace --scope user

Option C: Manual

git clone https://github.com/grandcamel/Confluence-Assistant-Skills.git
pip install "confluence-as>=1.1.1"

2️⃣ Configure

export CONFLUENCE_SITE_URL="https://your-site.atlassian.net"
export CONFLUENCE_EMAIL="you@company.com"
export CONFLUENCE_API_TOKEN="your-api-token"

Get your API token from Atlassian Account Settings

3️⃣ Install CLI

pip install "confluence-as>=1.1.1"

# Verify installation
confluence-as --version
confluence-as space list --limit 1

4️⃣ Use

# CLI commands
confluence-as page get 12345
confluence-as search cql "space = DOCS"
confluence-as label add 12345 approved

# Or ask Claude naturally:
"Create a page titled 'Meeting Notes' in the DOCS space"
"Search for pages about API documentation"
"Add label 'approved' to page 12345"



🔧 Setup (Assistant Skills)

If you're using this as part of the Assistant Skills ecosystem, run the setup wizard after installing:

/confluence-assistant-setup

This configures:

  • The confluence-as CLI from PyPI (pip install "confluence-as>=1.1.1")
  • Environment variables (prompts you to set: CONFLUENCE_SITE_URL, CONFLUENCE_EMAIL, CONFLUENCE_API_TOKEN)
  • Connection validation against your Confluence site

Environment Variables

Variable Required Description
CONFLUENCE_SITE_URL Yes Confluence Cloud site URL (e.g., https://your-site.atlassian.net)
CONFLUENCE_EMAIL Yes Atlassian account email for API authentication
CONFLUENCE_API_TOKEN Yes API token from Atlassian Account Settings



🎯 What You Can Do

flowchart LR
    subgraph Input["💬 Natural Language"]
        A["Create a page about..."]
        B["Find all pages with..."]
        C["Update permissions for..."]
    end

    subgraph Skills["🔧 17 Skills"]
        D[Pages]
        E[Search]
        F[Permissions]
        G[Labels]
        H[Comments]
        I[+ 12 more]
    end

    subgraph Output["✅ Results"]
        J["Pages created"]
        K["Content found"]
        L["Settings updated"]
    end

    A --> D --> J
    B --> E --> K
    C --> F --> L

    style Input fill:#0052CC,color:#fff
    style Skills fill:#36B37E,color:#fff
    style Output fill:#00C7E6,color:#000
Loading



📦 Available Skills

Skill Purpose Example Commands
confluence-page Create, read, update, delete pages page create, page get, page update, page copy, page move
confluence-space Manage spaces space list, space create, space get, space delete
confluence-search CQL queries & export search cql, search content, search export, search validate
confluence-comment Page comments comment add, comment list, comment update, comment delete
confluence-attachment File attachments attachment upload, attachment download, attachment list
confluence-label Content labeling label add, label remove, label list
confluence-template Page templates template list, template get, template create-from
confluence-property Content properties property get, property set, property delete
confluence-permission Access control permission space get, permission space add
confluence-analytics View statistics analytics views
confluence-watch Content watching watch page, watch unwatch-page
confluence-hierarchy Page tree navigation hierarchy ancestors, hierarchy children, hierarchy descendants
confluence-jira JIRA integration jira embed, jira linked
confluence-admin Users, groups, space administration admin user search, admin group list, admin space permissions
confluence-bulk Bulk operations on multiple pages bulk update, bulk move, bulk delete, bulk label add
confluence-ops Diagnostics & cache management ops health-check, ops cache-status, ops cache-clear
confluence-assistant Central hub Routes to specialized skills



🔍 CQL Query Power

Full Confluence Query Language support with validation, suggestions, and export.

Find Content

-- Pages in a space
space = "DOCS" AND type = page

-- By label
label = "approved" AND label = "api"

-- Text search
text ~ "API documentation"

-- Recent changes
lastModified >= startOfWeek()

Export Results

# Export to CSV
confluence-as search export "label = 'release-notes'" \
  --format csv \
  --output releases.csv

# Export to JSON
confluence-as search export "space = 'DOCS'" \
  --format json \
  --output docs.json



👥 Who Is This For?

📝 Technical Writers — Automate documentation workflows
  • Bulk create pages from templates
  • Search and update outdated content
  • Export content for review
  • Manage labels across hundreds of pages
# Find all pages needing review
confluence-as search cql "label = 'needs-review' AND lastModified < startOfMonth(-3)"
🛠️ DevOps Engineers — Integrate Confluence into CI/CD
  • Auto-generate release notes
  • Update runbooks from code
  • Sync documentation with deployments
  • Create incident pages automatically
# Create release notes page
confluence-as page create --space RELEASES --title "v2.5.0" --file CHANGELOG.md
👔 Project Managers — Streamline project documentation
  • Create project spaces from templates
  • Generate status reports
  • Track page analytics
  • Manage team permissions
# Get page view statistics
confluence-as analytics views 12345 --output json
🔒 IT Administrators — Manage Confluence at scale
  • Audit space permissions
  • Bulk update settings
  • Export content for compliance
  • Automate user provisioning
# List all space permissions
confluence-as permission space get DOCS --output json



🏗️ Architecture

# Root configuration
pytest.ini                    # Test paths, markers, import mode
conftest.py                   # Shared fixtures and pytest hooks

skills/
├── confluence-assistant/     # Hub skill - routes requests
├── confluence-page/          # Page CRUD operations
├── confluence-space/         # Space management
├── confluence-search/        # CQL queries & export
├── confluence-comment/       # Comments
├── confluence-attachment/    # File attachments
├── confluence-label/         # Labels
├── confluence-template/      # Templates
├── confluence-property/      # Content properties
├── confluence-permission/    # Permissions
├── confluence-analytics/     # Analytics
├── confluence-watch/         # Watching
├── confluence-hierarchy/     # Page tree
├── confluence-jira/          # JIRA integration
├── confluence-admin/         # Administration
├── confluence-bulk/          # Bulk operations
├── confluence-ops/           # Diagnostics & cache
└── shared/
    ├── config/               # Configuration schema
    └── docs/                 # Shared reference docs

# Shared library (PyPI package)
confluence-as
├── confluence_client.py      # HTTP client with retry
├── config_manager.py         # Configuration management
├── error_handler.py          # Exception handling
├── validators.py             # Input validation
└── formatters.py             # Output formatting



🔐 Configuration

Environment Variables

All configuration is done through environment variables:

export CONFLUENCE_SITE_URL="https://your-site.atlassian.net"
export CONFLUENCE_EMAIL="you@company.com"
export CONFLUENCE_API_TOKEN="your-api-token"
Variable Required Description
CONFLUENCE_SITE_URL Yes Confluence Cloud site URL
CONFLUENCE_EMAIL Yes Atlassian account email
CONFLUENCE_API_TOKEN Yes API token from Atlassian Account Settings



✅ Quality & Testing

Metric Value
E2E Tests Claude Code plugin integration (tests/e2e/)
Unit & Live Tests Maintained in the confluence-as library
Code Style PEP 8 compliant

This repo ships skills (documentation) — the CLI code and its unit/live integration tests live in the confluence-as library.

# Run E2E tests (requires the Claude Code CLI plus
# ANTHROPIC_API_KEY or an existing ~/.claude login)
./scripts/run-e2e-tests.sh           # Docker
./scripts/run-e2e-tests.sh --local   # Local

# Or invoke pytest directly
pytest tests/e2e/ -v

# Unit and live integration tests live in the confluence-as library
# See: https://github.com/grandcamel/confluence-as



🛠️ Troubleshooting

Authentication failed
  1. Verify API token at Atlassian Account Settings
  2. Ensure email matches the token owner
  3. Check URL includes https:// and ends with .atlassian.net
Permission denied
  1. Verify access in Confluence web UI
  2. Some operations require admin permissions
  3. Check if content is restricted
CQL syntax error
# Validate your query
confluence-as search validate "your query"

Check quotes are balanced and field names are valid.

Plugin installation fails

Claude Code strictly validates plugin.json. Common issues:

  1. Unrecognized keys - Remove any custom keys (only standard plugin.json fields allowed)
  2. Wrong marketplace name - Use plugin@marketplace-name format
  3. Cache path - Plugin cache includes .claude-plugin/ directory
# Verify installation
cat ~/.claude/plugins/cache/*/confluence-assistant-skills/*/.claude-plugin/plugin.json



📚 Documentation

Resource Description
CLAUDE.md Developer guide, patterns, API reference
CHANGELOG.md Release history
Confluence API Docs Official API reference



🤝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes with tests
  4. Commit with Conventional Commits format
  5. Push and submit a pull request
# Commit format
feat(page): add copy page functionality
fix(search): handle empty CQL results
docs: update README
test(space): add integration tests



📄 License

MIT License — see LICENSE for details.




⬆ Back to Top


Made with ❤️ for the Confluence community


GitHub stars

About

Claude Code skills for automating Confluence Cloud operations via natural language

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages