renn-studio 0.6.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.
Files changed (112) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +36 -0
  3. package/agents/renn-architect.md +1463 -0
  4. package/agents/renn-auditor.md +1053 -0
  5. package/agents/renn-codebase-mapper.md +908 -0
  6. package/agents/renn-design-reviewer.md +422 -0
  7. package/agents/renn-designer.md +814 -0
  8. package/agents/renn-detective.md +1204 -0
  9. package/agents/renn-integration-checker.md +957 -0
  10. package/agents/renn-navigator.md +659 -0
  11. package/agents/renn-plan-reviewer.md +812 -0
  12. package/agents/renn-project-scout.md +880 -0
  13. package/agents/renn-runner.md +842 -0
  14. package/agents/renn-stage-scout.md +705 -0
  15. package/agents/renn-synthesizer.md +256 -0
  16. package/bin/install.js +1466 -0
  17. package/commands/renn.add-stage.md +211 -0
  18. package/commands/renn.add-todo.md +194 -0
  19. package/commands/renn.audit-milestone.md +280 -0
  20. package/commands/renn.audit.md +219 -0
  21. package/commands/renn.check-todos.md +229 -0
  22. package/commands/renn.complete-milestone.md +136 -0
  23. package/commands/renn.continue.md +46 -0
  24. package/commands/renn.dash.md +308 -0
  25. package/commands/renn.debug.md +169 -0
  26. package/commands/renn.design-screens.md +107 -0
  27. package/commands/renn.design-system.md +100 -0
  28. package/commands/renn.discuss-stage.md +86 -0
  29. package/commands/renn.help.md +550 -0
  30. package/commands/renn.insert-stage.md +231 -0
  31. package/commands/renn.list-stage-assumptions.md +49 -0
  32. package/commands/renn.map-codebase.md +72 -0
  33. package/commands/renn.new-milestone.md +80 -0
  34. package/commands/renn.pause.md +132 -0
  35. package/commands/renn.plan-milestone-gaps.md +314 -0
  36. package/commands/renn.plan-stage.md +118 -0
  37. package/commands/renn.remove-stage.md +353 -0
  38. package/commands/renn.research-stage.md +200 -0
  39. package/commands/renn.restyle.md +98 -0
  40. package/commands/renn.run-stage.md +343 -0
  41. package/commands/renn.set-profile.md +116 -0
  42. package/commands/renn.settings.md +151 -0
  43. package/commands/renn.ship.md +52 -0
  44. package/commands/renn.start.md +95 -0
  45. package/commands/renn.status.md +530 -0
  46. package/commands/renn.watch.md +51 -0
  47. package/hooks/dist/renn-check-update.js +67 -0
  48. package/hooks/dist/renn-statusline.js +96 -0
  49. package/package.json +89 -0
  50. package/renn/references/continuation-format.md +249 -0
  51. package/renn/references/design-artifacts.md +674 -0
  52. package/renn/references/design-tokens.md +162 -0
  53. package/renn/references/gates.md +1078 -0
  54. package/renn/references/git-integration.md +254 -0
  55. package/renn/references/horsepower-profiles.md +84 -0
  56. package/renn/references/planning-config.md +189 -0
  57. package/renn/references/questioning.md +141 -0
  58. package/renn/references/security-checklist.md +2184 -0
  59. package/renn/references/tdd.md +263 -0
  60. package/renn/references/ui-brand.md +189 -0
  61. package/renn/references/verification-patterns.md +612 -0
  62. package/renn/templates/DEBUG.md +159 -0
  63. package/renn/templates/INTEL.md +283 -0
  64. package/renn/templates/RECAP.md +246 -0
  65. package/renn/templates/UAT.md +247 -0
  66. package/renn/templates/architect-prompt.md +119 -0
  67. package/renn/templates/brief.md +190 -0
  68. package/renn/templates/codebase/architecture.md +264 -0
  69. package/renn/templates/codebase/concerns.md +310 -0
  70. package/renn/templates/codebase/conventions.md +307 -0
  71. package/renn/templates/codebase/design.md +336 -0
  72. package/renn/templates/codebase/integrations.md +280 -0
  73. package/renn/templates/codebase/stack.md +186 -0
  74. package/renn/templates/codebase/structure.md +295 -0
  75. package/renn/templates/codebase/testing.md +480 -0
  76. package/renn/templates/config.json +36 -0
  77. package/renn/templates/continue-here.md +80 -0
  78. package/renn/templates/detective-prompt.md +93 -0
  79. package/renn/templates/milestone-archive.md +123 -0
  80. package/renn/templates/milestone.md +117 -0
  81. package/renn/templates/proof.md +326 -0
  82. package/renn/templates/pulse.md +176 -0
  83. package/renn/templates/research/architecture.md +206 -0
  84. package/renn/templates/research/features.md +149 -0
  85. package/renn/templates/research/pitfalls.md +202 -0
  86. package/renn/templates/research/recap.md +187 -0
  87. package/renn/templates/research/stack.md +122 -0
  88. package/renn/templates/research/ux.md +283 -0
  89. package/renn/templates/research-lite.md +146 -0
  90. package/renn/templates/research.md +582 -0
  91. package/renn/templates/specs.md +233 -0
  92. package/renn/templates/stage-prompt.md +571 -0
  93. package/renn/templates/track.md +211 -0
  94. package/renn/templates/user-setup.md +315 -0
  95. package/renn/workflows/audit-stage.md +717 -0
  96. package/renn/workflows/audit-work.md +596 -0
  97. package/renn/workflows/complete-milestone.md +875 -0
  98. package/renn/workflows/continue-project.md +306 -0
  99. package/renn/workflows/design-stage.md +2019 -0
  100. package/renn/workflows/diagnose-issues.md +231 -0
  101. package/renn/workflows/initialize-project.md +1039 -0
  102. package/renn/workflows/list-assumptions.md +178 -0
  103. package/renn/workflows/map-codebase.md +374 -0
  104. package/renn/workflows/new-milestone.md +718 -0
  105. package/renn/workflows/plan-stage.md +810 -0
  106. package/renn/workflows/research-stage.md +289 -0
  107. package/renn/workflows/run-plan.md +1844 -0
  108. package/renn/workflows/run-stage.md +692 -0
  109. package/renn/workflows/scope-stage.md +546 -0
  110. package/renn/workflows/ship-project.md +859 -0
  111. package/renn/workflows/transition.md +556 -0
  112. package/renn/workflows/watch-project.md +797 -0
@@ -0,0 +1,343 @@
1
+ ---
2
+ name: renn.run-stage
3
+ description: Execute all runs in a stage with batch-based parallelization
4
+ argument-hint: "<stage-number> [--gaps-only]"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Edit
9
+ - Glob
10
+ - Grep
11
+ - Bash
12
+ - Task
13
+ - TodoWrite
14
+ - AskUserQuestion
15
+ ---
16
+
17
+ <objective>
18
+ Execute all runs in a stage using batch-based parallel execution.
19
+
20
+ Orchestrator stays lean: discover runs, analyze dependencies, group into batches, spawn subagents, collect results. Each subagent loads the full run-plan context and handles its own run.
21
+
22
+ Context budget: ~15% orchestrator, 100% fresh per subagent.
23
+ </objective>
24
+
25
+ <execution_context>
26
+ @~/.claude/renn/references/ui-brand.md
27
+ @~/.claude/renn/workflows/run-stage.md
28
+ </execution_context>
29
+
30
+ <context>
31
+ Stage: $ARGUMENTS
32
+
33
+ **Flags:**
34
+ - `--gaps-only` — Execute only gap closure runs (runs with `gap_closure: true` in frontmatter). Use after audit creates fix runs.
35
+
36
+ @.renn/track.md
37
+ @.renn/pulse.md
38
+ </context>
39
+
40
+ <process>
41
+ 0. **Resolve Horsepower Profile**
42
+
43
+ Read horsepower profile for agent spawning:
44
+ ```bash
45
+ HORSEPOWER=$(cat .renn/config.json 2>/dev/null | grep -o '"horsepower"[[:space:]]*:[[:space:]]*"[^"]*"' | grep -o '"[^"]*"$' | tr -d '"' || echo "balanced")
46
+ ```
47
+
48
+ Default to "balanced" if not set.
49
+
50
+ **Model lookup table:**
51
+
52
+ | Agent | max | balanced | eco |
53
+ |-------|-----|----------|-----|
54
+ | renn-runner | opus | sonnet | sonnet |
55
+ | renn-auditor | sonnet | sonnet | haiku |
56
+
57
+ Store resolved models for use in Task calls below.
58
+
59
+ 1. **Validate stage exists**
60
+ - Find stage directory matching argument
61
+ - Count run.md files
62
+ - Error if no runs found
63
+
64
+ 2. **Discover runs**
65
+ - List all *-run.md files in stage directory
66
+ - Check which have *-recap.md (already complete)
67
+ - If `--gaps-only`: filter to only runs with `gap_closure: true`
68
+ - Build list of incomplete runs
69
+
70
+ 3. **Group by batch**
71
+ - Read `batch` from each run's frontmatter
72
+ - Group runs by batch number
73
+ - Report batch structure to user
74
+
75
+ 4. **Execute batches**
76
+ For each batch in order:
77
+ - Spawn `renn-runner` for each run in batch (parallel Task calls)
78
+ - Wait for completion (Task blocks)
79
+ - Verify RECAPs created
80
+ - Proceed to next batch
81
+
82
+ 5. **Aggregate results**
83
+ - Collect recaps from all runs
84
+ - Report stage completion status
85
+
86
+ 6. **Commit any orchestrator corrections**
87
+ Check for uncommitted changes before verification:
88
+ ```bash
89
+ git status --porcelain
90
+ ```
91
+
92
+ **If changes exist:** Orchestrator made corrections between runner completions. Stage and commit them individually:
93
+ ```bash
94
+ # Stage each modified file individually (never use git add -u, git add ., or git add -A)
95
+ git status --porcelain | grep '^ M' | cut -c4- | while read file; do
96
+ git add "$file"
97
+ done
98
+ git commit -m "fix({stage}): orchestrator corrections"
99
+ ```
100
+
101
+ **If clean:** Continue to verification.
102
+
103
+ 7. **Verify stage goal**
104
+ Check config: `CHECKS_AUDITOR=$(cat .renn/config.json 2>/dev/null | grep -o '"auditor"[[:space:]]*:[[:space:]]*[^,}]*' | grep -o 'true\|false' || echo "true")`
105
+
106
+ **If `checks.auditor` is `false`:** Skip to step 8 (treat as passed).
107
+
108
+ **Otherwise:**
109
+ - Spawn `renn-auditor` subagent with stage directory and goal
110
+ - Auditor checks must_haves against actual codebase (not RECAP claims)
111
+ - Creates proof.md with detailed report
112
+ - Route by status:
113
+ - `passed` → continue to step 8
114
+ - `human_needed` → present items, get approval or feedback
115
+ - `gaps_found` → present gaps, offer `/renn.plan-stage {X} --gaps`
116
+
117
+ 8. **Update track and pulse**
118
+ - Update track.md, pulse.md
119
+
120
+ 9. **Update specs**
121
+ Mark stage requirements as Complete:
122
+ - Read track.md, find this stage's `Requirements:` line (e.g., "AUTH-01, AUTH-02")
123
+ - Read specs.md traceability table
124
+ - For each REQ-ID in this stage: change Status from "Pending" to "Complete"
125
+ - Write updated specs.md
126
+ - Skip if: specs.md doesn't exist, or stage has no Requirements line
127
+
128
+ 10. **Commit stage completion**
129
+ Check `COMMIT_PLANNING_DOCS` from config.json (default: true).
130
+ If false: Skip git operations for .renn/ files.
131
+ If true: Bundle all stage metadata updates in one commit:
132
+ - Stage: `git add .renn/track.md .renn/pulse.md`
133
+ - Stage specs.md if updated: `git add .renn/specs.md`
134
+ - Commit: `docs({stage}): complete {stage-name} stage`
135
+
136
+ 11. **Offer next steps**
137
+ - Route to next action (see `<offer_next>`)
138
+ </process>
139
+
140
+ <offer_next>
141
+ Output this markdown directly (not as a code block). Route based on status:
142
+
143
+ | Status | Route |
144
+ |--------|-------|
145
+ | `gaps_found` | Route C (gap closure) |
146
+ | `human_needed` | Present checklist, then re-route based on approval |
147
+ | `passed` + more stages | Route A (next stage) |
148
+ | `passed` + last stage | Route B (milestone complete) |
149
+
150
+ ---
151
+
152
+ **Route A: Stage verified, more stages remain**
153
+
154
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
155
+ RENN ► STAGE {Z} COMPLETE ✓
156
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
157
+
158
+ **Stage {Z}: {Name}**
159
+
160
+ {Y} runs executed
161
+ Goal verified ✓
162
+
163
+ ───────────────────────────────────────────────────────────────
164
+
165
+ ## ▶ Next Up
166
+
167
+ **Stage {Z+1}: {Name}** — {Goal from track.md}
168
+
169
+ /renn.discuss-stage {Z+1} — gather context and clarify approach
170
+
171
+ <sub>/clear first → fresh context window</sub>
172
+
173
+ ───────────────────────────────────────────────────────────────
174
+
175
+ **Also available:**
176
+ - /renn.plan-stage {Z+1} — skip discussion, plan directly
177
+ - /renn.audit {Z} — manual acceptance testing before continuing
178
+
179
+ ───────────────────────────────────────────────────────────────
180
+
181
+ ---
182
+
183
+ **Route B: Stage verified, milestone complete**
184
+
185
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
186
+ RENN ► MILESTONE COMPLETE 🎉
187
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
188
+
189
+ **v1.0**
190
+
191
+ {N} stages completed
192
+ All stage goals verified ✓
193
+
194
+ ───────────────────────────────────────────────────────────────
195
+
196
+ ## ▶ Next Up
197
+
198
+ **Audit milestone** — verify requirements, cross-stage integration, E2E flows
199
+
200
+ /renn.audit-milestone
201
+
202
+ <sub>/clear first → fresh context window</sub>
203
+
204
+ ───────────────────────────────────────────────────────────────
205
+
206
+ **Also available:**
207
+ - /renn.audit — manual acceptance testing
208
+ - /renn.complete-milestone — skip audit, archive directly
209
+
210
+ ───────────────────────────────────────────────────────────────
211
+
212
+ ---
213
+
214
+ **Route C: Gaps found — need additional planning**
215
+
216
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
217
+ RENN ► STAGE {Z} GAPS FOUND ⚠
218
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
219
+
220
+ **Stage {Z}: {Name}**
221
+
222
+ Score: {N}/{M} must-haves verified
223
+ Report: .renn/stages/{stage_dir}/{stage}-proof.md
224
+
225
+ ### What's Missing
226
+
227
+ {Extract gap summaries from proof.md}
228
+
229
+ ───────────────────────────────────────────────────────────────
230
+
231
+ ## ▶ Next Up
232
+
233
+ **Plan gap closure** — create additional runs to complete the stage
234
+
235
+ /renn.plan-stage {Z} --gaps
236
+
237
+ <sub>/clear first → fresh context window</sub>
238
+
239
+ ───────────────────────────────────────────────────────────────
240
+
241
+ **Also available:**
242
+ - cat .renn/stages/{stage_dir}/{stage}-proof.md — see full report
243
+ - /renn.audit {Z} — manual testing before planning
244
+
245
+ ───────────────────────────────────────────────────────────────
246
+
247
+ ---
248
+
249
+ After user runs /renn.plan-stage {Z} --gaps:
250
+ 1. Architect reads proof.md gaps
251
+ 2. Creates runs 04, 05, etc. to close gaps
252
+ 3. User runs /renn.run-stage {Z} again
253
+ 4. Run-stage runs incomplete runs (04, 05...)
254
+ 5. Auditor runs again → loop until passed
255
+ </offer_next>
256
+
257
+ <batch_execution>
258
+ **Parallel spawning:**
259
+
260
+ Before spawning, read file contents. The `@` syntax does not work across Task() boundaries.
261
+
262
+ ```bash
263
+ # Read each run and pulse.md
264
+ RUN_01_CONTENT=$(cat "{run_01_path}")
265
+ RUN_02_CONTENT=$(cat "{run_02_path}")
266
+ RUN_03_CONTENT=$(cat "{run_03_path}")
267
+ PULSE_CONTENT=$(cat .renn/pulse.md)
268
+ ```
269
+
270
+ Spawn all runs in a batch with a single message containing multiple Task calls, with inlined content:
271
+
272
+ ```
273
+ Task(prompt="Execute run at {run_01_path}\n\nRun:\n{run_01_content}\n\nProject pulse:\n{pulse_content}", subagent_type="renn-runner", model="{runner_model}")
274
+ Task(prompt="Execute run at {run_02_path}\n\nRun:\n{run_02_content}\n\nProject pulse:\n{pulse_content}", subagent_type="renn-runner", model="{runner_model}")
275
+ Task(prompt="Execute run at {run_03_path}\n\nRun:\n{run_03_content}\n\nProject pulse:\n{pulse_content}", subagent_type="renn-runner", model="{runner_model}")
276
+ ```
277
+
278
+ All three run in parallel. Task tool blocks until all complete.
279
+
280
+ **No polling.** No background agents. No TaskOutput loops.
281
+ </batch_execution>
282
+
283
+ <gate_handling>
284
+ Runs with `autonomous: false` have gates. The run-stage.md workflow handles the full gate flow:
285
+ - Subagent pauses at gate, returns structured state
286
+ - Orchestrator presents to user, collects response
287
+ - Spawns fresh continuation agent (not resume)
288
+
289
+ See `@~/.claude/renn/workflows/run-stage.md` step `gate_handling` for complete details.
290
+ </gate_handling>
291
+
292
+ <drift_rules>
293
+ During execution, handle discoveries automatically:
294
+
295
+ 1. **Auto-fix bugs** - Fix immediately, document in Recap
296
+ 2. **Auto-add critical** - Security/correctness gaps, add and document
297
+ 3. **Auto-fix blockers** - Can't proceed without fix, do it and document
298
+ 4. **Ask about architectural** - Major structural changes, stop and ask user
299
+
300
+ Only rule 4 requires user intervention.
301
+ </drift_rules>
302
+
303
+ <commit_rules>
304
+ **Per-Task Commits:**
305
+
306
+ After each task completes:
307
+ 1. Stage only files modified by that task
308
+ 2. Commit with format: `{type}({stage}.{run}): {task-name}`
309
+ 3. Types: feat, fix, test, refactor, perf, chore
310
+ 4. Record commit hash for recap.md
311
+
312
+ **Run Metadata Commit:**
313
+
314
+ After all tasks in a run complete:
315
+ 1. Stage run artifacts only: run.md, recap.md
316
+ 2. Commit with format: `docs({stage}.{run}): complete [run-name] run`
317
+ 3. NO code files (already committed per-task)
318
+
319
+ **Stage Completion Commit:**
320
+
321
+ After all runs in stage complete (step 7):
322
+ 1. Stage: track.md, pulse.md, specs.md (if updated), proof.md
323
+ 2. Commit with format: `docs({stage}): complete {stage-name} stage`
324
+ 3. Bundles all stage-level state updates in one commit
325
+
326
+ **NEVER use:**
327
+ - `git add .`
328
+ - `git add -A`
329
+ - `git add src/` or any broad directory
330
+
331
+ **Always stage files individually.**
332
+ </commit_rules>
333
+
334
+ <success_criteria>
335
+ - [ ] All incomplete runs in stage executed
336
+ - [ ] Each run has recap.md
337
+ - [ ] Stage goal verified (must_haves checked against codebase)
338
+ - [ ] proof.md created in stage directory
339
+ - [ ] pulse.md reflects stage completion
340
+ - [ ] track.md updated
341
+ - [ ] specs.md updated (stage requirements marked Complete)
342
+ - [ ] User informed of next steps
343
+ </success_criteria>
@@ -0,0 +1,116 @@
1
+ ---
2
+ name: renn.set-profile
3
+ description: Switch horsepower profile for RENN agents (max/balanced/eco)
4
+ allowed-tools:
5
+ - Read
6
+ - Write
7
+ - Bash
8
+ arguments:
9
+ - name: profile
10
+ description: "Profile name: max, balanced, or eco"
11
+ required: true
12
+ ---
13
+
14
+ <objective>
15
+ Switch the horsepower profile used by RENN agents. This controls which Claude model each agent uses, balancing quality vs token spend.
16
+ </objective>
17
+
18
+ <profiles>
19
+ | Profile | Description |
20
+ |---------|-------------|
21
+ | **max** | Opus everywhere except read-only auditing |
22
+ | **balanced** | Opus for planning, Sonnet for execution/auditing (default) |
23
+ | **eco** | Sonnet for writing, Haiku for research/auditing |
24
+ </profiles>
25
+
26
+ <process>
27
+
28
+ ## 1. Validate argument
29
+
30
+ ```
31
+ if $ARGUMENTS.profile not in ["max", "balanced", "eco"]:
32
+ Error: Invalid profile "$ARGUMENTS.profile"
33
+ Valid profiles: max, balanced, eco
34
+ STOP
35
+ ```
36
+
37
+ ## 2. Check for project
38
+
39
+ ```bash
40
+ ls .renn/config.json 2>/dev/null
41
+ ```
42
+
43
+ If no `.renn/` directory:
44
+ ```
45
+ Error: No RENN project found.
46
+ Run /renn.start first to initialize a project.
47
+ ```
48
+
49
+ ## 3. Update config.json
50
+
51
+ Read current config:
52
+ ```bash
53
+ cat .renn/config.json
54
+ ```
55
+
56
+ Update `horsepower` field (or add if missing):
57
+ ```json
58
+ {
59
+ "horsepower": "$ARGUMENTS.profile"
60
+ }
61
+ ```
62
+
63
+ Write updated config back to `.renn/config.json`.
64
+
65
+ ## 4. Confirm
66
+
67
+ ```
68
+ ✓ Horsepower profile set to: $ARGUMENTS.profile
69
+
70
+ Agents will now use:
71
+ [Show table from horsepower-profiles.md for selected profile]
72
+
73
+ Next spawned agents will use the new profile.
74
+ ```
75
+
76
+ </process>
77
+
78
+ <examples>
79
+
80
+ **Switch to eco mode:**
81
+ ```
82
+ /renn.set-profile eco
83
+
84
+ ✓ Horsepower profile set to: eco
85
+
86
+ Agents will now use:
87
+ | Agent | Model |
88
+ |-------|-------|
89
+ | renn-architect | sonnet |
90
+ | renn-runner | sonnet |
91
+ | renn-auditor | haiku |
92
+ | ... | ... |
93
+ ```
94
+
95
+ **Switch to max mode:**
96
+ ```
97
+ /renn.set-profile max
98
+
99
+ ✓ Horsepower profile set to: max
100
+
101
+ Agents will now use:
102
+ | Agent | Model |
103
+ |-------|-------|
104
+ | renn-architect | opus |
105
+ | renn-runner | opus |
106
+ | renn-auditor | sonnet |
107
+ | ... | ... |
108
+ ```
109
+
110
+ </examples>
111
+
112
+ <success_criteria>
113
+ - [ ] Profile validated as max, balanced, or eco
114
+ - [ ] config.json updated with new horsepower value
115
+ - [ ] Confirmation with model table displayed to user
116
+ </success_criteria>
@@ -0,0 +1,151 @@
1
+ ---
2
+ name: renn.settings
3
+ description: Configure RENN workflow toggles and horsepower profile
4
+ allowed-tools:
5
+ - Read
6
+ - Write
7
+ - AskUserQuestion
8
+ ---
9
+
10
+ <objective>
11
+ Allow users to toggle workflow agents on/off and select horsepower profile via interactive settings.
12
+
13
+ Updates `.renn/config.json` with workflow preferences and horsepower profile selection.
14
+ </objective>
15
+
16
+ <process>
17
+
18
+ ## 1. Validate Environment
19
+
20
+ ```bash
21
+ ls .renn/config.json 2>/dev/null
22
+ ```
23
+
24
+ **If not found:** Error - run `/renn.start` first.
25
+
26
+ ## 2. Read Current Config
27
+
28
+ ```bash
29
+ cat .renn/config.json
30
+ ```
31
+
32
+ Parse current values (default to `true` if not present):
33
+ - `checks.research` — spawn scout during plan-stage
34
+ - `checks.review` — spawn plan reviewer during plan-stage
35
+ - `checks.auditor` — spawn auditor during run-stage
36
+ - `horsepower` — which model each agent uses (default: `balanced`)
37
+ - `git.branching_strategy` — branching approach (default: `"none"`)
38
+
39
+ ## 3. Present Settings
40
+
41
+ Use AskUserQuestion with current values shown:
42
+
43
+ ```
44
+ AskUserQuestion([
45
+ {
46
+ question: "Which horsepower profile for agents?",
47
+ header: "Horsepower",
48
+ multiSelect: false,
49
+ options: [
50
+ { label: "Max", description: "Opus everywhere except auditing (highest cost)" },
51
+ { label: "Balanced (Recommended)", description: "Opus for planning, Sonnet for execution/auditing" },
52
+ { label: "Eco", description: "Sonnet for writing, Haiku for research/auditing (lowest cost)" }
53
+ ]
54
+ },
55
+ {
56
+ question: "Spawn Stage Scout? (researches domain before planning)",
57
+ header: "Research",
58
+ multiSelect: false,
59
+ options: [
60
+ { label: "Yes", description: "Research stage goals before planning" },
61
+ { label: "No", description: "Skip research, plan directly" }
62
+ ]
63
+ },
64
+ {
65
+ question: "Spawn Plan Reviewer? (verifies runs before execution)",
66
+ header: "Review",
67
+ multiSelect: false,
68
+ options: [
69
+ { label: "Yes", description: "Verify runs meet stage goals" },
70
+ { label: "No", description: "Skip run verification" }
71
+ ]
72
+ },
73
+ {
74
+ question: "Spawn Auditor? (verifies stage completion)",
75
+ header: "Auditor",
76
+ multiSelect: false,
77
+ options: [
78
+ { label: "Yes", description: "Verify must-haves after execution" },
79
+ { label: "No", description: "Skip post-execution auditing" }
80
+ ]
81
+ },
82
+ {
83
+ question: "Git branching strategy?",
84
+ header: "Branching",
85
+ multiSelect: false,
86
+ options: [
87
+ { label: "None (Recommended)", description: "Commit directly to current branch" },
88
+ { label: "Per Stage", description: "Create branch for each stage (renn/stage-{N}-{name})" },
89
+ { label: "Per Milestone", description: "Create branch for entire milestone (renn/{version}-{name})" }
90
+ ]
91
+ }
92
+ ])
93
+ ```
94
+
95
+ **Pre-select based on current config values.**
96
+
97
+ ## 4. Update Config
98
+
99
+ Merge new settings into existing config.json:
100
+
101
+ ```json
102
+ {
103
+ ...existing_config,
104
+ "horsepower": "max" | "balanced" | "eco",
105
+ "checks": {
106
+ "research": true/false,
107
+ "review": true/false,
108
+ "auditor": true/false
109
+ },
110
+ "git": {
111
+ "branching_strategy": "none" | "stage" | "milestone"
112
+ }
113
+ }
114
+ ```
115
+
116
+ Write updated config to `.renn/config.json`.
117
+
118
+ ## 5. Confirm Changes
119
+
120
+ Display:
121
+
122
+ ```
123
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
124
+ RENN ► SETTINGS UPDATED
125
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
126
+
127
+ | Setting | Value |
128
+ |----------------------|-------|
129
+ | Horsepower Profile | {max/balanced/eco} |
130
+ | Stage Scout | {On/Off} |
131
+ | Plan Reviewer | {On/Off} |
132
+ | Auditor | {On/Off} |
133
+ | Git Branching | {None/Per Stage/Per Milestone} |
134
+
135
+ These settings apply to future /renn.plan-stage and /renn.run-stage runs.
136
+
137
+ Quick commands:
138
+ - /renn.set-profile <profile> — switch horsepower profile
139
+ - /renn.plan-stage --research — force research
140
+ - /renn.plan-stage --skip-research — skip research
141
+ - /renn.plan-stage --skip-verify — skip plan review
142
+ ```
143
+
144
+ </process>
145
+
146
+ <success_criteria>
147
+ - [ ] Current config read
148
+ - [ ] User presented with 5 settings (horsepower + 3 workflow toggles + git branching)
149
+ - [ ] Config updated with horsepower, checks, and git sections
150
+ - [ ] Changes confirmed to user
151
+ </success_criteria>
@@ -0,0 +1,52 @@
1
+ ---
2
+ name: renn.ship
3
+ description: Ship your project to a deployment target
4
+ allowed-tools:
5
+ - Read
6
+ - Bash
7
+ - Glob
8
+ - Grep
9
+ - Write
10
+ - Task
11
+ - AskUserQuestion
12
+ ---
13
+
14
+ <objective>
15
+ Prepare and ship your project to a deployment target (Vercel, npm, Railway, etc.).
16
+
17
+ Reads brief.md for project context, detects stack for smart platform suggestions, and delegates to ship-project workflow.
18
+
19
+ **Three phases:**
20
+ 1. ASK -- Present project summary, suggest platforms, user declares target
21
+ 2. RESEARCH & PLAN -- Investigate target requirements, generate checklist
22
+ 3. WALK CHECKLIST -- Execute auto items, present gates for human steps, track progress
23
+
24
+ When `.renn/ship-plan.md` exists from a prior run, offers resume/restart/different-target.
25
+ </objective>
26
+
27
+ <execution_context>
28
+ @~/.claude/renn/workflows/ship-project.md
29
+ </execution_context>
30
+
31
+ <context>
32
+ $ARGUMENTS
33
+
34
+ @.renn/pulse.md
35
+ @.renn/brief.md
36
+ </context>
37
+
38
+ <process>
39
+ **Follow ship-project.md workflow.**
40
+ </process>
41
+
42
+ <success_criteria>
43
+ - [ ] Project summary presented from brief.md
44
+ - [ ] Smart platform suggestions based on detected stack
45
+ - [ ] User declared shipping target (or resumed existing plan)
46
+ - [ ] Target persisted to .renn/ship-target.md for Phase 2
47
+ - [ ] Scout research spawned for target platform
48
+ - [ ] Deployment checklist saved to .renn/ship-plan.md with auto/gate classification
49
+ - [ ] Checklist items executed (auto) or presented (gate) with progress tracking
50
+ - [ ] Failed steps offer retry/skip/abort recovery
51
+ - [ ] Ship workflow completes with summary of results
52
+ </success_criteria>