From atlas
Jira: read/search/create/edit/comment/transition. Trigger: issue key (e.g. WAO-123), '이슈', '스토리', '서브태스크', 'JQL', '상태변경', 'jira search'
How this skill is triggered — by the user, by Claude, or both
Slash command
/atlas:jira <issue key, JQL query, or description><issue key, JQL query, or description>The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Read, search, create, edit, comment, and transition Jira issues via mcp-atlassian MCP.
Read, search, create, edit, comment, and transition Jira issues via mcp-atlassian MCP.
MCP tools are deferred. Load by exact name before first use:
ToolSearch({ query: "select:mcp__plugin_atlas_atlassian__jira_get_issue,mcp__plugin_atlas_atlassian__jira_search" })
Load write tools only when needed:
ToolSearch({ query: "select:mcp__plugin_atlas_atlassian__jira_create_issue,mcp__plugin_atlas_atlassian__jira_update_issue,mcp__plugin_atlas_atlassian__jira_add_comment,mcp__plugin_atlas_atlassian__jira_transition_issue,mcp__plugin_atlas_atlassian__jira_get_transitions" })
When the user provides an issue key (e.g., WAO-372):
jira_get_issue({
issue_key: "WAO-372",
fields: "summary,description,status,assignee,subtasks,parent,priority"
})
Present results concisely: key, summary, status, assignee, and subtask list if any.
When the user asks to find or list issues:
jira_search({
jql: "project = WAO AND type = Story AND status != Done ORDER BY updated DESC",
limit: 10,
fields: "summary,status,assignee"
})
Translate natural language queries to JQL:
project = WAO AND type = Story AND status = "In Progress"assignee = currentUser() AND status != Doneproject = WAO AND created >= startOfWeek()project = WAO AND text ~ "error handling"For detailed JQL patterns, consult references/jira-mcp-tools.md.
To show an issue's full context (Epic → Story → Subtask):
parent and subtasks fieldsjira_create_issue({
project_key: "WAO",
issue_type: "Subtask", // "Epic", "Story", "Subtask", "Task", "Bug"
summary: "Issue title",
description: "Description in markdown",
assignee: "[email protected]",
additional_fields: {
"parent": "WAO-372", // required for Story under Epic, Subtask under Story
"priority": {"name": "1"},
"customfield_10025": "2026-04-13", // Start date
"duedate": "2026-04-20"
}
})
jira_update_issue({
issue_key: "WAO-372",
fields: { "summary": "Updated title" }
})
jira_add_comment({
issue_key: "WAO-372",
comment: "Comment text in markdown"
})
Two-step process:
// 1. Get available transitions
jira_get_transitions({
issue_key: "WAO-372"
})
// Returns: [{id: 4, name: "BLOCKED"}, {id: 11, name: "해야 할 일"}, {id: 3, name: "Completed a task"}]
// 2. Execute transition using ID from step 1
jira_transition_issue({
issue_key: "WAO-372",
transition_id: "3" // ID from jira_get_transitions result
})
jira_create_issue_link({
type: "Blocks",
inward_issue: "WAO-375", // blocker
outward_issue: "WAO-376" // blocked
})
Before using custom fields (story points, start date), read ~/.claude/atlas/fields.json:
cat ~/.claude/atlas/fields.json
Use the resolved field ID instead of guessing. Example:
// fields.json says: {"story_points": "customfield_10028"}
jira_update_issue({
issue_key: "WAO-394",
fields: "{\"customfield_10028\": 3}"
})
If the file doesn't exist, run /atlas:setup first.
fields (comma-separated string)limit aggressively (5 for selection, 1 for latest)references/jira-mcp-tools.md — Full tool signatures, JQL patternsnpx claudepluginhub yoonjong12/atlas --plugin atlasCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.