Verify whether a groomed issue is still accurate
This command verifies whether a previously groomed issue is still accurate after time has passed or blockers have been completed. It helps ensure issues stay aligned with the actual codebase state before work begins.
Use cases:
ready issueCurrent ready issues:
!gh issue list --label ready --json number,title,updatedAt --limit 10 2>/dev/null || echo "Could not fetch issues"
Issue number: $ARGUMENTS
If an issue number was provided above (not empty):
ready labelready issues/groom for issues that need initial groomingIf no issue number was provided:
Fetch issues with ready label:
gh issue list --label ready --json number,title,labels,updatedAt --limit 20 | \
jq 'sort_by(.updatedAt)'
If no issues found, inform the user and exit.
Present the issues and ask the user to select one:
This phase gathers information about the issue and compares it to the current codebase state.
Fetch full issue details and comments:
gh issue view <number> --json number,title,body,labels,createdAt,updatedAt
gh issue view <number> --comments
Parse issue structure:
Identify referenced elements in the issue:
Check blocker status:
gh issue view <blocker-number> --json state,title
Compare issue expectations vs codebase reality:
Use Glob, Grep, and Read tools to verify:
Based on research, identify staleness in these categories:
1. Completed Prerequisites:
2. Outdated References:
3. Changed Context:
4. Acceptance Criteria Changes:
Present findings to the user organized by category:
## Issue Freshness Analysis: #<number> - <title>
### Summary
[Overall assessment: Fresh / Minor Updates Needed / Significant Updates Needed]
### Completed Prerequisites
- [x] Blocker #X is now closed: [title]
- [x] [Feature/infrastructure] now exists
### Outdated References
- File `old/path.ts` has moved to `new/path.ts`
- API endpoint `/old` is now `/new`
- Pattern X has been replaced with pattern Y
### Changed Context
- New convention: [description]
- Related feature added: [description]
### Acceptance Criteria Review
- [ ] Criterion 1: Still valid
- [ ] Criterion 2: Needs update - [reason]
- [x] Criterion 3: Already satisfied by [implementation]
### Recommended Updates
[List specific changes to make to the issue]
If no staleness detected:
## Issue Freshness Analysis: #<number> - <title>
### Summary
This issue is still fresh and accurate.
- All file references are valid
- No completed blockers found
- Acceptance criteria are still appropriate
- Context matches current codebase state
No updates needed.
Ask the user to choose from these options:
needs-details for more significant reworkIf "Apply updates":
Update the issue body:
gh issue edit <number> --body "<updated body>"
If "Mark for re-grooming":
Update labels:
gh issue edit <number> --remove-label ready --add-label needs-details
Add comment explaining why:
gh issue comment <number> --body "Sent back for re-grooming: [reason from user or analysis]"
Provide a summary including:
If the selected issue doesn't have ready label:
This command is for refreshing `ready` issues.
Issue #X has label: [current labels]
Would you like to:
1. Run /groom to groom this issue first
2. Choose a different issue
If no ready issues exist:
No issues with the `ready` label found.
You can:
- Run /groom to prepare draft issues
- Check if issues exist with: gh issue list --limit 20
If the issue references blockers that are still open:
/groom for major rework