Skip to content

grandcamel/Confluence-Assistant-Skills

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

172 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Confluence Assistant Skills



17
Skills
88
Scripts
940
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 -r requirements.txt

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 -e .

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

4️⃣ Use

# CLI commands
confluence page get 12345
confluence search cql "space = DOCS"
confluence 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:

/assistant-skills-setup

This configures:

  • Shared Python venv at ~/.assistant-skills-venv/
  • Required dependencies from requirements.txt
  • Environment variables (prompts you to set: CONFLUENCE_SITE_URL, CONFLUENCE_EMAIL, CONFLUENCE_API_TOKEN)
  • claude-as shell function for running Claude with dependencies

After setup, use claude-as instead of claude:

claude-as  # Runs Claude with Assistant Skills venv activated

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["πŸ”§ 14 Skills"]
        D[Pages]
        E[Search]
        F[Permissions]
        G[Labels]
        H[Comments]
        I[+ 9 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 create_page, get_page, update_page, copy_page, move_page
confluence-space Manage spaces list_spaces, create_space, get_space, delete_space
confluence-search CQL queries & export cql_search, search_content, export_results, cql_validate
confluence-comment Page comments add_comment, get_comments, update_comment, delete_comment
confluence-attachment File attachments upload_attachment, download_attachment, list_attachments
confluence-label Content labeling add_label, remove_label, get_labels
confluence-template Page templates list_templates, get_template, create_from_template
confluence-property Content properties get_properties, set_property, delete_property
confluence-permission Access control get_space_permissions, add_space_permission
confluence-analytics View statistics get_page_views
confluence-watch Content watching watch_page, unwatch_page
confluence-hierarchy Page tree navigation get_ancestors, get_children, get_descendants
confluence-jira JIRA integration embed_jira_issues, get_linked_issues
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 search export "label = 'release-notes'" \
  --format csv \
  --output-file releases.csv

# Export to JSON
confluence search export "space = 'DOCS'" \
  --format 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 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 page create RELEASES "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 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 permission space DOCS --output json



πŸ—οΈ Architecture

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

.claude/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
└── shared/
    β”œβ”€β”€ config/               # Configuration schema
    └── tests/                # Shared test fixtures

# 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
Unit Tests Comprehensive coverage
E2E Tests Claude Code integration
Code Style PEP 8 compliant

Live integration tests are maintained in the confluence-as library.

# Run all tests
pytest -v

# Run with coverage
pytest --cov=confluence_as --cov-report=html

# Run E2E tests (requires ANTHROPIC_API_KEY)
./scripts/run-e2e-tests.sh           # Docker
./scripts/run-e2e-tests.sh --local   # Local

# Live integration tests have been migrated to 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 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

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors