Claude-skill-registry issue-lifecycle
Use throughout all work - ensures GitHub issues are updated continuously as work happens, not batched at the end
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/issue-lifecycle-troykelly-claude-skills" ~/.claude/skills/majiayu000-claude-skill-registry-issue-lifecycle && rm -rf "$T"
manifest:
skills/data/issue-lifecycle-troykelly-claude-skills/SKILL.mdsource content
Issue Lifecycle
Overview
Update issues AS work happens, not in one dump at the end.
Core principle: The issue is the source of truth. Keep it current.
This skill is used THROUGHOUT work, not as a separate step.
When to Update
Update the issue at these moments:
| Moment | Update Type |
|---|---|
| Starting work | Status → In Progress |
| Hitting a blocker | Comment explaining blocker |
| Making a decision | Comment documenting decision |
| Discovering new information | Comment with findings |
| Completing acceptance criterion | Check off in body |
| Completing verification | Post verification report |
| Raising PR | Link PR to issue |
| Work complete | Status → Done |
Update Types
Status Updates (Project Field)
# Get item ID ITEM_ID=$(gh project item-list [PROJECT_NUMBER] --owner @me \ --format json | jq -r '.items[] | select(.content.number == [ISSUE_NUMBER]) | .id') # Update status gh project item-edit --project-id [PROJECT_ID] --id $ITEM_ID \ --field-id [STATUS_FIELD_ID] \ --single-select-option-id [NEW_STATUS_OPTION_ID]
Comment Updates
gh issue comment [ISSUE_NUMBER] --body "## Progress Update **Time:** $(date -u +%Y-%m-%dT%H:%M:%SZ) ### Completed - Implemented X - Fixed Y ### In Progress - Working on Z ### Blockers - None ### Next Steps - Will do A next"
Checkbox Updates (Acceptance Criteria)
When an acceptance criterion is met:
- Read current issue body
- Find the criterion checkbox
- Change
to- [ ]- [x] - Update the issue body
# Get current body BODY=$(gh issue view [ISSUE_NUMBER] --json body -q '.body') # Update checkbox (example with sed) NEW_BODY=$(echo "$BODY" | sed 's/- \[ \] First criterion/- [x] First criterion/') # Update issue gh issue edit [ISSUE_NUMBER] --body "$NEW_BODY"
Update Frequency
Minimum Updates
At absolute minimum, update at these points:
- When starting - "Starting work on this issue"
- When blocked - Document the blocker immediately
- When unblocked - Document resolution
- When PR created - Link the PR
- When complete - Final status update
Recommended Updates
For active work, update more frequently:
- After each significant step
- When making decisions that affect approach
- When discovering unexpected complexity
- Every 30-60 minutes of active work
What to Include in Updates
Progress Comments
## Progress Update - [TIME] ### Completed - [What was done] ### Currently Working On - [Active work] ### Decisions Made - [Decision]: [Rationale] ### Issues Encountered - [Issue]: [How resolved or current status] ### Next Steps - [What comes next]
Decision Comments
## Decision: [Brief Title] **Context:** [Why this decision was needed] **Options Considered:** 1. [Option A] - [Pros/Cons] 2. [Option B] - [Pros/Cons] **Decision:** [Chosen option] **Rationale:** [Why this option was chosen]
Blocker Comments
## Blocked: [Brief Description] **Blocked at:** [TIME] **Blocking issue:** [What's preventing progress] **What was tried:** 1. [Attempt 1] 2. [Attempt 2] **Needs:** [What's needed to unblock] **Impact:** [How this affects timeline/scope]
Anti-Patterns
Don't Do This
| Anti-Pattern | Problem |
|---|---|
| Batch updates at end | No visibility during work |
| "Made progress" comments | Not specific enough |
| Updating only on success | Failures need documentation too |
| Skipping blocker documentation | Lost context on what went wrong |
| Closing without verification | Must verify before closing |
Do This Instead
| Good Pattern | Benefit |
|---|---|
| Update as you go | Real-time visibility |
| Specific progress notes | Clear record of what happened |
| Document failures | Learn from problems |
| Document blockers immediately | Faster unblocking |
| Verification before close | Ensures quality |
Reading Issue History
Before starting work on any issue:
# View issue with all comments gh issue view [ISSUE_NUMBER] --comments # View timeline gh issue view [ISSUE_NUMBER] --json timeline
Look for:
- Previous attempts
- Known blockers
- Decisions already made
- Related discussions
Project Field Updates
Keep these fields current:
| Field | When to Update |
|---|---|
| Status | When work state changes |
| Verification | After running verification |
| Criteria Met | After checking off criteria |
| Last Verified | After verification runs |
Integration with Other Skills
This skill is used by:
- Throughout all stepsissue-driven-development
- Post verification reportsacceptance-criteria-verification
- Document failureserror-recovery
Checklist
For each work session, ensure:
- Issue status reflects current state
- Any blockers are documented
- Decisions are recorded
- Completed criteria are checked off
- Verification reports are posted
- PRs are linked