Loading...
Loading...
How to work in a Software Lifecycle project (the `software-lifecycle` starter pack): proposals → decisions → specs → postmortems, plus guides. Read when the project has these folders, or when asked how this project is organized. Carries the doc lifecycle, status flows, and per-folder agent behaviors so that guidance does not live inside template bodies or folder descriptions. The five workflows — frame a proposal, write a spec, record a decision, write a postmortem, review a design — each ship as their own sibling skill in this pack. Complements the platform `open-knowledge` skill; does not replace it.
npx skill4agent add inkeep/open-knowledge-skills software-lifecycleThis skill is pack guidance. The platformskill (read/write/preview/linking/grounding rules) still governs every markdown operation — this layers the lifecycle conventions on top./open-knowledge
proposals/ in-flight RFC-shape design proposals
↓ accepted
decisions/ frozen ADRs (the record of what was decided)
↓ derived
specs/ implementation specs for accepted proposals
↓ when things break
postmortems/ blameless incident write-ups
guides/ how-to / onboarding / runbooks (referenced throughout)proposals/0001-feature-name.mddraft → fcp → accepted/rejecteddecisions/status: draftdecisions/NNNN-title.mdproposed/accepted/deprecated/supersededSupersedes:Supersedes:specs/github/spec-kitspecs/NNN-name/spec.mdplan.mdtasks.mdstatus: shippedpostmortems/YYYY-MM-DD-name.mdRelated:guides/guideonboarding-guiderunbooklast_verified| Workflow | Sibling skill | When |
|---|---|---|
| Frame a proposal | | A change needs designing and arguing before anyone builds it. |
| Write a spec | | An accepted proposal needs scoping into an implementable spec. |
| Record a decision | | A decision was actually made and needs its context and consequences preserved. |
| Write a postmortem | | An incident happened and the team needs a blameless write-up. |
| Review a design | | An existing proposal, spec, or decision needs pressure-testing for soundness. |
write({ document: { path, template: "<name>" } })