issue-lifecycle — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited issue-lifecycle (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
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.
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 |
# 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]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"When an acceptance criterion is met:
- [ ] to - [x]# 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"At absolute minimum, update at these points:
For active work, update more frequently:
## 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: [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]## 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-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 |
| 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 |
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 timelineLook for:
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 |
This skill is used by:
issue-driven-development - Throughout all stepsacceptance-criteria-verification - Post verification reportserror-recovery - Document failuresFor each work session, ensure:
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.