jira-assistant
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, approvals, assets, knowledge base | jira-jsm | - |
| Bulk operations on many issues (50+) with dry-run preview | jira-bulk | ⚠️⚠️ |
| Git branch names, commits, PR descriptions | jira-dev | - |
| Custom field discovery and Agile field configuration | 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 - 50+ issues → jira-bulk (consider bulk for 10+, required for 50+)
- 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", "version", "release", "component", "resolve", "reopen", "archive" → jira-lifecycle
- "comment", "attach", "watch", "notify", "notification", "activity", "history", "changelog" → 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", "diagnostics", "performance", "request batching" → jira-ops
- "permissions", "project settings", "automation", "automation rule", "users", "groups", "notifications", "screens", "issue types", "workflows", "notification scheme", "permission scheme" → jira-admin
Negative Triggers
| Skill | Does NOT handle | Route to instead |
|---|---|---|
| jira-issue | Bulk (50+), 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 Table
| Pattern | Ambiguity | Question | Options |
|---|---|---|---|
| "update issues" (no count) | Single vs multiple | "One issue or multiple?" | jira-issue, jira-bulk |
| "show the sprint" | Details vs issues | "Sprint details or issues in sprint?" | jira-agile, jira-search |
| "link PR" | Link to JIRA or create link | "Link PR to JIRA issue or create issue relationship?" | jira-dev, jira-relationships |
| "close them" (after search) | Single vs bulk | "Close all N issues found?" | jira-bulk (with confirmation) |
| "delete issues" | Count unclear | "How many issues? (One uses jira-issue, multiple uses jira-bulk)" | jira-issue, jira-bulk |
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
"Find all P1 bugs and close them" Multi-step workflow:
- First search with jira-search to find issues
- Then confirm count before using jira-bulk to close
Ask: "I found N bugs. Want me to close them all?"
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
More from grandcamel/jira-assistant-skills
jira-agile-management
Epic creation and sprint management - create epics, manage sprints, view backlog, estimate with story points. TRIGGERS: 'create an epic', 'create epic', 'new epic', 'show the backlog', 'view backlog', 'add to sprint', 'move to sprint', 'set story points', 'sprint planning', 'epic for', 'link to epic', 'sprint list', 'active sprint', 'velocity', 'create subtask'. NOT FOR: bugs/tasks/stories without epic context (use jira-issue), field ID discovery (use jira-fields), searching issues by JQL (use jira-search), transitioning issues through workflow (use jira-lifecycle).
10jira-search-jql
Find issues by criteria (status, assignee, priority, etc.) using JQL. Create filters, export results to CSV/JSON, bulk update. Ideal for reporting and automation.
7jira-administration
>
5jira-service-management
Complete ITSM/ITIL workflow support for JSM - service desks, requests, SLAs, customers, approvals, knowledge base. Use when managing service desk requests, tracking SLAs, or handling customer operations.
4jira-developer-integration
Git and developer workflow integration. TRIGGERS: 'generate branch name', 'create branch name', 'branch name for', 'write PR description', 'PR description for', 'link PR', 'link pull request', 'parse commit', 'extract issue from commit', 'smart commit', 'development panel'. Use for Git, GitHub, GitLab, Bitbucket integration with JIRA. NOT FOR: issue field updates (use jira-issue), searching issues (use jira-search), status transitions (use jira-lifecycle).
4jira-operations
JIRA cache and performance operations. TRIGGERS: 'warm the cache', 'warm cache', 'cache status', 'clear cache', 'cache warm', 'cache for project', 'discover project', 'project discovery', 'cache hit rate', 'optimize performance', 'rate limit'. Use for JIRA API performance optimization and project context discovery. NOT FOR: project configuration/settings (use jira-admin), issue operations (use jira-issue), bulk issue modifications (use jira-bulk).
3