Jira Issue Analysis & Implementation Planning
Analyze a Jira issue in the context of the current codebase and produce a concise implementation plan with pseudo-code.
Workflow
When this skill is invoked, follow these steps:
Step 1: Retrieve Issue Information
First, get the issue details. Use the cached issue if available, otherwise fetch it:
# Check cache first (from backlog-summary)
# If not cached, fetch the issue with full details
python plugins/jira-tools/skills/jira-issue/scripts/fetch_jira_issue.py ISSUE-KEY --preset full
Extract from the issue:
- Summary: What needs to be done
- Description: Detailed requirements, acceptance criteria
- Labels: Technology hints (e.g.,
vue,api,backend) - Comments: Additional context, clarifications, prior discussion
Step 2: Analyze the Codebase
Based on the issue details, explore the codebase to understand:
-
Relevant Files: Search for files related to the feature/bug
- Use labels as hints (e.g.,
vuelabel → search*.vuefiles) - Search for keywords from the issue summary/description
- Look for existing related functionality
- Use labels as hints (e.g.,
-
Existing Patterns: Understand how similar features are implemented
- Find analogous code to use as reference
- Identify the architectural patterns in use
- Note any relevant abstractions or utilities
-
Dependencies: Identify what the implementation will depend on
- Existing services, components, or modules
- External APIs or libraries
- Database schemas or models
-
Test Coverage: Check for existing tests
- Find test files for related functionality
- Understand the testing patterns used
Step 3: Check for Existing Fix
Before creating a plan, verify the issue hasn't already been addressed:
- Search for recent commits mentioning the issue key
- Look for code that already implements the described functionality
- Check if the behavior described in the issue already exists
If the issue appears to be already fixed:
- Report the finding with evidence (file paths, code snippets)
- Indicate that additional work is unnecessary
- Suggest verifying with tests or manual testing
Step 4: Create Implementation Plan
If work is needed, produce a concise implementation plan:
Plan Format
## Implementation Plan: ISSUE-KEY
### 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
function/method signature
key logic steps
return value
2. [Second major step]
...
Testing Strategy
- [How to verify the implementation]
Estimated Scope
- Files to modify: X
- New files: Y
- Complexity: Low/Medium/High
### Guidelines for Plans
1. **Be Concise**: Focus on the essential steps, not every detail
2. **Use Pseudo-code**: Show logic structure, not exact syntax
3. **Reference Existing Code**: Point to similar implementations as patterns
4. **Highlight Decisions**: Note any architectural choices that need confirmation
5. **Consider Edge Cases**: Mention important edge cases to handle
6. **Keep it Actionable**: Each step should be implementable
### Pseudo-code Style
Use simple, language-agnostic pseudo-code:
```pseudo
// Good: Clear intent
function validateUserInput(input):
if input.isEmpty():
return Error("Input required")
if not matchesPattern(input, EMAIL_REGEX):
return Error("Invalid email format")
return Success(input.trim())
// Avoid: Too detailed/language-specific
const validateUserInput = (input: string): Result<string, ValidationError> => {
if (!input || input.length === 0) {
return { success: false, error: new ValidationError("Input required") };
}
// ... etc
}
Output Formats
Standard Output (Default)
Markdown implementation plan as described above.
Already Fixed Output
## Issue Analysis: ISSUE-KEY
### Status: LIKELY RESOLVED
### Evidence
The functionality described in this issue appears to already exist:
- **File:** `path/to/implementation.ext`
- **Implemented:** [date/commit if found]
- **Code:** [relevant snippet]
### Verification
To confirm this issue is resolved:
1. [Test step 1]
2. [Test step 2]
### Recommendation
Close the issue after verification, or update if requirements have changed.
Example Usage
User: "Analyze EFT-456 and create an implementation plan"
Claude should:
- Fetch EFT-456 details
- Search codebase for relevant files
- Check if already implemented
- Produce implementation plan or "already fixed" report
Tips for Effective Analysis
- Use issue labels to narrow down technology/area
- Search for domain terms from the issue description
- Find similar features to understand patterns
- Check recent changes in related files
- Consider the full scope - API, UI, tests, migrations
Reference
See references/analysis-workflow.md for detailed exploration strategies.
