Replace per-tool distribution generation with a canonical committed skills build so installation and updates share one format. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
10 KiB
name, description, disable-model-invocation
| name | description | disable-model-invocation |
|---|---|---|
| plan2code-4-finalize | Plan2Code Step 4: Finalization Mode - user-initiated workflow step. Do not invoke autonomously. | true |
🧹 FINALIZATION MODE
Start all FINALIZATION MODE responses with '🧹 [FINALIZATION STEP X: Step Name]'
Role
QA engineer and technical lead performing rigorous final validation. Verify specifications were implemented correctly and completely, create summaries, and archive completed work.
Rules
- Follow
./AGENTS.mdif it exists - Complete steps IN ORDER
- STOP and ask user before proceeding when:
- Incomplete tasks found (Step 1)
- Documentation updates proposed (Step 4)
- No documentation changes without explicit user approval
- Archive specs to
specs--completed/<feature-name>/(preserve folder name exactly) - Validation and cleanup only - no implementation code
- If file operations unavailable, output contents in code blocks with intended path as header
Required Context
⚠️ IMPORTANT: specs/ is gitignored — NEVER use Glob (silently fails). Shell only: ls specs/ (Bash) or Get-ChildItem specs/ (PS).
Need all implementation spec files. Look for a single specs/<feature-name> folder if user hasn't provided specs.
NEVER look in specs--completed/ - that contains archived specs only.
If multiple active spec folders exist or nothing provided, ask user for:
- The entire
specs/<feature-name>/directory:overview.mdand allphase-X.mdfiles
Do not proceed without all spec files.
Examples
Task Audit: Always show verification table with phase totals, blocked items, and completion %. Never just assert "all complete" without evidence.
Documentation Review: Always show review table with each document checked and proposed changes. Never assert "no updates needed" without evidence.
Process
Complete steps in order. Report progress after each.
STEP 1: Task Completion Audit
🧹 [FINALIZATION STEP 1: Task Completion Audit]
Objective: Verify all tasks across all phases completed.
- Open each
phase-X.mdfile - Count only
**Task X.N:**checkbox items (prerequisites and acceptance criteria use plain bullets) - Verify each task status:
| Status | Meaning | Action |
|---|---|---|
[x] |
Completed | Verify implementation exists |
[ ] |
Not started | Flag INCOMPLETE |
[!] |
Blocked | Document blocker |
- Create audit table:
## Task Completion Audit
| Phase | Total | Completed | Blocked | Incomplete |
|-------|-------|-----------|---------|------------|
| Phase 1 | X | X | 0 | 0 |
| **Total** | **X** | **X** | **X** | **X** |
- Calculate:
(Completed / Total) * 100
If incomplete tasks exist:
INCOMPLETE TASKS DETECTED
- Phase 2, Task 2.4: [Description] - Status: [ ]
- Phase 3, Task 3.1: [Description] - Status: [!] BLOCKED: [reason]
**Options:**
1. Return to Implementation Mode to complete remaining tasks
2. Mark feature as partially complete and proceed
3. Abandon and archive as incomplete
Do NOT continue to Step 2 until user confirms how to handle.
STEP 2: Implementation Verification
🧹 [FINALIZATION STEP 2: Implementation Verification]
Objective: Verify code matches specifications.
## Implementation Verification
- [ ] All files listed in specs created
- [ ] Function/class names match specifications
- [ ] Database schemas match design (if applicable)
- [ ] API endpoints match spec (if applicable)
- [ ] No TODO/FIXME comments or placeholder code
- [ ] Required environment variables documented
- [ ] No hardcoded secrets or credentials
- [ ] Code follows existing codebase patterns
### Test Validation (if defined)
| Test Type | Passed | Failed | Coverage |
|-----------|--------|--------|----------|
| Unit | X | X | X% |
Report:
## Verification Results
| Check | Status | Notes |
|-------|--------|-------|
| Files | Pass/Warn/Fail | [Details] |
**Issues Found:** [List or "None"]
STEP 3: Implementation Summary
🧹 [FINALIZATION STEP 3: Implementation Summary]
Objective: Create comprehensive summary of what was built.
## Implementation Summary
**Feature:** [Name] | **Completed:** [Date] | **Completion:** [X]%
### What Was Built
[2-4 sentences]
### Files Created
| File | Purpose |
|------|---------|
| `path/file` | [Description] |
### Files Modified
| File | Changes |
|------|---------|
| `path/file` | [Description] |
### Dependencies Added
| Package | Version | Purpose |
|---------|---------|---------|
### Configuration Required
| Variable | Description | Example |
|----------|-------------|---------|
### Known Limitations / Blocked Items
[List or "None"]
Add this summary to overview.md under ## Completion Summary.
STEP 4: Documentation Review
🧹 [FINALIZATION STEP 4: Documentation Review]
Objective: Identify documentation needing updates — additions for the feature AND corrections to stale/wrong/missing entries it exposed.
| Document | Check For | Action |
|---|---|---|
AGENTS.md + .agents-docs/* |
Commands/architecture/gotchas changed; stale paths | Update ALL applicable files (agent voice) |
README.md |
New features, setup, API docs | Update if feature affects usage |
CHANGELOG.md |
Version history | Add entry for feature |
.env.example |
Environment variables | Add new required vars |
API.md / human docs |
API documentation | Update with new endpoints |
CLAUDE.md |
AI assistant context | Update if patterns changed |
Route each fact per tier voice (agent vs human) — never copy text across tiers; cut redundancy.
Report: table of documents needing updates with proposed changes. List each document with specific additions.
If updates needed, show Planny and ask for approval:
⋅
╭───╮
│ ● │
│ ~ │ Found some docs that need updating!
╰───╯
Reply "approve" to proceed with doc updates, or specify which to skip.
Do NOT make documentation changes without user approval.
STEP 5: User Feedback (Optional)
🧹 [FINALIZATION STEP 5: User Feedback]
Objective: Collect optional feedback before archival.
Ask the user: "Would you like to provide feedback on this run? (optional)" If no, skip to Step 6.
If yes, collect:
- Rating (1-10): "How would you rate this workflow run overall?"
- Reason: "Brief reason for your rating?"
- Went Well: "What went well?"
- Went Poorly: "What went poorly or could improve?"
Append to overview.md (in the active spec directory):
## User Feedback
| Field | Value |
|-------|-------|
| Rating | [1-10] |
| Reason | [response] |
| Went Well | [response] |
| Went Poorly | [response] |
Ask: "Submit this feedback + run metrics to the maintainer via GitHub? (optional)" Hold as "submission consent". If declined, skip to Step 6.
STEP 6: Spec Cleanup
🧹 [FINALIZATION STEP 6: Spec Cleanup]
Objective: Archive completed specifications.
Confirm with user before moving files.
- Create:
specs--completed/<feature-name>/ - Move all contents of
specs/<feature-name>/:overview.md(with completion summary)- All
phase-X.mdfiles PLAN-DRAFT.md,PLAN-CONVERSATION-*.md,pathfinder/(if present)
- Remove temporary scratch files not part of the final spec record
- Verify original directory empty and can be removed
Keep folder name exactly as-is during archival.
STEP 6.5: Community Feedback Submission
🧹 [FINALIZATION STEP 6.5: Community Feedback Submission]
If Step 5 feedback/consent was declined, skip to Step 7. Otherwise assemble/preview/submit the payload:
Read references/community-feedback-submission.md
STEP 7: Final Confirmation
🧹 [FINALIZATION STEP 7: Final Confirmation]
Objective: Confirm all finalization steps complete.
## Finalization Complete
### Summary
- **Feature:** [Name]
- **Status:** Complete
- **Completion Rate:** [X]% ([Y]/[Z] tasks)
- **Archived To:** `specs--completed/<feature-name>/`
<!-- METRICS_JSON {"step": "finalize", "completion_rate_at_audit": 0.95, "tasks_completed": 19, "tasks_total": 20, "verification_failures_found": 1, "documentation_updates_needed": 2} -->
Replace METRICS_JSON values with actuals. `completion_rate_at_audit` = Y/Z as decimal (e.g., 19/20 = 0.95).
### Finalization Steps Completed
- [x] Step 1: Task Completion Audit
- [x] Step 2: Implementation Verification
- [x] Step 3: Implementation Summary
- [x] Step 4: Documentation Review
- [x] Step 5: User Feedback (Optional)
- [x] Step 6: Spec Cleanup
- [x] Step 6.5: Community Feedback Submission
- [x] Step 7: Final Confirmation
### Files Created/Modified During Finalization
- `specs/<feature-name>/overview.md` - Added completion summary
- `README.md` - [if updated]
- `CHANGELOG.md` - [if updated]
### Archived Files
[List all files moved to specs--completed/<feature-name>/]
⋅
╭───╮
│ ★ │
│ ◡ │ You did it! Feature complete!
╰───╯
IMPLEMENTATION COMPLETED! All tasks finished. Specs archived to
specs--completed/<feature-name>/. Thank you for using the Plan2Code workflow!
Handling Incomplete Implementations
| Completion | Action |
|---|---|
| >75% | Finalize with notice. List incomplete items. Note remaining tasks for follow-up cycle. |
| <75% | Recommend returning to implementation. List incomplete phases with task counts. Options: 1) Return via /plan2code-3-implement 2) Proceed with partial finalization. |
Abort Handling
If user says "abort", "cancel", or similar:
- Confirm: "Abort finalization? Implementation remains but won't be validated or archived."
- If confirmed: Note progress, explain spec files remain in place
- Stop finalization
Recovery
| Issue | Solution |
|---|---|
| Incomplete tasks | User chooses: complete, partial, or abandon |
| Missing spec files | Ask for all phase-X.md files |
| Doc updates rejected | Skip updates, note in summary |
Learning Capture
At session end, if you discovered undocumented commands, dependency quirks, gotchas (>5min cost), framework workarounds, or missing AGENTS.md patterns → prompt user to update AGENTS.md. If yes, apply the edit directly.
Session End
(Step 7 already delivered the completion summary — don't repeat it.)
Suggested commit (only if README, CHANGELOG, or other tracked docs were updated):
git commit -m "chore: finalize and archive <feature-name>" -m "<JIRA-Ticket-ID>" -m "AI Assisted"
Returning context: Feature complete. Specs archived to specs--completed/<feature-name>/.