agentleFS
mvilrokxmvilrokx/claude-skills/jira-workflow/SKILL.md

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

  • Other versions3 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 3

    1. MattoYuzuru/yuzuru-skills★ 1same name
    2. nb-99/skillektion★ 1same name
    3. 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.

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
  1. Very specific:

    Search for issues assigned to current user using the search tools (activate with activate_search_tools_for_jira_and_confluence)

    line 35
  2. Distinctive:

    Create a new Jira ticket.

    line 49
  3. Very specific:

    Requested by (BU): Default to GLCP. User can override if needed.

    line 60
  4. Very specific:

    Labels: Always include created-by-github-copilot.

    line 61
  5. Very specific:

    If issue type unknown, fetch available types via issue metadata tools (activate with activate_jira_issue_management_tools)

    line 74
  6. Distinctive:

    Check user preferences file for last-used component (see User Preferences)

    line 75
  7. Distinctive:

    If no component provided and preference exists, suggest it.

    line 76
  8. Very specific:

    Create issue using mcp_atlassian-mcp_createJiraIssue with additional_fields:

    line 77
  9. Distinctive:

    Add or remove labels from a Jira ticket.

    line 114
  10. Distinctive:

    Add/remove requested labels

    line 122
  11. Very specific:

    Update issue using mcp_atlassian-mcp_editJiraIssue:

    line 123
  12. Very specific:

    Look up the user's account ID using mcp_atlassian-mcp_lookupJiraAccountId with the provided name/email

    line 185
  13. Distinctive:

    If multiple matches, present options and ask user to clarify

    line 186
  14. Very specific:

    Update the issue using mcp_atlassian-mcp_editJiraIssue with the assignee field:

    line 187
  15. Distinctive:

    Verify Jira ticket exists and is accessible

    line 215
  16. Distinctive:

    Before starting implementation, assess the task complexity:

    line 219
  17. Distinctive:

    If task warrants breakdown:

    line 236
  18. Distinctive:

    Commit with subtask reference

    line 266
  19. Distinctive:

    Update subtask in Jira

    line 267
  20. Distinctive:

    After completing work, update the Jira ticket with:

    line 345
  21. Very specific:

    Use mcp_atlassian-mcp_addCommentToJiraIssue for the update.

    line 352

“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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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 IntentWorkflow
"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:

  1. Get the Atlassian Cloud ID using mcp_atlassian-mcp_getAccessibleAtlassianResources
  2. Get current user info using mcp_atlassian-mcp_atlassianUserInfo
  3. Search for issues assigned to current user using the search tools (activate with activate_search_tools_for_jira_and_confluence)
  4. 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:

  1. Get Cloud ID if not cached
  2. Gather required fields from user
  3. If issue type unknown, fetch available types via issue metadata tools (activate with activate_jira_issue_management_tools)
  4. Check user preferences file for last-used component (see User Preferences)
  5. If no component provided and preference exists, suggest it; otherwise prompt user
  6. Create issue using mcp_atlassian-mcp_createJiraIssue with additional_fields:

    {
      "components": [{ "name": "<component-name>" }],
      "customfield_XXXXX": { "value": "GLCP" },
      "labels": ["created-by-github-copilot", "<user-labels>"]
    }
  7. Save selected component to user preferences
  8. 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:

  1. Get Cloud ID
  2. Fetch project metadata via activate_jira_issue_management_tools to get components
  3. 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:

  1. Get Cloud ID
  2. Fetch current issue to get existing labels
  3. Add/remove requested labels
  4. Update issue using mcp_atlassian-mcp_editJiraIssue:

    {
      "fields": {
        "labels": ["existing-label", "new-label"]
      }
    }
  5. Confirm update

Output format:

✅ Labels updated on PROJ-123:
   Added: urgent, needs-review
   Current: created-by-github-copilot, urgent, needs-review

User 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 lastComponent in preferences
  • User can override requestedByBU default 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:

  1. Get Cloud ID using mcp_atlassian-mcp_getAccessibleAtlassianResources
  2. Look up the user's account ID using mcp_atlassian-mcp_lookupJiraAccountId with the provided name/email
  3. If multiple matches, present options and ask user to clarify
  4. Update the issue using mcp_atlassian-mcp_editJiraIssue with the assignee field:

    {
      "fields": {
        "assignee": { "accountId": "<account-id>" }
      }
    }
  5. Confirm assignment with ticket key and assignee name

Output format:

✅ PROJ-123 assigned to John Smith

Do 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:

  1. Analyze and decompose the parent ticket into logical subtasks
  2. Create subtasks in Jira using mcp_atlassian-mcp_createJiraIssue with:

    {
      "issueTypeName": "Sub-task",
      "parent": "PROJ-123",
      "summary": "<subtask summary>",
      "labels": ["created-by-github-copilot"]
    }
  3. 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)
  4. Work on each subtask sequentially:
    • Implement subtask
    • Commit with subtask reference
    • Update subtask in Jira
    • Transition subtask to Done
  5. 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 ticket

See references/do-work-workflow.md for detailed implementation steps.

Branch Naming

Format: <type>/<ticket-key>-<short-description>

Examples:

  • feature/PROJ-123-user-authentication
  • bugfix/PROJ-456-fix-date-format
  • chore/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

ScenarioAction
Cannot find Cloud IDPrompt user to verify Jira connection
Ticket not foundVerify ticket key format and project access
User not foundVerify name/email spelling, show similar matches
Multiple user matchesPresent options for user to select
Component not foundList available components, ask user to select
Invalid label formatLabels cannot contain spaces; suggest alternatives
Custom field ID unknownFetch issue metadata to discover field IDs
Subtask creation failsCheck if Sub-task issue type exists in project
Parent ticket not foundVerify parent key when creating subtasks
Dirty working treePrompt user to commit/stash changes first
Branch already existsOffer to checkout existing or create new
Create issue failsCheck 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, transitions
  • activate_search_tools_for_jira_and_confluence - JQL search capabilities

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.