This skill MUST be used when the user asks to "analyze backlog issues", "analyze backlog", "analyze top backlog items", "Claude analyze tickets", "run analysis on backlog", "AI analyze Jira issues", "bulk analyze issues", "analyze unanalyzed tickets", or wants to have Claude automatically analyze and annotate multiple backlog issues. This skill finds the top 3 backlog issues without the claude-analyzed label, performs issue-analysis on each, and updates the Jira description with a Claude Analysis section.
/plugin marketplace add ericfisherdev/claude-plugins/plugin install jira-tools@ericfisherdev-pluginsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
references/options-reference.mdscripts/analyze_backlog.pyAutomatically analyze the top 3 backlog issues that haven't been analyzed yet, generate implementation plans, and update the tickets with the analysis.
claude-analyzed labelissue-analysis workflowclaude-analyzed labelThis just-in-time approach prevents race conditions where someone else modifies a later issue while you're working on an earlier one.
When this skill is invoked, follow these steps:
First, get the issue keys for backlog issues that don't have the claude-analyzed label:
python plugins/jira-tools/skills/analyze-backlog/scripts/analyze_backlog.py find PROJECT --max-results 3 --format compact
IMPORTANT: This command queries Jira directly (no cache) to ensure we get the current state of labels. This prevents conflicts where another person may have already analyzed an issue before our cache updated.
If no issues are found, inform the user that all backlog issues have already been analyzed.
Save the list of issue keys (e.g., PROJ-101, PROJ-102, PROJ-103) to process sequentially.
CRITICAL: Process issues ONE AT A TIME. Do NOT fetch all issue details upfront. This prevents race conditions where someone else modifies a later issue while you're working on an earlier one.
For each issue key in the list, complete the FULL cycle before moving to the next:
Query Jira for the CURRENT state of this specific issue:
python plugins/jira-tools/skills/analyze-backlog/scripts/analyze_backlog.py get ISSUE-KEY --format text
This fetches the latest description, labels, and status directly from Jira.
Before proceeding, verify the issue still needs analysis:
claude-analyzed label, skip to the next issue (someone else analyzed it)Based on the freshly-fetched issue details, follow the issue-analysis skill workflow:
Generate a concise plan with:
Update this issue NOW, before moving to the next one:
python plugins/jira-tools/skills/analyze-backlog/scripts/analyze_backlog.py update ISSUE-KEY --analysis "ANALYSIS_TEXT"
This script:
claude-analyzed labelAnalysis format to pass:
### Summary
[One-sentence description of what will be implemented]
### Pre-conditions
- [Any setup, dependencies, or prerequisites]
### Implementation Steps
#### 1. [First major step]
**Files:** `path/to/file.ext`
[Brief description]
```pseudo
// Pseudo-code showing the approach
...
#### 2e. Record Result and Continue
Note the result for this issue, then repeat steps 2a-2d for the next issue in the list.
### Step 3: Return Results
After processing all issues, provide a summary:
Analyzed and updated 3 issues:
## Special Cases
### Already Fixed Issues
If analysis reveals an issue is already fixed:
- Still update the description with the "Already Fixed" finding
- Include evidence (file paths, code snippets)
- Add the `claude-analyzed` label
- Recommend closing the issue
### Insufficient Context
If an issue lacks enough detail to create a meaningful plan:
- Note the missing information in the analysis
- Provide what analysis is possible
- Recommend adding more detail to the ticket
### No Backlog Issues Found
If no unanalyzed backlog issues exist:
- Inform the user: "All backlog issues have been analyzed (have the claude-analyzed label)"
- Suggest using `--refresh` flag on backlog-summary to force refresh cache
## Environment Setup
Requires three environment variables:
- `JIRA_BASE_URL` - e.g., `https://yoursite.atlassian.net`
- `JIRA_EMAIL` - Your Jira account email
- `JIRA_API_TOKEN` - API token from Atlassian account settings
## Cache Usage
This skill uses the shared cache (`~/.jira-tools-cache.json`):
- **Does NOT read from cache** for finding or fetching issues (always queries Jira directly to prevent race conditions)
- **Writes to cache** after updating issues (keeps cache fresh for other skills)
- Uses cache for user and priority lookups during updates
## Tips
1. **Run during quiet times**: Analysis involves codebase exploration which takes time
2. **Review before implementing**: The analysis provides a starting point, not final decisions
3. **Re-run periodically**: New issues in backlog won't have the label yet
## Notes
- The `claude-analyzed` label is **automatically created** in Jira when first applied - no manual setup required
- Labels in Jira are created on-the-fly when added to any issue
This skill should be used when the user asks about libraries, frameworks, API references, or needs code examples. Activates for setup questions, code generation involving libraries, or mentions of specific frameworks like React, Vue, Next.js, Prisma, Supabase, etc.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.