/jira-assistant
Manage Jira issues via Atlassian MCP — search, create, update, transition status, and handle sprint tasks. Auto-detects workspace configuration. Use when user says "create a Jira ticket", "update my sprint", "check Jira status", "transition this issue", "search Jira", or "move
$ npx -y skills add tech-leads-club/agent-skills --skill jira-assistant --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/jira-assistant
Context preview
The summary Claude sees to decide when to auto-load this skill.
Manage Jira issues via Atlassian MCP — search, create, update, transition status, and handle sprint tasks. Auto-detects workspace configuration. Use when user says "create a Jira ticket", "update my sprint", "check Jira status", "transition this issue", "search Jira", or "move
SKILL.md
jira-assistant.SKILL.mddescription: Manage Jira issues via Atlassian MCP — search, create, update, transition status, and handle sprint tasks. Auto-detects workspace configuration. Use when user says "create a Jira ticket", "update my sprint", "check Jira status", "transition this issue", "search Jira", or "move ticket to done". Do NOT use for Confluence pages (use confluence-assistant).
name: jira-assistant
Jira Assistant
You are an expert in using Atlassian MCP tools to interact with Jira.
When to Use
Use this skill when the user asks to:
- Search for Jira issues or tasks
- Create new Jira issues (Task, Epic, Subtask)
- Update existing issues
- Transition issue status (To Do → In Progress → Done, etc.)
- Add comments to issues
- Manage assignees
- Query issues with specific criteria
Configuration
**Project Detection Strategy (Automatic):**
1. **Check workspace rules first**: Look for Jira configuration in `.cursor/rules/jira-config.mdc` 2. **If not found**: Use MCP search tools to discover available projects 3. **If still unclear**: Ask user to specify project key 4. **Use detected values** for all Jira operations in this conversation
Configuration Detection Workflow
When you activate this skill:
1. Check if workspace has `.cursor/rules/jira-config.mdc` with Jira configuration 2. If found, extract and use: Project Key, Cloud ID, URL, Board URL 3. If not found:
- Use `search("jira projects I have access to")` via MCP
- Present discovered projects to user
- Ask: "Which Jira project should I use? (e.g., KAN, PROJ, DEV)"
4. Store the configuration for this conversation and proceed with operations
**Note for skill users:** To configure this skill for your workspace, create `.cursor/rules/jira-config.mdc` with your project details.
Workflow
1. Finding Issues (Always Start Here)
**Use `search` (Rovo Search) first** for general queries:
search("issues in {PROJECT_KEY} project")
search("tasks assigned to me")
search("bugs in progress")- Natural language works better than JQL for general searches
- Faster and more intuitive
- Returns relevant results quickly
- Replace `{PROJECT_KEY}` with the detected project key from configuration
2. Searching with Specific Criteria
**Use `searchJiraIssuesUsingJql`** when you need precise filters:
**⚠️ ALWAYS include `project = {PROJECT_KEY}` in JQL queries**
Examples (replace `{PROJECT_KEY}` with detected project key):
project = {PROJECT_KEY} AND status = "In Progress"
project = {PROJECT_KEY} AND assignee = currentUser() AND created >= -7d
project = {PROJECT_KEY} AND type = "Epic" AND status != "Done"
project = {PROJECT_KEY} AND priority = "High"3. Getting Issue Details
Depending on what you have:
- **If you have ARI**: `fetch(ari)`
- **If you have issue key/id**: `getJiraIssue(cloudId, issueKey)`
4. Creating Issues
**ALWAYS use the detected `projectKey` and `cloudId` from configuration**
Step-by-step process:
a. View issue types:
getJiraProjectIssueTypesMetadata(
cloudId="{CLOUD_ID}",
projectKey="{PROJECT_KEY}"
)
b. View required fields:
getJiraIssueTypeMetaWithFields(
cloudId="{CLOUD_ID}",
projectKey="{PROJECT_KEY}",
issueTypeId="from-step-a"
)
c. Create the issue:
createJiraIssue(
cloudId="{CLOUD_ID}",
projectKey="{PROJECT_KEY}",
issueTypeName="Task",
summary="Brief task description",
description="## Context\n..."
)**Note:** Replace `{PROJECT_KEY}` and `{CLOUD_ID}` with values from detected configuration.
**Available issue types:**
- Task (default)
- Epic
- Subtask (requires `parent` field with parent issue key)
5. Updating and Transitioning Issues
Edit fields:
editJiraIssue(cloudId, issueKey, fields)
Change status:
1. Get available transitions:
getTransitionsForJiraIssue(cloudId, issueKey)
2. Apply transition:
transitionJiraIssue(cloudId, issueKey, transitionId)
Add comment:
addCommentToJiraIssue(cloudId, issueKey, comment)
Default Task Template
**ALWAYS use this template** in the `description` field when creating issues:
## Context
[Brief explanation of the problem or need]
## Objective
[What needs to be accomplished]
## Technical Requirements
[This is high level, it doesn't mention which class or file, but the technical high level objective]
- [ ] Requirement 1
- [ ] Requirement 2
- [ ] Requirement 3
## Acceptance Criteria
- [ ] Criteria 1
- [ ] Criteria 2
- [ ] Criteria 3
## Technical Notes
[Don't include file paths as they can change overtime]
[Technical considerations, dependencies, relevant links]
## Estimate
[Time estimate or story points, if applicable]
Best Practices
✅ DO
- **Always use the detected project key** in all operations
- **Always use Markdown** in the `description` field
- **Use `search` first** for natural language queries
- **Use JQL** for precise filtering (but always include `project = {PROJECT_KEY}`)
- **Follow the task template** for consistency
- **Avoid file paths** in descriptions (they change over time)
- **Keep summaries brief** and descriptions detailed
⚠️ IMPORTANT
- **Issue ID** is numeric (internal)
- **Issue Key** is "{PROJECT_KEY}-123" format (user-facing)
- **To create subtasks**: Use the `parent` field with parent issue key
- **CloudId** can be URL or UUID - both work
- **Use detected configuration values** from workspace rules or user input
Examples
Example 1: Create a Task
User: "Create a task to implement user authentication"
createJiraIssue(
cloudId="{CLOUD_ID}",
projectKey="{PROJECT_KEY}",
issueTypeName="Task",
summary="Implement user authentication endpoint",
description="## Context
We need to secure our API endpoints with user authentication.
## Objective
Implement JWT-based authentication for API access.
## Technical Requirements
- [ ] Create authentication middleware
- [ ] Implement JWT token generation
- [ ] Add token vRead more
description: Manage Jira issues via Atlassian MCP — search, create, update, transition status, and handle sprint tasks. Auto-detects workspace configuration. Use when user says "create a Jira ticket", "update my sprint", "check Jira status", "transition this issue", "search Jira", or "move ticket to done". Do NOT use for Confluence pages (use confluence-assistant). name: jira-assistant
Jira Assistant
You are an expert in using Atlassian MCP tools to interact with Jira.
When to Use
Use this skill when the user asks to:
- Search for Jira issues or tasks
- Create new Jira issues (Task, Epic, Subtask)
- Update existing issues
- Transition issue status (To Do → In Progress → Done, etc.)
- Add comments to issues
- Manage assignees
- Query issues with specific criteria
Configuration
**Project Detection Strategy (Automatic):**
1. **Check workspace rules first**: Look for Jira configuration in `.cursor/rules/jira-config.mdc` 2. **If not found**: Use MCP search tools to discover available projects 3. **If still unclear**: Ask user to specify project key 4. **Use detected values** for all Jira operations in this conversation
Configuration Detection Workflow
When you activate this skill:
1. Check if workspace has `.cursor/rules/jira-config.mdc` with Jira configuration 2. If found, extract and use: Project Key, Cloud ID, URL, Board URL 3. If not found:
- Use `search("jira projects I have access to")` via MCP
- Present discovered projects to user
- Ask: "Which Jira project should I use? (e.g., KAN, PROJ, DEV)"
4. Store the configuration for this conversation and proceed with operations
**Note for skill users:** To configure this skill for your workspace, create `.cursor/rules/jira-config.mdc` with your project details.
Workflow
1. Finding Issues (Always Start Here)
**Use `search` (Rovo Search) first** for general queries:
search("issues in {PROJECT_KEY} project")
search("tasks assigned to me")
search("bugs in progress")- Natural language works better than JQL for general searches
- Faster and more intuitive
- Returns relevant results quickly
- Replace `{PROJECT_KEY}` with the detected project key from configuration
2. Searching with Specific Criteria
**Use `searchJiraIssuesUsingJql`** when you need precise filters:
**⚠️ ALWAYS include `project = {PROJECT_KEY}` in JQL queries**
Examples (replace `{PROJECT_KEY}` with detected project key):
project = {PROJECT_KEY} AND status = "In Progress"
project = {PROJECT_KEY} AND assignee = currentUser() AND created >= -7d
project = {PROJECT_KEY} AND type = "Epic" AND status != "Done"
project = {PROJECT_KEY} AND priority = "High"3. Getting Issue Details
Depending on what you have:
- **If you have ARI**: `fetch(ari)`
- **If you have issue key/id**: `getJiraIssue(cloudId, issueKey)`
4. Creating Issues
**ALWAYS use the detected `projectKey` and `cloudId` from configuration**
Step-by-step process:
a. View issue types:
getJiraProjectIssueTypesMetadata(
cloudId="{CLOUD_ID}",
projectKey="{PROJECT_KEY}"
)
b. View required fields:
getJiraIssueTypeMetaWithFields(
cloudId="{CLOUD_ID}",
projectKey="{PROJECT_KEY}",
issueTypeId="from-step-a"
)
c. Create the issue:
createJiraIssue(
cloudId="{CLOUD_ID}",
projectKey="{PROJECT_KEY}",
issueTypeName="Task",
summary="Brief task description",
description="## Context\n..."
)**Note:** Replace `{PROJECT_KEY}` and `{CLOUD_ID}` with values from detected configuration.
**Available issue types:**
- Task (default)
- Epic
- Subtask (requires `parent` field with parent issue key)
5. Updating and Transitioning Issues
Edit fields:
editJiraIssue(cloudId, issueKey, fields)
Change status:
1. Get available transitions: getTransitionsForJiraIssue(cloudId, issueKey) 2. Apply transition: transitionJiraIssue(cloudId, issueKey, transitionId)
Add comment:
addCommentToJiraIssue(cloudId, issueKey, comment)
Default Task Template
**ALWAYS use this template** in the `description` field when creating issues:
## Context [Brief explanation of the problem or need] ## Objective [What needs to be accomplished] ## Technical Requirements [This is high level, it doesn't mention which class or file, but the technical high level objective] - [ ] Requirement 1 - [ ] Requirement 2 - [ ] Requirement 3 ## Acceptance Criteria - [ ] Criteria 1 - [ ] Criteria 2 - [ ] Criteria 3 ## Technical Notes [Don't include file paths as they can change overtime] [Technical considerations, dependencies, relevant links] ## Estimate [Time estimate or story points, if applicable]
Best Practices
✅ DO
- **Always use the detected project key** in all operations
- **Always use Markdown** in the `description` field
- **Use `search` first** for natural language queries
- **Use JQL** for precise filtering (but always include `project = {PROJECT_KEY}`)
- **Follow the task template** for consistency
- **Avoid file paths** in descriptions (they change over time)
- **Keep summaries brief** and descriptions detailed
⚠️ IMPORTANT
- **Issue ID** is numeric (internal)
- **Issue Key** is "{PROJECT_KEY}-123" format (user-facing)
- **To create subtasks**: Use the `parent` field with parent issue key
- **CloudId** can be URL or UUID - both work
- **Use detected configuration values** from workspace rules or user input
Examples
Example 1: Create a Task
User: "Create a task to implement user authentication"
createJiraIssue(
cloudId="{CLOUD_ID}",
projectKey="{PROJECT_KEY}",
issueTypeName="Task",
summary="Implement user authentication endpoint",
description="## Context
We need to secure our API endpoints with user authentication.
## Objective
Implement JWT-based authentication for API access.
## Technical Requirements
- [ ] Create authentication middleware
- [ ] Implement JWT token generation
- [ ] Add token vThe secure, validated skill registry for professional AI coding agents. Extend Antigravity, Claude Code, Cursor, Copilot and more with absolute confidence.
Repo: tech-leads-club/agent-skills
Other skills on tech-leads-club-agent-skills.
- /component-common-domain-detection
Finds duplicate business logic spread across multiple components and suggests consolidation. Use when asking "where is this logic duplicated?", "find common code between services", "what can be consolidated?", "detect shared domain logic", or analyzing component overlap before
Open skill - /component-flattening-analysis
Detects misplaced classes and fixes component hierarchy problems — finds code that should belong inside a component but sits at the root level. Use when asking "clean up component structure", "find orphaned classes", "fix module hierarchy", "flatten nested components", or
Open skill - /component-identification-sizing
Maps architectural components in a codebase and measures their size to identify what should be extracted first. Use when asking "how big is each module?", "what components do I have?", "which service is too large?", "analyze codebase structure", "size my monolith", or planning
Open skill - /coupling-analysis
Analyzes coupling between modules using the three-dimensional model (strength, distance, volatility) from "Balancing Coupling in Software Design". Use when asking "are these modules too coupled?", "show me dependencies", "analyze integration quality", "which modules should I
Open skill - /decomposition-planning-roadmap
Creates step-by-step decomposition plans and migration roadmaps for breaking apart monolithic applications. Use when asking "what order should I extract services?", "plan my migration", "create a decomposition roadmap", "prioritize what to split", "monolith to microservices
Open skill - /domain-analysis
Maps business domains and suggests service boundaries in any codebase using DDD Strategic Design. Use when asking "what are the domains in this codebase?", "where should I draw service boundaries?", "identify bounded contexts", "classify subdomains", "DDD analysis", or analyzing
Open skill

