confluence
Search and manage Confluence pages and spaces using CQL, read/create/update pages with Markdown support. Use when working with Confluence documentation.
What this skill does
# Confluence Interact with Confluence for content search, viewing pages, and space management. > **Creating/Updating Content?** See [references/creating-content.md](references/creating-content.md) for page creation and updates with Markdown. ## Installation **Dependencies**: `pip install --user requests keyring pyyaml` ## Setup Verification After installation, verify the skill is properly configured: ```bash $SKILL_DIR/scripts/confluence.py check ``` This will check: - Python dependencies (requests, keyring, pyyaml) - Authentication configuration - Connectivity to Confluence - Deployment type detection (Cloud vs Data Center/Server) If anything is missing, the check command will provide setup instructions. ## Authentication Configure Confluence authentication using one of these methods: ### Option 1: Environment Variables (Recommended) ```bash 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. ### Option 2: Config File Create `~/.config/agent-skills/confluence.yaml`: ```yaml url: https://yourcompany.atlassian.net/wiki email: [email protected] token: your-token ``` ### Required Credentials - **URL**: Your Confluence instance URL - Cloud: `https://yourcompany.atlassian.net/wiki` - DC/Server: `https://confluence.yourcompany.com` - **Email**: Your account email (required for Cloud) - **API Token**: Create at https://id.atlassian.com/manage-profile/security/api-tokens (Cloud) or from your Confluence profile (DC/Server) ## Configuration Defaults Optionally configure defaults in `~/.config/agent-skills/confluence.yaml` to reduce repetitive typing: ```yaml # 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" ``` ### How Defaults Work - **CLI arguments always override** config defaults - **CQL scope** is prepended to all searches: `(scope) AND (your_query)` - **Default space** is used when space parameter is omitted ### View Configuration ```bash # Show all configuration $SKILL_DIR/scripts/confluence.py config show # Show space-specific defaults $SKILL_DIR/scripts/confluence.py config show --space DEMO ``` ## Commands See [permissions.md](references/permissions.md) for read/write classification of each command. ### check Verify configuration and connectivity. ```bash $SKILL_DIR/scripts/confluence.py check ``` This validates: - Python dependencies are installed - Authentication is configured - Can connect to Confluence - Deployment type (Cloud vs DC/Server) is detected correctly ### search Search for content using CQL (Confluence Query Language). ```bash # 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 space **See also**: [CQL Reference](#cql-reference) for query syntax ### page get Get page content by ID or title. ```bash # 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 # Export with YAML frontmatter (for round-tripping) $SKILL_DIR/scripts/confluence.py page get 123456 --frontmatter > page.md ``` **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 - `--frontmatter`: Output as markdown with YAML frontmatter (title, space, labels, parent) for round-tripping with `page create`/`page update` #### Example Output ```bash $ $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 ``` ### page create / update For creating and updating pages with Markdown support, see [references/creating-content.md](references/creating-content.md). Quick examples: ```bash # Create page from Markdown file $SKILL_DIR/scripts/confluence.py page create --space DEMO --title "Documentation" \ --body-file README.md # Create page with table of contents $SKILL_DIR/scripts/confluence.py page create --space DEMO --title "Guide" \ --body-file guide.md --toc # Update page from file $SKILL_DIR/scripts/confluence.py page update 123456 --body-file updated.md ``` **Frontmatter support:** Markdown files can include YAML frontmatter with page metadata. CLI flags take precedence over frontmatter values. Supported fields: `title`, `space`, `labels`, `parent`, `toc`. ```yaml --- title: API Documentation space: DEMO labels: docs, api parent: 123456 toc: true --- # Introduction ... ``` **Table of contents:** Use `--toc` (or `toc: true` in frontmatter) to prepend a TOC macro. **Internal link conversion:** Links pointing to pages on the same Confluence instance are automatically converted to native Confluence links during markdown conversion. The linked page is validated before conversion — invalid links are left as-is. ### page move Move a page under a new parent, or to the space root. ```bash # Move under a new parent $SKILL_DIR/scripts/confluence.py page move 123456 --parent 789012 # Move to space root (no parent) $SKILL_DIR/scripts/confluence.py page move 123456 ``` ### page delete Delete a page by ID (moves to trash on Cloud). ```bash $SKILL_DIR/scripts/confluence.py page delete 123456 ``` ### space Manage spaces. ```bash # 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 results - `get <space-key>`: Get space details For creating spaces, see [references/creating-content.md](references/creating-content.md). ### space permissions View, add, and remove space permissions. ```bash # List all permissions for a space $SKILL_DIR/scripts/confluence.py space permissions list DEMO # Filter by subject type $SKILL_DIR/scripts/confluence.py space permissions list DEMO --subject-type group # Add a permission $SKILL_DIR/scripts/confluence.py space permissions add DEMO \ --subject-type user --subject "5a1234abc" --operation read --target space # Remove a permission by ID $SKILL_DIR/scripts/confluence.py space permissions remove DEMO --id 2154 ``` **Arguments:** - `list <space-key>`: List permissions - `--subject-type`: Filter by user or group - `add <space-key>`: Add a permission - `--subject-type`: user or group (required) - `--subject`: User account ID or group name/ID (required) - `--operation`: read, create, delete, export, administer, archive, restrict_content (required) - `--target`: space, page, blogpost, comment, attachment (required) - `remove <space-key>`: Remove
Related in Writing & Docs
jax-development
IncludedUse this skill when the user is writing, debugging, profiling, refactoring, reviewing, benchmarking, parallelising, exporting, or explaining JAX code, or when they mention JAX, jax.numpy, jit, grad, value_and_grad, vmap, scan, lax, random keys, pytrees, jax.Array, sharding, Mesh, PartitionSpec, NamedSharding, pmap, shard_map, Pallas, XLA, StableHLO, checkify, profiler, or the JAX repo. It helps turn NumPy or PyTorch-style code into pure functional JAX, fix tracer/control-flow/shape/PRNG bugs, remove recompiles and host-device syncs, choose transforms and sharding strategies, inspect jaxpr/lowering/IR, and benchmark compiled code correctly.
nature-article-writer
IncludedDrafts, rewrites, diagnostically critiques, and style-calibrates primary research manuscripts for Nature and Nature Portfolio journals. Use when the user wants a Nature-style title, summary paragraph or abstract, introduction, results, discussion, methods, figure legends, presubmission enquiry, cover letter, reviewer response, or when a scientific draft sounds generic, jargon-heavy, structurally weak, or AI-ish and needs precise, broad-reader-friendly prose without inventing data, analyses, or references. Best for primary research articles and letters rather than reviews or press releases unless explicitly adapting one.
deckrd
IncludedDocument-driven framework that derives requirements, specifications, implementation plans, and executable tasks from goals through structured AI dialogue. Use when user says "write requirements", "create spec", "plan implementation", "derive tasks", "structure this feature", "break down into tasks", or "document this module". Also use for reverse engineering existing code into docs (/deckrd rev). Do NOT use for direct code writing — use /deckrd-coder after tasks are generated. Do NOT use when the user only wants to run or fix existing code without planning.
clinical-decision-support
IncludedGenerate professional clinical decision support (CDS) documents for pharmaceutical and clinical research settings, including patient cohort analyses (biomarker-stratified with outcomes) and treatment recommendation reports (evidence-based guidelines with decision algorithms). Supports GRADE evidence grading, statistical analysis (hazard ratios, survival curves, waterfall plots), biomarker integration, and regulatory compliance. Outputs publication-ready LaTeX/PDF format optimized for drug development, clinical research, and evidence synthesis.
handling-sf-data
IncludedSalesforce data operations with 130-point scoring. Use this skill to create, update, delete, bulk import/export, generate test data, and clean up org records using sf CLI and anonymous Apex. TRIGGER when: user creates test data, performs bulk import/export, uses sf data CLI commands, needs data factory patterns for Apex tests, or needs to seed/clean records in a Salesforce org. DO NOT TRIGGER when: SOQL query writing only (use querying-soql), Apex test execution (use running-apex-tests), or metadata deployment (use deploying-metadata).
accelint-ac-to-playwright
IncludedConvert and validate acceptance criteria for Playwright test automation. Use when user asks to (1) review/evaluate/check if AC are ready for automation, (2) assess if AC can be converted as-is, (3) validate AC quality for Playwright, (4) turn AC into tests, (5) generate tests from acceptance criteria, (6) convert .md bullets or .feature Gherkin files to Playwright specs, (7) create test automation from requirements. Handles both bullet-style markdown and Gherkin syntax with JSON test plan generation and validation.