{"id":"f99c7cce-dd3b-4145-b66f-9924849ce001","shortId":"jvwsWU","kind":"skill","title":"atlassian","tagline":"Manage Jira issues and Confluence wiki pages in Atlassian Cloud.\nUse when: (1) searching/creating/updating Jira issues with JQL, (2) searching/reading/creating Confluence pages\nwith CQL, (3) managing Jira workflows, transitions, and comments, (4) browsing Confluence spaces and pa","description":"# Atlassian (Jira + Confluence)\n\nFull Jira and Confluence integration with two authentication methods:\n- **OAuth 2.1** via Atlassian MCP server — browser-based consent, auto-refresh tokens, calls MCP tools\n- **API token** — email + token stored in keyring, calls REST API directly\n\n## First-Time Setup\n\n### Option 1: OAuth 2.1 via MCP Server (Recommended)\n\nNo API tokens or instance URLs needed. Uses dynamic client registration and PKCE.\n\n```bash\npip install -r requirements.txt\npython scripts/auth.py login --oauth\n```\n\nA 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.\n\nCheck status:\n```bash\npython scripts/auth.py status\n```\n\n### Option 2: API Token (Fallback)\n\nFor environments where browser-based OAuth isn't available.\n\n```bash\npip install -r requirements.txt\npython scripts/auth.py login\n```\n\nFollow the prompts to enter your Atlassian URL, email, and API token. Credentials are stored securely in the system keyring.\n\nCreate an API token at: https://id.atlassian.com/manage-profile/security/api-tokens\n\nCheck authentication status:\n```bash\npython scripts/auth.py status\n```\n\nLogout (clears both OAuth and API token credentials):\n```bash\npython scripts/auth.py logout\n```\n\n## Backend Selection\n\nThe scripts automatically detect which backend to use based on your auth type:\n- **OAuth** → MCP backend (calls Atlassian MCP server tools)\n- **API token** → REST backend (calls Atlassian REST API directly)\n\nAll commands work identically regardless of backend.\n\n## Jira (scripts/jira.py)\n\n### Search issues with JQL\n```bash\npython scripts/jira.py search \"project = DEV AND status = Open\"\npython scripts/jira.py search \"assignee = currentUser() ORDER BY updated DESC\" --limit 10\n```\n\n### Get issue details\n```bash\npython scripts/jira.py get DEV-123\n```\n\n### Create an issue\n```bash\npython scripts/jira.py create --project DEV --summary \"Fix login bug\" --type Bug\npython scripts/jira.py create --project DEV --summary \"New feature\" --type Story \\\n  --description \"Details here\" --priority High --assignee \"user@example.com\" --labels \"backend,urgent\"\n```\n\n### Update an issue\n```bash\npython scripts/jira.py update DEV-123 --summary \"Updated summary\" --priority High\npython scripts/jira.py update DEV-123 --assignee \"user@example.com\"\n```\n\n### Transition issue status\n```bash\npython scripts/jira.py transition DEV-123 \"In Progress\"\npython scripts/jira.py transition DEV-123 \"Done\"\n```\n\n### Add and list comments\n```bash\npython scripts/jira.py comment DEV-123 --add \"This is a comment\"\npython scripts/jira.py comment DEV-123 --list\n```\n\n### List projects and statuses\n```bash\npython scripts/jira.py list-projects\npython scripts/jira.py list-statuses DEV\n```\n\n### Test authentication\n```bash\npython scripts/jira.py auth-info\n```\n\n### List available MCP tools (OAuth only)\n```bash\npython scripts/jira.py list-tools\n```\n\n## Confluence (scripts/confluence.py)\n\n### Search pages\n```bash\npython scripts/confluence.py search \"deployment guide\"\npython scripts/confluence.py search \"type=page AND space=DEV AND text~\\\"deployment\\\"\"\npython scripts/confluence.py search \"onboarding\" --limit 10\n```\n\n### Read a page\n```bash\npython scripts/confluence.py read <page-id>\npython scripts/confluence.py read <page-id> --json\n```\n\n### List spaces\n```bash\npython scripts/confluence.py list-spaces\npython scripts/confluence.py list-spaces --limit 50\n```\n\n### Get space details\n```bash\npython scripts/confluence.py get-space <space-id>\n```\n\n### List pages in a space\n```bash\npython scripts/confluence.py list-pages --space-id <space-id>\n```\n\n### Create a page\n```bash\npython scripts/confluence.py create --title \"New Page\" --space-id <space-id>\npython scripts/confluence.py create --title \"Guide\" --space-id <id> --body \"<p>Content here</p>\"\npython scripts/confluence.py create --title \"Child\" --space-id <id> --parent-id <parent-id>\n```\n\n### Update a page\n```bash\npython scripts/confluence.py update <page-id> --title \"Updated Title\"\npython scripts/confluence.py update <page-id> --body \"<p>New content</p>\"\n```\n\n### Get child pages\n```bash\npython scripts/confluence.py get-children <page-id>\n```\n\n### Test authentication\n```bash\npython scripts/confluence.py auth-info\n```\n\n### List available MCP tools (OAuth only)\n```bash\npython scripts/confluence.py list-tools\n```\n\n## Operations Reference\n\n### Jira\n\n| Command | Description | Required Args |\n|---------|-------------|---------------|\n| search | Search issues with JQL | jql |\n| get | Get issue details | issue_key |\n| create | Create new issue | --project, --summary, --type |\n| update | Update existing issue | issue_key |\n| transition | Change issue status | issue_key, status |\n| comment | Add or list comments | issue_key |\n| list-projects | List accessible projects | - |\n| list-statuses | List statuses for project | project_key |\n| auth-info | Test API connection | - |\n| list-tools | List MCP tools (OAuth only) | - |\n\n### Confluence\n\n| Command | Description | Required Args |\n|---------|-------------|---------------|\n| search | Search using CQL | query |\n| read | Get page content | page_id |\n| list-spaces | List all spaces | - |\n| get-space | Get space details | space_id |\n| list-pages | List pages in a space | --space-id |\n| create | Create new page | --title, --space-id |\n| update | Update existing page | page_id |\n| get-children | Get child pages | page_id |\n| auth-info | Test API connection | - |\n| list-tools | List MCP tools (OAuth only) | - |\n\n## JSON Output\n\nAdd `--json` flag to any script command for machine-readable output.\n\n## Token Management\n\nCredentials stored securely using the system keyring:\n- **macOS**: Keychain\n- **Windows**: Windows Credential Locker\n- **Linux**: Secret Service API\n\nService name: `atlassian-skill`\n\nOAuth tokens auto-refresh when expired (if refresh token is available).","tags":["atlassian","skills","sanjay3290","agent-skills","ai-skills","azure-devops","claude-code","claude-skills","confluence","deep-research","elevenlabs","gmail"],"capabilities":["skill","source-sanjay3290","skill-atlassian","topic-agent-skills","topic-ai-skills","topic-atlassian","topic-azure-devops","topic-claude-code","topic-claude-skills","topic-confluence","topic-deep-research","topic-elevenlabs","topic-gmail","topic-google-calendar","topic-google-drive"],"categories":["ai-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/sanjay3290/ai-skills/atlassian","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add sanjay3290/ai-skills","source_repo":"https://github.com/sanjay3290/ai-skills","install_from":"skills.sh"}},"qualityScore":"0.574","qualityRationale":"deterministic score 0.57 from registry signals: · indexed on github topic:agent-skills · 248 github stars · SKILL.md body (5,893 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-02T18:54:09.886Z","embedding":null,"createdAt":"2026-04-18T22:05:09.439Z","updatedAt":"2026-05-02T18:54:09.886Z","lastSeenAt":"2026-05-02T18:54:09.886Z","tsv":"'-123':290,334,344,355,362,373,383 '/manage-profile/security/api-tokens':197 '1':14,84 '10':281,447 '2':20,148 '2.1':52,86 '3':26 '4':33 '50':473 'access':127,627 'add':364,374,617,731 'api':68,77,92,149,180,192,210,240,247,642,719,761 'arg':583,656 'assigne':274,321,345 'atlassian':1,10,39,54,117,176,236,245,765 'atlassian-skil':764 'auth':230,407,563,639,716 'auth-info':406,562,638,715 'authent':49,199,402,558 'author':118 'auto':62,137,770 'auto-refresh':61,136,769 'automat':221 'avail':161,410,566,778 'backend':217,224,234,243,255,324 'base':59,157,227 'bash':104,143,162,201,213,262,285,294,329,350,368,389,403,415,425,451,461,477,488,500,535,551,559,571 'bodi':518,545 'brows':34 'browser':58,114,156 'browser-bas':57,155 'bug':303,305 'call':65,75,235,244 'chang':610 'check':141,198 'child':525,549,711 'children':556,709 'clear':206 'client':100 'cloud':11 'command':250,580,653,737 'comment':32,367,371,378,381,616,620 'compass':124 'confluenc':6,22,35,41,45,123,421,652 'connect':643,720 'consent':60 'content':519,547,665 'cql':25,660 'creat':190,291,297,308,497,503,512,523,596,597,693,694 'credenti':182,212,745,756 'currentus':275 'deploy':429,441 'desc':279 'descript':316,581,654 'detail':284,317,476,593,679 'detect':222 'dev':267,289,299,310,333,343,354,361,372,382,400,438 'direct':78,248 'done':363 'dynam':99 'email':70,178 'enter':174 'environ':153 'exist':605,703 'expir':140,773 'fallback':151 'featur':313 'first':80 'first-tim':79 'fix':301 'flag':733 'follow':170 'full':42 'get':282,288,474,481,548,555,590,591,663,675,677,708,710 'get-children':554,707 'get-spac':480,674 'grant':126 'guid':430,514 'high':320,339 'id':496,509,517,528,531,667,681,692,700,706,714 'id.atlassian.com':196 'id.atlassian.com/manage-profile/security/api-tokens':195 'ident':252 'info':408,564,640,717 'instal':106,164 'instanc':95 'integr':46 'isn':159 'issu':4,17,259,283,293,328,348,586,592,594,599,606,607,611,613,621 'jira':3,16,28,40,43,122,256,579 'jql':19,261,588,589 'json':458,729,732 'key':595,608,614,622,637 'keychain':753 'keyr':74,134,189,751 'label':323 'limit':280,446,472 'linux':758 'list':366,384,385,393,398,409,419,459,465,470,483,492,565,575,619,624,626,630,632,645,647,669,671,683,685,722,724 'list-pag':491,682 'list-project':392,623 'list-spac':464,469,668 'list-status':397,629 'list-tool':418,574,644,721 'locker':757 'login':111,169,302 'logout':205,216 'machin':740 'machine-read':739 'maco':752 'manag':2,27,744 'mcp':55,66,88,233,237,411,567,648,725 'method':50 'name':763 'need':97 'new':312,505,546,598,695 'oauth':51,85,112,158,208,232,413,569,650,727,767 'onboard':445 'open':115,270 'oper':577 'option':83,147 'order':276 'output':730,742 'pa':38 'page':8,23,424,435,450,484,493,499,506,534,550,664,666,684,686,696,704,705,712,713 'parent':530 'parent-id':529 'pip':105,163 'pkce':103 'prioriti':319,338 'product':121 'progress':357 'project':266,298,309,386,394,600,625,628,635,636 'prompt':172 'python':109,144,167,202,214,263,271,286,295,306,330,340,351,358,369,379,390,395,404,416,426,431,442,452,455,462,467,478,489,501,510,521,536,542,552,560,572 'queri':661 'r':107,165 'read':448,454,457,662 'readabl':741 'recommend':90 'refer':578 'refresh':63,138,771,775 'regardless':253 'registr':101 'requir':582,655 'requirements.txt':108,166 'rest':76,242,246 'script':220,736 'scripts/auth.py':110,145,168,203,215 'scripts/confluence.py':422,427,432,443,453,456,463,468,479,490,502,511,522,537,543,553,561,573 'scripts/jira.py':257,264,272,287,296,307,331,341,352,359,370,380,391,396,405,417 'search':258,265,273,423,428,433,444,584,585,657,658 'searching/creating/updating':15 'searching/reading/creating':21 'secret':759 'secur':185,747 'select':119,218 'server':56,89,238 'servic':760,762 'setup':82 'skill':766 'skill-atlassian' 'source-sanjay3290' 'space':36,437,460,466,471,475,482,487,495,508,516,527,670,673,676,678,680,689,691,699 'space-id':494,507,515,526,690,698 'status':142,146,200,204,269,349,388,399,612,615,631,633 'store':72,130,184,746 'stori':315 'summari':300,311,335,337,601 'system':133,188,750 'test':401,557,641,718 'text':440 'time':81 'titl':504,513,524,539,541,697 'token':64,69,71,93,128,150,181,193,211,241,743,768,776 'tool':67,239,412,420,568,576,646,649,723,726 'topic-agent-skills' 'topic-ai-skills' 'topic-atlassian' 'topic-azure-devops' 'topic-claude-code' 'topic-claude-skills' 'topic-confluence' 'topic-deep-research' 'topic-elevenlabs' 'topic-gmail' 'topic-google-calendar' 'topic-google-drive' 'transit':30,347,353,360,609 'two':48 'type':231,304,314,434,602 'updat':278,326,332,336,342,532,538,540,544,603,604,701,702 'urgent':325 'url':96,177 'use':12,98,226,659,748 'user@example.com':322,346 'via':53,87 'wiki':7 'window':754,755 'work':251 'workflow':29","prices":[{"id":"1154ea2a-b61c-4c20-8d83-449635c41966","listingId":"f99c7cce-dd3b-4145-b66f-9924849ce001","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"sanjay3290","category":"ai-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T22:05:09.439Z"}],"sources":[{"listingId":"f99c7cce-dd3b-4145-b66f-9924849ce001","source":"github","sourceId":"sanjay3290/ai-skills/atlassian","sourceUrl":"https://github.com/sanjay3290/ai-skills/tree/main/skills/atlassian","isPrimary":false,"firstSeenAt":"2026-04-18T22:05:09.439Z","lastSeenAt":"2026-05-02T18:54:09.886Z"}],"details":{"listingId":"f99c7cce-dd3b-4145-b66f-9924849ce001","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sanjay3290","slug":"atlassian","github":{"repo":"sanjay3290/ai-skills","stars":248,"topics":["agent-skills","ai-skills","atlassian","azure-devops","claude-code","claude-skills","confluence","deep-research","elevenlabs","gmail","google-calendar","google-drive","google-workspace","imagen","jira","mcp","mysql","notebooklm","postgresql","text-to-speech"],"license":"apache-2.0","html_url":"https://github.com/sanjay3290/ai-skills","pushed_at":"2026-04-13T14:16:19Z","description":"Collection of agent skills for AI coding assistants","skill_md_sha":"8b1f82146d64c2c8b39e529f29a5c4721ccbdb8a","skill_md_path":"skills/atlassian/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sanjay3290/ai-skills/tree/main/skills/atlassian"},"layout":"multi","source":"github","category":"ai-skills","frontmatter":{"name":"atlassian","description":"Manage Jira issues and Confluence wiki pages in Atlassian Cloud.\nUse when: (1) searching/creating/updating Jira issues with JQL, (2) searching/reading/creating Confluence pages\nwith CQL, (3) managing Jira workflows, transitions, and comments, (4) browsing Confluence spaces and page\nhierarchies. Supports OAuth 2.1 via MCP server (recommended) or API token authentication (fallback)."},"skills_sh_url":"https://skills.sh/sanjay3290/ai-skills/atlassian"},"updatedAt":"2026-05-02T18:54:09.886Z"}}