jira-work
Skill1 starsChanged 7 months agoApache-2.0View on GitHub
Start working on a Jira ticket - validates workspace, creates branch, fetches ticket details, and produces an implementation plan for review.
- Commits and pushes
In this repository7 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- driver-code-reviewSkill
- grill-reviewSkill
- jira-cliSkill
- multi-reviewSkill
- specificationsSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
19 rules. About 0 are common, 5 are distinctive, and 14 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
14
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 12
Setup: If JIRA_API_TOKEN is not set, source the setup script first: source ../jira-cli/scripts/jira_cli_setup.sh — this loads the token …
- Very specific: line 27
Read the config file at config.yml (relative to this skill's directory) to find the local repo path for the project.
- Very specific: line 36
Look up the project key (e.g., JAVA) to get WORK_PATH
- Very specific: line 37
If
config.ymldoesn’t exist or the project key is missing: Ask the user for the local repo path. - Very specific: line 39
Add the mapping to config.yml in this skill's directory (create the file if needed), then continue.
- Very specific: line 43
Run git -C $WORK_PATH status --porcelain to check for dirty state.
- Very specific: line 55
Check available remotes: git -C $WORK_PATH remote
- Very specific: line 56
Use upstream if it exists, otherwise use origin
- Very specific: line 64
Check if branch already exists: git -C $WORK_PATH branch --list $TICKET_ID
- Very specific: line 75
Use these patterns to fetch the full ticket.
- Very specific: line 76
Always use --plain to avoid interactive TUI and -p PROJ for the project flag.
- Distinctive: line 93
Important: If there isn’t enough information to make a plan, ask the user clarifying questions.
- Distinctive: line 109
If writing-plans did not already present the execution choice to the user, present it now.
- Distinctive: line 131
Run a code review on the current ticket’s changes.
- Very specific: line 134
Read the plan from .claude/docs/plans/*-$TICKET_ID.md for context on intent
- Distinctive: line 139
Commit all changes and push the branch to origin.
- Distinctive: line 141
Run git status to see what changed
- Very specific: line 143
Write a clear commit message summarizing the changes.
- Very specific: line 153
All temporary output (evals, plans, benchmarks, scratch files) goes in the workspace/ directory inside this skill's directory.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
jira-work: Start Working on a Jira Ticket
Invoked as /jira-work PROJ-XXXX (e.g., /jira-work JAVA-6111). Orchestrates the full
“begin work” workflow.
Setup: If JIRA_API_TOKEN is not set, source the setup script first:
source ../jira-cli/scripts/jira_cli_setup.sh — this loads the token from the macOS
keychain (or prompts to create one).
Step 1: Parse Input
Extract the project key, ticket ID, and optional extra context from the argument:
JAVA-6111→ project key:JAVA, ticket ID:JAVA-6111, extra: noneJAVA-6111 - focus on backpressure→ project key:JAVA, ticket ID:JAVA-6111, extra: "focus on backpressure"
Anything after a - separator is extra context passed into the planning phase.
Step 2: Resolve Working Directory
Read the config file at config.yml (relative to this skill's directory) to find the local repo path for the
project.
# config.yml format
projects:
JAVA: /Users/ross.lawley/Code/mongodb/mongo-java-driver- Look up the project key (e.g.,
JAVA) to getWORK_PATH - If
config.ymldoesn’t exist or the project key is missing: Ask the user for the local repo path. Validate it exists and is a git repo. Add the mapping toconfig.ymlin this skill's directory (create the file if needed), then continue.
Step 3: Check for Uncommitted Work
Run git -C $WORK_PATH status --porcelain to check for dirty state.
If there is uncommitted work, STOP immediately:
CANNOT PROCEED - Work in progress. Please commit or stash.
List the dirty files so the user can see what needs attention. Do not continue.
Step 4: Update Main Branch
- Check available remotes:
git -C $WORK_PATH remote - Use
upstreamif it exists, otherwise useorigin - Run:
git -C $WORK_PATH checkout main && git -C $WORK_PATH pull $REMOTE main
Step 5: Create Feature Branch
- Check if branch already exists:
git -C $WORK_PATH branch --list $TICKET_ID - If branch exists: Tell the user and ask “Branch $TICKET_ID already exists.
Continue? (Y/n)”
- If Y:
git -C $WORK_PATH checkout $TICKET_ID - If n: Stop
- If Y:
- If branch doesn’t exist:
git -C $WORK_PATH checkout -b $TICKET_ID
Step 6: Fetch Jira Ticket
Load the jira-cli skill and its
reference guide for command syntax.
Use these patterns to fetch the full ticket.
Always use --plain to avoid interactive TUI and -p PROJ for the project flag.
jira issue view -p $PROJECT $TICKET_ID --plain --comments 50Capture the full description, acceptance criteria, and all comments.
Step 7: Create Implementation Plan
Prepare a spec from the ticket content:
- Ticket summary and description
- Acceptance criteria
- Relevant comments and context
- Extra context from the user (if provided via
-) - The
WORK_PATHcodebase location
Important: If there isn’t enough information to make a plan, ask the user clarifying questions. Do not guess.
Invoke the superpowers:writing-plans skill with this spec. Override the default plan
location — save plans to .claude/docs/plans/YYYY-MM-DD-$TICKET_ID.md
(relative to WORK_PATH), NOT the default docs/superpowers/plans/ path.
The writing-plans skill will:
- Explore the codebase at
WORK_PATH - Map out file structure and changes needed
- Produce bite-sized TDD tasks with exact file paths and code
- Self-review against the spec
- Offer execution choice (subagent-driven or inline)
Step 8: Confirm Plan
If writing-plans did not already present the execution choice to the user, present it now. Link to the plan file location.
Subcommands
The following subcommands continue work on a ticket after the plan has been created. They assume you are already on the feature branch in the correct repo.
/jira-work implement
Implement the plan for the current branch’s ticket.
- Determine the ticket ID from the current branch name
- Find the plan at
.claude/docs/plans/*-$TICKET_ID.md(glob for date prefix) - If no plan exists, STOP: tell the user to run
/jira-work $TICKET_IDfirst - Execute using
superpowers:subagent-driven-development(recommended) orsuperpowers:executing-plansbased on user preference
/jira-work code-review
Run a code review on the current ticket’s changes.
- Determine the ticket ID from the current branch name
- Read the plan from
.claude/docs/plans/*-$TICKET_ID.mdfor context on intent - Invoke the
/multi-reviewskill to review the changes (it will auto-detect the correct base branch from any open PR, falling back tomain)
/jira-work commit
Commit all changes and push the branch to origin.
- Run
git statusto see what changed - Stage all relevant files (do NOT stage unrelated files or secrets)
- Write a clear commit message summarizing the changes. The last line of the
commit message must be the ticket ID on its own (e.g.,
JAVA-6111) - Commit the changes
- Push the branch to origin:
git push -u origin $BRANCH_NAME
Workspace Convention
Strictly follow this convention:
All temporary output (evals, plans, benchmarks, scratch files) goes in the workspace/
directory inside this skill's directory. The */workspace/ pattern is gitignored.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

