jira-assistant
npx skills add https://github.com/grandcamel/jira-assistant-skills --skill jira-assistant
Skill 文档
JIRA Assistant
This hub routes requests to specialized JIRA skills. It does not execute JIRA operations directlyâit helps find the right skill.
Risk Levels
| Operation | Risk | Notes |
|---|---|---|
| Route to skill | - |
Read-only routing decision |
| Skill discovery | - |
Lists available skills |
| Context tracking | - |
In-memory only |
Risk Legend: - Safe, read-only | ! Caution, modifiable | !! Warning, destructive but recoverable | !!! Danger, irreversible
Quick Reference
| I want to… | Use this skill | Risk |
|---|---|---|
| Create/edit/delete a single issue, view/show issue details | jira-issue | â ï¸ |
| Search with JQL, export results | jira-search | – |
| Change status, assign, resolve, manage versions/components | jira-lifecycle | â ï¸ |
| Manage sprints, epics, subtasks, story points | jira-agile | – |
| Add comments, attachments, watchers | jira-collaborate | – |
| Link issues, view dependencies, blocker chains | jira-relationships | – |
| Log time, manage worklogs, time reports | jira-time | – |
| Handle service desk requests, SLAs, queues | jira-jsm | – |
| Update 10+ issues at once | jira-bulk | â ï¸â ï¸ |
| Git branch names, commits, PR descriptions | jira-dev | – |
| Find custom field IDs | jira-fields | – |
| Project discovery, cache management, diagnostics | jira-ops | – |
| Project settings, permissions, automation rules | jira-admin | â ï¸â ï¸ |
Risk Legend: - Read-only/safe | â ï¸ Has destructive ops (confirm) | â ï¸â ï¸ High-risk (confirm + dry-run)
Routing Rules
- Explicit skill mention wins – If user says “use jira-agile”, use it
- Entity signals – Issue key present â likely jira-issue or jira-lifecycle
- Quantity determines bulk – More than 10 issues â jira-bulk
- Keywords drive routing:
- “show”, “view”, “display”, “get”, “retrieve”, “see”, “details”, “look up”, “check” (with issue reference) â jira-issue
- “create”, “update”, “delete” (single issue) â jira-issue
- “search”, “find”, “JQL”, “filter” â jira-search
- “sprint”, “epic”, “backlog”, “story points”, “subtask” â jira-agile
- “transition”, “move to”, “assign”, “close” â jira-lifecycle
- “comment”, “attach”, “watch” â jira-collaborate
- “link”, “blocks”, “depends on”, “clone”, “dependency graph”, “blocker chain” â jira-relationships
- “log time”, “worklog”, “estimate”, “time report”, “timesheet” â jira-time
- “service desk”, “SLA”, “customer”, “request”, “queue”, “approval”, “knowledge base”, “asset” â jira-jsm
- “branch name”, “commit”, “PR” â jira-dev
- “custom field”, “field ID” â jira-fields
- “cache”, “warm cache”, “project discovery” â jira-ops
- “permissions”, “project settings”, “automation”, “automation rule” â jira-admin
Negative Triggers
| Skill | Does NOT handle | Route to instead |
|---|---|---|
| jira-issue | Bulk (>10), transitions, comments, sprints, time | jira-bulk, jira-lifecycle, jira-collaborate, jira-agile, jira-time |
| jira-search | Single issue lookup, issue modifications | jira-issue, jira-bulk |
| jira-lifecycle | Field updates, bulk transitions | jira-issue, jira-bulk |
| jira-agile | Issue CRUD (except epic/subtask), JQL, time tracking | jira-issue, jira-search, jira-time |
| jira-bulk | Single issue ops, sprint management | jira-issue, jira-agile |
| jira-collaborate | Field updates, bulk comments | jira-issue, jira-bulk |
| jira-relationships | Field updates, epic/sprint linking | jira-issue, jira-agile |
| jira-time | SLA tracking, date-based searches | jira-jsm, jira-search |
| jira-jsm | Standard project issues, non-service-desk searches | jira-issue, jira-search |
| jira-dev | Issue field updates, JQL searches | jira-issue, jira-search |
| jira-fields | Field value searching, field value updates | jira-search, jira-issue |
| jira-ops | Project configuration, issue operations | jira-admin, jira-issue |
| jira-admin | Issue CRUD, bulk operations | jira-issue, jira-bulk |
When to Clarify First
Ask the user before routing when:
- Request matches 2+ skills with similar likelihood
- Request is vague or could be interpreted multiple ways
- Destructive operations are implied
Disambiguation Examples
“Show me the sprint” Could mean:
- Sprint metadata (dates, goals, capacity) â jira-agile
- Issues in the current sprint â jira-search
Ask: “Do you want sprint details or the issues in the sprint?”
“Update the issue” Could mean:
- Change fields on one issue â jira-issue
- Transition status â jira-lifecycle
- Update multiple issues â jira-bulk
Ask: “What would you like to update – fields, status, or multiple issues?”
“Create an issue in the epic” Context determines:
- Epic context explicit â jira-agile
- Just issue creation â jira-issue
Context Awareness
Pronoun Resolution
When user says “it” or “that issue”:
- If exactly one issue mentioned in last 3 messages â use it
- If multiple issues mentioned â ask: “Which issue – TES-123 or TES-456?”
- If no issue in last 5 messages â ask: “Which issue are you referring to?”
After CREATE:
User: "create a bug in TES" â TES-789 created
User: "assign it to me"
â "it" = TES-789 (the issue just created)
User: "create a bug in DEMO" â DEMO-105 created
User: "show me the details of the bug we just created"
â "the bug we just created" = DEMO-105 (use jira-issue to retrieve details)
After SEARCH:
User: "find all open bugs" â Found TES-100, TES-101, TES-102
User: "close them"
â "them" = the search results (use jira-bulk)
Project Scope
When user mentions a project:
- Remember it for subsequent requests in this conversation
- “Create a bug in TES” â TES is now the active project
- “Create another bug” â Use TES implicitly
- Explicit project mention updates the active project
Context Expiration
After 5+ messages or 5+ minutes since last reference:
- Re-confirm rather than assume: “Do you mean TES-123 from earlier?”
- Don’t guess when context is stale
Common Workflows
Create Epic with Stories
- Use jira-agile to create the epic â Note epic key (e.g., TES-100)
- Use jira-issue to create each story with
--epic TES-100flag to link during creation- Alternatively: create stories first, then use
jira-as agile epic add-issuesto link existing issues
- Alternatively: create stories first, then use
- Confirm: “Created epic TES-100 with N stories”
Bulk Close from Search
- Use jira-search to find matching issues
- Use jira-bulk with –dry-run to preview
- Confirm count with user before executing
Data Passing Between Steps
When one skill’s output feeds another:
- Capture entity IDs from responses (e.g., epic key from jira-agile)
- State this explicitly: “Created EPIC-123. Now creating stories…”
- Reference captured data in subsequent operations
Error Handling
If a skill fails:
- Report the error clearly
- Suggest recovery options from docs/SAFEGUARDS.md
- Offer alternative approaches
If a skill is not available:
- Acknowledge the limitation
- Suggest alternatives from the Quick Reference table
Permission Awareness
Before operations that might fail due to access:
- Check if user has mentioned permission issues before
- Suggest
jira-adminfor permission checks when blocked
Discoverability
/jira-assistant-skills:browse-skills– List all skills with descriptions/jira-assistant-skills:skill-info <name>– Detailed skill information
If user asks “what can you do?” or similar:
- Show the Quick Reference table
- Offer to explain specific skills
What This Hub Does NOT Do
- Execute JIRA operations directly (always delegates)
- Guess when uncertain (asks instead)
- Perform destructive operations without confirmation
- Route to deprecated or unavailable skills without warning