@locksmithdon/dons-flow 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,263 @@
1
+ ---
2
+ name: dons-flow
3
+ description: Use when starting or navigating a major piece of work to apply the integrated RPIV + Superpowers-style workflow — discovery, research, design/plan, implement, validate, review, commit, and land
4
+ ---
5
+
6
+ # Don's Flow
7
+
8
+ **Version 2** of the integrated workflow for developer `@locksmithdon`: **RPIV's observable, artifact-chained delivery pipeline** plus **Superpowers' scope control, verification discipline, and cycle closeout**, with the `land` ritual that neither provides on its own.
9
+
10
+ v1 was Superpowers-based with a custom landing ritual. v2 adds RPIV's pipeline while keeping the closeout, scope-control, and learning-capture practices.
11
+
12
+ This skill is the map. It does not replace the skills it references — it tells you which skill to invoke when, and which conventions must stay true across all of them.
13
+
14
+ Superpowers is the upstream methodology at [obra/superpowers](https://github.com/obra/superpowers). It is not published to npm under a resolvable name, so this package declares it as an optional git peer dependency (`github:obra/superpowers`). Install it via your agent harness's plugin system, via the git URL, or by forking and publishing it under your own scope.
15
+
16
+ ## Announce at start
17
+
18
+ > "I'm using the `dons-flow` skill to run the integrated RPIV + Superpowers workflow."
19
+
20
+ ## When to use this skill
21
+
22
+ - At the **start** of a new piece of work, to pick the right entry point.
23
+ - When you are **mid-work** and unsure whether to keep going, hand off, revise, or close out.
24
+ - At the **end** of a validated implementation, to begin the `land` closeout ritual.
25
+ - When onboarding a fresh repo to this workflow.
26
+
27
+ ## Required installed packages
28
+
29
+ This skill assumes the following Pi packages are installed:
30
+
31
+ - `@juicesharp/rpiv-pi` — the RPIV pipeline skills
32
+ - `@tintinweb/pi-subagents` — subagent runtime used by RPIV
33
+ - `@locksmithdon/dons-flow` — this package, which adds closeout and discipline skills
34
+ - `superpowers` — the upstream Superpowers methodology (optional, via harness plugin or `github:obra/superpowers`)
35
+
36
+ If RPIV or the subagent runtime is missing, stop and install them before proceeding. If Superpowers is missing, this package's ported skills still provide the closeout workflow, but you will not have access to the upstream Superpowers entry points like `brainstorming` or `test-driven-development`.
37
+
38
+ ## Before you start
39
+
40
+ If this repo has not been onboarded yet, run:
41
+
42
+ ```bash
43
+ /skill:setup-dons-flow
44
+ ```
45
+
46
+ That skill checks prerequisites, detects Superpowers, and creates the repo-owned conventions (`docs/tabled.md`, `docs/status.md`, `docs/memory/`, `docs/changes/`, `docs/retros/`, `docs/runbooks/`, `AGENTS.md`).
47
+
48
+ ## Integrated workflow
49
+
50
+ ```
51
+ Discover → Research → Design/Blueprint → Plan → Implement → Validate → Review → Commit → Land
52
+ ```
53
+
54
+ Each arrow is a skill invocation. Each skill produces or updates an artifact. Nothing is unilateral: every boundary is a conversation or a checkpoint.
55
+
56
+ ### 1. Discover — capture intent
57
+
58
+ **Skill:** `/skill:discover "[feature description]"`
59
+
60
+ **When:** The problem is not yet fully shaped; you need to extract goals, non-goals, constraints, acceptance criteria, and decisions before touching code.
61
+
62
+ **What it produces:** `.rpiv/artifacts/discover/YYYY-MM-DD_HH-MM-SS_<topic>.md` — a Feature Requirements Document (FRD).
63
+
64
+ **Integration note:** If you already have a written spec or ticket, pass its path to `discover` for refinement. For free-form ideation, run Superpowers `brainstorming` first and feed the result into `discover`.
65
+
66
+ **End-of-artifact checkpoint:** After the FRD is written, run `capturing-learnings` before proceeding. Process any `docs/tabled.md` entries that surfaced during the interview.
67
+
68
+ ### 2. Research — ground intent in code
69
+
70
+ **Skill:** `/skill:research .rpiv/artifacts/discover/<latest>.md`
71
+
72
+ **When:** You have an FRD and need to understand the codebase reality that will shape the design.
73
+
74
+ **What it produces:** `.rpiv/artifacts/research/<slug>_<topic>.md`
75
+
76
+ **Integration note:** The FRD's `Decisions` block becomes research's Developer Context. Carry any unresolved Open Questions forward.
77
+
78
+ **End-of-artifact checkpoint:** Run `capturing-learnings` after research is accepted.
79
+
80
+ ### 3. Design / Blueprint / Explore — decide the shape
81
+
82
+ **Option A — compare approaches first:** `/skill:explore "[problem]"` → `/skill:design .rpiv/artifacts/solutions/<latest>.md`
83
+
84
+ **Option B — full design artifact:** `/skill:design .rpiv/artifacts/research/<latest>.md`
85
+
86
+ **Option C — fast path for smaller work:** `/skill:blueprint .rpiv/artifacts/research/<latest>.md`
87
+
88
+ **When:** Multiple valid approaches exist → `explore`. The design is itself a deliverable or the work is large/cross-cutting → `design` then `plan`. The work is well-understood and you want an implement-ready plan in one pass → `blueprint`.
89
+
90
+ **What it produces:**
91
+ - `explore` → `.rpiv/artifacts/solutions/<slug>_<topic>.md`
92
+ - `design` → `.rpiv/artifacts/designs/<slug>_<topic>.md`
93
+ - `blueprint` → `.rpiv/artifacts/plans/<slug>_<topic>.md`
94
+
95
+ **Integration note:** `blueprint` fuses `design` + `plan`. It is the closest RPIV equivalent to the Superpowers `writing-plans` + `subagent-driven-development` combo, but it is codebase-grounded and reviewed.
96
+
97
+ **End-of-artifact checkpoint:** Run `capturing-learnings` after the design or plan is accepted.
98
+
99
+ ### 4. Plan — sequence the work
100
+
101
+ **Skill:** `/skill:plan .rpiv/artifacts/designs/<latest>.md`
102
+
103
+ **When:** You ran `design` separately and now need a phased implementation plan.
104
+
105
+ **What it produces:** `.rpiv/artifacts/plans/<slug>_<topic>.md`
106
+
107
+ **Integration note:** Skip this step if you used `blueprint`, which already emitted a plan.
108
+
109
+ **End-of-artifact checkpoint:** Run `capturing-learnings` after the plan is accepted.
110
+
111
+ ### 5. Implement — execute phase by phase
112
+
113
+ **Skill:** `/skill:implement .rpiv/artifacts/plans/<latest>.md [Phase N]`
114
+
115
+ **When:** The plan is `status: ready`.
116
+
117
+ **What it does:** Applies the plan's code changes to the working tree.
118
+
119
+ **Integration notes:**
120
+ - Keep `epiphany-tabling` active. Any realization, fork, or follow-up that is not trivially cheap and in-scope goes into `docs/tabled.md`.
121
+ - Apply `verification-before-completion` discipline: no success claim without fresh verification evidence.
122
+ - If a session ends mid-implementation, run `/skill:create-handoff`.
123
+ - If code reality diverges from the plan, surface it via implement's mismatch flow or run `/skill:revise <plan-path>` first.
124
+
125
+ ### 6. Validate — verify against the plan
126
+
127
+ **Skill:** `/skill:validate .rpiv/artifacts/plans/<latest>.md`
128
+
129
+ **When:** Implementation is complete (or you need a checkpoint).
130
+
131
+ **What it produces:** `.rpiv/artifacts/validation/<slug>_<topic>.md` with a `verdict: pass | fail`.
132
+
133
+ **Integration note:** Do not proceed to `commit` or `land` if `verdict: fail`. Fix gaps, then re-run `validate`.
134
+
135
+ ### 7. Review — structured code review
136
+
137
+ **Skill:** `/skill:code-review [scope]`
138
+
139
+ **When:** After validate passes and before committing.
140
+
141
+ **What it produces:** `.rpiv/artifacts/reviews/<slug>_<scope>.md`
142
+
143
+ **Integration note:** The `land` skill's step 1 (code review) can consume this artifact. Fix small findings now; table substantive ones to `docs/tabled/`.
144
+
145
+ ### 8. Commit — atomic, logical commits
146
+
147
+ **Skill:** `/skill:commit [message-hint]`
148
+
149
+ **When:** The working tree contains validated changes ready to be committed.
150
+
151
+ **What it does:** Groups staged/unstaged changes into logical commits.
152
+
153
+ **Integration note:** On a feature branch, you may commit close-out artifacts (as-built, retro, memory updates) separately. On `main`, present commit groupings for human approval.
154
+
155
+ ### 9. Land — close the cycle
156
+
157
+ **Skill:** `/skill:land`
158
+
159
+ **When:** The implementation is verified, reviewed, and committed (or about to be merged).
160
+
161
+ **What it does:** Runs the 10-step closeout ritual:
162
+
163
+ 1. Code review
164
+ 2. Architectural review
165
+ 3. Security review
166
+ 4. As-built documentation (`as-built-documentation`)
167
+ 5. Doc / knowledge-graph review
168
+ 6. AGENTS.md updates
169
+ 7. Memory reconcile
170
+ 8. Retro (`writing-retros`)
171
+ 9. Status review + resolve `docs/tabled.md`
172
+ 10. Integrate (`finishing-a-development-branch`)
173
+
174
+ **Integration note:** `land` is the cycle boundary RPIV does not provide. It is the most important addition this package makes.
175
+
176
+ ## Monitoring the relationship
177
+
178
+ We intentionally deferred deciding how to track Superpowers long-term. Review monthly using:
179
+
180
+ - `docs/memory/monitor_upstream_evolution.md` — decision context and last review date
181
+ - `docs/runbooks/monitor-upstream-evolution.md` — the check-in process
182
+
183
+ After 2–3 projects, decide whether to keep the git peer dependency, fork Superpowers, or drop it.
184
+
185
+ ## Cross-cutting practices
186
+
187
+ These practices run continuously across the workflow, not at a single stage.
188
+
189
+ ### Epiphany tabling
190
+
191
+ Use `epiphany-tabling` whenever an unexpected realization surfaces mid-task. Add it to `docs/tabled.md`. Never lose it, never let it derail current work. Resolve tabled items at end-of-artifact checkpoints and during `land` step 9.
192
+
193
+ ### Verification before completion
194
+
195
+ Before any completion claim — a test passing, a phase done, a feature working — run the verification command fresh, read the output, and cite the evidence. No shortcuts.
196
+
197
+ ### Capturing learnings
198
+
199
+ After each approved artifact (FRD, research, design, plan, major commit set), run `capturing-learnings`. Apply the rule: **once is a moment; twice is a pattern.** Promote tabled observations to skills, runbooks, or memory only on the second sighting.
200
+
201
+ ### Handoffs
202
+
203
+ If you must stop mid-work, use `/skill:create-handoff`. Resume with `/skill:resume-handoff .rpiv/artifacts/handoffs/<latest>.md` in a fresh session.
204
+
205
+ ## Repo conventions this workflow expects
206
+
207
+ Your codebase should contain these documents and folders. They are owned by the team, not by any package:
208
+
209
+ | Path | Purpose |
210
+ |---|---|
211
+ | `docs/tabled.md` | Working memory for epiphanies and deferred work |
212
+ | `docs/tabled/` | Optional per-item tabled docs (resolved to empty each cycle) |
213
+ | `docs/status.md` | Living status: Recently Completed, What's Next, etc. |
214
+ | `docs/memory/` | Persistent project/session memory entries |
215
+ | `docs/memory/MEMORY.md` | Index of memory entries |
216
+ | `docs/changes/` | As-built documentation: what shipped and why |
217
+ | `docs/retros/` | Frozen retrospective documents |
218
+ | `docs/runbooks/` | Multi-skill processes and practices |
219
+ | `AGENTS.md` | Repo-level agent guidance |
220
+
221
+ ## What lives in the codebase vs. what lives in the developer's package
222
+
223
+ **In the codebase:** `docs/changes/`, `docs/retros/`, `docs/status.md`, `docs/memory/`, `AGENTS.md`, and the actual code changes.
224
+
225
+ **In this package:** the skills, runbooks, and workflow conventions. They travel with the developer across repos.
226
+
227
+ ## Anti-patterns
228
+
229
+ - **Skipping `land`.** `validate` is not the finish line. Close the cycle.
230
+ - **Carrying `docs/tabled.md` across cycles.** Resolve every entry during `land` step 9.
231
+ - **Editing source files during discover/research/design/plan.** Those skills produce artifacts; `implement` edits code.
232
+ - **Recomposing RPIV slice boundaries.** `design`/`blueprint` owns decomposition; `plan` inherits slices 1:1.
233
+ - **Letting verification become a rubber stamp.** Evidence first, claims second.
234
+
235
+ ## Quick reference
236
+
237
+ | I want to... | Invoke |
238
+ |---|---|
239
+ | Onboard a repo | `/skill:setup-dons-flow` |
240
+ | Capture intent | `/skill:discover "..."` |
241
+ | Understand the codebase | `/skill:research <artifact-or-topic>` |
242
+ | Compare options | `/skill:explore "..."` |
243
+ | Design + plan separately | `/skill:design <research>` → `/skill:plan <design>` |
244
+ | Design + plan together | `/skill:blueprint <research>` |
245
+ | Execute the plan | `/skill:implement <plan> [Phase N]` |
246
+ | Verify implementation | `/skill:validate <plan>` |
247
+ | Review changes | `/skill:code-review [scope]` |
248
+ | Commit changes | `/skill:commit` |
249
+ | Close out the cycle | `/skill:land` |
250
+ | Table a mid-flight realization | `/skill:epiphany-tabling` |
251
+ | Run an end-of-artifact checkpoint | `/skill:capturing-learnings` |
252
+ | Create a handoff | `/skill:create-handoff` |
253
+ | Resume a handoff | `/skill:resume-handoff <handoff-path>` |
254
+
255
+ ## See also
256
+
257
+ - RPIV README: `@juicesharp/rpiv-pi`
258
+ - `setup-dons-flow` — onboarding skill
259
+ - `land` — the 10-step closeout
260
+ - `epiphany-tabling` — scope control
261
+ - `capturing-learnings` — promotion rule and end-of-artifact checkpoints
262
+ - `verification-before-completion` — evidence-first discipline
263
+ - `docs/runbooks/monitor-upstream-evolution.md` — how to track RPIV and Superpowers over time
@@ -0,0 +1,64 @@
1
+ ---
2
+ name: epiphany-tabling
3
+ description: Use when an unexpected realization, pattern, follow-up item, or fork in the road surfaces mid-task — table it to docs/tabled.md instead of derailing the current work
4
+ ---
5
+
6
+ # Epiphany Tabling
7
+
8
+ ## Overview
9
+
10
+ When something unexpected surfaces mid-work — a realization, a fork in the road, a follow-up item, a pattern we almost missed — we do not stop and redesign. We **table it**: add a short entry to `docs/tabled.md` with enough context to reconstruct later, then keep going.
11
+
12
+ `docs/tabled.md` is the single working-memory location for both epiphanies and tabled follow-up work. (Per-milestone followup files were retired at M4.5 close in favor of this unified location.)
13
+
14
+ **Announce at start:** "I'm using the epiphany-tabling skill to table `<topic>` — will process it at the next checkpoint."
15
+
16
+ ## The rule
17
+
18
+ An epiphany is either:
19
+
20
+ 1. **Acted on immediately**, if trivially cheap and in-scope for the current task. ("Trivially cheap" means: the current task will be done at roughly the same time either way.)
21
+ 2. **Tabled**, otherwise.
22
+
23
+ Never lost. Never derailing.
24
+
25
+ ## What tabling looks like
26
+
27
+ Add a bullet to `docs/tabled.md` with:
28
+
29
+ - A one-line title stating the insight.
30
+ - A 2–4 line description with enough context to reconstruct it later: what you were doing, what you noticed, what the shape of the fix or follow-up probably is.
31
+ - Where its next destination probably is (spec, runbook, skill, memory, retro, drop) — when known.
32
+
33
+ Example:
34
+
35
+ ```markdown
36
+ - **Plan drift: `parseEvent` spread ordering in `docker-runner.ts`.** Production
37
+ code at ~line 67–78 spreads `...obj` AFTER setting explicit `type`/`phase`/`msg`
38
+ fields, so malformed JSON with `obj.type !== "status"` could overwrite the typed
39
+ `type` field. Not blocker for M1; fix before M2 if parseEvent is touched.
40
+ ```
41
+
42
+ The entry has to be reconstructable cold. Assume future-Claude has not read the current conversation — write enough that the entry stands alone.
43
+
44
+ ## When NOT to table
45
+
46
+ - **In-scope trivial fixes.** If the fix is three lines and the current task's tests already exercise it, just do it.
47
+ - **Clarifications the user just asked for.** Answer in conversation; don't table an answer to a live question.
48
+ - **Things already captured elsewhere** (existing `tabled.md` entry, spec section, memory entry) — update those, don't duplicate.
49
+
50
+ ## Processing
51
+
52
+ Tabled entries are processed at:
53
+
54
+ - An **end-of-artifact checkpoint** (after an approved spec, plan, or major commit set).
55
+ - A **milestone retro** (processed alongside keep-doing / stop-or-change).
56
+ - A **milestone close** — outstanding items worth keeping roll into [`docs/roadmap.md#backlog`](../../docs/roadmap.md#backlog); completed/obsolete items are dropped. The file ends each milestone empty (or near-empty).
57
+ - **Ad-hoc**, if the working file grows past a screen of content — that is a signal to process, not to let it sprawl.
58
+
59
+ Each entry is processed into its probable destination (roadmap Backlog, spec amendment, runbook, skill, memory entry, as-built adaptation, or conscious drop) and then **removed** from `docs/tabled.md`. `tabled.md` stays small; entries arrive, get processed, and leave.
60
+
61
+ ## Related practices
62
+
63
+ - `capturing-learnings` — the promotion rule that decides whether a processed entry becomes a skill, runbook, or memory.
64
+ - `writing-retros` — the milestone-level ritual where tabled entries often land.
@@ -0,0 +1,200 @@
1
+ ---
2
+ name: finishing-a-development-branch
3
+ description: Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup
4
+ ---
5
+
6
+ # Finishing a Development Branch
7
+
8
+ ## Overview
9
+
10
+ Guide completion of development work by presenting clear options and handling chosen workflow.
11
+
12
+ **Core principle:** Verify tests → Present options → Execute choice → Clean up.
13
+
14
+ **Announce at start:** "I'm using the finishing-a-development-branch skill to complete this work."
15
+
16
+ ## The Process
17
+
18
+ ### Step 1: Verify Tests
19
+
20
+ **Before presenting options, verify tests pass:**
21
+
22
+ ```bash
23
+ # Run project's test suite
24
+ npm test / cargo test / pytest / go test ./...
25
+ ```
26
+
27
+ **If tests fail:**
28
+ ```
29
+ Tests failing (<N> failures). Must fix before completing:
30
+
31
+ [Show failures]
32
+
33
+ Cannot proceed with merge/PR until tests pass.
34
+ ```
35
+
36
+ Stop. Don't proceed to Step 2.
37
+
38
+ **If tests pass:** Continue to Step 2.
39
+
40
+ ### Step 2: Determine Base Branch
41
+
42
+ ```bash
43
+ # Try common base branches
44
+ git merge-base HEAD main 2>/dev/null || git merge-base HEAD master 2>/dev/null
45
+ ```
46
+
47
+ Or ask: "This branch split from main - is that correct?"
48
+
49
+ ### Step 3: Present Options
50
+
51
+ Present exactly these 4 options:
52
+
53
+ ```
54
+ Implementation complete. What would you like to do?
55
+
56
+ 1. Merge back to <base-branch> locally
57
+ 2. Push and create a Pull Request
58
+ 3. Keep the branch as-is (I'll handle it later)
59
+ 4. Discard this work
60
+
61
+ Which option?
62
+ ```
63
+
64
+ **Don't add explanation** - keep options concise.
65
+
66
+ ### Step 4: Execute Choice
67
+
68
+ #### Option 1: Merge Locally
69
+
70
+ ```bash
71
+ # Switch to base branch
72
+ git checkout <base-branch>
73
+
74
+ # Pull latest
75
+ git pull
76
+
77
+ # Merge feature branch
78
+ git merge <feature-branch>
79
+
80
+ # Verify tests on merged result
81
+ <test command>
82
+
83
+ # If tests pass
84
+ git branch -d <feature-branch>
85
+ ```
86
+
87
+ Then: Cleanup worktree (Step 5)
88
+
89
+ #### Option 2: Push and Create PR
90
+
91
+ ```bash
92
+ # Push branch
93
+ git push -u origin <feature-branch>
94
+
95
+ # Create PR
96
+ gh pr create --title "<title>" --body "$(cat <<'EOF'
97
+ ## Summary
98
+ <2-3 bullets of what changed>
99
+
100
+ ## Test Plan
101
+ - [ ] <verification steps>
102
+ EOF
103
+ )"
104
+ ```
105
+
106
+ Then: Cleanup worktree (Step 5)
107
+
108
+ #### Option 3: Keep As-Is
109
+
110
+ Report: "Keeping branch <name>. Worktree preserved at <path>."
111
+
112
+ **Don't cleanup worktree.**
113
+
114
+ #### Option 4: Discard
115
+
116
+ **Confirm first:**
117
+ ```
118
+ This will permanently delete:
119
+ - Branch <name>
120
+ - All commits: <commit-list>
121
+ - Worktree at <path>
122
+
123
+ Type 'discard' to confirm.
124
+ ```
125
+
126
+ Wait for exact confirmation.
127
+
128
+ If confirmed:
129
+ ```bash
130
+ git checkout <base-branch>
131
+ git branch -D <feature-branch>
132
+ ```
133
+
134
+ Then: Cleanup worktree (Step 5)
135
+
136
+ ### Step 5: Cleanup Worktree
137
+
138
+ **For Options 1, 2, 4:**
139
+
140
+ Check if in worktree:
141
+ ```bash
142
+ git worktree list | grep $(git branch --show-current)
143
+ ```
144
+
145
+ If yes:
146
+ ```bash
147
+ git worktree remove <worktree-path>
148
+ ```
149
+
150
+ **For Option 3:** Keep worktree.
151
+
152
+ ## Quick Reference
153
+
154
+ | Option | Merge | Push | Keep Worktree | Cleanup Branch |
155
+ |--------|-------|------|---------------|----------------|
156
+ | 1. Merge locally | ✓ | - | - | ✓ |
157
+ | 2. Create PR | - | ✓ | ✓ | - |
158
+ | 3. Keep as-is | - | - | ✓ | - |
159
+ | 4. Discard | - | - | - | ✓ (force) |
160
+
161
+ ## Common Mistakes
162
+
163
+ **Skipping test verification**
164
+ - **Problem:** Merge broken code, create failing PR
165
+ - **Fix:** Always verify tests before offering options
166
+
167
+ **Open-ended questions**
168
+ - **Problem:** "What should I do next?" → ambiguous
169
+ - **Fix:** Present exactly 4 structured options
170
+
171
+ **Automatic worktree cleanup**
172
+ - **Problem:** Remove worktree when might need it (Option 2, 3)
173
+ - **Fix:** Only cleanup for Options 1 and 4
174
+
175
+ **No confirmation for discard**
176
+ - **Problem:** Accidentally delete work
177
+ - **Fix:** Require typed "discard" confirmation
178
+
179
+ ## Red Flags
180
+
181
+ **Never:**
182
+ - Proceed with failing tests
183
+ - Merge without verifying tests on result
184
+ - Delete work without confirmation
185
+ - Force-push without explicit request
186
+
187
+ **Always:**
188
+ - Verify tests before offering options
189
+ - Present exactly 4 options
190
+ - Get typed confirmation for Option 4
191
+ - Clean up worktree for Options 1 & 4 only
192
+
193
+ ## Integration
194
+
195
+ **Called by:**
196
+ - **land** (Step 10) — cycle closeout after verification and review
197
+ - **dons-flow** — after `/skill:implement` and `/skill:validate` complete
198
+
199
+ **Pairs with:**
200
+ - **using-git-worktrees** - Cleans up worktree created by that skill
@@ -0,0 +1,103 @@
1
+ ---
2
+ name: land
3
+ description: Use at the end of a major piece of work to bring the cycle to a clean close — review the work, document what changed, capture lessons, and prepare for the next cycle
4
+ ---
5
+
6
+ # Land
7
+
8
+ Bring the current piece of work to a clean close. Review what was built, document what changed, capture lessons, and leave the codebase ready for the next cycle.
9
+
10
+ ## When to Use
11
+
12
+ - A design phase is complete and agreed
13
+ - An implementation plan has been fully executed and verified
14
+ - Any significant milestone where the project state has materially changed
15
+ - Before starting the next piece of work
16
+
17
+ This is a **cycle boundary** — the moment between "we finished that" and "what's next."
18
+
19
+ ## When NOT to Use
20
+
21
+ - Mid-work checkpoints (that's normal commit discipline)
22
+ - Bug fixes or small refactors that don't change the project's shape
23
+ - Session endings where the work isn't at a natural completion point (just commit and note what's unfinished)
24
+
25
+ ## The Process
26
+
27
+ Land has 10 ordered sub-steps. **Each sub-step is a conversation between agent and human, not unilateral execution.** Surface findings or work for the step, get review, decide together when to advance. See [`docs/ways-of-working.md`](../../../docs/ways-of-working.md) §"Development Lifecycle" for the canonical descriptions.
28
+
29
+ **Hard ordering rule:** all reviews (1–3) precede all documentation work (4–7). Documentation describes what is true; if a review changes what is true, doc work is wasted.
30
+
31
+ ### 1. Code review
32
+
33
+ Comprehensive, back-and-forth review of all code that landed during this cycle. Find issues; fix small ones now, table substantive ones to `docs/tabled/`. Often a substantial conversation in itself.
34
+
35
+ ### 2. Architectural review
36
+
37
+ Did this work introduce new patterns? Stress the architecture? Indicate that an existing pattern should change? Find structural issues — fix small ones now, table substantive ones.
38
+
39
+ ### 3. Security review
40
+
41
+ Scope to the change. Find issues, fix small ones now, table substantive ones. (Once `docs/security-register.md` and the security-review skill exist, follow that playbook.)
42
+
43
+ ### 4. As-built documentation
44
+
45
+ Once the code is final, capture what changed and why in `docs/changes/` (project-level) or per-repo `docs/changes/`. Use the `as-built-documentation` skill — it handles the synthesis, writing, and cleanup of superseded plans.
46
+
47
+ ### 5. Doc / knowledge-graph review
48
+
49
+ Sweep over docs touched by this cycle. Add or refresh README files in the significant folders we worked in, per the incremental "build by touched folder" pattern (see WoW §"README knowledge graph"). Look for stale, contradictory, or low-signal docs and prune. Keep signal-to-noise high.
50
+
51
+ If unsure where new information should live, consult [`docs/memory.md`](../../../docs/memory.md).
52
+
53
+ ### 6. AGENTS.md updates
54
+
55
+ Root and repo-level. Only update what actually changed.
56
+
57
+ ### 7. Memory reconcile
58
+
59
+ Review persistent memory (markdown files in `docs/memory/` and any auto-loaded project memory) against the new state. Correct stale entries, remove redundancies, add new feedback / project / reference / user memories warranted by the cycle. Memory is a thin index pointing at authoritative sources, not a duplication.
60
+
61
+ ### 8. Retro
62
+
63
+ Reflect on the cycle. What went well, what was hard, patterns to capture, anti-patterns to nudge against. Produce a permanent retro doc at `docs/retros/YYYY-MM-DD-<topic>.md`. Retro **closes off the cycle's work** — process improvement, not scope. Scope changes already got captured in steps 1–3 as tabled items / memories.
64
+
65
+ **Start by reading the previous retro in `docs/retros/`** — this threads the continual-improvement loop forward across cycles.
66
+
67
+ ### 9. Status review + tabled-items confirmation + next piece of work
68
+
69
+ Walk through `docs/status.md` intentionally with the cycle's tabled items in hand. Decide what belongs in "Recently Completed," "What's Next," what to prune. **Resolve every tabled item** — either decide-now (document the decision and delete the tabled doc) or move-to-status (substance moves to "What's Next" and the tabled doc is deleted). `docs/tabled/` should end the cycle empty (just `.gitkeep`). Identify the next piece of work — usually the highest-priority moved-to-status item.
70
+
71
+ ### 10. Integrate
72
+
73
+ If on a **feature branch**, invoke the **finishing-a-development-branch** skill to handle merge/PR/cleanup decisions.
74
+
75
+ If on **main**, stage all close-out changes in appropriately grouped commits and present a summary for review. Do NOT commit unilaterally — let the human approve groupings first.
76
+
77
+ ## Key Principles
78
+
79
+ - **Each sub-step is a conversation.** Surface findings, get review, advance together. Don't execute multiple sub-steps in a single agent turn without human checkpoints.
80
+ - **This skill owns the sequence; child skills own the execution.** Don't duplicate instructions that live in referenced skills (`as-built-documentation`, `finishing-a-development-branch`).
81
+ - **Documents live where their scope lives.** Repo-specific docs in the repo. Cross-repo / project-level docs at the root.
82
+ - **Set up the next agent for success.** Every step should leave the codebase navigable: tabled items resolved, status current, retro filed, memories reconciled.
83
+
84
+ ## Anti-patterns
85
+
86
+ - **Merge before close-out.** Don't partial-merge an in-flight branch and then try to retroactively close out a subset. Close the branch as a complete piece of work, table the continuation, pick up next on a fresh branch.
87
+ - **Treating a sub-step as a checkbox.** Each is a conversation. Rushing produces work that needs walking back.
88
+ - **Carrying tabled items across cycles.** Step 9 resolves every one.
89
+
90
+ ## Development Lifecycle Context
91
+
92
+ This project uses a skills-driven development lifecycle (RPIV pipeline + Superpowers-style closeout):
93
+
94
+ 1. **Discover** — Interview-driven intent capture (`/skill:discover` from RPIV)
95
+ 2. **Research** — Codebase context and precedent mapping (`/skill:research` from RPIV)
96
+ 3. **Design / Blueprint** — Architecture and phased planning (`/skill:design`, `/skill:blueprint`, or `/skill:explore` from RPIV)
97
+ 4. **Plan** — Implementation plan sequencing (`/skill:plan` from RPIV, when design and plan are separate)
98
+ 5. **Implement** — Phased execution (`/skill:implement` from RPIV)
99
+ 6. **Verify** — Validation against the plan's success criteria (`/skill:validate` from RPIV, guided by `verification-before-completion` discipline)
100
+ 7. **Review / Commit** — Code review and atomic commits (`/skill:code-review` and `/skill:commit` from RPIV)
101
+ 8. **Land** — This skill. The 10 sub-steps above bring the cycle to a clean close.
102
+
103
+ Not every piece of work goes through all stages. Small changes may skip brainstorming and planning. The workflow adapts to size and complexity.