Loading...
Loading...
Use when a Beat change is implemented and ready to archive — not for verifying implementation
npx skill4agent add kirkchen/beat archive| Superpower | When | Priority |
|---|---|---|
| finishing-a-development-branch | After archive is complete | MUST |
| Thought | Reality |
|---|---|
| "The change is already archived, finishing-a-development-branch is optional cleanup" | Archive without branch guidance leaves orphan branches and uncommitted work. The skill ensures nothing is forgotten. |
| "I'll just tell the user to create a PR manually" | finishing-a-development-branch offers structured options (merge, PR, cleanup) tailored to the current state. Manual advice misses context. |
| "Skipping sync is fine, the user can run it later" | There is no separate sync skill. Archive is the only place features get synced. Skipping means features are lost from living documentation. |
| "The .orig backups can be cleaned up later" | Orphaned |
| "Glossary terms can be added later, it's just docs" | Once the features sync into |
| "We didn't write any ADRs but the design.md captures everything" | design.md gets archived with the change. Cross-change decisions need to live in |
.feature.origbeat/features/beat/CONTEXT.mddigraph archive {
"Select change" [shape=box];
"Check artifact completion" [shape=diamond];
"Warn incomplete" [shape=box];
"Check task completion" [shape=diamond];
"Warn incomplete tasks" [shape=box];
"Gherkin done?" [shape=diamond];
"Ask capability mapping" [shape=box];
"Scan features for\nundefined terms" [shape=box, style=bold];
"Sync features" [shape=box];
"Skip sync" [shape=box];
"Last-mile ADR sweep" [shape=box, style=bold];
"Move to archive" [shape=box];
"Invoke finishing-a-development-branch" [shape=box, style=bold];
"Show summary" [shape=doublecircle];
"Select change" -> "Check artifact completion";
"Check artifact completion" -> "Warn incomplete" [label="pending found"];
"Check artifact completion" -> "Check task completion" [label="all done/skipped"];
"Warn incomplete" -> "Check task completion" [label="user confirms"];
"Check task completion" -> "Warn incomplete tasks" [label="incomplete"];
"Check task completion" -> "Gherkin done?" [label="all complete\nor no tasks"];
"Warn incomplete tasks" -> "Gherkin done?" [label="user confirms"];
"Gherkin done?" -> "Ask capability mapping" [label="done"];
"Gherkin done?" -> "Skip sync" [label="skipped"];
"Ask capability mapping" -> "Scan features for\nundefined terms";
"Scan features for\nundefined terms" -> "Sync features";
"Sync features" -> "Last-mile ADR sweep";
"Skip sync" -> "Last-mile ADR sweep";
"Last-mile ADR sweep" -> "Move to archive";
"Move to archive" -> "Invoke finishing-a-development-branch";
"Invoke finishing-a-development-branch" -> "Show summary";
}beat/changes/archive/beat/changes/<name>/status.yamlreferences/status-schema.mddonependingskippedpendingtasks.md- [ ]- [x]status.yamlskippeddonebeat/changes/<name>/features/*.featureproposal.mddesign.mdbeat/config.yamlreferences/config-schema.mdlanguage"Where should each feature be synced? Existing capabilities: [list from beat/features/]. Or enter a new name."
beat/CONTEXT.mdreferences/context-format.mdbeat/CONTEXT.md"Term '<term>' appears in scenarios but isn't in beat/CONTEXT.md. Add it now?"
- Yes (recommended): provide a one-sentence definition; Beat appends it
- Skip this term
- Skip all remaining (record the count for the summary)
beat/CONTEXT.mdreferences/context-format.md_Avoid_beat/CONTEXT.mdbeat/features/mkdir -p beat/features| Source (change) | Target (beat/features/) | Behavior |
|---|---|---|
| | Add or update feature files |
| | Copy to capability |
| | Copy to capability |
status.yamlgherkin.modifiedgherkin.modifiedchanges/<name>/features/beat/features/<capability>/.feature.origbeat/features/@scenariobeat/changes/.../x.featurebeat/features/<capability>/x.feature.feature.origbeat/features/beat/features/<capability>/README.mdbeat/features/README.mdstatus.yamlsyncdocs/adr/design.mdtasks.mddocs/adr/NNNN-/beat:design/beat:plan/beat:apply"No ADRs recorded for this change. Was there any hard-to-reverse + surprising + real-trade-off decision worth recording before archiving?"
- No, none qualified
- Yes, let me describe it now
references/adr-format.mddocs/adr/status.yamlarchivemkdir -p beat/changes/archiveYYYY-MM-DD-<change-name>mv beat/changes/<name> beat/changes/archive/YYYY-MM-DD-<name>## Archive Complete
**Change:** <change-name>
**Archived to:** beat/changes/archive/YYYY-MM-DD-<name>/
**Features:** Synced to beat/features/ (or "Sync skipped" or "No features to sync")
**Glossary:** N terms added to beat/CONTEXT.md (or "no changes" / "M terms skipped")
**ADRs:** N written to docs/adr/ (or "none recorded — last-mile sweep declined")
**Artifacts:** N done, M skipped
**Tasks:** X/Y complete (or "No tasks file")superpowers:finishing-a-development-branch