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.
- package/LICENSE +22 -0
- package/README.md +36 -0
- package/agents/renn-architect.md +1463 -0
- package/agents/renn-auditor.md +1053 -0
- package/agents/renn-codebase-mapper.md +908 -0
- package/agents/renn-design-reviewer.md +422 -0
- package/agents/renn-designer.md +814 -0
- package/agents/renn-detective.md +1204 -0
- package/agents/renn-integration-checker.md +957 -0
- package/agents/renn-navigator.md +659 -0
- package/agents/renn-plan-reviewer.md +812 -0
- package/agents/renn-project-scout.md +880 -0
- package/agents/renn-runner.md +842 -0
- package/agents/renn-stage-scout.md +705 -0
- package/agents/renn-synthesizer.md +256 -0
- package/bin/install.js +1466 -0
- package/commands/renn.add-stage.md +211 -0
- package/commands/renn.add-todo.md +194 -0
- package/commands/renn.audit-milestone.md +280 -0
- package/commands/renn.audit.md +219 -0
- package/commands/renn.check-todos.md +229 -0
- package/commands/renn.complete-milestone.md +136 -0
- package/commands/renn.continue.md +46 -0
- package/commands/renn.dash.md +308 -0
- package/commands/renn.debug.md +169 -0
- package/commands/renn.design-screens.md +107 -0
- package/commands/renn.design-system.md +100 -0
- package/commands/renn.discuss-stage.md +86 -0
- package/commands/renn.help.md +550 -0
- package/commands/renn.insert-stage.md +231 -0
- package/commands/renn.list-stage-assumptions.md +49 -0
- package/commands/renn.map-codebase.md +72 -0
- package/commands/renn.new-milestone.md +80 -0
- package/commands/renn.pause.md +132 -0
- package/commands/renn.plan-milestone-gaps.md +314 -0
- package/commands/renn.plan-stage.md +118 -0
- package/commands/renn.remove-stage.md +353 -0
- package/commands/renn.research-stage.md +200 -0
- package/commands/renn.restyle.md +98 -0
- package/commands/renn.run-stage.md +343 -0
- package/commands/renn.set-profile.md +116 -0
- package/commands/renn.settings.md +151 -0
- package/commands/renn.ship.md +52 -0
- package/commands/renn.start.md +95 -0
- package/commands/renn.status.md +530 -0
- package/commands/renn.watch.md +51 -0
- package/hooks/dist/renn-check-update.js +67 -0
- package/hooks/dist/renn-statusline.js +96 -0
- package/package.json +89 -0
- package/renn/references/continuation-format.md +249 -0
- package/renn/references/design-artifacts.md +674 -0
- package/renn/references/design-tokens.md +162 -0
- package/renn/references/gates.md +1078 -0
- package/renn/references/git-integration.md +254 -0
- package/renn/references/horsepower-profiles.md +84 -0
- package/renn/references/planning-config.md +189 -0
- package/renn/references/questioning.md +141 -0
- package/renn/references/security-checklist.md +2184 -0
- package/renn/references/tdd.md +263 -0
- package/renn/references/ui-brand.md +189 -0
- package/renn/references/verification-patterns.md +612 -0
- package/renn/templates/DEBUG.md +159 -0
- package/renn/templates/INTEL.md +283 -0
- package/renn/templates/RECAP.md +246 -0
- package/renn/templates/UAT.md +247 -0
- package/renn/templates/architect-prompt.md +119 -0
- package/renn/templates/brief.md +190 -0
- package/renn/templates/codebase/architecture.md +264 -0
- package/renn/templates/codebase/concerns.md +310 -0
- package/renn/templates/codebase/conventions.md +307 -0
- package/renn/templates/codebase/design.md +336 -0
- package/renn/templates/codebase/integrations.md +280 -0
- package/renn/templates/codebase/stack.md +186 -0
- package/renn/templates/codebase/structure.md +295 -0
- package/renn/templates/codebase/testing.md +480 -0
- package/renn/templates/config.json +36 -0
- package/renn/templates/continue-here.md +80 -0
- package/renn/templates/detective-prompt.md +93 -0
- package/renn/templates/milestone-archive.md +123 -0
- package/renn/templates/milestone.md +117 -0
- package/renn/templates/proof.md +326 -0
- package/renn/templates/pulse.md +176 -0
- package/renn/templates/research/architecture.md +206 -0
- package/renn/templates/research/features.md +149 -0
- package/renn/templates/research/pitfalls.md +202 -0
- package/renn/templates/research/recap.md +187 -0
- package/renn/templates/research/stack.md +122 -0
- package/renn/templates/research/ux.md +283 -0
- package/renn/templates/research-lite.md +146 -0
- package/renn/templates/research.md +582 -0
- package/renn/templates/specs.md +233 -0
- package/renn/templates/stage-prompt.md +571 -0
- package/renn/templates/track.md +211 -0
- package/renn/templates/user-setup.md +315 -0
- package/renn/workflows/audit-stage.md +717 -0
- package/renn/workflows/audit-work.md +596 -0
- package/renn/workflows/complete-milestone.md +875 -0
- package/renn/workflows/continue-project.md +306 -0
- package/renn/workflows/design-stage.md +2019 -0
- package/renn/workflows/diagnose-issues.md +231 -0
- package/renn/workflows/initialize-project.md +1039 -0
- package/renn/workflows/list-assumptions.md +178 -0
- package/renn/workflows/map-codebase.md +374 -0
- package/renn/workflows/new-milestone.md +718 -0
- package/renn/workflows/plan-stage.md +810 -0
- package/renn/workflows/research-stage.md +289 -0
- package/renn/workflows/run-plan.md +1844 -0
- package/renn/workflows/run-stage.md +692 -0
- package/renn/workflows/scope-stage.md +546 -0
- package/renn/workflows/ship-project.md +859 -0
- package/renn/workflows/transition.md +556 -0
- 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>
|