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 patternsCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub yoonjong12/atlas --plugin atlas