skills/atlassian-rovo/SKILL.md
Manages Atlassian Jira and Confluence via ACLI (Jira CLI) and the Confluence REST API (curl). Handles setup, API token authentication, and troubleshooting. Runs agentic project management: Confluence plans, Jira Epics with child tickets, agent team coordination, and resuming interrupted work from Jira state. Supports uploading images/attachments to Confluence pages via REST API. Reads and writes Confluence page comments (footer, inline, reply threads). Creates git branches linked to Jira tickets (GitHub and Bitbucket). Use this skill whenever the user mentions Jira, Confluence, Atlassian, tickets, epics, sprints, project boards, wiki pages, or Confluence spaces. Also trigger when the user wants to plan a project, break work into tasks, track progress, resume interrupted work, upload images to wiki pages, manage comments on Confluence pages, or create git branches linked to tickets — even if they don't mention Atlassian by name.
npx skillsauth add shanezhong/skills atlassian-rovoInstall 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.
Before starting any workflow, gather these from the user or discover via CLI:
| Setting | How to get it | Store as |
|---------|--------------|----------|
| Site URL | Ask user for *.atlassian.net URL | {site} |
| Jira Project Key | Ask user, or acli jira project list | {projectKey} |
| Confluence Space | Ask user, or query REST API | {spaceKey} |
| Parent Page | Ask user, or use space root | {parentId} |
Always ask the user which project/space to use. Never assume defaults.
Use --limit 10 for all Jira list operations and limit=10 for Confluence REST API calls.
For full setup, API token generation, and troubleshooting, see setup.md.
Quick config — add a .env file to your project root:
ATLASSIAN_EMAIL="[email protected]"
ATLASSIAN_API_TOKEN="your-api-token-here"
ATLASSIAN_SITE="https://yoursite.atlassian.net"
Install ACLI and authenticate:
brew tap atlassian/homebrew-acli && brew install acli
set -a; source .env; set +a
# ACLI expects the bare domain, not the full URL — strip the https:// prefix
ACLI_SITE="${ATLASSIAN_SITE#https://}"
acli jira auth login \
--site "$ACLI_SITE" \
--email "$ATLASSIAN_EMAIL" \
--token < <(echo "$ATLASSIAN_API_TOKEN")
For Confluence, use the REST API via curl with basic auth:
curl -s -u "$ATLASSIAN_EMAIL:$ATLASSIAN_API_TOKEN" \
"$ATLASSIAN_SITE/wiki/rest/api/content" ...
See reference/atlassian-helpers.sh for convenience shell functions.
For image upload configuration, see image-upload.md. For git branch integration (GitHub/Bitbucket), see git-integration.md. For Confluence comment operations, see confluence-comments.md.
Full lifecycle project management using Jira + Confluence.
This workflow supports two modes:
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 in ~/.claude/settings.json..env (Confluence REST API)CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1Phase 1: INTAKE -> User describes request -> Confluence plan + Jira Epic
Phase 2: EXECUTE -> Agent team works tickets with Jira tracking
Phase 3: RESUME -> New session resumes from Jira state (fully autonomous)
Phase 4: COMPLETE -> All tickets Done -> Epic closed -> summary delivered
Classify the request, create Confluence plan page, Jira Epic with [AI-PM] prefix, child tickets per workstream, link dependencies, then present plan to user for confirmation.
See phase-planning.md for step-by-step details and templates.
Multi-agent mode: Create agent team, map tickets to tasks with dependency tracking, spawn teammates with standard prompt. Orchestrator monitors progress and updates Confluence plan page.
Single-agent mode: Work each ticket sequentially, respecting dependency order. Track progress via Jira transitions and Confluence updates.
See phase-execution.md for both modes (multi-agent and single-agent workflows). Both modes share common protocols for transitions, branch creation, and publishing — see common-patterns.md.
Auto-detect open [AI-PM] Epics, read Confluence plan, query incomplete tickets, classify state.
Multi-agent mode: Spin up right-sized team for remaining work. Single-agent mode: Pick up the next incomplete ticket and continue sequentially.
See phase-resume.md for both modes (resume protocol and JQL patterns).
Update Confluence page status, transition Epic to Done, add final summary comment, report deliverables to user.
See phase-completion.md for completion checklist.
| Request Type | Team Size | Roles | |-------------|-----------|-------| | Small change | 2 | lead + implementer | | Feature dev | 3-4 | lead + backend + frontend + (tester) | | Research | 3 | lead + 2 researchers | | Content | 3 | lead + writer + reviewer | | Multi-component | 4-5 | lead + 1 per component |
One ticket per teammate. Lead coordinates only (no workstream tasks). Min team = 2.
[AI-PM] prefix on all managed Epics — the resume phase uses JQL summary ~ "\\[AI-PM\\]" to auto-detect managed Epics.--limit 10 on all Jira list operations; limit=10 on all Confluence REST calls — larger result sets consume excessive tokens.acli jira workitem edit --key {key} --assignee "@me". Unassigned tickets look abandoned during resume.parentId) — keeps all deliverables organized under one parent.!= workaround — ACLI escapes ! in JQL. Use NOT IN (Done) instead of != Done.[ / ] escaping — square brackets are JQL range-query operators. Use \[AI-PM\] (escaped) in summary ~ queries, not [AI-PM]./wiki/rest/api/content/search, not v2 /search.POST /wiki/rest/api/content with ancestors array. The v2 children endpoint returns 405. See confluence-comments.md.tools
Replace with description of the skill and when Claude should use it.
documentation
Find one fresh YouTube AI interview/podcast video matching strict editorial criteria, intended as the source for a blog post (substack-writer Step 1). Use when the user says "find a YouTube video for today's blog", "find an AI interview video", "auto-pick a video for substack-writer", or runs the daily content cron. Filters by duration, upload month, dedup against previously used videos, then the agent picks one with reasoning.
development
Use this skill any time a spreadsheet file is the primary input or output. This means any task where the user wants to: open, read, edit, or fix an existing .xlsx, .xlsm, .csv, or .tsv file (e.g., adding columns, computing formulas, formatting, charting, cleaning messy data); create a new spreadsheet from scratch or from other data sources; or convert between tabular file formats. Trigger especially when the user references a spreadsheet file by name or path — even casually (like "the xlsx in my downloads") — and wants something done to it or produced from it. Also trigger for cleaning or restructuring messy tabular data files (malformed rows, misplaced headers, junk data) into proper spreadsheets. The deliverable must be a spreadsheet file. Do NOT trigger when the primary deliverable is a Word document, HTML report, standalone Python script, database pipeline, or Google Sheets API integration, even if tabular data is involved.
tools
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.