jira-workflow
Skill2 starsChanged 11 months agoMITView on GitHub
Manage development work using Jira tickets as the single source of truth. Use this skill when users want to (1) list their Jira tickets/work backlog, (2) create new Jira tickets/work items, (3) assign tickets to team members, (4) add labels to tickets, or (5) "do work" by implementing a Jira ticket—which involves creating a feature branch, implementing the changes, committing with ticket references, and updating the Jira ticket with progress. Triggers on phrases like "list my work", "show my tickets", "create a ticket", "add work", "assign PROJ-123 to", "add label", "do work", "work on PROJ-123", or "implement ticket".
3 other projects use a version of this.
Adopted by
Most recently taken up by
- MattoYuzuru/yuzuru-skillstheir own version, first seen Oct 25, 2026
- pablolok/claude-skillstheir own version, first seen Oct 13, 2026
- nb-99/skillektiontheir own version, first seen Aug 19, 2026
Other versions3 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 3
- MattoYuzuru/yuzuru-skills★ 1same name
- nb-99/skillektion★ 1same name
- pablolok/claude-skills★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository5 other files it gives its agents.
- docs-fetcherSkill
- fastapi-code-reviewSkill
- hpe-copyrightSkill
- multi-agent-debate-reviewSkill
- skill-creatorSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
21 rules. 0 are common, 12 are distinctive, and 9 are very specific to this project.
0
Common
Most of the 3 edited versions we read keep these.
12
Distinctive
This author's own choices. Worth a look.
9
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 35
Search for issues assigned to current user using the search tools (activate with activate_search_tools_for_jira_and_confluence)
- Distinctive: line 49
Create a new Jira ticket.
- Very specific: line 60
Requested by (BU): Default to GLCP. User can override if needed.
- Very specific: line 61
Labels: Always include created-by-github-copilot.
- Very specific: line 74
If issue type unknown, fetch available types via issue metadata tools (activate with activate_jira_issue_management_tools)
- Distinctive: line 75
Check user preferences file for last-used component (see User Preferences)
- Distinctive: line 76
If no component provided and preference exists, suggest it.
- Very specific: line 77
Create issue using mcp_atlassian-mcp_createJiraIssue with additional_fields:
- Distinctive: line 114
Add or remove labels from a Jira ticket.
- Distinctive: line 122
Add/remove requested labels
- Very specific: line 123
Update issue using mcp_atlassian-mcp_editJiraIssue:
- Very specific: line 185
Look up the user's account ID using mcp_atlassian-mcp_lookupJiraAccountId with the provided name/email
- Distinctive: line 186
If multiple matches, present options and ask user to clarify
- Very specific: line 187
Update the issue using mcp_atlassian-mcp_editJiraIssue with the assignee field:
- Distinctive: line 215
Verify Jira ticket exists and is accessible
- Distinctive: line 219
Before starting implementation, assess the task complexity:
- Distinctive: line 236
If task warrants breakdown:
- Distinctive: line 266
Commit with subtask reference
- Distinctive: line 267
Update subtask in Jira
- Distinctive: line 345
After completing work, update the Jira ticket with:
- Very specific: line 352
Use mcp_atlassian-mcp_addCommentToJiraIssue for the update.
“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Jira Workflow Skill
Manage development workflows using Jira tickets. Supports four core operations: listing work, creating work, assigning work, and doing work.
Prerequisites
- Access to Jira via MCP Atlassian tools
- Git repository in the current workspace
- Appropriate Jira project permissions
Quick Reference
| User Intent | Workflow |
| "List my work" / "Show my tickets" | → List Work |
| "Create a ticket" / "Add work" | → Create Work |
| "Assign PROJ-123 to John" | → Assign Work |
| "Add label to PROJ-123" | → Manage Labels |
| "List components" | → List Components |
| "Do work" / "Work on PROJ-123" | → Do Work |
List Work
Display the user's assigned Jira tickets.
Steps:
- Get the Atlassian Cloud ID using
mcp_atlassian-mcp_getAccessibleAtlassianResources - Get current user info using
mcp_atlassian-mcp_atlassianUserInfo - Search for issues assigned to current user using the search tools (activate with
activate_search_tools_for_jira_and_confluence) - Present tickets in a clear table format
Output format:
| Key | Summary | Status | Priority |
|-----|---------|--------|----------|
| PROJ-123 | Implement login | In Progress | High |
| PROJ-124 | Fix date bug | To Do | Medium |Create Work
Create a new Jira ticket.
Required information (prompt user if missing):
- Project key (or help user find it via
mcp_atlassian-mcp_getVisibleJiraProjects) - Summary (ticket title)
- Issue type (Story, Bug, Task, etc.)
- Component (see List Components for available options)
Mandatory fields (auto-populated):
- Requested by (BU): Default to
GLCP. User can override if needed. - Labels: Always include
created-by-github-copilot. User can add additional labels.
Optional information:
- Description
- Priority
- Assignee
- Additional labels
Steps:
- Get Cloud ID if not cached
- Gather required fields from user
- If issue type unknown, fetch available types via issue metadata tools (activate with
activate_jira_issue_management_tools) - Check user preferences file for last-used component (see User Preferences)
- If no component provided and preference exists, suggest it; otherwise prompt user
Create issue using
mcp_atlassian-mcp_createJiraIssuewithadditional_fields:{ "components": [{ "name": "<component-name>" }], "customfield_XXXXX": { "value": "GLCP" }, "labels": ["created-by-github-copilot", "<user-labels>"] }- Save selected component to user preferences
- Confirm creation with ticket key and link
Note: The custom field ID for "Requested by (BU)" varies by Jira instance. Discover it via issue metadata tools on first use.
List Components
List available components for a project.
Trigger phrases: "list components", "show components", "what components are available"
Steps:
- Get Cloud ID
- Fetch project metadata via
activate_jira_issue_management_toolsto get components - Display components in a table:
| Component | Description |
|-----------|-------------|
| Backend | Server-side services |
| Frontend | UI components |
| API | REST API endpoints |Manage Labels
Add or remove labels from a Jira ticket.
Trigger phrases: "add label to PROJ-123", "label PROJ-123 with", "remove label from"
Steps:
- Get Cloud ID
- Fetch current issue to get existing labels
- Add/remove requested labels
Update issue using
mcp_atlassian-mcp_editJiraIssue:{ "fields": { "labels": ["existing-label", "new-label"] } }- Confirm update
Output format:
✅ Labels updated on PROJ-123:
Added: urgent, needs-review
Current: created-by-github-copilot, urgent, needs-reviewUser Preferences
Store user preferences in .jira-workflow-prefs.json in the workspace root.
Stored preferences:
{
"lastComponent": "Backend",
"defaultProject": "PROJ",
"requestedByBU": "GLCP"
}Behavior:
- On Create Work: Check for
lastComponent, suggest if present - On component selection: Update
lastComponentin preferences - User can override
requestedByBUdefault by saying "set requested by to X"
Preference commands:
- "Set my default component to Backend"
- "Set my default project to PROJ"
- "Set requested by to ACME"
- "Show my preferences"
- "Clear my preferences"
Assign Work
Assign a Jira ticket to a team member.
Trigger phrases: "assign PROJ-123 to", "give PROJ-123 to", "assign ticket to"
Required information:
- Ticket key (e.g., PROJ-123)
- Assignee (name or email)
Steps:
- Get Cloud ID using
mcp_atlassian-mcp_getAccessibleAtlassianResources - Look up the user's account ID using
mcp_atlassian-mcp_lookupJiraAccountIdwith the provided name/email - If multiple matches, present options and ask user to clarify
Update the issue using
mcp_atlassian-mcp_editJiraIssuewith the assignee field:{ "fields": { "assignee": { "accountId": "<account-id>" } } }- Confirm assignment with ticket key and assignee name
Output format:
✅ PROJ-123 assigned to John SmithDo Work
Full development workflow: implement a Jira ticket with proper Git workflow and Jira updates.
Trigger phrases: "do work", "work on PROJ-123", "implement PROJ-123", "pick up PROJ-123"
Prerequisites check:
- Confirm Git repository exists in workspace
- Confirm clean working tree (no uncommitted changes)
- Verify Jira ticket exists and is accessible
Task Complexity Assessment
Before starting implementation, assess the task complexity:
Break into subtasks when:
- Task involves multiple distinct components (e.g., API + UI + tests)
- Estimated implementation time exceeds 2-3 hours
- Multiple files across different domains need changes
- Task has natural logical divisions (e.g., "setup", "core logic", "integration")
Keep as single task when:
- Simple bug fix or small feature
- Changes localized to one area
- Can be completed in under an hour
Subtask Workflow
If task warrants breakdown:
- Analyze and decompose the parent ticket into logical subtasks
Create subtasks in Jira using
mcp_atlassian-mcp_createJiraIssuewith:{ "issueTypeName": "Sub-task", "parent": "PROJ-123", "summary": "<subtask summary>", "labels": ["created-by-github-copilot"] }Present subtask plan to user for confirmation:
📋 PROJ-123: Implement user authentication Proposed subtasks: 1. PROJ-124: Set up authentication middleware 2. PROJ-125: Implement login endpoint 3. PROJ-126: Add JWT token generation 4. PROJ-127: Write integration tests Proceed? (Y/n)- Work on each subtask sequentially:
- Implement subtask
- Commit with subtask reference
- Update subtask in Jira
- Transition subtask to Done
- After all subtasks complete, update and transition parent ticket
See references/do-work-workflow.md for detailed implementation steps.
Workflow Steps
1. Fetch ticket details
2. Create feature branch
3. Implement the work
4. Commit changes
5. Update Jira ticketSee references/do-work-workflow.md for detailed implementation steps.
Branch Naming
Format: <type>/<ticket-key>-<short-description>
Examples:
feature/PROJ-123-user-authenticationbugfix/PROJ-456-fix-date-formatchore/PROJ-789-update-dependencies
Derive <type> from issue type:
- Story/Feature →
feature/ - Bug →
bugfix/ - Task/Chore →
chore/
Commit Message Format
For single tasks or parent tickets:
<type>(<ticket-key>): <summary>
<detailed description>
Refs: <ticket-key>
Co-authored-by: GitHub Copilot <noreply@github.com>For subtasks (commit per subtask):
<type>(<subtask-key>): <summary>
<detailed description>
Refs: <subtask-key>
Part-of: <parent-key>
Co-authored-by: GitHub Copilot <noreply@github.com>The Co-authored-by trailer is a Git convention that GitHub recognizes and displays in the commit UI.
Example (subtask commit):
feat(PROJ-125): implement login endpoint
Add POST /api/auth/login endpoint with:
- Email/password validation
- User lookup and password verification
- Error responses for invalid credentials
Refs: PROJ-125
Part-of: PROJ-123
Co-authored-by: GitHub Copilot <noreply@github.com>Jira Update Content
After completing work, update the Jira ticket with:
- Summary of changes made
- Files modified/created
- Any relevant technical notes
- Next steps if work is partial
Use mcp_atlassian-mcp_addCommentToJiraIssue for the update.
Error Handling
| Scenario | Action |
| Cannot find Cloud ID | Prompt user to verify Jira connection |
| Ticket not found | Verify ticket key format and project access |
| User not found | Verify name/email spelling, show similar matches |
| Multiple user matches | Present options for user to select |
| Component not found | List available components, ask user to select |
| Invalid label format | Labels cannot contain spaces; suggest alternatives |
| Custom field ID unknown | Fetch issue metadata to discover field IDs |
| Subtask creation fails | Check if Sub-task issue type exists in project |
| Parent ticket not found | Verify parent key when creating subtasks |
| Dirty working tree | Prompt user to commit/stash changes first |
| Branch already exists | Offer to checkout existing or create new |
| Create issue fails | Check required fields and permissions |
Tool Activation Reference
This skill uses these MCP tool groups:
mcp_atlassian-mcp_*- Core Jira operations (always available)activate_jira_issue_management_tools- Issue creation, editing, transitionsactivate_search_tools_for_jira_and_confluence- JQL search capabilities
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.

