atlassian — Claude Code skill: what it does, how to install
Manages Jira issues and Confluence wiki pages in Atlassian Cloud. Useful for searching with JQL or CQL, updating tickets, and reading docs.
npx skills add sanjay3290/ai-skills --skill atlassian -a claude-codeWhat atlassian does
This skill connects your coding agent to Atlassian Cloud using Python helper scripts. It covers issue lookups via JQL, page queries with CQL, workflow transitions, and comments. You can inspect Confluence spaces, read child pages, and publish updates right from the agent workflow.
Setup requires running pip install -r requirements.txt before authenticating. Authentication supports OAuth 2.1 via an MCP server with browser consent or an Atlassian API token as a fallback. Credentials remain in the system keyring under the service name atlassian-skill. If your environment lacks a working system keyring, credential storage will fail.
Backend selection happens automatically. OAuth routes operations through Atlassian MCP tools, while API tokens target the REST API directly. Command syntax for issues and wiki pages remains identical across both auth modes.
What it helps with
- search Jira issues using JQL queries
- transition ticket statuses and append comments
- look up and read Confluence wiki pages via CQL
- inspect space hierarchies and fetch child pages
- create new documentation pages within a space
Example prompts for the agent
- Search for open issues in the DEV project ordered by update date
- Read the Confluence page with id <page-id>
- Transition issue DEV-123 to In Progress and add a comment
How to install atlassian
1Skills CLI (Vercel)
npx skills add sanjay3290/ai-skills --skill atlassian -a claude-code2Manually: put the files in place
~/.claude/skills/atlassian/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/atlassian/
1Skills CLI (Vercel)
npx skills add sanjay3290/ai-skills --skill atlassian -a codex2Manually: put the files in place
.agents/skills/atlassian/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add sanjay3290/ai-skills --skill atlassian -a cursor2Manually: put the files in place
.cursor/skills/atlassian/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install sanjay3290/ai-skills atlassian2Manually: put the files in place
.github/skills/atlassian/SKILL.md1Skills CLI (Vercel)
npx skills add sanjay3290/ai-skills --skill atlassian -a gemini-cli2Platform CLI
gemini skills install https://github.com/sanjay3290/ai-skills --path skills/atlassianManually: put the files in place
.devin/skills/atlassian/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add sanjay3290/ai-skills --skill atlassian -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about atlassian
How to install atlassian in Claude Code?
Run npx skills add sanjay3290/ai-skills --skill atlassian -a claude-code in your terminal. Next, install script dependencies with pip install -r requirements.txt.
What does the atlassian skill do?
It lets the agent search, create, and modify Jira issues, as well as read and create Confluence pages via dedicated Python scripts.
What is the difference between OAuth 2.1 and API token auth?
OAuth 2.1 uses browser authorization, refreshes tokens automatically, and routes calls through MCP tools. The API token fallback connects directly to the REST API when a browser is unavailable.
Source text
SKILL.md · Apache-2.0
--- name: atlassian description: | Manage Jira issues and Confluence wiki pages in Atlassian Cloud. Use when: (1) searching/creating/updating Jira issues with JQL, (2) searching/reading/creating Confluence pages with CQL, (3) managing Jira workflows, transitions, and comments, (4) browsing Confluence spaces and page hierarchies. Supports OAuth 2.1 via MCP server (recommended) or API token authentication (fallback). --- # Atlassian (Jira + Confluence) Full Jira and Confluence integration with two authentication methods: - **OAuth 2.1** via Atlassian MCP server — browser-based consent, auto-refresh tokens, calls MCP tools - **API token** — email + token stored in keyring, calls REST API directly ## First-Time Setup ### Option 1: OAuth 2.1 via MCP Server (Recommended) No API tokens or instance URLs needed. Uses dynamic client registration and PKCE. ```bash pip install -r requirements.txt python scripts/auth.py login --oauth ``` A browser opens for Atlassian authorization. Select which products (Jira, Confluence, Compass) to grant access. Tokens are stored in the system keyring and auto-refresh when expired. Check status: ```bash python scripts/auth.py status ``` ### Option 2: API Token (Fallback) For environments where browser-based OAuth isn't available. ```bash pip install -r requirements.txt python scripts/auth.py login ``` Follow the prompts to enter your Atlassian URL, email, and API token. Credentials are stored securely in the system keyring. Create an API token at: https://id.atlassian.com/manage-profile/security/api-tokens Check authentication status: ```bash python scripts/auth.py status ``` Logout (clears both OAuth and API token credentials): ```bash python scripts/auth.py logout ``` ## Backend Selection The scripts automatically detect which backend to use based on your auth type: - **OAuth** → MCP backend (calls Atlassian MCP server tools) - **API token** → REST backend (calls Atlassian REST API directly) All commands work identically regardless of backend. ## Jira (scripts/jira.py) ### Search issues with JQL ```bash python scripts/jira.py search "project = DEV AND status = Open" python scripts/jira.py search "assignee = currentUser() ORDER BY updated DESC" --limit 10 ``` ### Get issue details ```bash python scripts/jira.py get DEV-123 ``` ### Create an issue ```bash python scripts/jira.py create --project DEV --summary "Fix login bug" --type Bug python scripts/jira.py create --project DEV --summary "New feature" --type Story \ --description "Details here" --priority High --assignee "[email protected]" --labels "backend,urgent" ``` ### Update an issue ```bash python scripts/jira.py update DEV-123 --summary "Updated summary" --priority High python scripts/jira.py update DEV-123 --assignee "[email protected]" ``` ### Transition issue status ```bash python scripts/jira.py transition DEV-123 "In Progress" python scripts/jira.py transition DEV-123 "Done" ``` ### Add and list comments ```bash python scripts/jira.py comment DEV-123 --add "This is a comment" python scripts/jira.py comment DEV-123 --list ``` ### List projects and statuses ```bash python scripts/jira.py list-projects python scripts/jira.py list-statuses DEV ``` ### Test authentication ```bash python scripts/jira.py auth-info ``` ### List available MCP tools (OAuth only) ```bash python scripts/jira.py list-tools ``` ## Confluence (scripts/confluence.py) ### Search pages ```bash python scripts/confluence.py search "deployment guide" python scripts/confluence.py search "type=page AND space=DEV AND text~\"deployment\"" python scripts/confluence.py search "onboarding" --limit 10 ``` ### Read a page ```bash python scripts/confluence.py read <page-id> python scripts/confluence.py read <page-id> --json ``` ### List spaces ```bash python scripts/confluence.py list-spaces python scripts/confluence.py list-spaces --limit 50 ``` ### Get space details ```bash python scripts/confluence.py get-space <space-id> ``` ### List pages in a space ```bash python scripts/confluence.py list-pages --space-id <space-id> ``` ### Create a page ```bash python scripts/confluence.py create --title "New Page" --space-id <space-id> python scripts/confluence.py create --title "Guide" --space-id <id> --body "<p>Content here</p>" python scripts/confluence.py create --title "Child" --space-id <id> --parent-id <parent-id> ``` ### Update a page ```bash python scripts/confluence.py update <page-id> --title "Updated Title" python scripts/confluence.py update <page-id> --body "<p>New content</p>" ``` ### Get child pages ```bash python scripts/confluence.py get-children <page-id> ``` ### Test authentication ```bash python scripts/confluence.py auth-info ``` ### List available MCP tools (OAuth only) ```bash python scripts/confluence.py list-tools ``` ## Operations Reference ### Jira | Command | Description | Required Args | |---------|-------------|---------------| | search | Search issues with JQL | jql | | get | Get issue details | issue_key | | create | Create new issue | --project, --summary, --type | | update | Update existing issue | issue_key | | transition | Change issue status | issue_key, status | | comment | Add or list comments | issue_key | | list-projects | List accessible projects | - | | list-statuses | List statuses for project | project_key | | auth-info | Test API connection | - | | list-tools | List MCP tools (OAuth only) | - | ### Confluence | Command | Description | Required Args | |---------|-------------|---------------| | search | Search using CQL | query | | read | Get page content | page_id | | list-spaces | List all spaces | - | | get-space | Get space details | space_id | | list-pages | List pages in a space | --space-id | | create | Create new page | --title, --space-id | | update | Update existing page | page_id | | get-children | Get child pages | page_id | | auth-info | Test API connection | - | | list-tools | List MCP tools (OAuth only) | - | ## JSON Output Add `--json` flag to any script command for machine-readable output. ## Token Management Credentials stored securely using the system keyring: - **macOS**: Keychain - **Windows**: Windows Credential Locker - **Linux**: Secret Service API Service name: `atlassian-skill` OAuth tokens auto-refresh when expired (if refresh token is available).
© sanjay3290 · Apache-2.0 · sanjay3290/ai-skills