Atlassian
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).From its SKILL.md
npx -y skills add sanjay3290/ai-skills --skill atlassianAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- reads credentialsReads from 1 credential source: `system keyring`.
- runs commandsInstructs the agent to run 8 commands, including `pip install -r requirements.txt` and 7 more.
SKILL.md
6.2 KB, ~1.4k tokens by cl100k_base, as published. Nobody here has run it
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.
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:
python scripts/auth.py status
Option 2: API Token (Fallback)
For environments where browser-based OAuth isn't available.
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:
python scripts/auth.py status
Logout (clears both OAuth and API token credentials):
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
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
python scripts/jira.py get DEV-123
Create an issue
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
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
python scripts/jira.py transition DEV-123 "In Progress"
python scripts/jira.py transition DEV-123 "Done"
Add and list comments
python scripts/jira.py comment DEV-123 --add "This is a comment"
python scripts/jira.py comment DEV-123 --list
List projects and statuses
python scripts/jira.py list-projects
python scripts/jira.py list-statuses DEV
Test authentication
python scripts/jira.py auth-info
List available MCP tools (OAuth only)
python scripts/jira.py list-tools
Confluence (scripts/confluence.py)
Search pages
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
python scripts/confluence.py read <page-id>
python scripts/confluence.py read <page-id> --json
List spaces
python scripts/confluence.py list-spaces
python scripts/confluence.py list-spaces --limit 50
Get space details
python scripts/confluence.py get-space <space-id>
List pages in a space
python scripts/confluence.py list-pages --space-id <space-id>
Create a page
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
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
python scripts/confluence.py get-children <page-id>
Test authentication
python scripts/confluence.py auth-info
List available MCP tools (OAuth only)
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).
What ships with it: 7 files
98.6 KB alongside SKILL.md, 5 of them executable
scripts/
- api_client.pyruns5.4 KB
- auth.pyruns23.2 KB
- confluence.pyruns26.9 KB
- jira.pyruns32.1 KB
- mcp_client.pyruns10.3 KB
- .env.example688 B
- requirements.txt51 B
Gives 0 of the 12 instructions most mcp tooling skills give in ~1.4k tokens
Counted across 780 of the 1,136 authors here whose files we hold, read 2026-09-06
- Use Zod for input validationin 34 of 780, across 21 files
- Use stdio for local clientsin 27 of 780, across 10 files
- Restart Claude Code after configurationin 26 of 780, across 23 files
- Verify MCP server connection before using toolsin 23 of 780, across 17 files
- Define input schemas for every toolin 20 of 780, across 11 files
- Use Streamable HTTP for remote clientsin 18 of 780, across 8 files
- Pin SDK version in package.jsonin 17 of 780, across 6 files
- Keep server logic independent of transportin 16 of 780, across 6 files
- Verify SDK methods against official documentationin 15 of 780, across 5 files
- Format evaluation results as an XML filein 15 of 780, across 12 files
- Test servers using the MCP Inspectorin 15 of 780, across 14 files
- Create ten complex and independent evaluation questionsin 14 of 780, across 11 files
Said here and by no other author read
- Use JQL to search Jira issues
- Use CQL to search Confluence pages
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.