[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-atlassian-triage-issue":3,"mdc-eh4576-key":54,"related-org-atlassian-triage-issue":2005,"related-repo-atlassian-triage-issue":2175},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":25,"repoUrl":26,"updatedAt":27,"license":28,"forks":29,"topics":30,"repo":49,"sourceUrl":52,"mdContent":53},"triage-issue","triage bug reports in Jira","Intelligently triage bug reports and error messages by searching for duplicates in Jira and offering to create new issues or add comments to existing ones. When an agent needs to: (1) Triage a bug report or error message, (2) Check if an issue is a duplicate, (3) Find similar past issues, (4) Create a new bug ticket with proper context, or (5) Add information to an existing ticket. Searches Jira for similar issues, identifies duplicates, checks fix history, and helps create well-structured bug reports.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"atlassian","Atlassian","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fatlassian.png",[12,16,19,22],{"name":13,"slug":14,"type":15},"Jira","jira","tag",{"name":17,"slug":18,"type":15},"Project Management","project-management",{"name":20,"slug":21,"type":15},"Triage","triage",{"name":23,"slug":24,"type":15},"Debugging","debugging",848,"https:\u002F\u002Fgithub.com\u002Fatlassian\u002Fatlassian-mcp-server","2026-07-12T07:58:33.007343",null,107,[31,32,8,33,34,35,36,37,38,39,40,14,41,42,43,44,45,46,47,48],"ai","ai-agents","bitbucket","chatgpt","claude","compass","confluence","copilot","cursor","developer-tools","jira-service-management","llm","mcp","mcp-server","model-context-protocol","oauth","rovo","vscode",{"repoUrl":26,"stars":25,"forks":29,"topics":50,"description":51},[31,32,8,33,34,35,36,37,38,39,40,14,41,42,43,44,45,46,47,48],"Official remote MCP server for Atlassian. Securely connect Jira, Confluence, Jira Service Management, Bitbucket, and Compass to Claude, ChatGPT, Cursor, VS Code, and other AI tools using OAuth 2.1 or API tokens.","https:\u002F\u002Fgithub.com\u002Fatlassian\u002Fatlassian-mcp-server\u002Ftree\u002FHEAD\u002Fskills\u002Ftriage-issue","---\nname: triage-issue\ndescription: \"Intelligently triage bug reports and error messages by searching for duplicates in Jira and offering to create new issues or add comments to existing ones. When an agent needs to: (1) Triage a bug report or error message, (2) Check if an issue is a duplicate, (3) Find similar past issues, (4) Create a new bug ticket with proper context, or (5) Add information to an existing ticket. Searches Jira for similar issues, identifies duplicates, checks fix history, and helps create well-structured bug reports.\"\n---\n\n# Triage Issue\n\n## Keywords\ntriage bug, check duplicate, is this a duplicate, search for similar issues, create bug ticket, file a bug, report this error, triage this error, bug report, error message, similar issues, duplicate bug, who fixed this, has this been reported, search bugs, find similar bugs, create issue, file issue\n\n## Overview\n\nAutomatically triage bug reports and error messages by searching Jira for duplicates, identifying similar past issues, and helping create well-structured bug tickets or add context to existing issues. This skill eliminates manual duplicate checking and ensures bugs are properly documented with relevant historical context.\n\n**Use this skill when:** Users need to triage error messages, bug reports, or issues to determine if they're duplicates and take appropriate action.\n\n---\n\n## Workflow\n\nFollow this 6-step process to effectively triage issues:\n\n### Step 1: Extract Key Information\n\nAnalyze the bug report or error message to identify search terms.\n\n#### Extract These Elements:\n\n**Error signature:**\n- Error type or exception name (e.g., \"NullPointerException\", \"TimeoutError\")\n- Error code or status (e.g., \"500\", \"404\", \"ERR_CONNECTION_REFUSED\")\n- Specific error message text (key phrases, not full stack trace)\n\n**Context:**\n- Component or system affected (e.g., \"authentication\", \"payment gateway\", \"API\")\n- Environment (e.g., \"production\", \"staging\", \"mobile app\")\n- User actions leading to error (e.g., \"during login\", \"when uploading file\")\n\n**Symptoms:**\n- Observable behavior (e.g., \"page blank\", \"infinite loading\", \"data not saving\")\n- Impact (e.g., \"users can't login\", \"payments failing\")\n\n#### Example Extractions:\n\n**Input:** \"Users getting 'Connection timeout' error when trying to login on mobile app\"\n**Extracted:**\n- Error: \"Connection timeout\"\n- Component: \"login\", \"mobile app\"\n- Symptom: \"can't login\"\n\n**Input:** \"NullPointerException in PaymentProcessor.processRefund() line 245\"\n**Extracted:**\n- Error: \"NullPointerException\"\n- Component: \"PaymentProcessor\", \"refund\"\n- Location: \"processRefund line 245\"\n\n---\n\n### Step 2: Search for Duplicates\n\nSearch Jira using extracted keywords to find similar or duplicate issues.\n\n#### Search Strategy:\n\nExecute **multiple targeted searches** to catch duplicates that may use different wording:\n\n**Search 1: Error-focused**\n```\nsearchJiraIssuesUsingJql(\n  cloudId=\"...\",\n  jql='project = \"PROJ\" AND (text ~ \"error signature\" OR summary ~ \"error signature\") AND type = Bug ORDER BY created DESC',\n  fields=[\"summary\", \"description\", \"status\", \"resolution\", \"created\", \"updated\", \"assignee\"],\n  maxResults=20\n)\n```\n\n**Search 2: Component-focused**\n```\nsearchJiraIssuesUsingJql(\n  cloudId=\"...\",\n  jql='project = \"PROJ\" AND text ~ \"component keywords\" AND type = Bug ORDER BY updated DESC',\n  fields=[\"summary\", \"description\", \"status\", \"resolution\", \"created\", \"updated\", \"assignee\"],\n  maxResults=20\n)\n```\n\n**Search 3: Symptom-focused**\n```\nsearchJiraIssuesUsingJql(\n  cloudId=\"...\",\n  jql='project = \"PROJ\" AND summary ~ \"symptom keywords\" AND type = Bug ORDER BY priority DESC, updated DESC',\n  fields=[\"summary\", \"description\", \"status\", \"resolution\", \"created\", \"updated\", \"assignee\"],\n  maxResults=20\n)\n```\n\n#### Search Tips:\n\n**Use key terms only:**\n- ✅ \"timeout login mobile\"\n- ✅ \"NullPointerException PaymentProcessor refund\"\n- ❌ \"Users are getting a connection timeout error when...\" (too verbose)\n\n**Search recent first:**\n- Order by `created DESC` or `updated DESC` to find recent similar issues\n- Recent bugs are more likely to be relevant duplicates\n\n**Don't over-filter:**\n- Include resolved issues (might have been reopened or regression)\n- Search across all bug statuses to find fix history\n\n---\n\n### Step 3: Analyze Search Results\n\nEvaluate the search results to determine if this is a duplicate or a new issue.\n\n#### Duplicate Detection:\n\n**High confidence duplicate (>90%):**\n- Exact same error message in summary or description\n- Same component + same error type\n- Recent issue (\u003C 30 days) with identical symptoms\n- **Action:** Strongly recommend adding comment to existing issue\n\n**Likely duplicate (70-90%):**\n- Similar error with slight variations\n- Same component but different context\n- Resolved issue with same root cause\n- **Action:** Present as possible duplicate, let user decide\n\n**Possibly related (40-70%):**\n- Similar symptoms but different error\n- Same component area but different specific error\n- Old issue (> 6 months) that might be unrelated\n- **Action:** Mention as potentially related\n\n**Likely new issue (\u003C40%):**\n- No similar issues found\n- Different error signature and component\n- Unique symptom or context\n- **Action:** Recommend creating new issue\n\n#### Check Fix History:\n\nIf similar resolved issues are found:\n\n**Extract relevant information:**\n- Who fixed it? (assignee on resolved issues)\n- How was it fixed? (resolution comment or linked PRs)\n- When was it fixed? (resolution date)\n- Has it regressed? (any reopened issues)\n\n**Present this context** to help with triage decision.\n\n---\n\n### Step 4: Present Findings to User\n\n**CRITICAL:** Always present findings and wait for user decision before taking any action.\n\n#### Format for Likely Duplicate:\n\n```\n🔍 **Triage Results: Likely Duplicate**\n\nI found a very similar issue already reported:\n\n**PROJ-456** - Connection timeout during mobile login\nStatus: Open | Priority: High | Created: 3 days ago\nAssignee: @john.doe\nhttps:\u002F\u002Fyoursite.atlassian.net\u002Fbrowse\u002FPROJ-456\n\n**Similarity:**\n- Same error: \"Connection timeout\"\n- Same component: Mobile app login\n- Same symptoms: Users unable to login\n\n**Difference:**\n- Original report mentioned iOS specifically, this report doesn't specify platform\n\n**Recommendation:** Add your details as a comment to PROJ-456\n\nWould you like me to:\n1. Add a comment to PROJ-456 with your error details\n2. Create a new issue anyway (if you think this is different)\n3. Show me more details about PROJ-456 first\n```\n\n#### Format for Possibly Related:\n\n```\n🔍 **Triage Results: Possibly Related Issues Found**\n\nI found 2 potentially related issues:\n\n**1. PROJ-789** - Mobile app authentication failures\nStatus: Resolved | Fixed: 2 weeks ago | Fixed by: @jane.smith\nhttps:\u002F\u002Fyoursite.atlassian.net\u002Fbrowse\u002FPROJ-789\n\n**2. PROJ-234** - Login timeout on slow connections\nStatus: Open | Priority: Medium | Created: 1 month ago\nhttps:\u002F\u002Fyoursite.atlassian.net\u002Fbrowse\u002FPROJ-234\n\n**Assessment:** Your error seems related but has unique aspects\n\n**Recommendation:** Create a new issue, but reference these related tickets\n\nWould you like me to create a new bug ticket?\n```\n\n#### Format for No Duplicates:\n\n```\n🔍 **Triage Results: No Duplicates Found**\n\nI searched Jira for:\n- \"Connection timeout\" errors\n- Mobile login issues\n- Authentication failures\n\nNo similar open or recent issues found.\n\n**Recommendation:** Create a new bug ticket\n\n**Note:** I found 1 old resolved issue (PROJ-123 from 8 months ago) about login timeouts, but it was for web, not mobile, and was resolved as \"configuration error.\"\n\nWould you like me to create a new bug ticket for this issue?\n```\n\n---\n\n### Step 5: Execute User Decision\n\nBased on user's choice, either add a comment or create a new issue.\n\n#### Option A: Add Comment to Existing Issue\n\nIf user wants to add to existing issue:\n\n**Fetch the full issue first** to understand context:\n```\ngetJiraIssue(\n  cloudId=\"...\",\n  issueIdOrKey=\"PROJ-456\"\n)\n```\n\n**Then add the comment:**\n```\naddCommentToJiraIssue(\n  cloudId=\"...\",\n  issueIdOrKey=\"PROJ-456\",\n  commentBody=\"[formatted comment - see below]\"\n)\n```\n\n**Comment Structure:**\n```markdown\n## Additional Instance Reported\n\n**Reporter:** [User's name or context]\n**Date:** [Current date]\n\n**Error Details:**\n[Paste relevant error message or stack trace]\n\n**Context:**\n- Environment: [e.g., Production, iOS 16.5]\n- User Impact: [e.g., 50+ users affected in last hour]\n- Steps to Reproduce: [if provided]\n\n**Additional Notes:**\n[Any unique aspects of this instance]\n\n---\n*Added via triage automation*\n```\n\n#### Option B: Create New Issue\n\nIf user wants to create new issue:\n\n**First, check available issue types:**\n```\ngetJiraProjectIssueTypesMetadata(\n  cloudId=\"...\",\n  projectIdOrKey=\"PROJ\"\n)\n```\n\n**Determine appropriate issue type:**\n- For bugs\u002Ferrors → Use \"Bug\" (if available)\n- For issues without errors → Use \"Task\" or \"Issue\" \n- Fallback → First available non-Epic, non-Subtask type\n\n**Create the issue:**\n```\ncreateJiraIssue(\n  cloudId=\"...\",\n  projectKey=\"PROJ\",\n  issueTypeName=\"Bug\",\n  summary=\"[Clear, specific summary - see below]\",\n  description=\"[Detailed description - see below]\",\n  additional_fields={\n    \"priority\": {\"name\": \"Medium\"}  # Adjust based on user input severity assessment\n  }\n)\n```\n\n**Summary Format:**\nUse the pattern: `[Component] [Error Type] - [Brief Symptom]`\n\n**Examples:**\n- ✅ \"Mobile Login: Connection timeout during authentication\"\n- ✅ \"Payment API: NullPointerException in refund processing\"\n- ✅ \"Dashboard: Infinite loading on reports page\"\n- ❌ \"Error in production\" (too vague)\n- ❌ \"Users experiencing issues\" (not specific)\n\n**Description Structure:**\n```markdown\n## Issue Description\n[1-2 sentence summary of the problem]\n\n## Error Details\n```\n[Error message or stack trace]\n```\n\n## Environment\n- **Platform:** [e.g., Mobile iOS, Web, API]\n- **Version:** [if known]\n- **Environment:** [Production\u002FStaging\u002Fetc]\n\n## Steps to Reproduce\n1. [Step 1]\n2. [Step 2]\n3. [Step 3]\n\n## Expected Behavior\n[What should happen]\n\n## Actual Behavior\n[What actually happens]\n\n## User Impact\n- **Frequency:** [e.g., Every time, Intermittent]\n- **Affected Users:** [e.g., All users, Mobile users only]\n- **Severity:** [e.g., Users cannot complete checkout]\n\n## Additional Context\n[Any other relevant information]\n\n## Related Issues\n[If applicable, reference similar issues found during triage]\n- See also: PROJ-123 (similar but resolved)\n\n---\n*Created via automated triage*\n```\n\n---\n\n### Step 6: Provide Summary\n\nAfter taking action, confirm what was done.\n\n#### If Comment Added:\n\n```\n✅ **Comment Added Successfully**\n\nAdded details to existing issue: **PROJ-456**\nhttps:\u002F\u002Fyoursite.atlassian.net\u002Fbrowse\u002FPROJ-456\n\n**What I included:**\n- Your error details\n- Environment context\n- User impact information\n\n**Next Steps:**\n- The assignee (@john.doe) will be notified\n- Monitor PROJ-456 for updates\n- If this turns out to be different, we can still create a separate ticket\n```\n\n#### If New Issue Created:\n\n```\n✅ **New Issue Created**\n\n**PROJ-890** - Mobile Login: Connection timeout during authentication\nhttps:\u002F\u002Fyoursite.atlassian.net\u002Fbrowse\u002FPROJ-890\n\nType: Bug | Priority: Medium | Status: Open\n\n**What's Included:**\n- Complete error details and stack trace\n- Environment and reproduction steps\n- User impact assessment\n- References to related issues (PROJ-123, PROJ-789)\n\n**Next Steps:**\n- Issue will be reviewed during next triage meeting\n- Consider setting priority based on user impact\n- Assign to appropriate team member\n```\n\n---\n\n## Edge Cases & Troubleshooting\n\n### Multiple Potential Duplicates\n\nIf you find 3+ very similar issues:\n\n```\n🔍 **Triage Results: Multiple Possible Duplicates**\n\nI found 3 issues that might be related:\n\n**Most Likely Duplicate:**\n**PROJ-456** - [summary] (Open, 2 days ago)\nMatch: 95% - Same error and component\n\n**Also Possibly Related:**\n**PROJ-234** - [summary] (Open, 1 month ago)\nMatch: 70% - Similar symptoms, different error\n\n**PROJ-123** - [summary] (Resolved, 8 months ago)\nMatch: 60% - Related component, but was fixed\n\n**Recommendation:** \n1. Add to PROJ-456 (most similar)\n2. Reference PROJ-234 in your comment (might be related)\n3. Note PROJ-123 was previously fixed (possible regression)\n\nWhich issue should I add your details to? (Or create new)\n```\n\n### Unclear Project Context\n\nIf user doesn't specify which project:\n\n```\nWhich Jira project should I search for similar issues?\n\nAvailable projects:\n- BACKEND (Backend Services)\n- MOBILE (Mobile Apps)\n- WEB (Web Platform)\n- INFRA (Infrastructure)\n\nOr tell me the project key directly (e.g., BACKEND, MOBILE)\n```\n\n### Insufficient Information\n\nIf the bug report lacks critical details:\n\n```\nI need more information to effectively triage this issue:\n\n**What I have:**\n- Error: \"Something went wrong\"\n\n**What would help:**\n- Specific error message or code\n- Which part of the system (login, payment, etc.)\n- What the user was trying to do\n- Which environment (production, staging, mobile, web)\n\nCan you provide any of these details?\n```\n\n### Resolved Regression\n\nIf you find a resolved issue that matches:\n\n```\n🔍 **Triage Results: Possible Regression**\n\nThis looks like it might be a regression of a previously fixed issue:\n\n**PROJ-567** - [Same issue description]\nStatus: Resolved (Fixed) | Fixed: 3 months ago | Fixed by: @jane.smith\nResolution: [Brief description of fix]\nhttps:\u002F\u002Fyoursite.atlassian.net\u002Fbrowse\u002FPROJ-567\n\n**This suggests:**\n- The original fix may not have fully addressed the root cause\n- OR there's been a regression in recent changes\n- OR this is a different issue with similar symptoms\n\n**Recommendation:** Create a new issue and link it to PROJ-567 as \"may be related to\" or \"regression of\"\n\nShould I create a new issue with this context?\n```\n\n### Custom Required Fields\n\nIf creating an issue fails due to required fields:\n\n1. **Check what fields are required:**\n```\ngetJiraIssueTypeMetaWithFields(\n  cloudId=\"...\",\n  projectIdOrKey=\"PROJ\",\n  issueTypeId=\"10001\"\n)\n```\n\n2. **Ask user for values:**\n```\nThis project requires additional fields to create a Bug:\n- Severity: [High\u002FMedium\u002FLow]\n- Affected Version: [Version number]\n\nPlease provide these values so I can create the issue.\n```\n\n3. **Retry with additional fields:**\n```\ncreateJiraIssue(\n  ...existing parameters...,\n  additional_fields={\n    \"priority\": {\"name\": \"High\"},\n    \"customfield_10001\": {\"value\": \"Production\"}\n  }\n)\n```\n\n---\n\n## Tips for Effective Triage\n\n### For Search:\n\n**Do:**\n✅ Use multiple search queries with different angles\n✅ Include both open and resolved issues in search\n✅ Search for error signatures and symptoms separately\n✅ Look at recent issues first (last 30-90 days)\n✅ Check for patterns (multiple reports of same thing)\n\n**Don't:**\n❌ Search with entire error messages (too specific)\n❌ Only search open issues (miss fix history)\n❌ Ignore resolved issues (miss regressions)\n❌ Use too many keywords (reduces matches)\n\n### For Issue Creation:\n\n**Do:**\n✅ Write clear, specific summaries with component names\n✅ Include complete error messages in code blocks\n✅ Add environment and impact details\n✅ Reference related issues found during search\n✅ Use \"Bug\" issue type for actual bugs\n\n**Don't:**\n❌ Create vague summaries like \"Error in production\"\n❌ Paste entire stack traces in summary (use description)\n❌ Skip reproduction steps\n❌ Forget to mention user impact\n❌ Hard-code issue type without checking availability\n\n### For Duplicate Assessment:\n\n**High Confidence Duplicates:**\n- Exact same error + same component + recent (\u003C 30 days)\n- Same root cause identified\n\n**Likely Different Issues:**\n- Different error signatures\n- Different components\u002Fsystems\n- Significantly different contexts\n\n**When Unsure:**\n- Present both options to user\n- Lean toward creating new issue (can be closed as duplicate later)\n- Linking issues is better than hiding information\n\n---\n\n## Examples\n\n### Example 1: Clear Duplicate Found\n\n**User Input:**\n```\nTriage this error: \"Connection timeout error when users try to login on iOS app\"\n```\n\n**Process:**\n1. Extract: \"Connection timeout\", \"login\", \"iOS\"\n2. Search: Find PROJ-456 (open, 2 days ago) with exact same error\n3. Analyze: 95% match - same error, component, symptom\n4. Present: Show PROJ-456 as duplicate, recommend adding comment\n5. Execute: User confirms, add comment with iOS-specific details\n6. Confirm: Comment added to PROJ-456\n\n**Output:**\n```\n✅ Comment added to PROJ-456\n\nYour iOS-specific error details have been added to the existing issue.\nThe assignee will be notified.\n```\n\n### Example 2: New Issue with Related Context\n\n**User Input:**\n```\nError: NullPointerException in PaymentProcessor.processRefund() at line 245\nStack trace: [full stack trace]\n```\n\n**Process:**\n1. Extract: \"NullPointerException\", \"PaymentProcessor\", \"processRefund\", \"line 245\"\n2. Search: Find PROJ-789 (resolved, 3 weeks ago) about payment errors, but different line\n3. Analyze: Related component but different specific error\n4. Present: No duplicates, found related issue, recommend new ticket\n5. Execute: User confirms, create new Bug with context\n6. Confirm: PROJ-890 created\n\n**Output:**\n```\n✅ New Issue Created\n\nPROJ-890 - Payment API: NullPointerException in refund processing\nhttps:\u002F\u002Fyoursite.atlassian.net\u002Fbrowse\u002FPROJ-890\n\nReferences related issue PROJ-789 for context.\n```\n\n### Example 3: Possible Regression\n\n**User Input:**\n```\nUsers can't upload files larger than 5MB, getting \"Upload failed\" error\n```\n\n**Process:**\n1. Extract: \"Upload failed\", \"5MB\", \"file upload\"\n2. Search: Find PROJ-234 (resolved 2 months ago) - exact same issue\n3. Analyze: Was fixed but now happening again\n4. Present: Possible regression, recommend new issue linked to old one\n5. Execute: Create new issue, link to PROJ-234 as \"may be caused by\"\n6. Confirm: PROJ-891 created with regression context\n\n**Output:**\n```\n✅ New Issue Created (Possible Regression)\n\nPROJ-891 - File Upload: Upload failed for files >5MB (Regression?)\nhttps:\u002F\u002Fyoursite.atlassian.net\u002Fbrowse\u002FPROJ-891\n\nThis may be a regression of PROJ-234, which was resolved 2 months ago.\nIssue includes reference to original fix for investigation.\n```\n\n---\n\n## When NOT to Use This Skill\n\nThis skill is for **triaging bugs and errors only**. Do NOT use for:\n\n❌ Feature requests (use spec-to-backlog)\n❌ General task creation (use capture-tasks-from-meeting-notes)\n❌ Searching for information (use search-company-knowledge)\n❌ Generating status reports (use generate-status-report)\n\n**Use this skill specifically for:**\n✅ \"Is this a duplicate bug?\"\n✅ \"Triage this error message\"\n✅ \"Has this been reported before?\"\n✅ \"Create a bug ticket for this\"\n\n---\n\n## Quick Reference\n\n**Primary workflow:** Extract → Search → Analyze → Present → Execute → Confirm\n\n**Search tool:** `searchJiraIssuesUsingJql(cloudId, jql, fields, maxResults)`\n\n**Action tools:**\n- `addCommentToJiraIssue(cloudId, issueIdOrKey, commentBody)` - Add to existing\n- `createJiraIssue(cloudId, projectKey, issueTypeName, summary, description)` - Create new\n\n**Issue type:** Always prefer \"Bug\" for error reports, check with `getJiraProjectIssueTypesMetadata`\n\n**Remember:**\n- Multiple searches catch more duplicates\n- Present findings before acting\n- Include error details and context\n- Reference related issues\n- Use \"Bug\" issue type when available\n",{"data":55,"body":56},{"name":4,"description":6},{"type":57,"children":58},"root",[59,67,74,80,86,91,102,106,112,117,124,129,136,144,164,172,190,198,211,217,232,250,263,281,284,290,295,301,313,321,334,342,351,359,368,374,382,400,408,437,445,458,461,467,472,478,486,514,522,549,557,584,592,619,625,630,638,661,671,674,680,690,696,705,711,720,726,735,738,744,749,755,760,770,779,787,796,804,1060,1066,1071,1079,1088,1096,1114,1122,1131,1147,1155,1183,1191,1237,1245,1254,1257,1263,1268,1274,1283,1289,1298,1301,1307,1313,1318,1327,1333,1338,1347,1353,1358,1367,1373,1378,1387,1393,1398,1410,1419,1430,1439,1450,1459,1462,1468,1474,1484,1494,1500,1509,1518,1524,1532,1545,1553,1571,1579,1597,1600,1606,1612,1620,1629,1637,1670,1678,1687,1693,1700,1709,1716,1749,1756,1765,1771,1778,1787,1794,1827,1834,1843,1846,1852,1864,1869,1879,1882,1888,1898,1914,1922,1947,1963,1971,1999],{"type":60,"tag":61,"props":62,"children":63},"element","h1",{"id":4},[64],{"type":65,"value":66},"text","Triage Issue",{"type":60,"tag":68,"props":69,"children":71},"h2",{"id":70},"keywords",[72],{"type":65,"value":73},"Keywords",{"type":60,"tag":75,"props":76,"children":77},"p",{},[78],{"type":65,"value":79},"triage bug, check duplicate, is this a duplicate, search for similar issues, create bug ticket, file a bug, report this error, triage this error, bug report, error message, similar issues, duplicate bug, who fixed this, has this been reported, search bugs, find similar bugs, create issue, file issue",{"type":60,"tag":68,"props":81,"children":83},{"id":82},"overview",[84],{"type":65,"value":85},"Overview",{"type":60,"tag":75,"props":87,"children":88},{},[89],{"type":65,"value":90},"Automatically triage bug reports and error messages by searching Jira for duplicates, identifying similar past issues, and helping create well-structured bug tickets or add context to existing issues. This skill eliminates manual duplicate checking and ensures bugs are properly documented with relevant historical context.",{"type":60,"tag":75,"props":92,"children":93},{},[94,100],{"type":60,"tag":95,"props":96,"children":97},"strong",{},[98],{"type":65,"value":99},"Use this skill when:",{"type":65,"value":101}," Users need to triage error messages, bug reports, or issues to determine if they're duplicates and take appropriate action.",{"type":60,"tag":103,"props":104,"children":105},"hr",{},[],{"type":60,"tag":68,"props":107,"children":109},{"id":108},"workflow",[110],{"type":65,"value":111},"Workflow",{"type":60,"tag":75,"props":113,"children":114},{},[115],{"type":65,"value":116},"Follow this 6-step process to effectively triage issues:",{"type":60,"tag":118,"props":119,"children":121},"h3",{"id":120},"step-1-extract-key-information",[122],{"type":65,"value":123},"Step 1: Extract Key Information",{"type":60,"tag":75,"props":125,"children":126},{},[127],{"type":65,"value":128},"Analyze the bug report or error message to identify search terms.",{"type":60,"tag":130,"props":131,"children":133},"h4",{"id":132},"extract-these-elements",[134],{"type":65,"value":135},"Extract These Elements:",{"type":60,"tag":75,"props":137,"children":138},{},[139],{"type":60,"tag":95,"props":140,"children":141},{},[142],{"type":65,"value":143},"Error signature:",{"type":60,"tag":145,"props":146,"children":147},"ul",{},[148,154,159],{"type":60,"tag":149,"props":150,"children":151},"li",{},[152],{"type":65,"value":153},"Error type or exception name (e.g., \"NullPointerException\", \"TimeoutError\")",{"type":60,"tag":149,"props":155,"children":156},{},[157],{"type":65,"value":158},"Error code or status (e.g., \"500\", \"404\", \"ERR_CONNECTION_REFUSED\")",{"type":60,"tag":149,"props":160,"children":161},{},[162],{"type":65,"value":163},"Specific error message text (key phrases, not full stack trace)",{"type":60,"tag":75,"props":165,"children":166},{},[167],{"type":60,"tag":95,"props":168,"children":169},{},[170],{"type":65,"value":171},"Context:",{"type":60,"tag":145,"props":173,"children":174},{},[175,180,185],{"type":60,"tag":149,"props":176,"children":177},{},[178],{"type":65,"value":179},"Component or system affected (e.g., \"authentication\", \"payment gateway\", \"API\")",{"type":60,"tag":149,"props":181,"children":182},{},[183],{"type":65,"value":184},"Environment (e.g., \"production\", \"staging\", \"mobile app\")",{"type":60,"tag":149,"props":186,"children":187},{},[188],{"type":65,"value":189},"User actions leading to error (e.g., \"during login\", \"when uploading file\")",{"type":60,"tag":75,"props":191,"children":192},{},[193],{"type":60,"tag":95,"props":194,"children":195},{},[196],{"type":65,"value":197},"Symptoms:",{"type":60,"tag":145,"props":199,"children":200},{},[201,206],{"type":60,"tag":149,"props":202,"children":203},{},[204],{"type":65,"value":205},"Observable behavior (e.g., \"page blank\", \"infinite loading\", \"data not saving\")",{"type":60,"tag":149,"props":207,"children":208},{},[209],{"type":65,"value":210},"Impact (e.g., \"users can't login\", \"payments failing\")",{"type":60,"tag":130,"props":212,"children":214},{"id":213},"example-extractions",[215],{"type":65,"value":216},"Example Extractions:",{"type":60,"tag":75,"props":218,"children":219},{},[220,225,227],{"type":60,"tag":95,"props":221,"children":222},{},[223],{"type":65,"value":224},"Input:",{"type":65,"value":226}," \"Users getting 'Connection timeout' error when trying to login on mobile app\"\n",{"type":60,"tag":95,"props":228,"children":229},{},[230],{"type":65,"value":231},"Extracted:",{"type":60,"tag":145,"props":233,"children":234},{},[235,240,245],{"type":60,"tag":149,"props":236,"children":237},{},[238],{"type":65,"value":239},"Error: \"Connection timeout\"",{"type":60,"tag":149,"props":241,"children":242},{},[243],{"type":65,"value":244},"Component: \"login\", \"mobile app\"",{"type":60,"tag":149,"props":246,"children":247},{},[248],{"type":65,"value":249},"Symptom: \"can't login\"",{"type":60,"tag":75,"props":251,"children":252},{},[253,257,259],{"type":60,"tag":95,"props":254,"children":255},{},[256],{"type":65,"value":224},{"type":65,"value":258}," \"NullPointerException in PaymentProcessor.processRefund() line 245\"\n",{"type":60,"tag":95,"props":260,"children":261},{},[262],{"type":65,"value":231},{"type":60,"tag":145,"props":264,"children":265},{},[266,271,276],{"type":60,"tag":149,"props":267,"children":268},{},[269],{"type":65,"value":270},"Error: \"NullPointerException\"",{"type":60,"tag":149,"props":272,"children":273},{},[274],{"type":65,"value":275},"Component: \"PaymentProcessor\", \"refund\"",{"type":60,"tag":149,"props":277,"children":278},{},[279],{"type":65,"value":280},"Location: \"processRefund line 245\"",{"type":60,"tag":103,"props":282,"children":283},{},[],{"type":60,"tag":118,"props":285,"children":287},{"id":286},"step-2-search-for-duplicates",[288],{"type":65,"value":289},"Step 2: Search for Duplicates",{"type":60,"tag":75,"props":291,"children":292},{},[293],{"type":65,"value":294},"Search Jira using extracted keywords to find similar or duplicate issues.",{"type":60,"tag":130,"props":296,"children":298},{"id":297},"search-strategy",[299],{"type":65,"value":300},"Search Strategy:",{"type":60,"tag":75,"props":302,"children":303},{},[304,306,311],{"type":65,"value":305},"Execute ",{"type":60,"tag":95,"props":307,"children":308},{},[309],{"type":65,"value":310},"multiple targeted searches",{"type":65,"value":312}," to catch duplicates that may use different wording:",{"type":60,"tag":75,"props":314,"children":315},{},[316],{"type":60,"tag":95,"props":317,"children":318},{},[319],{"type":65,"value":320},"Search 1: Error-focused",{"type":60,"tag":322,"props":323,"children":327},"pre",{"className":324,"code":326,"language":65},[325],"language-text","searchJiraIssuesUsingJql(\n  cloudId=\"...\",\n  jql='project = \"PROJ\" AND (text ~ \"error signature\" OR summary ~ \"error signature\") AND type = Bug ORDER BY created DESC',\n  fields=[\"summary\", \"description\", \"status\", \"resolution\", \"created\", \"updated\", \"assignee\"],\n  maxResults=20\n)\n",[328],{"type":60,"tag":329,"props":330,"children":332},"code",{"__ignoreMap":331},"",[333],{"type":65,"value":326},{"type":60,"tag":75,"props":335,"children":336},{},[337],{"type":60,"tag":95,"props":338,"children":339},{},[340],{"type":65,"value":341},"Search 2: Component-focused",{"type":60,"tag":322,"props":343,"children":346},{"className":344,"code":345,"language":65},[325],"searchJiraIssuesUsingJql(\n  cloudId=\"...\",\n  jql='project = \"PROJ\" AND text ~ \"component keywords\" AND type = Bug ORDER BY updated DESC',\n  fields=[\"summary\", \"description\", \"status\", \"resolution\", \"created\", \"updated\", \"assignee\"],\n  maxResults=20\n)\n",[347],{"type":60,"tag":329,"props":348,"children":349},{"__ignoreMap":331},[350],{"type":65,"value":345},{"type":60,"tag":75,"props":352,"children":353},{},[354],{"type":60,"tag":95,"props":355,"children":356},{},[357],{"type":65,"value":358},"Search 3: Symptom-focused",{"type":60,"tag":322,"props":360,"children":363},{"className":361,"code":362,"language":65},[325],"searchJiraIssuesUsingJql(\n  cloudId=\"...\",\n  jql='project = \"PROJ\" AND summary ~ \"symptom keywords\" AND type = Bug ORDER BY priority DESC, updated DESC',\n  fields=[\"summary\", \"description\", \"status\", \"resolution\", \"created\", \"updated\", \"assignee\"],\n  maxResults=20\n)\n",[364],{"type":60,"tag":329,"props":365,"children":366},{"__ignoreMap":331},[367],{"type":65,"value":362},{"type":60,"tag":130,"props":369,"children":371},{"id":370},"search-tips",[372],{"type":65,"value":373},"Search Tips:",{"type":60,"tag":75,"props":375,"children":376},{},[377],{"type":60,"tag":95,"props":378,"children":379},{},[380],{"type":65,"value":381},"Use key terms only:",{"type":60,"tag":145,"props":383,"children":384},{},[385,390,395],{"type":60,"tag":149,"props":386,"children":387},{},[388],{"type":65,"value":389},"✅ \"timeout login mobile\"",{"type":60,"tag":149,"props":391,"children":392},{},[393],{"type":65,"value":394},"✅ \"NullPointerException PaymentProcessor refund\"",{"type":60,"tag":149,"props":396,"children":397},{},[398],{"type":65,"value":399},"❌ \"Users are getting a connection timeout error when...\" (too verbose)",{"type":60,"tag":75,"props":401,"children":402},{},[403],{"type":60,"tag":95,"props":404,"children":405},{},[406],{"type":65,"value":407},"Search recent first:",{"type":60,"tag":145,"props":409,"children":410},{},[411,432],{"type":60,"tag":149,"props":412,"children":413},{},[414,416,422,424,430],{"type":65,"value":415},"Order by ",{"type":60,"tag":329,"props":417,"children":419},{"className":418},[],[420],{"type":65,"value":421},"created DESC",{"type":65,"value":423}," or ",{"type":60,"tag":329,"props":425,"children":427},{"className":426},[],[428],{"type":65,"value":429},"updated DESC",{"type":65,"value":431}," to find recent similar issues",{"type":60,"tag":149,"props":433,"children":434},{},[435],{"type":65,"value":436},"Recent bugs are more likely to be relevant duplicates",{"type":60,"tag":75,"props":438,"children":439},{},[440],{"type":60,"tag":95,"props":441,"children":442},{},[443],{"type":65,"value":444},"Don't over-filter:",{"type":60,"tag":145,"props":446,"children":447},{},[448,453],{"type":60,"tag":149,"props":449,"children":450},{},[451],{"type":65,"value":452},"Include resolved issues (might have been reopened or regression)",{"type":60,"tag":149,"props":454,"children":455},{},[456],{"type":65,"value":457},"Search across all bug statuses to find fix history",{"type":60,"tag":103,"props":459,"children":460},{},[],{"type":60,"tag":118,"props":462,"children":464},{"id":463},"step-3-analyze-search-results",[465],{"type":65,"value":466},"Step 3: Analyze Search Results",{"type":60,"tag":75,"props":468,"children":469},{},[470],{"type":65,"value":471},"Evaluate the search results to determine if this is a duplicate or a new issue.",{"type":60,"tag":130,"props":473,"children":475},{"id":474},"duplicate-detection",[476],{"type":65,"value":477},"Duplicate Detection:",{"type":60,"tag":75,"props":479,"children":480},{},[481],{"type":60,"tag":95,"props":482,"children":483},{},[484],{"type":65,"value":485},"High confidence duplicate (>90%):",{"type":60,"tag":145,"props":487,"children":488},{},[489,494,499,504],{"type":60,"tag":149,"props":490,"children":491},{},[492],{"type":65,"value":493},"Exact same error message in summary or description",{"type":60,"tag":149,"props":495,"children":496},{},[497],{"type":65,"value":498},"Same component + same error type",{"type":60,"tag":149,"props":500,"children":501},{},[502],{"type":65,"value":503},"Recent issue (\u003C 30 days) with identical symptoms",{"type":60,"tag":149,"props":505,"children":506},{},[507,512],{"type":60,"tag":95,"props":508,"children":509},{},[510],{"type":65,"value":511},"Action:",{"type":65,"value":513}," Strongly recommend adding comment to existing issue",{"type":60,"tag":75,"props":515,"children":516},{},[517],{"type":60,"tag":95,"props":518,"children":519},{},[520],{"type":65,"value":521},"Likely duplicate (70-90%):",{"type":60,"tag":145,"props":523,"children":524},{},[525,530,535,540],{"type":60,"tag":149,"props":526,"children":527},{},[528],{"type":65,"value":529},"Similar error with slight variations",{"type":60,"tag":149,"props":531,"children":532},{},[533],{"type":65,"value":534},"Same component but different context",{"type":60,"tag":149,"props":536,"children":537},{},[538],{"type":65,"value":539},"Resolved issue with same root cause",{"type":60,"tag":149,"props":541,"children":542},{},[543,547],{"type":60,"tag":95,"props":544,"children":545},{},[546],{"type":65,"value":511},{"type":65,"value":548}," Present as possible duplicate, let user decide",{"type":60,"tag":75,"props":550,"children":551},{},[552],{"type":60,"tag":95,"props":553,"children":554},{},[555],{"type":65,"value":556},"Possibly related (40-70%):",{"type":60,"tag":145,"props":558,"children":559},{},[560,565,570,575],{"type":60,"tag":149,"props":561,"children":562},{},[563],{"type":65,"value":564},"Similar symptoms but different error",{"type":60,"tag":149,"props":566,"children":567},{},[568],{"type":65,"value":569},"Same component area but different specific error",{"type":60,"tag":149,"props":571,"children":572},{},[573],{"type":65,"value":574},"Old issue (> 6 months) that might be unrelated",{"type":60,"tag":149,"props":576,"children":577},{},[578,582],{"type":60,"tag":95,"props":579,"children":580},{},[581],{"type":65,"value":511},{"type":65,"value":583}," Mention as potentially related",{"type":60,"tag":75,"props":585,"children":586},{},[587],{"type":60,"tag":95,"props":588,"children":589},{},[590],{"type":65,"value":591},"Likely new issue (\u003C40%):",{"type":60,"tag":145,"props":593,"children":594},{},[595,600,605,610],{"type":60,"tag":149,"props":596,"children":597},{},[598],{"type":65,"value":599},"No similar issues found",{"type":60,"tag":149,"props":601,"children":602},{},[603],{"type":65,"value":604},"Different error signature and component",{"type":60,"tag":149,"props":606,"children":607},{},[608],{"type":65,"value":609},"Unique symptom or context",{"type":60,"tag":149,"props":611,"children":612},{},[613,617],{"type":60,"tag":95,"props":614,"children":615},{},[616],{"type":65,"value":511},{"type":65,"value":618}," Recommend creating new issue",{"type":60,"tag":130,"props":620,"children":622},{"id":621},"check-fix-history",[623],{"type":65,"value":624},"Check Fix History:",{"type":60,"tag":75,"props":626,"children":627},{},[628],{"type":65,"value":629},"If similar resolved issues are found:",{"type":60,"tag":75,"props":631,"children":632},{},[633],{"type":60,"tag":95,"props":634,"children":635},{},[636],{"type":65,"value":637},"Extract relevant information:",{"type":60,"tag":145,"props":639,"children":640},{},[641,646,651,656],{"type":60,"tag":149,"props":642,"children":643},{},[644],{"type":65,"value":645},"Who fixed it? (assignee on resolved issues)",{"type":60,"tag":149,"props":647,"children":648},{},[649],{"type":65,"value":650},"How was it fixed? (resolution comment or linked PRs)",{"type":60,"tag":149,"props":652,"children":653},{},[654],{"type":65,"value":655},"When was it fixed? (resolution date)",{"type":60,"tag":149,"props":657,"children":658},{},[659],{"type":65,"value":660},"Has it regressed? (any reopened issues)",{"type":60,"tag":75,"props":662,"children":663},{},[664,669],{"type":60,"tag":95,"props":665,"children":666},{},[667],{"type":65,"value":668},"Present this context",{"type":65,"value":670}," to help with triage decision.",{"type":60,"tag":103,"props":672,"children":673},{},[],{"type":60,"tag":118,"props":675,"children":677},{"id":676},"step-4-present-findings-to-user",[678],{"type":65,"value":679},"Step 4: Present Findings to User",{"type":60,"tag":75,"props":681,"children":682},{},[683,688],{"type":60,"tag":95,"props":684,"children":685},{},[686],{"type":65,"value":687},"CRITICAL:",{"type":65,"value":689}," Always present findings and wait for user decision before taking any action.",{"type":60,"tag":130,"props":691,"children":693},{"id":692},"format-for-likely-duplicate",[694],{"type":65,"value":695},"Format for Likely Duplicate:",{"type":60,"tag":322,"props":697,"children":700},{"className":698,"code":699,"language":65},[325],"🔍 **Triage Results: Likely Duplicate**\n\nI found a very similar issue already reported:\n\n**PROJ-456** - Connection timeout during mobile login\nStatus: Open | Priority: High | Created: 3 days ago\nAssignee: @john.doe\nhttps:\u002F\u002Fyoursite.atlassian.net\u002Fbrowse\u002FPROJ-456\n\n**Similarity:**\n- Same error: \"Connection timeout\"\n- Same component: Mobile app login\n- Same symptoms: Users unable to login\n\n**Difference:**\n- Original report mentioned iOS specifically, this report doesn't specify platform\n\n**Recommendation:** Add your details as a comment to PROJ-456\n\nWould you like me to:\n1. Add a comment to PROJ-456 with your error details\n2. Create a new issue anyway (if you think this is different)\n3. Show me more details about PROJ-456 first\n",[701],{"type":60,"tag":329,"props":702,"children":703},{"__ignoreMap":331},[704],{"type":65,"value":699},{"type":60,"tag":130,"props":706,"children":708},{"id":707},"format-for-possibly-related",[709],{"type":65,"value":710},"Format for Possibly Related:",{"type":60,"tag":322,"props":712,"children":715},{"className":713,"code":714,"language":65},[325],"🔍 **Triage Results: Possibly Related Issues Found**\n\nI found 2 potentially related issues:\n\n**1. PROJ-789** - Mobile app authentication failures\nStatus: Resolved | Fixed: 2 weeks ago | Fixed by: @jane.smith\nhttps:\u002F\u002Fyoursite.atlassian.net\u002Fbrowse\u002FPROJ-789\n\n**2. PROJ-234** - Login timeout on slow connections\nStatus: Open | Priority: Medium | Created: 1 month ago\nhttps:\u002F\u002Fyoursite.atlassian.net\u002Fbrowse\u002FPROJ-234\n\n**Assessment:** Your error seems related but has unique aspects\n\n**Recommendation:** Create a new issue, but reference these related tickets\n\nWould you like me to create a new bug ticket?\n",[716],{"type":60,"tag":329,"props":717,"children":718},{"__ignoreMap":331},[719],{"type":65,"value":714},{"type":60,"tag":130,"props":721,"children":723},{"id":722},"format-for-no-duplicates",[724],{"type":65,"value":725},"Format for No Duplicates:",{"type":60,"tag":322,"props":727,"children":730},{"className":728,"code":729,"language":65},[325],"🔍 **Triage Results: No Duplicates Found**\n\nI searched Jira for:\n- \"Connection timeout\" errors\n- Mobile login issues\n- Authentication failures\n\nNo similar open or recent issues found.\n\n**Recommendation:** Create a new bug ticket\n\n**Note:** I found 1 old resolved issue (PROJ-123 from 8 months ago) about login timeouts, but it was for web, not mobile, and was resolved as \"configuration error.\"\n\nWould you like me to create a new bug ticket for this issue?\n",[731],{"type":60,"tag":329,"props":732,"children":733},{"__ignoreMap":331},[734],{"type":65,"value":729},{"type":60,"tag":103,"props":736,"children":737},{},[],{"type":60,"tag":118,"props":739,"children":741},{"id":740},"step-5-execute-user-decision",[742],{"type":65,"value":743},"Step 5: Execute User Decision",{"type":60,"tag":75,"props":745,"children":746},{},[747],{"type":65,"value":748},"Based on user's choice, either add a comment or create a new issue.",{"type":60,"tag":130,"props":750,"children":752},{"id":751},"option-a-add-comment-to-existing-issue",[753],{"type":65,"value":754},"Option A: Add Comment to Existing Issue",{"type":60,"tag":75,"props":756,"children":757},{},[758],{"type":65,"value":759},"If user wants to add to existing issue:",{"type":60,"tag":75,"props":761,"children":762},{},[763,768],{"type":60,"tag":95,"props":764,"children":765},{},[766],{"type":65,"value":767},"Fetch the full issue first",{"type":65,"value":769}," to understand context:",{"type":60,"tag":322,"props":771,"children":774},{"className":772,"code":773,"language":65},[325],"getJiraIssue(\n  cloudId=\"...\",\n  issueIdOrKey=\"PROJ-456\"\n)\n",[775],{"type":60,"tag":329,"props":776,"children":777},{"__ignoreMap":331},[778],{"type":65,"value":773},{"type":60,"tag":75,"props":780,"children":781},{},[782],{"type":60,"tag":95,"props":783,"children":784},{},[785],{"type":65,"value":786},"Then add the comment:",{"type":60,"tag":322,"props":788,"children":791},{"className":789,"code":790,"language":65},[325],"addCommentToJiraIssue(\n  cloudId=\"...\",\n  issueIdOrKey=\"PROJ-456\",\n  commentBody=\"[formatted comment - see below]\"\n)\n",[792],{"type":60,"tag":329,"props":793,"children":794},{"__ignoreMap":331},[795],{"type":65,"value":790},{"type":60,"tag":75,"props":797,"children":798},{},[799],{"type":60,"tag":95,"props":800,"children":801},{},[802],{"type":65,"value":803},"Comment Structure:",{"type":60,"tag":322,"props":805,"children":809},{"className":806,"code":807,"language":808,"meta":331,"style":331},"language-markdown shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","## Additional Instance Reported\n\n**Reporter:** [User's name or context]\n**Date:** [Current date]\n\n**Error Details:**\n[Paste relevant error message or stack trace]\n\n**Context:**\n- Environment: [e.g., Production, iOS 16.5]\n- User Impact: [e.g., 50+ users affected in last hour]\n- Steps to Reproduce: [if provided]\n\n**Additional Notes:**\n[Any unique aspects of this instance]\n\n---\n*Added via triage automation*\n","markdown",[810],{"type":60,"tag":329,"props":811,"children":812},{"__ignoreMap":331},[813,831,841,867,889,897,915,924,932,948,962,975,988,996,1013,1022,1030,1039],{"type":60,"tag":814,"props":815,"children":818},"span",{"class":816,"line":817},"line",1,[819,825],{"type":60,"tag":814,"props":820,"children":822},{"style":821},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[823],{"type":65,"value":824},"## ",{"type":60,"tag":814,"props":826,"children":828},{"style":827},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[829],{"type":65,"value":830},"Additional Instance Reported\n",{"type":60,"tag":814,"props":832,"children":834},{"class":816,"line":833},2,[835],{"type":60,"tag":814,"props":836,"children":838},{"emptyLinePlaceholder":837},true,[839],{"type":65,"value":840},"\n",{"type":60,"tag":814,"props":842,"children":844},{"class":816,"line":843},3,[845,851,857,861],{"type":60,"tag":814,"props":846,"children":848},{"style":847},"--shiki-light:#39ADB5;--shiki-light-font-weight:bold;--shiki-default:#89DDFF;--shiki-default-font-weight:bold;--shiki-dark:#89DDFF;--shiki-dark-font-weight:bold",[849],{"type":65,"value":850},"**",{"type":60,"tag":814,"props":852,"children":854},{"style":853},"--shiki-light:#E53935;--shiki-light-font-weight:bold;--shiki-default:#F07178;--shiki-default-font-weight:bold;--shiki-dark:#F07178;--shiki-dark-font-weight:bold",[855],{"type":65,"value":856},"Reporter:",{"type":60,"tag":814,"props":858,"children":859},{"style":847},[860],{"type":65,"value":850},{"type":60,"tag":814,"props":862,"children":864},{"style":863},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[865],{"type":65,"value":866}," [User's name or context]\n",{"type":60,"tag":814,"props":868,"children":870},{"class":816,"line":869},4,[871,875,880,884],{"type":60,"tag":814,"props":872,"children":873},{"style":847},[874],{"type":65,"value":850},{"type":60,"tag":814,"props":876,"children":877},{"style":853},[878],{"type":65,"value":879},"Date:",{"type":60,"tag":814,"props":881,"children":882},{"style":847},[883],{"type":65,"value":850},{"type":60,"tag":814,"props":885,"children":886},{"style":863},[887],{"type":65,"value":888}," [Current date]\n",{"type":60,"tag":814,"props":890,"children":892},{"class":816,"line":891},5,[893],{"type":60,"tag":814,"props":894,"children":895},{"emptyLinePlaceholder":837},[896],{"type":65,"value":840},{"type":60,"tag":814,"props":898,"children":900},{"class":816,"line":899},6,[901,905,910],{"type":60,"tag":814,"props":902,"children":903},{"style":847},[904],{"type":65,"value":850},{"type":60,"tag":814,"props":906,"children":907},{"style":853},[908],{"type":65,"value":909},"Error Details:",{"type":60,"tag":814,"props":911,"children":912},{"style":847},[913],{"type":65,"value":914},"**\n",{"type":60,"tag":814,"props":916,"children":918},{"class":816,"line":917},7,[919],{"type":60,"tag":814,"props":920,"children":921},{"style":863},[922],{"type":65,"value":923},"[Paste relevant error message or stack trace]\n",{"type":60,"tag":814,"props":925,"children":927},{"class":816,"line":926},8,[928],{"type":60,"tag":814,"props":929,"children":930},{"emptyLinePlaceholder":837},[931],{"type":65,"value":840},{"type":60,"tag":814,"props":933,"children":935},{"class":816,"line":934},9,[936,940,944],{"type":60,"tag":814,"props":937,"children":938},{"style":847},[939],{"type":65,"value":850},{"type":60,"tag":814,"props":941,"children":942},{"style":853},[943],{"type":65,"value":171},{"type":60,"tag":814,"props":945,"children":946},{"style":847},[947],{"type":65,"value":914},{"type":60,"tag":814,"props":949,"children":951},{"class":816,"line":950},10,[952,957],{"type":60,"tag":814,"props":953,"children":954},{"style":821},[955],{"type":65,"value":956},"-",{"type":60,"tag":814,"props":958,"children":959},{"style":863},[960],{"type":65,"value":961}," Environment: [e.g., Production, iOS 16.5]\n",{"type":60,"tag":814,"props":963,"children":965},{"class":816,"line":964},11,[966,970],{"type":60,"tag":814,"props":967,"children":968},{"style":821},[969],{"type":65,"value":956},{"type":60,"tag":814,"props":971,"children":972},{"style":863},[973],{"type":65,"value":974}," User Impact: [e.g., 50+ users affected in last hour]\n",{"type":60,"tag":814,"props":976,"children":978},{"class":816,"line":977},12,[979,983],{"type":60,"tag":814,"props":980,"children":981},{"style":821},[982],{"type":65,"value":956},{"type":60,"tag":814,"props":984,"children":985},{"style":863},[986],{"type":65,"value":987}," Steps to Reproduce: [if provided]\n",{"type":60,"tag":814,"props":989,"children":991},{"class":816,"line":990},13,[992],{"type":60,"tag":814,"props":993,"children":994},{"emptyLinePlaceholder":837},[995],{"type":65,"value":840},{"type":60,"tag":814,"props":997,"children":999},{"class":816,"line":998},14,[1000,1004,1009],{"type":60,"tag":814,"props":1001,"children":1002},{"style":847},[1003],{"type":65,"value":850},{"type":60,"tag":814,"props":1005,"children":1006},{"style":853},[1007],{"type":65,"value":1008},"Additional Notes:",{"type":60,"tag":814,"props":1010,"children":1011},{"style":847},[1012],{"type":65,"value":914},{"type":60,"tag":814,"props":1014,"children":1016},{"class":816,"line":1015},15,[1017],{"type":60,"tag":814,"props":1018,"children":1019},{"style":863},[1020],{"type":65,"value":1021},"[Any unique aspects of this instance]\n",{"type":60,"tag":814,"props":1023,"children":1025},{"class":816,"line":1024},16,[1026],{"type":60,"tag":814,"props":1027,"children":1028},{"emptyLinePlaceholder":837},[1029],{"type":65,"value":840},{"type":60,"tag":814,"props":1031,"children":1033},{"class":816,"line":1032},17,[1034],{"type":60,"tag":814,"props":1035,"children":1036},{"style":821},[1037],{"type":65,"value":1038},"---\n",{"type":60,"tag":814,"props":1040,"children":1042},{"class":816,"line":1041},18,[1043,1049,1055],{"type":60,"tag":814,"props":1044,"children":1046},{"style":1045},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[1047],{"type":65,"value":1048},"*",{"type":60,"tag":814,"props":1050,"children":1052},{"style":1051},"--shiki-light:#E53935;--shiki-light-font-style:italic;--shiki-default:#F07178;--shiki-default-font-style:italic;--shiki-dark:#F07178;--shiki-dark-font-style:italic",[1053],{"type":65,"value":1054},"Added via triage automation",{"type":60,"tag":814,"props":1056,"children":1057},{"style":1045},[1058],{"type":65,"value":1059},"*\n",{"type":60,"tag":130,"props":1061,"children":1063},{"id":1062},"option-b-create-new-issue",[1064],{"type":65,"value":1065},"Option B: Create New Issue",{"type":60,"tag":75,"props":1067,"children":1068},{},[1069],{"type":65,"value":1070},"If user wants to create new issue:",{"type":60,"tag":75,"props":1072,"children":1073},{},[1074],{"type":60,"tag":95,"props":1075,"children":1076},{},[1077],{"type":65,"value":1078},"First, check available issue types:",{"type":60,"tag":322,"props":1080,"children":1083},{"className":1081,"code":1082,"language":65},[325],"getJiraProjectIssueTypesMetadata(\n  cloudId=\"...\",\n  projectIdOrKey=\"PROJ\"\n)\n",[1084],{"type":60,"tag":329,"props":1085,"children":1086},{"__ignoreMap":331},[1087],{"type":65,"value":1082},{"type":60,"tag":75,"props":1089,"children":1090},{},[1091],{"type":60,"tag":95,"props":1092,"children":1093},{},[1094],{"type":65,"value":1095},"Determine appropriate issue type:",{"type":60,"tag":145,"props":1097,"children":1098},{},[1099,1104,1109],{"type":60,"tag":149,"props":1100,"children":1101},{},[1102],{"type":65,"value":1103},"For bugs\u002Ferrors → Use \"Bug\" (if available)",{"type":60,"tag":149,"props":1105,"children":1106},{},[1107],{"type":65,"value":1108},"For issues without errors → Use \"Task\" or \"Issue\"",{"type":60,"tag":149,"props":1110,"children":1111},{},[1112],{"type":65,"value":1113},"Fallback → First available non-Epic, non-Subtask type",{"type":60,"tag":75,"props":1115,"children":1116},{},[1117],{"type":60,"tag":95,"props":1118,"children":1119},{},[1120],{"type":65,"value":1121},"Create the issue:",{"type":60,"tag":322,"props":1123,"children":1126},{"className":1124,"code":1125,"language":65},[325],"createJiraIssue(\n  cloudId=\"...\",\n  projectKey=\"PROJ\",\n  issueTypeName=\"Bug\",\n  summary=\"[Clear, specific summary - see below]\",\n  description=\"[Detailed description - see below]\",\n  additional_fields={\n    \"priority\": {\"name\": \"Medium\"}  # Adjust based on user input severity assessment\n  }\n)\n",[1127],{"type":60,"tag":329,"props":1128,"children":1129},{"__ignoreMap":331},[1130],{"type":65,"value":1125},{"type":60,"tag":75,"props":1132,"children":1133},{},[1134,1139,1141],{"type":60,"tag":95,"props":1135,"children":1136},{},[1137],{"type":65,"value":1138},"Summary Format:",{"type":65,"value":1140},"\nUse the pattern: ",{"type":60,"tag":329,"props":1142,"children":1144},{"className":1143},[],[1145],{"type":65,"value":1146},"[Component] [Error Type] - [Brief Symptom]",{"type":60,"tag":75,"props":1148,"children":1149},{},[1150],{"type":60,"tag":95,"props":1151,"children":1152},{},[1153],{"type":65,"value":1154},"Examples:",{"type":60,"tag":145,"props":1156,"children":1157},{},[1158,1163,1168,1173,1178],{"type":60,"tag":149,"props":1159,"children":1160},{},[1161],{"type":65,"value":1162},"✅ \"Mobile Login: Connection timeout during authentication\"",{"type":60,"tag":149,"props":1164,"children":1165},{},[1166],{"type":65,"value":1167},"✅ \"Payment API: NullPointerException in refund processing\"",{"type":60,"tag":149,"props":1169,"children":1170},{},[1171],{"type":65,"value":1172},"✅ \"Dashboard: Infinite loading on reports page\"",{"type":60,"tag":149,"props":1174,"children":1175},{},[1176],{"type":65,"value":1177},"❌ \"Error in production\" (too vague)",{"type":60,"tag":149,"props":1179,"children":1180},{},[1181],{"type":65,"value":1182},"❌ \"Users experiencing issues\" (not specific)",{"type":60,"tag":75,"props":1184,"children":1185},{},[1186],{"type":60,"tag":95,"props":1187,"children":1188},{},[1189],{"type":65,"value":1190},"Description Structure:",{"type":60,"tag":322,"props":1192,"children":1194},{"className":806,"code":1193,"language":808,"meta":331,"style":331},"## Issue Description\n[1-2 sentence summary of the problem]\n\n## Error Details\n",[1195],{"type":60,"tag":329,"props":1196,"children":1197},{"__ignoreMap":331},[1198,1210,1218,1225],{"type":60,"tag":814,"props":1199,"children":1200},{"class":816,"line":817},[1201,1205],{"type":60,"tag":814,"props":1202,"children":1203},{"style":821},[1204],{"type":65,"value":824},{"type":60,"tag":814,"props":1206,"children":1207},{"style":827},[1208],{"type":65,"value":1209},"Issue Description\n",{"type":60,"tag":814,"props":1211,"children":1212},{"class":816,"line":833},[1213],{"type":60,"tag":814,"props":1214,"children":1215},{"style":863},[1216],{"type":65,"value":1217},"[1-2 sentence summary of the problem]\n",{"type":60,"tag":814,"props":1219,"children":1220},{"class":816,"line":843},[1221],{"type":60,"tag":814,"props":1222,"children":1223},{"emptyLinePlaceholder":837},[1224],{"type":65,"value":840},{"type":60,"tag":814,"props":1226,"children":1227},{"class":816,"line":869},[1228,1232],{"type":60,"tag":814,"props":1229,"children":1230},{"style":821},[1231],{"type":65,"value":824},{"type":60,"tag":814,"props":1233,"children":1234},{"style":827},[1235],{"type":65,"value":1236},"Error Details\n",{"type":60,"tag":75,"props":1238,"children":1239},{},[1240],{"type":60,"tag":814,"props":1241,"children":1242},{},[1243],{"type":65,"value":1244},"Error message or stack trace",{"type":60,"tag":322,"props":1246,"children":1249},{"className":1247,"code":1248,"language":65},[325],"\n## Environment\n- **Platform:** [e.g., Mobile iOS, Web, API]\n- **Version:** [if known]\n- **Environment:** [Production\u002FStaging\u002Fetc]\n\n## Steps to Reproduce\n1. [Step 1]\n2. [Step 2]\n3. [Step 3]\n\n## Expected Behavior\n[What should happen]\n\n## Actual Behavior\n[What actually happens]\n\n## User Impact\n- **Frequency:** [e.g., Every time, Intermittent]\n- **Affected Users:** [e.g., All users, Mobile users only]\n- **Severity:** [e.g., Users cannot complete checkout]\n\n## Additional Context\n[Any other relevant information]\n\n## Related Issues\n[If applicable, reference similar issues found during triage]\n- See also: PROJ-123 (similar but resolved)\n\n---\n*Created via automated triage*\n",[1250],{"type":60,"tag":329,"props":1251,"children":1252},{"__ignoreMap":331},[1253],{"type":65,"value":1248},{"type":60,"tag":103,"props":1255,"children":1256},{},[],{"type":60,"tag":118,"props":1258,"children":1260},{"id":1259},"step-6-provide-summary",[1261],{"type":65,"value":1262},"Step 6: Provide Summary",{"type":60,"tag":75,"props":1264,"children":1265},{},[1266],{"type":65,"value":1267},"After taking action, confirm what was done.",{"type":60,"tag":130,"props":1269,"children":1271},{"id":1270},"if-comment-added",[1272],{"type":65,"value":1273},"If Comment Added:",{"type":60,"tag":322,"props":1275,"children":1278},{"className":1276,"code":1277,"language":65},[325],"✅ **Comment Added Successfully**\n\nAdded details to existing issue: **PROJ-456**\nhttps:\u002F\u002Fyoursite.atlassian.net\u002Fbrowse\u002FPROJ-456\n\n**What I included:**\n- Your error details\n- Environment context\n- User impact information\n\n**Next Steps:**\n- The assignee (@john.doe) will be notified\n- Monitor PROJ-456 for updates\n- If this turns out to be different, we can still create a separate ticket\n",[1279],{"type":60,"tag":329,"props":1280,"children":1281},{"__ignoreMap":331},[1282],{"type":65,"value":1277},{"type":60,"tag":130,"props":1284,"children":1286},{"id":1285},"if-new-issue-created",[1287],{"type":65,"value":1288},"If New Issue Created:",{"type":60,"tag":322,"props":1290,"children":1293},{"className":1291,"code":1292,"language":65},[325],"✅ **New Issue Created**\n\n**PROJ-890** - Mobile Login: Connection timeout during authentication\nhttps:\u002F\u002Fyoursite.atlassian.net\u002Fbrowse\u002FPROJ-890\n\nType: Bug | Priority: Medium | Status: Open\n\n**What's Included:**\n- Complete error details and stack trace\n- Environment and reproduction steps\n- User impact assessment\n- References to related issues (PROJ-123, PROJ-789)\n\n**Next Steps:**\n- Issue will be reviewed during next triage meeting\n- Consider setting priority based on user impact\n- Assign to appropriate team member\n",[1294],{"type":60,"tag":329,"props":1295,"children":1296},{"__ignoreMap":331},[1297],{"type":65,"value":1292},{"type":60,"tag":103,"props":1299,"children":1300},{},[],{"type":60,"tag":68,"props":1302,"children":1304},{"id":1303},"edge-cases-troubleshooting",[1305],{"type":65,"value":1306},"Edge Cases & Troubleshooting",{"type":60,"tag":118,"props":1308,"children":1310},{"id":1309},"multiple-potential-duplicates",[1311],{"type":65,"value":1312},"Multiple Potential Duplicates",{"type":60,"tag":75,"props":1314,"children":1315},{},[1316],{"type":65,"value":1317},"If you find 3+ very similar issues:",{"type":60,"tag":322,"props":1319,"children":1322},{"className":1320,"code":1321,"language":65},[325],"🔍 **Triage Results: Multiple Possible Duplicates**\n\nI found 3 issues that might be related:\n\n**Most Likely Duplicate:**\n**PROJ-456** - [summary] (Open, 2 days ago)\nMatch: 95% - Same error and component\n\n**Also Possibly Related:**\n**PROJ-234** - [summary] (Open, 1 month ago)\nMatch: 70% - Similar symptoms, different error\n\n**PROJ-123** - [summary] (Resolved, 8 months ago)\nMatch: 60% - Related component, but was fixed\n\n**Recommendation:** \n1. Add to PROJ-456 (most similar)\n2. Reference PROJ-234 in your comment (might be related)\n3. Note PROJ-123 was previously fixed (possible regression)\n\nWhich issue should I add your details to? (Or create new)\n",[1323],{"type":60,"tag":329,"props":1324,"children":1325},{"__ignoreMap":331},[1326],{"type":65,"value":1321},{"type":60,"tag":118,"props":1328,"children":1330},{"id":1329},"unclear-project-context",[1331],{"type":65,"value":1332},"Unclear Project Context",{"type":60,"tag":75,"props":1334,"children":1335},{},[1336],{"type":65,"value":1337},"If user doesn't specify which project:",{"type":60,"tag":322,"props":1339,"children":1342},{"className":1340,"code":1341,"language":65},[325],"Which Jira project should I search for similar issues?\n\nAvailable projects:\n- BACKEND (Backend Services)\n- MOBILE (Mobile Apps)\n- WEB (Web Platform)\n- INFRA (Infrastructure)\n\nOr tell me the project key directly (e.g., BACKEND, MOBILE)\n",[1343],{"type":60,"tag":329,"props":1344,"children":1345},{"__ignoreMap":331},[1346],{"type":65,"value":1341},{"type":60,"tag":118,"props":1348,"children":1350},{"id":1349},"insufficient-information",[1351],{"type":65,"value":1352},"Insufficient Information",{"type":60,"tag":75,"props":1354,"children":1355},{},[1356],{"type":65,"value":1357},"If the bug report lacks critical details:",{"type":60,"tag":322,"props":1359,"children":1362},{"className":1360,"code":1361,"language":65},[325],"I need more information to effectively triage this issue:\n\n**What I have:**\n- Error: \"Something went wrong\"\n\n**What would help:**\n- Specific error message or code\n- Which part of the system (login, payment, etc.)\n- What the user was trying to do\n- Which environment (production, staging, mobile, web)\n\nCan you provide any of these details?\n",[1363],{"type":60,"tag":329,"props":1364,"children":1365},{"__ignoreMap":331},[1366],{"type":65,"value":1361},{"type":60,"tag":118,"props":1368,"children":1370},{"id":1369},"resolved-regression",[1371],{"type":65,"value":1372},"Resolved Regression",{"type":60,"tag":75,"props":1374,"children":1375},{},[1376],{"type":65,"value":1377},"If you find a resolved issue that matches:",{"type":60,"tag":322,"props":1379,"children":1382},{"className":1380,"code":1381,"language":65},[325],"🔍 **Triage Results: Possible Regression**\n\nThis looks like it might be a regression of a previously fixed issue:\n\n**PROJ-567** - [Same issue description]\nStatus: Resolved (Fixed) | Fixed: 3 months ago | Fixed by: @jane.smith\nResolution: [Brief description of fix]\nhttps:\u002F\u002Fyoursite.atlassian.net\u002Fbrowse\u002FPROJ-567\n\n**This suggests:**\n- The original fix may not have fully addressed the root cause\n- OR there's been a regression in recent changes\n- OR this is a different issue with similar symptoms\n\n**Recommendation:** Create a new issue and link it to PROJ-567 as \"may be related to\" or \"regression of\"\n\nShould I create a new issue with this context?\n",[1383],{"type":60,"tag":329,"props":1384,"children":1385},{"__ignoreMap":331},[1386],{"type":65,"value":1381},{"type":60,"tag":118,"props":1388,"children":1390},{"id":1389},"custom-required-fields",[1391],{"type":65,"value":1392},"Custom Required Fields",{"type":60,"tag":75,"props":1394,"children":1395},{},[1396],{"type":65,"value":1397},"If creating an issue fails due to required fields:",{"type":60,"tag":1399,"props":1400,"children":1401},"ol",{},[1402],{"type":60,"tag":149,"props":1403,"children":1404},{},[1405],{"type":60,"tag":95,"props":1406,"children":1407},{},[1408],{"type":65,"value":1409},"Check what fields are required:",{"type":60,"tag":322,"props":1411,"children":1414},{"className":1412,"code":1413,"language":65},[325],"getJiraIssueTypeMetaWithFields(\n  cloudId=\"...\",\n  projectIdOrKey=\"PROJ\",\n  issueTypeId=\"10001\"\n)\n",[1415],{"type":60,"tag":329,"props":1416,"children":1417},{"__ignoreMap":331},[1418],{"type":65,"value":1413},{"type":60,"tag":1399,"props":1420,"children":1421},{"start":833},[1422],{"type":60,"tag":149,"props":1423,"children":1424},{},[1425],{"type":60,"tag":95,"props":1426,"children":1427},{},[1428],{"type":65,"value":1429},"Ask user for values:",{"type":60,"tag":322,"props":1431,"children":1434},{"className":1432,"code":1433,"language":65},[325],"This project requires additional fields to create a Bug:\n- Severity: [High\u002FMedium\u002FLow]\n- Affected Version: [Version number]\n\nPlease provide these values so I can create the issue.\n",[1435],{"type":60,"tag":329,"props":1436,"children":1437},{"__ignoreMap":331},[1438],{"type":65,"value":1433},{"type":60,"tag":1399,"props":1440,"children":1441},{"start":843},[1442],{"type":60,"tag":149,"props":1443,"children":1444},{},[1445],{"type":60,"tag":95,"props":1446,"children":1447},{},[1448],{"type":65,"value":1449},"Retry with additional fields:",{"type":60,"tag":322,"props":1451,"children":1454},{"className":1452,"code":1453,"language":65},[325],"createJiraIssue(\n  ...existing parameters...,\n  additional_fields={\n    \"priority\": {\"name\": \"High\"},\n    \"customfield_10001\": {\"value\": \"Production\"}\n  }\n)\n",[1455],{"type":60,"tag":329,"props":1456,"children":1457},{"__ignoreMap":331},[1458],{"type":65,"value":1453},{"type":60,"tag":103,"props":1460,"children":1461},{},[],{"type":60,"tag":68,"props":1463,"children":1465},{"id":1464},"tips-for-effective-triage",[1466],{"type":65,"value":1467},"Tips for Effective Triage",{"type":60,"tag":118,"props":1469,"children":1471},{"id":1470},"for-search",[1472],{"type":65,"value":1473},"For Search:",{"type":60,"tag":75,"props":1475,"children":1476},{},[1477,1482],{"type":60,"tag":95,"props":1478,"children":1479},{},[1480],{"type":65,"value":1481},"Do:",{"type":65,"value":1483},"\n✅ Use multiple search queries with different angles\n✅ Include both open and resolved issues in search\n✅ Search for error signatures and symptoms separately\n✅ Look at recent issues first (last 30-90 days)\n✅ Check for patterns (multiple reports of same thing)",{"type":60,"tag":75,"props":1485,"children":1486},{},[1487,1492],{"type":60,"tag":95,"props":1488,"children":1489},{},[1490],{"type":65,"value":1491},"Don't:",{"type":65,"value":1493},"\n❌ Search with entire error messages (too specific)\n❌ Only search open issues (miss fix history)\n❌ Ignore resolved issues (miss regressions)\n❌ Use too many keywords (reduces matches)",{"type":60,"tag":118,"props":1495,"children":1497},{"id":1496},"for-issue-creation",[1498],{"type":65,"value":1499},"For Issue Creation:",{"type":60,"tag":75,"props":1501,"children":1502},{},[1503,1507],{"type":60,"tag":95,"props":1504,"children":1505},{},[1506],{"type":65,"value":1481},{"type":65,"value":1508},"\n✅ Write clear, specific summaries with component names\n✅ Include complete error messages in code blocks\n✅ Add environment and impact details\n✅ Reference related issues found during search\n✅ Use \"Bug\" issue type for actual bugs",{"type":60,"tag":75,"props":1510,"children":1511},{},[1512,1516],{"type":60,"tag":95,"props":1513,"children":1514},{},[1515],{"type":65,"value":1491},{"type":65,"value":1517},"\n❌ Create vague summaries like \"Error in production\"\n❌ Paste entire stack traces in summary (use description)\n❌ Skip reproduction steps\n❌ Forget to mention user impact\n❌ Hard-code issue type without checking availability",{"type":60,"tag":118,"props":1519,"children":1521},{"id":1520},"for-duplicate-assessment",[1522],{"type":65,"value":1523},"For Duplicate Assessment:",{"type":60,"tag":75,"props":1525,"children":1526},{},[1527],{"type":60,"tag":95,"props":1528,"children":1529},{},[1530],{"type":65,"value":1531},"High Confidence Duplicates:",{"type":60,"tag":145,"props":1533,"children":1534},{},[1535,1540],{"type":60,"tag":149,"props":1536,"children":1537},{},[1538],{"type":65,"value":1539},"Exact same error + same component + recent (\u003C 30 days)",{"type":60,"tag":149,"props":1541,"children":1542},{},[1543],{"type":65,"value":1544},"Same root cause identified",{"type":60,"tag":75,"props":1546,"children":1547},{},[1548],{"type":60,"tag":95,"props":1549,"children":1550},{},[1551],{"type":65,"value":1552},"Likely Different Issues:",{"type":60,"tag":145,"props":1554,"children":1555},{},[1556,1561,1566],{"type":60,"tag":149,"props":1557,"children":1558},{},[1559],{"type":65,"value":1560},"Different error signatures",{"type":60,"tag":149,"props":1562,"children":1563},{},[1564],{"type":65,"value":1565},"Different components\u002Fsystems",{"type":60,"tag":149,"props":1567,"children":1568},{},[1569],{"type":65,"value":1570},"Significantly different contexts",{"type":60,"tag":75,"props":1572,"children":1573},{},[1574],{"type":60,"tag":95,"props":1575,"children":1576},{},[1577],{"type":65,"value":1578},"When Unsure:",{"type":60,"tag":145,"props":1580,"children":1581},{},[1582,1587,1592],{"type":60,"tag":149,"props":1583,"children":1584},{},[1585],{"type":65,"value":1586},"Present both options to user",{"type":60,"tag":149,"props":1588,"children":1589},{},[1590],{"type":65,"value":1591},"Lean toward creating new issue (can be closed as duplicate later)",{"type":60,"tag":149,"props":1593,"children":1594},{},[1595],{"type":65,"value":1596},"Linking issues is better than hiding information",{"type":60,"tag":103,"props":1598,"children":1599},{},[],{"type":60,"tag":68,"props":1601,"children":1603},{"id":1602},"examples",[1604],{"type":65,"value":1605},"Examples",{"type":60,"tag":118,"props":1607,"children":1609},{"id":1608},"example-1-clear-duplicate-found",[1610],{"type":65,"value":1611},"Example 1: Clear Duplicate Found",{"type":60,"tag":75,"props":1613,"children":1614},{},[1615],{"type":60,"tag":95,"props":1616,"children":1617},{},[1618],{"type":65,"value":1619},"User Input:",{"type":60,"tag":322,"props":1621,"children":1624},{"className":1622,"code":1623,"language":65},[325],"Triage this error: \"Connection timeout error when users try to login on iOS app\"\n",[1625],{"type":60,"tag":329,"props":1626,"children":1627},{"__ignoreMap":331},[1628],{"type":65,"value":1623},{"type":60,"tag":75,"props":1630,"children":1631},{},[1632],{"type":60,"tag":95,"props":1633,"children":1634},{},[1635],{"type":65,"value":1636},"Process:",{"type":60,"tag":1399,"props":1638,"children":1639},{},[1640,1645,1650,1655,1660,1665],{"type":60,"tag":149,"props":1641,"children":1642},{},[1643],{"type":65,"value":1644},"Extract: \"Connection timeout\", \"login\", \"iOS\"",{"type":60,"tag":149,"props":1646,"children":1647},{},[1648],{"type":65,"value":1649},"Search: Find PROJ-456 (open, 2 days ago) with exact same error",{"type":60,"tag":149,"props":1651,"children":1652},{},[1653],{"type":65,"value":1654},"Analyze: 95% match - same error, component, symptom",{"type":60,"tag":149,"props":1656,"children":1657},{},[1658],{"type":65,"value":1659},"Present: Show PROJ-456 as duplicate, recommend adding comment",{"type":60,"tag":149,"props":1661,"children":1662},{},[1663],{"type":65,"value":1664},"Execute: User confirms, add comment with iOS-specific details",{"type":60,"tag":149,"props":1666,"children":1667},{},[1668],{"type":65,"value":1669},"Confirm: Comment added to PROJ-456",{"type":60,"tag":75,"props":1671,"children":1672},{},[1673],{"type":60,"tag":95,"props":1674,"children":1675},{},[1676],{"type":65,"value":1677},"Output:",{"type":60,"tag":322,"props":1679,"children":1682},{"className":1680,"code":1681,"language":65},[325],"✅ Comment added to PROJ-456\n\nYour iOS-specific error details have been added to the existing issue.\nThe assignee will be notified.\n",[1683],{"type":60,"tag":329,"props":1684,"children":1685},{"__ignoreMap":331},[1686],{"type":65,"value":1681},{"type":60,"tag":118,"props":1688,"children":1690},{"id":1689},"example-2-new-issue-with-related-context",[1691],{"type":65,"value":1692},"Example 2: New Issue with Related Context",{"type":60,"tag":75,"props":1694,"children":1695},{},[1696],{"type":60,"tag":95,"props":1697,"children":1698},{},[1699],{"type":65,"value":1619},{"type":60,"tag":322,"props":1701,"children":1704},{"className":1702,"code":1703,"language":65},[325],"Error: NullPointerException in PaymentProcessor.processRefund() at line 245\nStack trace: [full stack trace]\n",[1705],{"type":60,"tag":329,"props":1706,"children":1707},{"__ignoreMap":331},[1708],{"type":65,"value":1703},{"type":60,"tag":75,"props":1710,"children":1711},{},[1712],{"type":60,"tag":95,"props":1713,"children":1714},{},[1715],{"type":65,"value":1636},{"type":60,"tag":1399,"props":1717,"children":1718},{},[1719,1724,1729,1734,1739,1744],{"type":60,"tag":149,"props":1720,"children":1721},{},[1722],{"type":65,"value":1723},"Extract: \"NullPointerException\", \"PaymentProcessor\", \"processRefund\", \"line 245\"",{"type":60,"tag":149,"props":1725,"children":1726},{},[1727],{"type":65,"value":1728},"Search: Find PROJ-789 (resolved, 3 weeks ago) about payment errors, but different line",{"type":60,"tag":149,"props":1730,"children":1731},{},[1732],{"type":65,"value":1733},"Analyze: Related component but different specific error",{"type":60,"tag":149,"props":1735,"children":1736},{},[1737],{"type":65,"value":1738},"Present: No duplicates, found related issue, recommend new ticket",{"type":60,"tag":149,"props":1740,"children":1741},{},[1742],{"type":65,"value":1743},"Execute: User confirms, create new Bug with context",{"type":60,"tag":149,"props":1745,"children":1746},{},[1747],{"type":65,"value":1748},"Confirm: PROJ-890 created",{"type":60,"tag":75,"props":1750,"children":1751},{},[1752],{"type":60,"tag":95,"props":1753,"children":1754},{},[1755],{"type":65,"value":1677},{"type":60,"tag":322,"props":1757,"children":1760},{"className":1758,"code":1759,"language":65},[325],"✅ New Issue Created\n\nPROJ-890 - Payment API: NullPointerException in refund processing\nhttps:\u002F\u002Fyoursite.atlassian.net\u002Fbrowse\u002FPROJ-890\n\nReferences related issue PROJ-789 for context.\n",[1761],{"type":60,"tag":329,"props":1762,"children":1763},{"__ignoreMap":331},[1764],{"type":65,"value":1759},{"type":60,"tag":118,"props":1766,"children":1768},{"id":1767},"example-3-possible-regression",[1769],{"type":65,"value":1770},"Example 3: Possible Regression",{"type":60,"tag":75,"props":1772,"children":1773},{},[1774],{"type":60,"tag":95,"props":1775,"children":1776},{},[1777],{"type":65,"value":1619},{"type":60,"tag":322,"props":1779,"children":1782},{"className":1780,"code":1781,"language":65},[325],"Users can't upload files larger than 5MB, getting \"Upload failed\" error\n",[1783],{"type":60,"tag":329,"props":1784,"children":1785},{"__ignoreMap":331},[1786],{"type":65,"value":1781},{"type":60,"tag":75,"props":1788,"children":1789},{},[1790],{"type":60,"tag":95,"props":1791,"children":1792},{},[1793],{"type":65,"value":1636},{"type":60,"tag":1399,"props":1795,"children":1796},{},[1797,1802,1807,1812,1817,1822],{"type":60,"tag":149,"props":1798,"children":1799},{},[1800],{"type":65,"value":1801},"Extract: \"Upload failed\", \"5MB\", \"file upload\"",{"type":60,"tag":149,"props":1803,"children":1804},{},[1805],{"type":65,"value":1806},"Search: Find PROJ-234 (resolved 2 months ago) - exact same issue",{"type":60,"tag":149,"props":1808,"children":1809},{},[1810],{"type":65,"value":1811},"Analyze: Was fixed but now happening again",{"type":60,"tag":149,"props":1813,"children":1814},{},[1815],{"type":65,"value":1816},"Present: Possible regression, recommend new issue linked to old one",{"type":60,"tag":149,"props":1818,"children":1819},{},[1820],{"type":65,"value":1821},"Execute: Create new issue, link to PROJ-234 as \"may be caused by\"",{"type":60,"tag":149,"props":1823,"children":1824},{},[1825],{"type":65,"value":1826},"Confirm: PROJ-891 created with regression context",{"type":60,"tag":75,"props":1828,"children":1829},{},[1830],{"type":60,"tag":95,"props":1831,"children":1832},{},[1833],{"type":65,"value":1677},{"type":60,"tag":322,"props":1835,"children":1838},{"className":1836,"code":1837,"language":65},[325],"✅ New Issue Created (Possible Regression)\n\nPROJ-891 - File Upload: Upload failed for files >5MB (Regression?)\nhttps:\u002F\u002Fyoursite.atlassian.net\u002Fbrowse\u002FPROJ-891\n\nThis may be a regression of PROJ-234, which was resolved 2 months ago.\nIssue includes reference to original fix for investigation.\n",[1839],{"type":60,"tag":329,"props":1840,"children":1841},{"__ignoreMap":331},[1842],{"type":65,"value":1837},{"type":60,"tag":103,"props":1844,"children":1845},{},[],{"type":60,"tag":68,"props":1847,"children":1849},{"id":1848},"when-not-to-use-this-skill",[1850],{"type":65,"value":1851},"When NOT to Use This Skill",{"type":60,"tag":75,"props":1853,"children":1854},{},[1855,1857,1862],{"type":65,"value":1856},"This skill is for ",{"type":60,"tag":95,"props":1858,"children":1859},{},[1860],{"type":65,"value":1861},"triaging bugs and errors only",{"type":65,"value":1863},". Do NOT use for:",{"type":60,"tag":75,"props":1865,"children":1866},{},[1867],{"type":65,"value":1868},"❌ Feature requests (use spec-to-backlog)\n❌ General task creation (use capture-tasks-from-meeting-notes)\n❌ Searching for information (use search-company-knowledge)\n❌ Generating status reports (use generate-status-report)",{"type":60,"tag":75,"props":1870,"children":1871},{},[1872,1877],{"type":60,"tag":95,"props":1873,"children":1874},{},[1875],{"type":65,"value":1876},"Use this skill specifically for:",{"type":65,"value":1878},"\n✅ \"Is this a duplicate bug?\"\n✅ \"Triage this error message\"\n✅ \"Has this been reported before?\"\n✅ \"Create a bug ticket for this\"",{"type":60,"tag":103,"props":1880,"children":1881},{},[],{"type":60,"tag":68,"props":1883,"children":1885},{"id":1884},"quick-reference",[1886],{"type":65,"value":1887},"Quick Reference",{"type":60,"tag":75,"props":1889,"children":1890},{},[1891,1896],{"type":60,"tag":95,"props":1892,"children":1893},{},[1894],{"type":65,"value":1895},"Primary workflow:",{"type":65,"value":1897}," Extract → Search → Analyze → Present → Execute → Confirm",{"type":60,"tag":75,"props":1899,"children":1900},{},[1901,1906,1908],{"type":60,"tag":95,"props":1902,"children":1903},{},[1904],{"type":65,"value":1905},"Search tool:",{"type":65,"value":1907}," ",{"type":60,"tag":329,"props":1909,"children":1911},{"className":1910},[],[1912],{"type":65,"value":1913},"searchJiraIssuesUsingJql(cloudId, jql, fields, maxResults)",{"type":60,"tag":75,"props":1915,"children":1916},{},[1917],{"type":60,"tag":95,"props":1918,"children":1919},{},[1920],{"type":65,"value":1921},"Action tools:",{"type":60,"tag":145,"props":1923,"children":1924},{},[1925,1936],{"type":60,"tag":149,"props":1926,"children":1927},{},[1928,1934],{"type":60,"tag":329,"props":1929,"children":1931},{"className":1930},[],[1932],{"type":65,"value":1933},"addCommentToJiraIssue(cloudId, issueIdOrKey, commentBody)",{"type":65,"value":1935}," - Add to existing",{"type":60,"tag":149,"props":1937,"children":1938},{},[1939,1945],{"type":60,"tag":329,"props":1940,"children":1942},{"className":1941},[],[1943],{"type":65,"value":1944},"createJiraIssue(cloudId, projectKey, issueTypeName, summary, description)",{"type":65,"value":1946}," - Create new",{"type":60,"tag":75,"props":1948,"children":1949},{},[1950,1955,1957],{"type":60,"tag":95,"props":1951,"children":1952},{},[1953],{"type":65,"value":1954},"Issue type:",{"type":65,"value":1956}," Always prefer \"Bug\" for error reports, check with ",{"type":60,"tag":329,"props":1958,"children":1960},{"className":1959},[],[1961],{"type":65,"value":1962},"getJiraProjectIssueTypesMetadata",{"type":60,"tag":75,"props":1964,"children":1965},{},[1966],{"type":60,"tag":95,"props":1967,"children":1968},{},[1969],{"type":65,"value":1970},"Remember:",{"type":60,"tag":145,"props":1972,"children":1973},{},[1974,1979,1984,1989,1994],{"type":60,"tag":149,"props":1975,"children":1976},{},[1977],{"type":65,"value":1978},"Multiple searches catch more duplicates",{"type":60,"tag":149,"props":1980,"children":1981},{},[1982],{"type":65,"value":1983},"Present findings before acting",{"type":60,"tag":149,"props":1985,"children":1986},{},[1987],{"type":65,"value":1988},"Include error details and context",{"type":60,"tag":149,"props":1990,"children":1991},{},[1992],{"type":65,"value":1993},"Reference related issues",{"type":60,"tag":149,"props":1995,"children":1996},{},[1997],{"type":65,"value":1998},"Use \"Bug\" issue type when available",{"type":60,"tag":2000,"props":2001,"children":2002},"style",{},[2003],{"type":65,"value":2004},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":2006,"total":2174},[2007,2024,2039,2056,2071,2082,2089,2107,2122,2136,2150,2160],{"slug":2008,"name":2008,"fn":2009,"description":2010,"org":2011,"tags":2012,"stars":25,"repoUrl":26,"updatedAt":2023},"capture-tasks-from-meeting-notes","create Jira tasks from meeting notes","Analyze meeting notes to find action items and create Jira tasks for assigned work. When an agent needs to: (1) Create Jira tasks or tickets from meeting notes, (2) Extract or find action items from notes or Confluence pages, (3) Parse meeting notes for assigned tasks, or (4) Analyze notes and generate tasks for team members. Identifies assignees, looks up account IDs, and creates tasks with proper context.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2013,2016,2017,2020],{"name":2014,"slug":2015,"type":15},"Automation","automation",{"name":13,"slug":14,"type":15},{"name":2018,"slug":2019,"type":15},"Meetings","meetings",{"name":2021,"slug":2022,"type":15},"Task Management","task-management","2026-07-12T07:58:45.323861",{"slug":2025,"name":2025,"fn":2026,"description":2027,"org":2028,"tags":2029,"stars":25,"repoUrl":26,"updatedAt":2038},"generate-status-report","generate project status reports for Confluence","Generate project status reports from Jira issues and publish to Confluence. When an agent needs to: (1) Create a status report for a project, (2) Summarize project progress or updates, (3) Generate weekly\u002Fdaily reports from Jira, (4) Publish status summaries to Confluence, or (5) Analyze project blockers and completion. Queries Jira issues, categorizes by status\u002Fpriority, and creates formatted reports for delivery managers and executives.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2030,2031,2033,2034,2035],{"name":9,"slug":8,"type":15},{"name":2032,"slug":37,"type":15},"Confluence",{"name":13,"slug":14,"type":15},{"name":17,"slug":18,"type":15},{"name":2036,"slug":2037,"type":15},"Reporting","reporting","2026-07-12T07:58:38.457696",{"slug":2040,"name":2040,"fn":2041,"description":2042,"org":2043,"tags":2044,"stars":25,"repoUrl":26,"updatedAt":2055},"jira-sprint-dashboard","create Jira sprint dashboards","Create a visual Jira sprint dashboard from Jira project, space, sprint, board, filter, JQL, work item keys, or Jira URL data. Use when the user asks for a Jira sprint dashboard, standup dashboard, sprint review, delivery review, engineering manager dashboard, WIP review, planning view, closeout view, or a visual snapshot of Jira work that is more useful than a flat report. Use the richest dashboard format supported by the current agent, such as Cursor Canvas, an interactive artifact, HTML, or Markdown.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2045,2048,2051,2052],{"name":2046,"slug":2047,"type":15},"Agile","agile",{"name":2049,"slug":2050,"type":15},"Dashboards","dashboards",{"name":13,"slug":14,"type":15},{"name":2053,"slug":2054,"type":15},"Sprint Planning","sprint-planning","2026-07-12T07:58:41.031798",{"slug":2057,"name":2057,"fn":2058,"description":2059,"org":2060,"tags":2061,"stars":25,"repoUrl":26,"updatedAt":2070},"search-company-knowledge","search internal company knowledge bases","Search across company knowledge bases (Confluence, Jira, internal docs) to find and explain internal concepts, processes, and technical details. When an agent needs to: (1) Find or search for information about systems, terminology, processes, deployment, authentication, infrastructure, architecture, or technical concepts, (2) Search internal documentation, knowledge base, company docs, or our docs, (3) Explain what something is, how it works, or look up information, or (4) Synthesize information from multiple sources. Searches in parallel and provides cited answers.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2062,2063,2066,2067],{"name":2032,"slug":37,"type":15},{"name":2064,"slug":2065,"type":15},"Enterprise Search","enterprise-search",{"name":13,"slug":14,"type":15},{"name":2068,"slug":2069,"type":15},"Knowledge Management","knowledge-management","2026-07-12T07:58:39.684132",{"slug":2072,"name":2072,"fn":2073,"description":2074,"org":2075,"tags":2076,"stars":25,"repoUrl":26,"updatedAt":2081},"spec-to-backlog","convert Confluence specifications to Jira backlogs","Automatically convert Confluence specification documents into structured Jira backlogs with Epics and implementation tickets. When an agent needs to: (1) Create Jira tickets from a Confluence page, (2) Generate a backlog from a specification, (3) Break down a spec into implementation tasks, or (4) Convert requirements into Jira issues. Handles reading Confluence pages, analyzing specifications, creating Epics with proper structure, and generating detailed implementation tickets linked to the Epic.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2077,2078,2079,2080],{"name":2046,"slug":2047,"type":15},{"name":2032,"slug":37,"type":15},{"name":13,"slug":14,"type":15},{"name":17,"slug":18,"type":15},"2026-07-12T07:58:37.200385",{"slug":4,"name":4,"fn":5,"description":6,"org":2083,"tags":2084,"stars":25,"repoUrl":26,"updatedAt":27},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2085,2086,2087,2088],{"name":23,"slug":24,"type":15},{"name":13,"slug":14,"type":15},{"name":17,"slug":18,"type":15},{"name":20,"slug":21,"type":15},{"slug":2090,"name":2090,"fn":2091,"description":2092,"org":2093,"tags":2094,"stars":998,"repoUrl":2105,"updatedAt":2106},"forge-app-builder","build and deploy Atlassian Forge apps","Guides building, deploying, troubleshooting, and installing Atlassian Forge apps — custom extensions built with the Forge CLI (forge create, forge deploy, forge install). Use when the user wants to create a Forge app (issue panels, dashboard gadgets, Confluence macros, global pages), is encountering Forge CLI errors or deployment issues (e.g. forge install failures, environment errors), or needs help with Forge-specific concepts like resolvers, UI Kit, manifest scopes, or developer spaces. Do not use for general Jira configuration, automation rules, JQL queries, or Atlassian REST API usage outside of a Forge app context.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2095,2096,2099,2102],{"name":9,"slug":8,"type":15},{"name":2097,"slug":2098,"type":15},"CLI","cli",{"name":2100,"slug":2101,"type":15},"Deployment","deployment",{"name":2103,"slug":2104,"type":15},"Plugin Development","plugin-development","https:\u002F\u002Fgithub.com\u002Fatlassian\u002Fforge-skills","2026-07-12T07:58:52.007851",{"slug":2108,"name":2108,"fn":2109,"description":2110,"org":2111,"tags":2112,"stars":998,"repoUrl":2105,"updatedAt":2121},"forge-app-review","review Atlassian Forge app readiness","Performs a lightweight pre-release readiness review of Atlassian Forge apps across manifest\u002Fmodule wiring, architecture, runtime compatibility, dependency posture, tests, deploy readiness, and obvious security, cost, or reliability smells. Use when the user asks \"review my Forge app\", \"pre-deploy check\", \"is this app ready to ship\", \"review manifest\", \"general app review\", \"release readiness\", or asks for a broad quality pass. Do not use for deep security audits\u002FSAST\u002Fexploitability review, cost optimization, or diagnosing a known broken app; route those to forge-security-review, forge-cost-optimizer, or forge-debugger respectively.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2113,2114,2117,2118],{"name":9,"slug":8,"type":15},{"name":2115,"slug":2116,"type":15},"Code Analysis","code-analysis",{"name":2100,"slug":2101,"type":15},{"name":2119,"slug":2120,"type":15},"QA","qa","2026-07-12T07:58:50.744672",{"slug":2123,"name":2123,"fn":2124,"description":2125,"org":2126,"tags":2127,"stars":998,"repoUrl":2105,"updatedAt":2135},"forge-connector","build Atlassian Forge Teamwork Graph connectors","Guides building and deploying Atlassian Forge Teamwork Graph connector apps that ingest external data into Atlassian's Teamwork Graph, making it searchable in Rovo Search and surfaced in Rovo Chat. Use when the user wants to build a Forge connector, ingest external data into Atlassian, connect a third-party tool (e.g. Google Drive, ServiceNow, Salesforce) to Atlassian, make external content searchable in Rovo, build a graph:connector module, use the @forge\u002Fteamwork-graph SDK, or implement onConnectionChange \u002F validateConnection functions.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2128,2131,2134],{"name":2129,"slug":2130,"type":15},"API Development","api-development",{"name":2132,"slug":2133,"type":15},"Engineering","engineering",{"name":2064,"slug":2065,"type":15},"2026-07-12T07:58:48.520248",{"slug":2137,"name":2137,"fn":2138,"description":2139,"org":2140,"tags":2141,"stars":998,"repoUrl":2105,"updatedAt":2149},"forge-cost-optimizer","optimize Atlassian Forge platform costs","Optimizes Atlassian Forge apps to reduce platform consumption and avoid unnecessary costs using Atlassian's \"Optimise Forge platform costs\" guidance. Use when the user asks to optimize Forge app costs, reduce Forge invocations, lower GB-seconds, reduce storage or log usage, tune memory, replace polling, improve scheduled triggers, reduce KVS writes, move work to the frontend, use bridge APIs, batch API calls, add caching, or evaluate Forge Remote trade-offs. By default, perform an audit first and offer to make the recommended changes after presenting the audit. Only modify files immediately when the user explicitly asks the agent to implement or apply optimizations.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2142,2143,2146],{"name":9,"slug":8,"type":15},{"name":2144,"slug":2145,"type":15},"Cost Optimization","cost-optimization",{"name":2147,"slug":2148,"type":15},"Operations","operations","2026-07-12T07:58:53.557299",{"slug":2151,"name":2151,"fn":2152,"description":2153,"org":2154,"tags":2155,"stars":998,"repoUrl":2105,"updatedAt":2159},"forge-debugger","diagnose and fix Atlassian Forge apps","Diagnoses and fixes issues in Atlassian Forge apps. Use this skill whenever a Forge app has errors, crashes, shows blank UI, fails to deploy, doesn't appear after installation, has permission issues, or produces unexpected output. Trigger on any mention of forge logs, forge deploy errors, resolver errors, blank panels, missing scopes, Custom UI not rendering, production vs dev discrepancies, or any Jira\u002FConfluence app that \"stopped working\". Also trigger when the user asks to debug, troubleshoot, investigate, or fix a Forge app issue — even if they haven't used the word \"Forge\" but describe a Jira panel or Confluence macro acting up.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2156,2157,2158],{"name":9,"slug":8,"type":15},{"name":23,"slug":24,"type":15},{"name":2100,"slug":2101,"type":15},"2026-07-12T07:58:47.226713",{"slug":2161,"name":2161,"fn":2162,"description":2163,"org":2164,"tags":2165,"stars":998,"repoUrl":2105,"updatedAt":2173},"forge-security-review","perform security reviews for Forge apps","Performs a white-box security review of Atlassian Forge apps using structured, Forge-specific security rules and evidence-driven reporting. Use when the user asks for a Forge security review, security audit, vuln assessment, pentest-style code review, authz review, tenant isolation analysis, web trigger hardening, or static analysis execution for a Forge app.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2166,2169,2170],{"name":2167,"slug":2168,"type":15},"Audit","audit",{"name":2115,"slug":2116,"type":15},{"name":2171,"slug":2172,"type":15},"Security","security","2026-07-12T07:58:54.806538",24,{"items":2176,"total":899},[2177,2184,2192,2199,2206,2213],{"slug":2008,"name":2008,"fn":2009,"description":2010,"org":2178,"tags":2179,"stars":25,"repoUrl":26,"updatedAt":2023},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2180,2181,2182,2183],{"name":2014,"slug":2015,"type":15},{"name":13,"slug":14,"type":15},{"name":2018,"slug":2019,"type":15},{"name":2021,"slug":2022,"type":15},{"slug":2025,"name":2025,"fn":2026,"description":2027,"org":2185,"tags":2186,"stars":25,"repoUrl":26,"updatedAt":2038},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2187,2188,2189,2190,2191],{"name":9,"slug":8,"type":15},{"name":2032,"slug":37,"type":15},{"name":13,"slug":14,"type":15},{"name":17,"slug":18,"type":15},{"name":2036,"slug":2037,"type":15},{"slug":2040,"name":2040,"fn":2041,"description":2042,"org":2193,"tags":2194,"stars":25,"repoUrl":26,"updatedAt":2055},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2195,2196,2197,2198],{"name":2046,"slug":2047,"type":15},{"name":2049,"slug":2050,"type":15},{"name":13,"slug":14,"type":15},{"name":2053,"slug":2054,"type":15},{"slug":2057,"name":2057,"fn":2058,"description":2059,"org":2200,"tags":2201,"stars":25,"repoUrl":26,"updatedAt":2070},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2202,2203,2204,2205],{"name":2032,"slug":37,"type":15},{"name":2064,"slug":2065,"type":15},{"name":13,"slug":14,"type":15},{"name":2068,"slug":2069,"type":15},{"slug":2072,"name":2072,"fn":2073,"description":2074,"org":2207,"tags":2208,"stars":25,"repoUrl":26,"updatedAt":2081},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2209,2210,2211,2212],{"name":2046,"slug":2047,"type":15},{"name":2032,"slug":37,"type":15},{"name":13,"slug":14,"type":15},{"name":17,"slug":18,"type":15},{"slug":4,"name":4,"fn":5,"description":6,"org":2214,"tags":2215,"stars":25,"repoUrl":26,"updatedAt":27},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2216,2217,2218,2219],{"name":23,"slug":24,"type":15},{"name":13,"slug":14,"type":15},{"name":17,"slug":18,"type":15},{"name":20,"slug":21,"type":15}]