Install
$ agentstack add skill-mvilrokx-claude-skills-jira-workflow ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
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](#list-work) | | "Create a ticket" / "Add work" | → [Create Work](#create-work) | | "Assign PROJ-123 to John" | → [Assign Work](#assign-work) | | "Add label to PROJ-123" | → [Manage Labels](#manage-labels) | | "List components" | → [List Components](#list-components) | | "Do work" / "Work on PROJ-123" | → [Do Work](#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](#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](#user-preferences))
- If no component provided and preference exists, suggest it; otherwise prompt user
- Create issue using
mcp_atlassian-mcp_createJiraIssuewithadditional_fields:
``json { "components": [{ "name": "" }], "customfield_XXXXX": { "value": "GLCP" }, "labels": ["created-by-github-copilot", ""] } ``
- 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:
``json { "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-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
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:
``json { "fields": { "assignee": { "accountId": "" } } } ``
- 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:
- Analyze and decompose the parent ticket into logical subtasks
- Create subtasks in Jira using
mcp_atlassian-mcp_createJiraIssuewith:
``json { "issueTypeName": "Sub-task", "parent": "PROJ-123", "summary": "", "labels": ["created-by-github-copilot"] } ``
- Present subtask plan to user for confirmation:
``` 📋 PROJ-123: Implement user authentication
Proposed subtasks:
- PROJ-124: Set up authentication middleware
- PROJ-125: Implement login endpoint
- PROJ-126: Add JWT token generation
- 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](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](references/do-work-workflow.md) for detailed implementation steps.
Branch Naming
Format: /-
Examples:
feature/PROJ-123-user-authenticationbugfix/PROJ-456-fix-date-formatchore/PROJ-789-update-dependencies
Derive `` from issue type:
- Story/Feature →
feature/ - Bug →
bugfix/ - Task/Chore →
chore/
Commit Message Format
For single tasks or parent tickets:
():
Refs:
Co-authored-by: GitHub Copilot
For subtasks (commit per subtask):
():
Refs:
Part-of:
Co-authored-by: GitHub Copilot
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
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
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: mvilrokx
- Source: mvilrokx/claude-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.