@lifeaitools/rdc-skills 0.10.0 → 0.12.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/.claude-plugin/plugin.json +905 -2
- package/package.json +1 -1
- package/skills/build/SKILL.md +20 -3
- package/skills/help/SKILL.md +83 -88
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rdc",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.0",
|
|
4
4
|
"description": "RDC typed-agent dispatch skill suite for Claude Code — plan, build, review, overnight unattended builds with work-item tracking and TDD enforcement.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "LIFEAI",
|
|
@@ -30,5 +30,908 @@
|
|
|
30
30
|
"terminal-config",
|
|
31
31
|
"watch",
|
|
32
32
|
"workitems"
|
|
33
|
-
]
|
|
33
|
+
],
|
|
34
|
+
"skills_meta_schema": {
|
|
35
|
+
"$comment": "Schema for entries in skills_meta. Each skill object has the same shape.",
|
|
36
|
+
"name": "string — skill slug (matches directory name under skills/)",
|
|
37
|
+
"slash": "string — slash-command form, e.g. 'rdc:build'",
|
|
38
|
+
"category": "planning | build | deploy | release | reporting | tooling | infra | dev-loop",
|
|
39
|
+
"usage": "string — single-line invocation example",
|
|
40
|
+
"args": {
|
|
41
|
+
"positional": "array of { name, required, description, accepts }",
|
|
42
|
+
"flags": "array of { name, type, default, description }"
|
|
43
|
+
},
|
|
44
|
+
"requires": "array of capabilities — subset of: supabase, clauth, codeflow, neo4j, github, coolify, pm2, npm, git, codeflow-http, agent-dispatch, work-items-rpc",
|
|
45
|
+
"produces": "array of side effects — subset of: work_items, git_commits, supabase_writes, git_pushes, deploys, npm_publishes, .rdc/plans/, .rdc/reports/, prototype_registry, akg_ingests",
|
|
46
|
+
"default_model": "opus | sonnet | haiku | inherit",
|
|
47
|
+
"triggers": "array of natural-language phrases that should suggest this skill",
|
|
48
|
+
"follows": "array of skill names that typically run before this one",
|
|
49
|
+
"leads_to": "array of skill names that typically run after this one",
|
|
50
|
+
"sandbox_aware": "bool — true if skill honors RDC_TEST=1 short-circuit",
|
|
51
|
+
"output_contract": "string — relative path to the skill's output contract (usually guides/output-contract.md)",
|
|
52
|
+
"enabled_default": "bool — installer default; user can override in settings.json",
|
|
53
|
+
"codeflow_required": "bool — true if the skill MUST consult CodeFlow before acting on the codebase"
|
|
54
|
+
},
|
|
55
|
+
"skills_meta": {
|
|
56
|
+
"build": {
|
|
57
|
+
"name": "build",
|
|
58
|
+
"slash": "rdc:build",
|
|
59
|
+
"category": "build",
|
|
60
|
+
"usage": "rdc:build <epic-id>",
|
|
61
|
+
"args": {
|
|
62
|
+
"positional": [
|
|
63
|
+
{
|
|
64
|
+
"name": "epic-id",
|
|
65
|
+
"required": true,
|
|
66
|
+
"description": "UUID of a work_items epic with todo children",
|
|
67
|
+
"accepts": "uuid"
|
|
68
|
+
}
|
|
69
|
+
],
|
|
70
|
+
"flags": [
|
|
71
|
+
{
|
|
72
|
+
"name": "--no-review",
|
|
73
|
+
"type": "bool",
|
|
74
|
+
"default": false,
|
|
75
|
+
"description": "Skip the mandatory per-wave code-review gate (NOT recommended)"
|
|
76
|
+
}
|
|
77
|
+
]
|
|
78
|
+
},
|
|
79
|
+
"requires": [
|
|
80
|
+
"supabase",
|
|
81
|
+
"clauth",
|
|
82
|
+
"codeflow",
|
|
83
|
+
"agent-dispatch",
|
|
84
|
+
"work-items-rpc",
|
|
85
|
+
"git"
|
|
86
|
+
],
|
|
87
|
+
"produces": [
|
|
88
|
+
"git_commits",
|
|
89
|
+
"work_items",
|
|
90
|
+
"supabase_writes",
|
|
91
|
+
"git_pushes"
|
|
92
|
+
],
|
|
93
|
+
"default_model": "opus",
|
|
94
|
+
"triggers": [
|
|
95
|
+
"build the epic",
|
|
96
|
+
"execute the plan",
|
|
97
|
+
"dispatch agents",
|
|
98
|
+
"run rdc build"
|
|
99
|
+
],
|
|
100
|
+
"follows": [
|
|
101
|
+
"plan",
|
|
102
|
+
"handoff"
|
|
103
|
+
],
|
|
104
|
+
"leads_to": [
|
|
105
|
+
"review",
|
|
106
|
+
"report"
|
|
107
|
+
],
|
|
108
|
+
"sandbox_aware": true,
|
|
109
|
+
"output_contract": "guides/output-contract.md",
|
|
110
|
+
"enabled_default": true,
|
|
111
|
+
"codeflow_required": true
|
|
112
|
+
},
|
|
113
|
+
"co-develop": {
|
|
114
|
+
"name": "co-develop",
|
|
115
|
+
"slash": "rdc:co-develop",
|
|
116
|
+
"category": "dev-loop",
|
|
117
|
+
"usage": "rdc:co-develop <ask|reply|inbox|start|resume|status>",
|
|
118
|
+
"args": {
|
|
119
|
+
"positional": [
|
|
120
|
+
{
|
|
121
|
+
"name": "subcommand",
|
|
122
|
+
"required": true,
|
|
123
|
+
"description": "Action verb",
|
|
124
|
+
"accepts": "ask | reply | inbox | start | resume | status"
|
|
125
|
+
}
|
|
126
|
+
],
|
|
127
|
+
"flags": [
|
|
128
|
+
{
|
|
129
|
+
"name": "--wait",
|
|
130
|
+
"type": "bool",
|
|
131
|
+
"default": false,
|
|
132
|
+
"description": "Block until peer responds (default for `ask`)"
|
|
133
|
+
}
|
|
134
|
+
]
|
|
135
|
+
},
|
|
136
|
+
"requires": [
|
|
137
|
+
"clauth"
|
|
138
|
+
],
|
|
139
|
+
"produces": [],
|
|
140
|
+
"default_model": "inherit",
|
|
141
|
+
"triggers": [
|
|
142
|
+
"ask codex",
|
|
143
|
+
"send to codex",
|
|
144
|
+
"claude codex co-development",
|
|
145
|
+
"peer-aware delegation"
|
|
146
|
+
],
|
|
147
|
+
"follows": [],
|
|
148
|
+
"leads_to": [],
|
|
149
|
+
"sandbox_aware": true,
|
|
150
|
+
"output_contract": "guides/output-contract.md",
|
|
151
|
+
"enabled_default": true,
|
|
152
|
+
"codeflow_required": false
|
|
153
|
+
},
|
|
154
|
+
"collab": {
|
|
155
|
+
"name": "collab",
|
|
156
|
+
"slash": "rdc:collab",
|
|
157
|
+
"category": "dev-loop",
|
|
158
|
+
"usage": "rdc:collab --session <session_id>",
|
|
159
|
+
"args": {
|
|
160
|
+
"positional": [],
|
|
161
|
+
"flags": [
|
|
162
|
+
{
|
|
163
|
+
"name": "--session",
|
|
164
|
+
"type": "string",
|
|
165
|
+
"default": null,
|
|
166
|
+
"description": "claude.ai session id to relay with",
|
|
167
|
+
"required": true
|
|
168
|
+
}
|
|
169
|
+
]
|
|
170
|
+
},
|
|
171
|
+
"requires": [
|
|
172
|
+
"clauth",
|
|
173
|
+
"git"
|
|
174
|
+
],
|
|
175
|
+
"produces": [
|
|
176
|
+
"git_commits",
|
|
177
|
+
"git_pushes"
|
|
178
|
+
],
|
|
179
|
+
"default_model": "inherit",
|
|
180
|
+
"triggers": [
|
|
181
|
+
"collab with claude ai",
|
|
182
|
+
"relay session",
|
|
183
|
+
"bidirectional session"
|
|
184
|
+
],
|
|
185
|
+
"follows": [],
|
|
186
|
+
"leads_to": [],
|
|
187
|
+
"sandbox_aware": true,
|
|
188
|
+
"output_contract": "guides/output-contract.md",
|
|
189
|
+
"enabled_default": true,
|
|
190
|
+
"codeflow_required": true
|
|
191
|
+
},
|
|
192
|
+
"deploy": {
|
|
193
|
+
"name": "deploy",
|
|
194
|
+
"slash": "rdc:deploy",
|
|
195
|
+
"category": "deploy",
|
|
196
|
+
"usage": "rdc:deploy <slug> [new|diagnose|audit] [--fix]",
|
|
197
|
+
"args": {
|
|
198
|
+
"positional": [
|
|
199
|
+
{
|
|
200
|
+
"name": "slug",
|
|
201
|
+
"required": true,
|
|
202
|
+
"description": "app_deployments.app_slug or pm2_name",
|
|
203
|
+
"accepts": "string"
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
"name": "action",
|
|
207
|
+
"required": false,
|
|
208
|
+
"description": "Operation kind",
|
|
209
|
+
"accepts": "new | diagnose | audit | (omit for default deploy)"
|
|
210
|
+
}
|
|
211
|
+
],
|
|
212
|
+
"flags": [
|
|
213
|
+
{
|
|
214
|
+
"name": "--fix",
|
|
215
|
+
"type": "bool",
|
|
216
|
+
"default": false,
|
|
217
|
+
"description": "Apply remediation during diagnose/audit"
|
|
218
|
+
}
|
|
219
|
+
]
|
|
220
|
+
},
|
|
221
|
+
"requires": [
|
|
222
|
+
"clauth",
|
|
223
|
+
"coolify",
|
|
224
|
+
"pm2",
|
|
225
|
+
"supabase",
|
|
226
|
+
"codeflow"
|
|
227
|
+
],
|
|
228
|
+
"produces": [
|
|
229
|
+
"deploys",
|
|
230
|
+
"supabase_writes"
|
|
231
|
+
],
|
|
232
|
+
"default_model": "opus",
|
|
233
|
+
"triggers": [
|
|
234
|
+
"deploy to dev",
|
|
235
|
+
"deploy to coolify",
|
|
236
|
+
"audit watch paths",
|
|
237
|
+
"fix deploy"
|
|
238
|
+
],
|
|
239
|
+
"follows": [
|
|
240
|
+
"build",
|
|
241
|
+
"review"
|
|
242
|
+
],
|
|
243
|
+
"leads_to": [
|
|
244
|
+
"release"
|
|
245
|
+
],
|
|
246
|
+
"sandbox_aware": true,
|
|
247
|
+
"output_contract": "guides/output-contract.md",
|
|
248
|
+
"enabled_default": true,
|
|
249
|
+
"codeflow_required": true
|
|
250
|
+
},
|
|
251
|
+
"design": {
|
|
252
|
+
"name": "design",
|
|
253
|
+
"slash": "rdc:design",
|
|
254
|
+
"category": "build",
|
|
255
|
+
"usage": "rdc:design <topic>",
|
|
256
|
+
"args": {
|
|
257
|
+
"positional": [
|
|
258
|
+
{
|
|
259
|
+
"name": "topic",
|
|
260
|
+
"required": true,
|
|
261
|
+
"description": "Design subject — palette, token system, Studio surface",
|
|
262
|
+
"accepts": "string"
|
|
263
|
+
}
|
|
264
|
+
],
|
|
265
|
+
"flags": []
|
|
266
|
+
},
|
|
267
|
+
"requires": [
|
|
268
|
+
"supabase",
|
|
269
|
+
"clauth",
|
|
270
|
+
"codeflow",
|
|
271
|
+
"git"
|
|
272
|
+
],
|
|
273
|
+
"produces": [
|
|
274
|
+
"git_commits",
|
|
275
|
+
"supabase_writes"
|
|
276
|
+
],
|
|
277
|
+
"default_model": "opus",
|
|
278
|
+
"triggers": [
|
|
279
|
+
"design palette",
|
|
280
|
+
"studio design",
|
|
281
|
+
"token-aware ui",
|
|
282
|
+
"rampant color work"
|
|
283
|
+
],
|
|
284
|
+
"follows": [],
|
|
285
|
+
"leads_to": [
|
|
286
|
+
"build"
|
|
287
|
+
],
|
|
288
|
+
"sandbox_aware": true,
|
|
289
|
+
"output_contract": "guides/output-contract.md",
|
|
290
|
+
"enabled_default": true,
|
|
291
|
+
"codeflow_required": true
|
|
292
|
+
},
|
|
293
|
+
"fixit": {
|
|
294
|
+
"name": "fixit",
|
|
295
|
+
"slash": "rdc:fixit",
|
|
296
|
+
"category": "dev-loop",
|
|
297
|
+
"usage": "rdc:fixit <description>",
|
|
298
|
+
"args": {
|
|
299
|
+
"positional": [
|
|
300
|
+
{
|
|
301
|
+
"name": "description",
|
|
302
|
+
"required": true,
|
|
303
|
+
"description": "Short prose description of the fix",
|
|
304
|
+
"accepts": "string"
|
|
305
|
+
}
|
|
306
|
+
],
|
|
307
|
+
"flags": []
|
|
308
|
+
},
|
|
309
|
+
"requires": [
|
|
310
|
+
"supabase",
|
|
311
|
+
"clauth",
|
|
312
|
+
"codeflow",
|
|
313
|
+
"agent-dispatch",
|
|
314
|
+
"work-items-rpc",
|
|
315
|
+
"git"
|
|
316
|
+
],
|
|
317
|
+
"produces": [
|
|
318
|
+
"git_commits",
|
|
319
|
+
"work_items",
|
|
320
|
+
"supabase_writes",
|
|
321
|
+
"git_pushes"
|
|
322
|
+
],
|
|
323
|
+
"default_model": "opus",
|
|
324
|
+
"triggers": [
|
|
325
|
+
"quick fix",
|
|
326
|
+
"small fix",
|
|
327
|
+
"hotfix",
|
|
328
|
+
"typo fix",
|
|
329
|
+
"less than 5 files"
|
|
330
|
+
],
|
|
331
|
+
"follows": [],
|
|
332
|
+
"leads_to": [],
|
|
333
|
+
"sandbox_aware": true,
|
|
334
|
+
"output_contract": "guides/output-contract.md",
|
|
335
|
+
"enabled_default": true,
|
|
336
|
+
"codeflow_required": true,
|
|
337
|
+
"constraint": "Files touched MUST be < 5 AND time MUST be < 30 min. Otherwise use rdc:plan."
|
|
338
|
+
},
|
|
339
|
+
"fs-mcp": {
|
|
340
|
+
"name": "fs-mcp",
|
|
341
|
+
"slash": "rdc:fs-mcp",
|
|
342
|
+
"category": "tooling",
|
|
343
|
+
"usage": "rdc:fs-mcp <task>",
|
|
344
|
+
"args": {
|
|
345
|
+
"positional": [
|
|
346
|
+
{
|
|
347
|
+
"name": "task",
|
|
348
|
+
"required": true,
|
|
349
|
+
"description": "Free-text task referencing fs_read/fs_write/fs_import_git_files",
|
|
350
|
+
"accepts": "string"
|
|
351
|
+
}
|
|
352
|
+
],
|
|
353
|
+
"flags": []
|
|
354
|
+
},
|
|
355
|
+
"requires": [
|
|
356
|
+
"clauth"
|
|
357
|
+
],
|
|
358
|
+
"produces": [],
|
|
359
|
+
"default_model": "inherit",
|
|
360
|
+
"triggers": [
|
|
361
|
+
"file system mcp",
|
|
362
|
+
"fs_read",
|
|
363
|
+
"fs_write",
|
|
364
|
+
"fs_import_git_files",
|
|
365
|
+
"claude.ai filesystem"
|
|
366
|
+
],
|
|
367
|
+
"follows": [],
|
|
368
|
+
"leads_to": [],
|
|
369
|
+
"sandbox_aware": false,
|
|
370
|
+
"output_contract": "guides/output-contract.md",
|
|
371
|
+
"enabled_default": true,
|
|
372
|
+
"codeflow_required": false
|
|
373
|
+
},
|
|
374
|
+
"handoff": {
|
|
375
|
+
"name": "handoff",
|
|
376
|
+
"slash": "rdc:handoff",
|
|
377
|
+
"category": "planning",
|
|
378
|
+
"usage": "rdc:handoff [--from-prototype <id>]",
|
|
379
|
+
"args": {
|
|
380
|
+
"positional": [],
|
|
381
|
+
"flags": [
|
|
382
|
+
{
|
|
383
|
+
"name": "--from-prototype",
|
|
384
|
+
"type": "string",
|
|
385
|
+
"default": null,
|
|
386
|
+
"description": "prototype_registry id to convert into a plan"
|
|
387
|
+
}
|
|
388
|
+
]
|
|
389
|
+
},
|
|
390
|
+
"requires": [
|
|
391
|
+
"supabase",
|
|
392
|
+
"clauth",
|
|
393
|
+
"codeflow",
|
|
394
|
+
"work-items-rpc",
|
|
395
|
+
"git"
|
|
396
|
+
],
|
|
397
|
+
"produces": [
|
|
398
|
+
"work_items",
|
|
399
|
+
"supabase_writes",
|
|
400
|
+
"git_commits",
|
|
401
|
+
".rdc/plans/",
|
|
402
|
+
"prototype_registry"
|
|
403
|
+
],
|
|
404
|
+
"default_model": "opus",
|
|
405
|
+
"triggers": [
|
|
406
|
+
"handoff to build",
|
|
407
|
+
"convert prototype to plan",
|
|
408
|
+
"finalize plan"
|
|
409
|
+
],
|
|
410
|
+
"follows": [
|
|
411
|
+
"plan",
|
|
412
|
+
"prototype"
|
|
413
|
+
],
|
|
414
|
+
"leads_to": [
|
|
415
|
+
"build"
|
|
416
|
+
],
|
|
417
|
+
"sandbox_aware": true,
|
|
418
|
+
"output_contract": "guides/output-contract.md",
|
|
419
|
+
"enabled_default": true,
|
|
420
|
+
"codeflow_required": true
|
|
421
|
+
},
|
|
422
|
+
"help": {
|
|
423
|
+
"name": "help",
|
|
424
|
+
"slash": "rdc:help",
|
|
425
|
+
"category": "reporting",
|
|
426
|
+
"usage": "rdc:help",
|
|
427
|
+
"args": {
|
|
428
|
+
"positional": [],
|
|
429
|
+
"flags": []
|
|
430
|
+
},
|
|
431
|
+
"requires": [],
|
|
432
|
+
"produces": [],
|
|
433
|
+
"default_model": "haiku",
|
|
434
|
+
"triggers": [
|
|
435
|
+
"rdc help",
|
|
436
|
+
"what rdc skills exist",
|
|
437
|
+
"list skills"
|
|
438
|
+
],
|
|
439
|
+
"follows": [],
|
|
440
|
+
"leads_to": [],
|
|
441
|
+
"sandbox_aware": false,
|
|
442
|
+
"output_contract": "guides/output-contract.md",
|
|
443
|
+
"enabled_default": true,
|
|
444
|
+
"codeflow_required": false
|
|
445
|
+
},
|
|
446
|
+
"overnight": {
|
|
447
|
+
"name": "overnight",
|
|
448
|
+
"slash": "rdc:overnight",
|
|
449
|
+
"category": "build",
|
|
450
|
+
"usage": "rdc:overnight [epic-id|label=<label>]",
|
|
451
|
+
"args": {
|
|
452
|
+
"positional": [
|
|
453
|
+
{
|
|
454
|
+
"name": "scope",
|
|
455
|
+
"required": false,
|
|
456
|
+
"description": "Specific epic UUID or label=<labelname> to drain",
|
|
457
|
+
"accepts": "uuid | label=string"
|
|
458
|
+
}
|
|
459
|
+
],
|
|
460
|
+
"flags": []
|
|
461
|
+
},
|
|
462
|
+
"requires": [
|
|
463
|
+
"supabase",
|
|
464
|
+
"clauth",
|
|
465
|
+
"codeflow",
|
|
466
|
+
"agent-dispatch",
|
|
467
|
+
"work-items-rpc",
|
|
468
|
+
"git"
|
|
469
|
+
],
|
|
470
|
+
"produces": [
|
|
471
|
+
"git_commits",
|
|
472
|
+
"work_items",
|
|
473
|
+
"supabase_writes",
|
|
474
|
+
"git_pushes",
|
|
475
|
+
".rdc/reports/"
|
|
476
|
+
],
|
|
477
|
+
"default_model": "opus",
|
|
478
|
+
"triggers": [
|
|
479
|
+
"unattended build",
|
|
480
|
+
"overnight run",
|
|
481
|
+
"drain queue",
|
|
482
|
+
"let claude run"
|
|
483
|
+
],
|
|
484
|
+
"follows": [],
|
|
485
|
+
"leads_to": [],
|
|
486
|
+
"sandbox_aware": true,
|
|
487
|
+
"output_contract": "guides/output-contract.md",
|
|
488
|
+
"enabled_default": true,
|
|
489
|
+
"codeflow_required": true
|
|
490
|
+
},
|
|
491
|
+
"plan": {
|
|
492
|
+
"name": "plan",
|
|
493
|
+
"slash": "rdc:plan",
|
|
494
|
+
"category": "planning",
|
|
495
|
+
"usage": "rdc:plan <topic>",
|
|
496
|
+
"args": {
|
|
497
|
+
"positional": [
|
|
498
|
+
{
|
|
499
|
+
"name": "topic",
|
|
500
|
+
"required": true,
|
|
501
|
+
"description": "What you want planned",
|
|
502
|
+
"accepts": "string"
|
|
503
|
+
}
|
|
504
|
+
],
|
|
505
|
+
"flags": []
|
|
506
|
+
},
|
|
507
|
+
"requires": [
|
|
508
|
+
"supabase",
|
|
509
|
+
"clauth",
|
|
510
|
+
"codeflow",
|
|
511
|
+
"work-items-rpc"
|
|
512
|
+
],
|
|
513
|
+
"produces": [
|
|
514
|
+
"work_items",
|
|
515
|
+
"supabase_writes",
|
|
516
|
+
".rdc/plans/"
|
|
517
|
+
],
|
|
518
|
+
"default_model": "opus",
|
|
519
|
+
"triggers": [
|
|
520
|
+
"plan an epic",
|
|
521
|
+
"break down work",
|
|
522
|
+
"architecture decision",
|
|
523
|
+
"design decisions"
|
|
524
|
+
],
|
|
525
|
+
"follows": [
|
|
526
|
+
"preplan"
|
|
527
|
+
],
|
|
528
|
+
"leads_to": [
|
|
529
|
+
"handoff",
|
|
530
|
+
"build"
|
|
531
|
+
],
|
|
532
|
+
"sandbox_aware": true,
|
|
533
|
+
"output_contract": "guides/output-contract.md",
|
|
534
|
+
"enabled_default": true,
|
|
535
|
+
"codeflow_required": true
|
|
536
|
+
},
|
|
537
|
+
"preplan": {
|
|
538
|
+
"name": "preplan",
|
|
539
|
+
"slash": "rdc:preplan",
|
|
540
|
+
"category": "planning",
|
|
541
|
+
"usage": "rdc:preplan <topic>",
|
|
542
|
+
"args": {
|
|
543
|
+
"positional": [
|
|
544
|
+
{
|
|
545
|
+
"name": "topic",
|
|
546
|
+
"required": true,
|
|
547
|
+
"description": "What you want researched",
|
|
548
|
+
"accepts": "string"
|
|
549
|
+
}
|
|
550
|
+
],
|
|
551
|
+
"flags": []
|
|
552
|
+
},
|
|
553
|
+
"requires": [
|
|
554
|
+
"codeflow"
|
|
555
|
+
],
|
|
556
|
+
"produces": [],
|
|
557
|
+
"default_model": "opus",
|
|
558
|
+
"triggers": [
|
|
559
|
+
"research before planning",
|
|
560
|
+
"preplan",
|
|
561
|
+
"research unknowns",
|
|
562
|
+
"what should we use"
|
|
563
|
+
],
|
|
564
|
+
"follows": [],
|
|
565
|
+
"leads_to": [
|
|
566
|
+
"plan"
|
|
567
|
+
],
|
|
568
|
+
"sandbox_aware": true,
|
|
569
|
+
"output_contract": "guides/output-contract.md",
|
|
570
|
+
"enabled_default": true,
|
|
571
|
+
"codeflow_required": true
|
|
572
|
+
},
|
|
573
|
+
"prototype": {
|
|
574
|
+
"name": "prototype",
|
|
575
|
+
"slash": "rdc:prototype",
|
|
576
|
+
"category": "build",
|
|
577
|
+
"usage": "rdc:prototype <description>",
|
|
578
|
+
"args": {
|
|
579
|
+
"positional": [
|
|
580
|
+
{
|
|
581
|
+
"name": "description",
|
|
582
|
+
"required": true,
|
|
583
|
+
"description": "What to mock up",
|
|
584
|
+
"accepts": "string"
|
|
585
|
+
}
|
|
586
|
+
],
|
|
587
|
+
"flags": []
|
|
588
|
+
},
|
|
589
|
+
"requires": [
|
|
590
|
+
"supabase",
|
|
591
|
+
"clauth",
|
|
592
|
+
"codeflow"
|
|
593
|
+
],
|
|
594
|
+
"produces": [
|
|
595
|
+
"supabase_writes",
|
|
596
|
+
"prototype_registry"
|
|
597
|
+
],
|
|
598
|
+
"default_model": "opus",
|
|
599
|
+
"triggers": [
|
|
600
|
+
"mock it up",
|
|
601
|
+
"prototype this",
|
|
602
|
+
"show me what it looks like",
|
|
603
|
+
"jsx mockup"
|
|
604
|
+
],
|
|
605
|
+
"follows": [],
|
|
606
|
+
"leads_to": [
|
|
607
|
+
"handoff",
|
|
608
|
+
"plan"
|
|
609
|
+
],
|
|
610
|
+
"sandbox_aware": true,
|
|
611
|
+
"output_contract": "guides/output-contract.md",
|
|
612
|
+
"enabled_default": true,
|
|
613
|
+
"codeflow_required": true
|
|
614
|
+
},
|
|
615
|
+
"release": {
|
|
616
|
+
"name": "release",
|
|
617
|
+
"slash": "rdc:release",
|
|
618
|
+
"category": "release",
|
|
619
|
+
"usage": "rdc:release <repo> [version|--patch|--minor|--major|--dry-run]",
|
|
620
|
+
"args": {
|
|
621
|
+
"positional": [
|
|
622
|
+
{
|
|
623
|
+
"name": "repo",
|
|
624
|
+
"required": true,
|
|
625
|
+
"description": "package slug or repo name",
|
|
626
|
+
"accepts": "string"
|
|
627
|
+
},
|
|
628
|
+
{
|
|
629
|
+
"name": "version",
|
|
630
|
+
"required": false,
|
|
631
|
+
"description": "Explicit semver",
|
|
632
|
+
"accepts": "semver"
|
|
633
|
+
}
|
|
634
|
+
],
|
|
635
|
+
"flags": [
|
|
636
|
+
{
|
|
637
|
+
"name": "--patch",
|
|
638
|
+
"type": "bool",
|
|
639
|
+
"default": false,
|
|
640
|
+
"description": "Bump patch"
|
|
641
|
+
},
|
|
642
|
+
{
|
|
643
|
+
"name": "--minor",
|
|
644
|
+
"type": "bool",
|
|
645
|
+
"default": false,
|
|
646
|
+
"description": "Bump minor"
|
|
647
|
+
},
|
|
648
|
+
{
|
|
649
|
+
"name": "--major",
|
|
650
|
+
"type": "bool",
|
|
651
|
+
"default": false,
|
|
652
|
+
"description": "Bump major"
|
|
653
|
+
},
|
|
654
|
+
{
|
|
655
|
+
"name": "--dry-run",
|
|
656
|
+
"type": "bool",
|
|
657
|
+
"default": false,
|
|
658
|
+
"description": "Show actions without executing"
|
|
659
|
+
}
|
|
660
|
+
]
|
|
661
|
+
},
|
|
662
|
+
"requires": [
|
|
663
|
+
"clauth",
|
|
664
|
+
"git",
|
|
665
|
+
"npm",
|
|
666
|
+
"coolify"
|
|
667
|
+
],
|
|
668
|
+
"produces": [
|
|
669
|
+
"git_commits",
|
|
670
|
+
"git_pushes",
|
|
671
|
+
"npm_publishes",
|
|
672
|
+
"deploys"
|
|
673
|
+
],
|
|
674
|
+
"default_model": "opus",
|
|
675
|
+
"triggers": [
|
|
676
|
+
"promote to production",
|
|
677
|
+
"release the package",
|
|
678
|
+
"push to main",
|
|
679
|
+
"bump version and ship"
|
|
680
|
+
],
|
|
681
|
+
"follows": [
|
|
682
|
+
"deploy",
|
|
683
|
+
"review"
|
|
684
|
+
],
|
|
685
|
+
"leads_to": [
|
|
686
|
+
"report"
|
|
687
|
+
],
|
|
688
|
+
"sandbox_aware": true,
|
|
689
|
+
"output_contract": "guides/output-contract.md",
|
|
690
|
+
"enabled_default": true,
|
|
691
|
+
"codeflow_required": false,
|
|
692
|
+
"production_gate": "Promotion to main/production requires explicit user go-ahead. Dev deploys do not."
|
|
693
|
+
},
|
|
694
|
+
"report": {
|
|
695
|
+
"name": "report",
|
|
696
|
+
"slash": "rdc:report",
|
|
697
|
+
"category": "reporting",
|
|
698
|
+
"usage": "rdc:report",
|
|
699
|
+
"args": {
|
|
700
|
+
"positional": [],
|
|
701
|
+
"flags": []
|
|
702
|
+
},
|
|
703
|
+
"requires": [
|
|
704
|
+
"supabase",
|
|
705
|
+
"clauth",
|
|
706
|
+
"codeflow"
|
|
707
|
+
],
|
|
708
|
+
"produces": [
|
|
709
|
+
".rdc/reports/"
|
|
710
|
+
],
|
|
711
|
+
"default_model": "opus",
|
|
712
|
+
"triggers": [
|
|
713
|
+
"session report",
|
|
714
|
+
"nightly report",
|
|
715
|
+
"summarize work done"
|
|
716
|
+
],
|
|
717
|
+
"follows": [
|
|
718
|
+
"build",
|
|
719
|
+
"review",
|
|
720
|
+
"deploy",
|
|
721
|
+
"release"
|
|
722
|
+
],
|
|
723
|
+
"leads_to": [],
|
|
724
|
+
"sandbox_aware": true,
|
|
725
|
+
"output_contract": "guides/output-contract.md",
|
|
726
|
+
"enabled_default": true,
|
|
727
|
+
"codeflow_required": true
|
|
728
|
+
},
|
|
729
|
+
"review": {
|
|
730
|
+
"name": "review",
|
|
731
|
+
"slash": "rdc:review",
|
|
732
|
+
"category": "build",
|
|
733
|
+
"usage": "rdc:review [--unattended]",
|
|
734
|
+
"args": {
|
|
735
|
+
"positional": [],
|
|
736
|
+
"flags": [
|
|
737
|
+
{
|
|
738
|
+
"name": "--unattended",
|
|
739
|
+
"type": "bool",
|
|
740
|
+
"default": false,
|
|
741
|
+
"description": "Auto-fix what is fixable; escalate the rest"
|
|
742
|
+
}
|
|
743
|
+
]
|
|
744
|
+
},
|
|
745
|
+
"requires": [
|
|
746
|
+
"supabase",
|
|
747
|
+
"clauth",
|
|
748
|
+
"codeflow",
|
|
749
|
+
"agent-dispatch",
|
|
750
|
+
"git"
|
|
751
|
+
],
|
|
752
|
+
"produces": [
|
|
753
|
+
"git_commits",
|
|
754
|
+
"supabase_writes"
|
|
755
|
+
],
|
|
756
|
+
"default_model": "opus",
|
|
757
|
+
"triggers": [
|
|
758
|
+
"code review",
|
|
759
|
+
"post-build review",
|
|
760
|
+
"audit the work",
|
|
761
|
+
"tsc check"
|
|
762
|
+
],
|
|
763
|
+
"follows": [
|
|
764
|
+
"build",
|
|
765
|
+
"fixit"
|
|
766
|
+
],
|
|
767
|
+
"leads_to": [
|
|
768
|
+
"deploy",
|
|
769
|
+
"release",
|
|
770
|
+
"report"
|
|
771
|
+
],
|
|
772
|
+
"sandbox_aware": true,
|
|
773
|
+
"output_contract": "guides/output-contract.md",
|
|
774
|
+
"enabled_default": true,
|
|
775
|
+
"codeflow_required": true
|
|
776
|
+
},
|
|
777
|
+
"self-test": {
|
|
778
|
+
"name": "self-test",
|
|
779
|
+
"slash": "rdc:self-test",
|
|
780
|
+
"category": "infra",
|
|
781
|
+
"usage": "rdc:self-test [--strict]",
|
|
782
|
+
"args": {
|
|
783
|
+
"positional": [],
|
|
784
|
+
"flags": [
|
|
785
|
+
{
|
|
786
|
+
"name": "--strict",
|
|
787
|
+
"type": "bool",
|
|
788
|
+
"default": false,
|
|
789
|
+
"description": "Fail on any warning"
|
|
790
|
+
}
|
|
791
|
+
]
|
|
792
|
+
},
|
|
793
|
+
"requires": [
|
|
794
|
+
"clauth"
|
|
795
|
+
],
|
|
796
|
+
"produces": [],
|
|
797
|
+
"default_model": "opus",
|
|
798
|
+
"triggers": [
|
|
799
|
+
"self test rdc skills",
|
|
800
|
+
"validate plugin",
|
|
801
|
+
"skill manifest consistency"
|
|
802
|
+
],
|
|
803
|
+
"follows": [],
|
|
804
|
+
"leads_to": [],
|
|
805
|
+
"sandbox_aware": false,
|
|
806
|
+
"output_contract": "guides/output-contract.md",
|
|
807
|
+
"enabled_default": true,
|
|
808
|
+
"codeflow_required": false
|
|
809
|
+
},
|
|
810
|
+
"status": {
|
|
811
|
+
"name": "status",
|
|
812
|
+
"slash": "rdc:status",
|
|
813
|
+
"category": "reporting",
|
|
814
|
+
"usage": "rdc:status",
|
|
815
|
+
"args": {
|
|
816
|
+
"positional": [],
|
|
817
|
+
"flags": []
|
|
818
|
+
},
|
|
819
|
+
"requires": [
|
|
820
|
+
"supabase",
|
|
821
|
+
"clauth"
|
|
822
|
+
],
|
|
823
|
+
"produces": [],
|
|
824
|
+
"default_model": "haiku",
|
|
825
|
+
"triggers": [
|
|
826
|
+
"rdc status",
|
|
827
|
+
"what is open",
|
|
828
|
+
"session snapshot",
|
|
829
|
+
"kanban"
|
|
830
|
+
],
|
|
831
|
+
"follows": [],
|
|
832
|
+
"leads_to": [],
|
|
833
|
+
"sandbox_aware": false,
|
|
834
|
+
"output_contract": "guides/output-contract.md",
|
|
835
|
+
"enabled_default": true,
|
|
836
|
+
"codeflow_required": false
|
|
837
|
+
},
|
|
838
|
+
"terminal-config": {
|
|
839
|
+
"name": "terminal-config",
|
|
840
|
+
"slash": "rdc:terminal-config",
|
|
841
|
+
"category": "infra",
|
|
842
|
+
"usage": "rdc:terminal-config <task>",
|
|
843
|
+
"args": {
|
|
844
|
+
"positional": [
|
|
845
|
+
{
|
|
846
|
+
"name": "task",
|
|
847
|
+
"required": true,
|
|
848
|
+
"description": "Free-text terminal-config task",
|
|
849
|
+
"accepts": "string"
|
|
850
|
+
}
|
|
851
|
+
],
|
|
852
|
+
"flags": []
|
|
853
|
+
},
|
|
854
|
+
"requires": [
|
|
855
|
+
"git"
|
|
856
|
+
],
|
|
857
|
+
"produces": [
|
|
858
|
+
"git_commits"
|
|
859
|
+
],
|
|
860
|
+
"default_model": "opus",
|
|
861
|
+
"triggers": [
|
|
862
|
+
"windows terminal config",
|
|
863
|
+
"shell profile",
|
|
864
|
+
"agent startup order"
|
|
865
|
+
],
|
|
866
|
+
"follows": [],
|
|
867
|
+
"leads_to": [],
|
|
868
|
+
"sandbox_aware": false,
|
|
869
|
+
"output_contract": "guides/output-contract.md",
|
|
870
|
+
"enabled_default": true,
|
|
871
|
+
"codeflow_required": false
|
|
872
|
+
},
|
|
873
|
+
"watch": {
|
|
874
|
+
"name": "watch",
|
|
875
|
+
"slash": "rdc:watch",
|
|
876
|
+
"category": "reporting",
|
|
877
|
+
"usage": "rdc:watch",
|
|
878
|
+
"args": {
|
|
879
|
+
"positional": [],
|
|
880
|
+
"flags": []
|
|
881
|
+
},
|
|
882
|
+
"requires": [],
|
|
883
|
+
"produces": [],
|
|
884
|
+
"default_model": "haiku",
|
|
885
|
+
"triggers": [
|
|
886
|
+
"watch session",
|
|
887
|
+
"live viewer",
|
|
888
|
+
"watch claude work"
|
|
889
|
+
],
|
|
890
|
+
"follows": [],
|
|
891
|
+
"leads_to": [],
|
|
892
|
+
"sandbox_aware": false,
|
|
893
|
+
"output_contract": "guides/output-contract.md",
|
|
894
|
+
"enabled_default": true,
|
|
895
|
+
"codeflow_required": false
|
|
896
|
+
},
|
|
897
|
+
"workitems": {
|
|
898
|
+
"name": "workitems",
|
|
899
|
+
"slash": "rdc:workitems",
|
|
900
|
+
"category": "tooling",
|
|
901
|
+
"usage": "rdc:workitems [add|done|status|list|query]",
|
|
902
|
+
"args": {
|
|
903
|
+
"positional": [
|
|
904
|
+
{
|
|
905
|
+
"name": "subcommand",
|
|
906
|
+
"required": false,
|
|
907
|
+
"description": "CRUD verb",
|
|
908
|
+
"accepts": "add | done | status | list | query"
|
|
909
|
+
}
|
|
910
|
+
],
|
|
911
|
+
"flags": []
|
|
912
|
+
},
|
|
913
|
+
"requires": [
|
|
914
|
+
"supabase",
|
|
915
|
+
"clauth",
|
|
916
|
+
"work-items-rpc"
|
|
917
|
+
],
|
|
918
|
+
"produces": [
|
|
919
|
+
"work_items",
|
|
920
|
+
"supabase_writes"
|
|
921
|
+
],
|
|
922
|
+
"default_model": "haiku",
|
|
923
|
+
"triggers": [
|
|
924
|
+
"add work item",
|
|
925
|
+
"close work item",
|
|
926
|
+
"list epics",
|
|
927
|
+
"query by label"
|
|
928
|
+
],
|
|
929
|
+
"follows": [],
|
|
930
|
+
"leads_to": [],
|
|
931
|
+
"sandbox_aware": true,
|
|
932
|
+
"output_contract": "guides/output-contract.md",
|
|
933
|
+
"enabled_default": true,
|
|
934
|
+
"codeflow_required": false
|
|
935
|
+
}
|
|
936
|
+
}
|
|
34
937
|
}
|
package/package.json
CHANGED
package/skills/build/SKILL.md
CHANGED
|
@@ -194,11 +194,28 @@ Read the task title and description, then:
|
|
|
194
194
|
### ⛔ Agent Dispatch Non-Negotiable Defaults
|
|
195
195
|
Every `Agent()` call MUST include these parameters — no exceptions:
|
|
196
196
|
```
|
|
197
|
-
model:
|
|
197
|
+
model: <chosen per the routing table below>
|
|
198
198
|
max_turns: 70
|
|
199
199
|
isolation: "worktree"
|
|
200
200
|
```
|
|
201
|
-
|
|
201
|
+
|
|
202
|
+
**Agent model routing — pick per task, not per wave.** The supervisor session model does NOT cascade to agents; you must set `model` explicitly on every dispatch.
|
|
203
|
+
|
|
204
|
+
| Task character | Model | When to pick it |
|
|
205
|
+
|---|---|---|
|
|
206
|
+
| Updates, edits, mechanical refactors, small fixes, content tweaks, config patches, doc/copy edits, straightforward API wiring | `claude-sonnet-4-6` | Default for `frontend.md`/`content.md`/`infrastructure.md` work whose checklist is mostly "change X to Y" or "wire up endpoint Z". Budget-safe for parallel dispatch. |
|
|
207
|
+
| Harder coding tasks — non-trivial algorithm, migration with backfill, schema reshape, multi-file refactor with subtle invariants, performance-sensitive code, anything where correctness is the bar | `claude-opus-4-6` | Default for `backend.md`/`data.md` work and any `frontend.md` task that involves state machines, race conditions, or cross-package contracts. |
|
|
208
|
+
| Design or innovative thought — new component design, brand/UX work, CS 2.0 paradigm work (HAIL/Quad Pixel/AEMG/Virtue), grammar evolution, architecture-first design, anything where the *shape* of the solution is the deliverable rather than the implementation | `claude-opus-4-8` | Default for `design.md`/`cs2.md` work. Also use for `backend.md`/`data.md` tasks tagged with `architecture` or `design-decision` in work item labels. |
|
|
209
|
+
|
|
210
|
+
**How to choose when the task straddles categories:**
|
|
211
|
+
- If the task's checklist contains the word "design", "decide", "propose", "evaluate alternatives", "novel", or any CS 2.0 primitive → **Opus 4.8**.
|
|
212
|
+
- If the task touches `packages/cs2*`, `packages/hail`, `packages/quad-pixel`, `packages/virtue-engine`, `packages/aemg`, `packages/planetary-ontology`, or `packages/being-state-processor` → **Opus 4.8** (CS 2.0 paradigm requires innovative thought, not transcription).
|
|
213
|
+
- If the task is a Supabase migration that drops/renames/reshapes anything, or a refactor across ≥5 files → **Opus 4.6**.
|
|
214
|
+
- Otherwise → **Sonnet 4.6**.
|
|
215
|
+
|
|
216
|
+
**State the choice in the wave plan.** Before dispatching a wave, the supervisor must log one line per agent in the form `[wave-N agent-K] role=<role> task=<id> model=<chosen> reason=<one phrase>`. This keeps routing decisions reviewable in the transcript and lets `rdc:report` summarize the fleet mix.
|
|
217
|
+
|
|
218
|
+
**Cost guardrail.** If a single wave would dispatch more than 3 Opus 4.8 agents in parallel, downshift the lowest-priority Opus-4.8 tasks to Opus 4.6 unless their work items are tagged `priority=urgent`. Opus 4.8 fast-mode is cheap individually but still ~5× a Sonnet agent at scale.
|
|
202
219
|
Without `max_turns: 70`, agents hit the default turn cap mid-task and stop.
|
|
203
220
|
`isolation: "worktree"` gives each agent its own git worktree and branch — eliminates push race conditions and index lock contention when multiple agents commit in parallel. The supervisor merges worktree branches after each wave (Step 9).
|
|
204
221
|
|
|
@@ -382,5 +399,5 @@ NEVER run pnpm build or pnpm turbo. Use npx vitest run only.
|
|
|
382
399
|
- Push after each wave, not just at the end
|
|
383
400
|
- Unattended: NEVER pause — continue automatically
|
|
384
401
|
- Unattended: max 2 retries per task before escalating to advisor
|
|
385
|
-
- Every Agent() dispatch: `model:
|
|
402
|
+
- Every Agent() dispatch: `model: <routed>` + `max_turns: 70` + `isolation: "worktree"` — non-negotiable. Model is chosen per task per the routing table in Step 7: Sonnet 4.6 for updates/edits, Opus 4.6 for harder coding, Opus 4.8 for design/innovative thought (CS 2.0, brand/UX, architecture). Supervisor logs `model=<chosen> reason=<phrase>` per agent. Exception: validator agent in Step 10 omits isolation; validator model stays `claude-sonnet-4-6` (verification, not generation).
|
|
386
403
|
- Finding an existing file is NOT task completion — verify it satisfies the spec
|
package/skills/help/SKILL.md
CHANGED
|
@@ -1,104 +1,99 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: rdc:help
|
|
3
|
-
description: "Usage `rdc:help` — Show all rdc:* skills with
|
|
3
|
+
description: "Usage `rdc:help` — Show all rdc:* skills with usage, requirements, and codeflow status. Reads `.claude-plugin/plugin.json` skills_meta (single source of truth). Call when unsure which skill to use or what args it takes."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
> **⚠️ OUTPUT CONTRACT (READ FIRST):** `guides/output-contract.md`
|
|
7
7
|
> Checklist-only output. No tool-call narration. No raw MCP/JSON/log dumps.
|
|
8
|
-
> One checklist upfront, updated in place, shown again at end with a 1-line verdict.
|
|
9
8
|
|
|
10
|
-
# rdc:help — Command Reference
|
|
9
|
+
# rdc:help — Command Reference (manifest-driven)
|
|
11
10
|
|
|
12
|
-
> **⚠️ HARD OUTPUT RULE:**
|
|
13
|
-
> No preamble. No follow-up question. No summary.
|
|
14
|
-
> Do NOT add any text before or after the block. Emit it exactly as written. This is non-negotiable.
|
|
11
|
+
> **⚠️ HARD OUTPUT RULE:** Read the plugin manifest, render the table, exit.
|
|
12
|
+
> No preamble. No follow-up question. No summary.
|
|
15
13
|
|
|
16
|
-
##
|
|
14
|
+
## Procedure
|
|
17
15
|
|
|
18
|
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
16
|
+
1. Resolve the plugin manifest path. Try in order, take the first that exists:
|
|
17
|
+
- `{PLUGIN_ROOT}/.claude-plugin/plugin.json` ← preferred when running from the published plugin
|
|
18
|
+
- `C:/Dev/rdc-skills/.claude-plugin/plugin.json` ← source-checkout fallback
|
|
19
|
+
- `~/.claude/plugins/cache/rdc-skills/rdc-skills/latest/.claude-plugin/plugin.json` ← installed cache
|
|
20
|
+
2. Read it. Parse JSON. Read `skills_meta`.
|
|
21
|
+
3. Group entries by `category` in this order: `planning, build, deploy, release, dev-loop, reporting, tooling, infra`.
|
|
22
|
+
4. For each entry render one row: `{slash} — {usage} — needs: {requires.join(',')} — cf: {codeflow_required ? 'yes' : 'no'}`.
|
|
23
|
+
5. Print a Decision Tree at the end that maps natural-language phrases to skills, derived from each entry's `triggers[]`.
|
|
24
|
+
6. Hard rules section at the bottom (see below — verbatim).
|
|
21
25
|
|
|
22
|
-
##
|
|
26
|
+
## Required output format
|
|
23
27
|
|
|
24
|
-
- `rdc:help` — print the full command reference menu
|
|
25
|
-
- `rdc` — alias; same as `rdc:help`
|
|
26
|
-
|
|
27
|
-
## Workflow — the RDC loop
|
|
28
|
-
|
|
29
|
-
| Command | Usage |
|
|
30
|
-
|---|---|
|
|
31
|
-
| `rdc:preplan` | `rdc:preplan <topic> [--unattended]` — research, no code |
|
|
32
|
-
| `rdc:plan` | `rdc:plan <topic> [--unattended]` — architecture + epic/tasks |
|
|
33
|
-
| `rdc:build` | `rdc:build <epic-id\|topic> [--unattended]` — dispatch agents, commit, close items |
|
|
34
|
-
| `rdc:review` | `rdc:review [--unattended]` — typecheck, tests, fix, commit |
|
|
35
|
-
| `rdc:report` | `rdc:report [--unattended]` — write `.rdc/reports/YYYY-MM-DD.md` |
|
|
36
|
-
| `rdc:overnight` | `rdc:overnight [epic-id\|label=X]` — chain preplan→plan→build→review→report |
|
|
37
|
-
| `rdc:status` | `rdc:status` — read-only dashboard |
|
|
38
|
-
| `rdc:fixit` | `rdc:fixit <description>` — bypass the loop, <5 files / <30 min |
|
|
39
|
-
|
|
40
|
-
## Ops
|
|
41
|
-
|
|
42
|
-
| Command | Usage |
|
|
43
|
-
|---|---|
|
|
44
|
-
| `rdc:deploy` | `rdc:deploy <slug> [build-id]` · `rdc:deploy new <slug>` · `rdc:deploy diagnose <slug>` · `rdc:deploy audit [--fix]` |
|
|
45
|
-
| `rdc:release` | `rdc:release <repo> [version]` · `rdc:release <repo> --patch\|--minor\|--major` · `rdc:release <repo> --dry-run` |
|
|
46
|
-
|
|
47
|
-
## Planning ↔ CLI bridge
|
|
48
|
-
|
|
49
|
-
| Command | Usage |
|
|
50
|
-
|---|---|
|
|
51
|
-
| `rdc:handoff` | `rdc:handoff <topic>` — finalize plan → work items for CLI |
|
|
52
|
-
| `rdc:prototype` | `rdc:prototype <description>` — JSX mock for review |
|
|
53
|
-
| `rdc:workitems` | `rdc:workitems <add\|update\|done\|list\|epics> [args]` |
|
|
54
|
-
| `rdc:collab` | `rdc:collab --session <id>` — claude.ai bidirectional relay |
|
|
55
|
-
| `rdc:co-develop` | `rdc:co-develop <start\|resume\|send\|poll\|status\|stop>` — Claude/Codex peer-aware co-development |
|
|
56
|
-
| `rdc:design` | `rdc:design <command\|brief>` — RDC/Studio design, tokens, palettes, themes, Rampa CLI |
|
|
57
|
-
|
|
58
|
-
## Agent guides (dispatched by rdc:build, not user-invocable)
|
|
59
|
-
|
|
60
|
-
These live under `guides/agents/` — they are role playbooks the build skill spawns as sub-agents. You do NOT invoke them directly.
|
|
61
|
-
|
|
62
|
-
- `guides/agents/frontend.md` — [agent-only — dispatched by rdc:build, not user-invocable]
|
|
63
|
-
- `guides/agents/backend.md` — [agent-only — dispatched by rdc:build, not user-invocable]
|
|
64
|
-
- `guides/agents/data.md` — [agent-only — dispatched by rdc:build, not user-invocable]
|
|
65
|
-
- `guides/agents/design.md` — [agent-only — dispatched by rdc:build, not user-invocable]
|
|
66
|
-
- `guides/agents/infrastructure.md` — [agent-only — dispatched by rdc:build, not user-invocable]
|
|
67
|
-
- `guides/agents/content.md` — [agent-only — dispatched by rdc:build, not user-invocable]
|
|
68
|
-
- `guides/agents/cs2.md` — [agent-only — dispatched by rdc:build, not user-invocable]
|
|
69
|
-
- `guides/agents/viz.md` — [agent-only — dispatched by rdc:build, not user-invocable]
|
|
70
|
-
- `guides/agents/setup.md` — [agent-only — dispatched by rdc:build, not user-invocable]
|
|
71
|
-
- `guides/agents/verify.md` — [agent-only — dispatched by rdc:build, not user-invocable]
|
|
72
|
-
|
|
73
|
-
Each agent reads `.rdc/guides/agent-bootstrap.md` first, then its role guide.
|
|
74
|
-
|
|
75
|
-
## Decision tree
|
|
76
|
-
|
|
77
|
-
```
|
|
78
|
-
Project lead says → invoke
|
|
79
|
-
─────────────────────────────────────────────────
|
|
80
|
-
"research this" / "how do others do" → rdc:preplan <topic>
|
|
81
|
-
"plan this out" / "architect" → rdc:plan <topic>
|
|
82
|
-
"build it" / "go" / "execute" → rdc:build <topic>
|
|
83
|
-
"run overnight" / "while I sleep" → rdc:overnight
|
|
84
|
-
"quick fix" / "hotfix" / "typo" → rdc:fixit <desc>
|
|
85
|
-
"review" / "is it clean" → rdc:review
|
|
86
|
-
"report" / "summarize" → rdc:report
|
|
87
|
-
"status" / "where are we" → rdc:status
|
|
88
|
-
"deploy" / "ship" → rdc:deploy <slug>
|
|
89
|
-
"release" / "publish" → rdc:release <repo>
|
|
90
|
-
"hand this off" / "give to agents" → rdc:handoff
|
|
91
|
-
"show me what it looks like" → rdc:prototype
|
|
92
|
-
"add to backlog" / "create a ticket" → rdc:workitems
|
|
93
|
-
"work together" / "partner review" → rdc:co-develop start <name>
|
|
94
|
-
"design/tokens/palette/theme" → rdc:design <command>
|
|
95
|
-
"what commands" / "what skills" → rdc:help
|
|
96
28
|
```
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
29
|
+
RDC SKILLS — manifest: .claude-plugin/plugin.json @ v{version}
|
|
30
|
+
|
|
31
|
+
## planning
|
|
32
|
+
/rdc:preplan <topic> needs: codeflow cf: yes
|
|
33
|
+
/rdc:plan <topic> needs: supabase,clauth,codeflow,work-items-rpc cf: yes
|
|
34
|
+
/rdc:handoff [--from-prototype <id>] needs: supabase,clauth,codeflow,work-items-rpc,git cf: yes
|
|
35
|
+
|
|
36
|
+
## build
|
|
37
|
+
/rdc:build <epic-id> needs: supabase,clauth,codeflow,agent-dispatch,work-items-rpc,git cf: yes
|
|
38
|
+
/rdc:design <topic> needs: supabase,clauth,codeflow,git cf: yes
|
|
39
|
+
/rdc:prototype <desc> needs: supabase,clauth,codeflow cf: yes
|
|
40
|
+
/rdc:overnight [scope] needs: supabase,clauth,codeflow,agent-dispatch,work-items-rpc,git cf: yes
|
|
41
|
+
/rdc:review [--unattended] needs: supabase,clauth,codeflow,agent-dispatch,git cf: yes
|
|
42
|
+
|
|
43
|
+
## deploy
|
|
44
|
+
/rdc:deploy <slug> [new|diagnose|audit] [--fix] needs: clauth,coolify,pm2,supabase,codeflow cf: yes
|
|
45
|
+
|
|
46
|
+
## release
|
|
47
|
+
/rdc:release <repo> [version|--patch|--minor|--major|--dry-run] needs: clauth,git,npm,coolify cf: no
|
|
48
|
+
⚠ Production promotion requires explicit user go-ahead.
|
|
49
|
+
|
|
50
|
+
## dev-loop
|
|
51
|
+
/rdc:fixit <description> needs: supabase,clauth,codeflow,agent-dispatch,work-items-rpc,git cf: yes
|
|
52
|
+
constraint: < 5 files AND < 30 min — otherwise use /rdc:plan
|
|
53
|
+
/rdc:collab --session <id> needs: clauth,git cf: yes
|
|
54
|
+
/rdc:co-develop <ask|reply|inbox|start|resume|status> needs: clauth cf: no
|
|
55
|
+
|
|
56
|
+
## reporting
|
|
57
|
+
/rdc:status needs: supabase,clauth cf: no
|
|
58
|
+
/rdc:report needs: supabase,clauth,codeflow cf: yes
|
|
59
|
+
/rdc:watch needs: (none) cf: no
|
|
60
|
+
/rdc:help needs: (none) cf: no
|
|
61
|
+
|
|
62
|
+
## tooling
|
|
63
|
+
/rdc:workitems [add|done|status|list|query] needs: supabase,clauth,work-items-rpc cf: no
|
|
64
|
+
/rdc:fs-mcp <task> needs: clauth cf: no
|
|
65
|
+
|
|
66
|
+
## infra
|
|
67
|
+
/rdc:self-test [--strict] needs: clauth cf: no
|
|
68
|
+
/rdc:terminal-config <task> needs: git cf: no
|
|
69
|
+
|
|
70
|
+
## Decision tree (derived from skills_meta[].triggers)
|
|
71
|
+
|
|
72
|
+
"research before planning" / "what should we use" → /rdc:preplan
|
|
73
|
+
"plan this" / "architecture" / "epic breakdown" → /rdc:plan
|
|
74
|
+
"build the epic" / "execute the plan" / "go" → /rdc:build
|
|
75
|
+
"let claude run" / "overnight" / "drain queue" → /rdc:overnight
|
|
76
|
+
"quick fix" / "typo" / "<5 files" → /rdc:fixit
|
|
77
|
+
"code review" / "audit" / "tsc check" → /rdc:review
|
|
78
|
+
"session report" / "summarize" → /rdc:report
|
|
79
|
+
"where are we" / "snapshot" → /rdc:status
|
|
80
|
+
"deploy to dev" / "audit watch paths" → /rdc:deploy
|
|
81
|
+
"promote" / "push to prod" / "ship" → /rdc:release
|
|
82
|
+
"convert prototype" / "finalize plan" → /rdc:handoff
|
|
83
|
+
"mock it up" / "show me" → /rdc:prototype
|
|
84
|
+
"add work item" / "list epics" → /rdc:workitems
|
|
85
|
+
"ask codex" / "peer-aware" → /rdc:co-develop
|
|
86
|
+
"claude.ai relay" / "collab session" → /rdc:collab
|
|
87
|
+
"palette" / "studio design" / "tokens" → /rdc:design
|
|
88
|
+
|
|
89
|
+
## Hard rules
|
|
90
|
+
|
|
91
|
+
- `cf: yes` skills MUST consult CodeFlow before acting. Hooks fail-closed on unreachable CodeFlow for these.
|
|
92
|
+
- NEVER `pnpm build` at monorepo level — single scoped builds only.
|
|
101
93
|
- NEVER commit to `main` without explicit approval. Default branch is `develop`.
|
|
102
94
|
- NEVER overlap agents on the same files.
|
|
103
95
|
- ALWAYS update work items in real time via RPCs (see `.claude/rules/work-items-rpc.md`).
|
|
104
|
-
- ALWAYS credentials via clauth daemon: `curl -s http://127.0.0.1:52437/v/<service>` (
|
|
96
|
+
- ALWAYS credentials via clauth daemon: `curl -s http://127.0.0.1:52437/v/<service>` (plain text).
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
> If the manifest file is unreachable, fall back to the static table above (the manifest values it was generated from). Tell the user the fallback was used so they know to investigate.
|