skills/confluence/SKILL.md
Search and manage Confluence pages and spaces using CQL, read/create/update pages with Markdown support. Use when working with Confluence documentation.
npx skillsauth add odyssey4me/agent-skills confluenceInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Interact with Confluence for content search, viewing pages, and space management.
Creating/Updating Content? See references/creating-content.md for page creation and updates with Markdown.
Dependencies: pip install --user requests keyring pyyaml
After installation, verify the skill is properly configured:
$SKILL_DIR/scripts/confluence.py check
This will check:
If anything is missing, the check command will provide setup instructions.
Configure Confluence authentication using one of these methods:
export CONFLUENCE_URL="https://yourcompany.atlassian.net/wiki"
export CONFLUENCE_EMAIL="[email protected]"
export CONFLUENCE_API_TOKEN="your-token"
Add these to your ~/.bashrc or ~/.zshrc for persistence.
Create ~/.config/agent-skills/confluence.yaml:
url: https://yourcompany.atlassian.net/wiki
email: [email protected]
token: your-token
https://yourcompany.atlassian.net/wikihttps://confluence.yourcompany.comOptionally configure defaults in ~/.config/agent-skills/confluence.yaml to reduce repetitive typing:
# Authentication (optional if using environment variables)
url: https://yourcompany.atlassian.net/wiki
email: [email protected]
token: your-token
# Optional defaults
defaults:
cql_scope: "space = DEMO"
max_results: 25
default_space: "DEMO"
(scope) AND (your_query)# Show all configuration
$SKILL_DIR/scripts/confluence.py config show
# Show space-specific defaults
$SKILL_DIR/scripts/confluence.py config show --space DEMO
See permissions.md for read/write classification of each command.
Verify configuration and connectivity.
$SKILL_DIR/scripts/confluence.py check
This validates:
Search for content using CQL (Confluence Query Language).
# Basic search
$SKILL_DIR/scripts/confluence.py search "type=page AND space = DEMO"
$SKILL_DIR/scripts/confluence.py search "title~login" --space DEMO
# Filter by type
$SKILL_DIR/scripts/confluence.py search "space = DEMO" --type page
# Limit results
$SKILL_DIR/scripts/confluence.py search "type=page" --max-results 10
Arguments:
cql: CQL query string (required)--max-results: Maximum number of results (default: 50)--type: Content type filter (page, blogpost, comment)--space: Limit to specific spaceSee also: CQL Reference for query syntax
Get page content by ID or title.
# Get by title (returns Markdown by default)
$SKILL_DIR/scripts/confluence.py page get "My Page Title"
# Get by ID
$SKILL_DIR/scripts/confluence.py page get 123456
# Get without body content
$SKILL_DIR/scripts/confluence.py page get "My Page" --no-body
# Get in original format (not Markdown)
$SKILL_DIR/scripts/confluence.py page get "My Page" --raw
Output: By default, displays page metadata and body content converted to Markdown for readability.
Arguments:
page_identifier: Page ID or title (required)--markdown: Output body as Markdown (default)--raw: Output in original format--no-body: Don't include body content$ $SKILL_DIR/scripts/confluence.py page get "API Documentation"
Page ID: 123456
Title: API Documentation
Type: page
Space: DEMO
Status: current
Version: 1
---
# API Documentation
## Overview
This document describes our **REST API**.
## Endpoints
- `GET /api/users` - List users
- `POST /api/users` - Create user
For creating and updating pages with Markdown support, see references/creating-content.md.
Quick examples:
# Create page from Markdown file
$SKILL_DIR/scripts/confluence.py page create --space DEMO --title "Documentation" \
--body-file README.md
# Update page from file
$SKILL_DIR/scripts/confluence.py page update 123456 --body-file updated.md
Manage spaces.
# List all spaces
$SKILL_DIR/scripts/confluence.py space list
# List with limit
$SKILL_DIR/scripts/confluence.py space list --max-results 10
# Filter by type
$SKILL_DIR/scripts/confluence.py space list --type global
# Get space details
$SKILL_DIR/scripts/confluence.py space get DEMO
Arguments:
list: List spaces
--type: Filter by type (global, personal)--max-results: Maximum resultsget <space-key>: Get space detailsFor creating spaces, see references/creating-content.md.
Show configuration and defaults.
# Show all configuration
$SKILL_DIR/scripts/confluence.py config show
# Show space-specific defaults
$SKILL_DIR/scripts/confluence.py config show --space DEMO
This displays:
# Find pages in a space
$SKILL_DIR/scripts/confluence.py search "type=page AND space = DEMO"
# Search by title
$SKILL_DIR/scripts/confluence.py search "title~login"
# Find recent pages
$SKILL_DIR/scripts/confluence.py search "type=page AND created >= now('-7d')"
# View page as Markdown
$SKILL_DIR/scripts/confluence.py page get "My Page Title"
# View page metadata only
$SKILL_DIR/scripts/confluence.py page get 123456 --no-body
# Export to file
$SKILL_DIR/scripts/confluence.py page get "My Page" > exported-page.md
# List all spaces
$SKILL_DIR/scripts/confluence.py space list
# Get details about a space
$SKILL_DIR/scripts/confluence.py space get DEMO
With defaults configured as shown in the Configuration Defaults section:
# Search uses CQL scope automatically
$SKILL_DIR/scripts/confluence.py search "type=page"
# Becomes: (space = DEMO) AND (type=page)
# Search with automatic max_results from config
$SKILL_DIR/scripts/confluence.py search "status=current"
# Uses configured max_results (25) automatically
# Override defaults when needed
$SKILL_DIR/scripts/confluence.py search "type=page" --max-results 100
# CLI argument overrides the configured default of 25
Common CQL (Confluence Query Language) queries:
| Query | Description |
|-------|-------------|
| type = page | All pages |
| type = blogpost | All blog posts |
| space = DEMO | Content in DEMO space |
| title ~ "login" | Title contains "login" |
| text ~ "API" | Body text contains "API" |
| created >= now("-7d") | Created in last 7 days |
| lastmodified >= startOfDay() | Modified today |
| creator = currentUser() | Created by you |
| contributor = "username" | User contributed |
| label = "important" | Has "important" label |
Combine with AND, OR, and use ORDER BY for sorting:
$SKILL_DIR/scripts/confluence.py search "type=page AND space=DEMO AND created >= now('-30d') ORDER BY created DESC"
This skill makes API calls requiring structured input/output. A standard-capability model is recommended.
Run $SKILL_DIR/scripts/confluence.py check to diagnose issues. It will provide specific error messages and setup instructions.
You may not have access to the requested space or page. Contact your Confluence administrator.
Test your CQL query in the Confluence web interface search before using it in the CLI.
When searching by title, ensure the title is exact (case-sensitive). You can use:
$SKILL_DIR/scripts/confluence.py page get "Exact Page Title"$SKILL_DIR/scripts/confluence.py page get 123456Ensure dependencies are installed:
pip install --user requests keyring pyyaml
The skill automatically detects your Confluence deployment type and adapts:
/wiki/rest/api and editor format (ADF)/rest/api and storage format (XHTML)When reading pages, content is automatically converted to Markdown for display regardless of deployment type.
testing
Search and manage Jira issues using JQL queries, create/update tickets, and manage workflows. Use when asked to find Jira tickets, check the backlog, manage sprints, track bugs, or work with Atlassian project management.
development
Create and edit Google Slides presentations. Add or delete slides, insert text, shapes, and images. Use when asked to build a deck, create a slideshow, update a Google presentation, or edit slides.
development
Read, write, and format Google Sheets spreadsheets. Manage cell values, ranges, formulas, pivot tables, and charts. Use when asked to update a gsheet, edit a Google spreadsheet, add formulas, or work with spreadsheet data.
development
Upload, download, search, and share files on Google Drive. Create folders, manage permissions, and manage comments and replies. Use when asked to share a file, upload to gdrive, search cloud storage, manage a Drive folder, organize Google Drive files, comment on a file, or reply to comments.