@lifeaitools/rdc-skills 0.25.9 → 0.26.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 +1608 -1551
- package/.github/workflows/self-test.yml +34 -34
- package/CHANGELOG.md +332 -319
- package/MANIFEST.md +224 -224
- package/README.md +368 -367
- package/RELEASE.md +50 -45
- package/bin/rdc-skills-mcp.mjs +1 -1
- package/commands/build.md +181 -181
- package/commands/collab.md +180 -180
- package/commands/deploy.md +173 -148
- package/commands/fixit.md +150 -150
- package/commands/handoff.md +173 -173
- package/commands/overnight.md +220 -220
- package/commands/plan.md +158 -158
- package/commands/preplan.md +131 -131
- package/commands/prototype.md +145 -145
- package/commands/report.md +99 -99
- package/commands/review.md +120 -120
- package/commands/status.md +86 -86
- package/commands/workitems.md +127 -127
- package/deploy/install-systemd.sh +16 -0
- package/deploy/systemd/rdc-skills-mcp.service +19 -0
- package/git-sha.json +1 -1
- package/guides/agent-bootstrap.md +195 -195
- package/guides/agents/backend.md +102 -102
- package/guides/agents/content.md +94 -94
- package/guides/agents/cs2.md +56 -56
- package/guides/agents/data.md +86 -86
- package/guides/agents/design.md +77 -77
- package/guides/agents/frontend.md +91 -91
- package/guides/agents/infrastructure.md +81 -81
- package/guides/agents/setup.md +272 -272
- package/guides/agents/verify.md +119 -119
- package/guides/agents/viz.md +106 -106
- package/guides/orchestration-epic.md +17 -0
- package/hooks/check-rdc-environment.js +172 -318
- package/hooks/lib/box-lock.js +28 -8
- package/package.json +1 -2
- package/scripts/install-rdc-skills.js +1244 -1474
- package/scripts/probe-installed-hooks.mjs +2 -2
- package/scripts/self-test.mjs +1459 -1459
- package/scripts/validate-publish-manifests.js +502 -502
- package/skills/build/SKILL.md +662 -578
- package/skills/channel-formatter/SKILL.md +538 -538
- package/skills/collab/SKILL.md +239 -239
- package/skills/convert/SKILL.md +138 -138
- package/skills/deploy/SKILL.md +583 -541
- package/skills/design/SKILL.md +205 -205
- package/skills/env/SKILL.md +146 -139
- package/skills/fixit/SKILL.md +203 -203
- package/skills/handoff/SKILL.md +236 -236
- package/skills/housekeeping/SKILL.md +189 -189
- package/skills/onramp/SKILL.md +1459 -1459
- package/skills/overnight/SKILL.md +251 -251
- package/skills/plan/SKILL.md +345 -345
- package/skills/preplan/SKILL.md +90 -90
- package/skills/prototype/SKILL.md +150 -150
- package/skills/refactor/SKILL.md +51 -0
- package/skills/regen-media/SKILL.md +94 -94
- package/skills/release/SKILL.md +140 -140
- package/skills/report/SKILL.md +100 -100
- package/skills/review/SKILL.md +151 -151
- package/skills/self-test/SKILL.md +108 -108
- package/skills/status/SKILL.md +99 -99
- package/skills/tests/MATRIX.md +59 -55
- package/skills/tests/README.md +1 -1
- package/skills/tests/onramp.test.json +101 -87
- package/skills/tests/rdc-env.test.json +12 -0
- package/skills/tests/rdc-new-model.test.json +12 -0
- package/skills/tests/rdc-refactor.test.json +29 -0
- package/skills/tests/rdc-regen-media.test.json +29 -29
- package/skills/watch/SKILL.md +84 -84
- package/skills/workitems/SKILL.md +151 -151
- package/tests/no-local-pm2.test.mjs +45 -0
- package/scripts/local-install-with-stop.sh +0 -41
- package/scripts/probe-lock-holders.mjs +0 -36
- package/scripts/rebuild-mcp.mjs +0 -107
package/skills/preplan/SKILL.md
CHANGED
|
@@ -1,90 +1,90 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: rdc:preplan
|
|
3
|
-
description: "Usage `rdc:preplan <topic>` — Before committing to an architecture, research unknowns first. Codebase scan + web search, no code written, no work items created. Output feeds rdc:plan. Use for open-ended approach questions."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
> **⚠️ OUTPUT CONTRACT (READ FIRST):** `guides/output-contract.md`
|
|
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
|
-
|
|
10
|
-
> If dispatching subagents or running as a subagent: read `{PROJECT_ROOT}/.rdc/guides/agent-bootstrap.md` first (fallback: `{PROJECT_ROOT}/.rdc/guides/agent-bootstrap.md`).
|
|
11
|
-
|
|
12
|
-
> **Sandbox contract:** This skill honors `RDC_TEST=1` per `guides/agent-bootstrap.md` § RDC_TEST Sandbox Contract. This skill is read-only and produces only local file writes — no destructive external calls to short-circuit.
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
# rdc:preplan — Research Before Planning
|
|
16
|
-
|
|
17
|
-
## When to Use
|
|
18
|
-
- Starting a new feature area you haven't built before
|
|
19
|
-
- Need to understand how best-in-class projects solve a problem
|
|
20
|
-
- Codebase has unknowns that need mapping before planning
|
|
21
|
-
- Project lead says "research", "look into", "what's the best way to", "how do others do"
|
|
22
|
-
- Called by `rdc:overnight` before planning an epic with no existing tasks
|
|
23
|
-
|
|
24
|
-
## Arguments
|
|
25
|
-
- `rdc:preplan <topic>` — interactive research session
|
|
26
|
-
- `rdc:preplan <topic> --unattended` — silent mode for overnight builds
|
|
27
|
-
|
|
28
|
-
## Procedure
|
|
29
|
-
|
|
30
|
-
1. **Parse the topic** from user input or epic title/description.
|
|
31
|
-
- Interactive: if vague, ask ONE clarifying question before proceeding
|
|
32
|
-
- Unattended: infer from the epic title + description — never pause to ask
|
|
33
|
-
|
|
34
|
-
2. **Web research** — search for current (2025-2026) best practices:
|
|
35
|
-
- How do major projects solve this?
|
|
36
|
-
- What tools/libraries exist?
|
|
37
|
-
- What are the common tradeoffs?
|
|
38
|
-
|
|
39
|
-
3. **Codebase analysis** — what do we already have?
|
|
40
|
-
- Search relevant packages for existing code
|
|
41
|
-
- Check `.rdc/research/` for prior research on this topic (fallback: `.rdc/research/`)
|
|
42
|
-
- Check `docs/archive/` for historical work
|
|
43
|
-
- Research agents should read relevant guides from `.rdc/guides/` (fallback: `.rdc/guides/`)
|
|
44
|
-
- Check work items for related epics
|
|
45
|
-
- Read relevant CLAUDE.md files
|
|
46
|
-
|
|
47
|
-
4. **Best-in-class comparison** — create a comparison table:
|
|
48
|
-
| Approach | Pros | Cons | Fit for Us |
|
|
49
|
-
|
|
50
|
-
5. **Surface unknowns** — what questions remain unanswered?
|
|
51
|
-
|
|
52
|
-
6. **Write research doc** to `.rdc/research/<topic-slug>.md` (fallback: `.rdc/research/<topic-slug>.md` if `.rdc/` does not exist):
|
|
53
|
-
```markdown
|
|
54
|
-
# Research: <Topic>
|
|
55
|
-
> Generated: <date> | Requested by: Project Lead
|
|
56
|
-
|
|
57
|
-
## Question
|
|
58
|
-
## What We Already Have
|
|
59
|
-
## Best-in-Class Analysis
|
|
60
|
-
## Comparison Table
|
|
61
|
-
## Unknowns & Open Questions
|
|
62
|
-
## Recommendation (preliminary — not a decision)
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
7. **Report results:**
|
|
66
|
-
- Interactive: summarize findings. Do NOT create epics or write code.
|
|
67
|
-
- Unattended: skip summary, emit status block only:
|
|
68
|
-
```
|
|
69
|
-
PREPLAN_STATUS: { topic, doc_path, unknowns_count, recommendation_confidence: "high|medium|low" }
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
## Unattended Escalation
|
|
73
|
-
|
|
74
|
-
When `--unattended` and `recommendation_confidence` is `"low"` (≥5 unresolved unknowns,
|
|
75
|
-
or no clear best-fit approach exists), escalate via the advisor tool rather than stopping.
|
|
76
|
-
Provide the advisor with: topic, unknowns list, comparison table. Resume with advisor's
|
|
77
|
-
direction if given. If advisor cannot resolve, log and skip to next step.
|
|
78
|
-
|
|
79
|
-
## Rules
|
|
80
|
-
- Output is a RESEARCH DOC, not a plan
|
|
81
|
-
- Do not make architectural decisions — surface options with tradeoffs
|
|
82
|
-
- Do not create work items
|
|
83
|
-
- Do not write code
|
|
84
|
-
- Web search is mandatory — don't just analyze the codebase
|
|
85
|
-
- Keep the doc under 200 lines — concise, not exhaustive
|
|
86
|
-
- Unattended: NEVER pause for input; infer and proceed
|
|
87
|
-
|
|
88
|
-
## Capture lessons (exit step)
|
|
89
|
-
|
|
90
|
-
Before the final verdict line, follow `.rdc/guides/lessons-learned-spec.md` § Capture procedure. If this run taught something non-obvious — a first root-cause theory that turned out wrong, the documented/standard path not working, a missing gate or check that cost a round, or a surprising tool/infra behavior — write one `.rdc/lessons/<YYYY-MM-DD>-preplan-<short-slug>.md` per lesson using the schema in that spec. Set `scope` (`simple` | `architectural`) and `status` (`open`, or `applied` if you shipped the fix in this same run, with the commit linked). Commit the lesson file(s) on `develop` alongside the run's other commits, and note "N lessons captured" in your verdict/summary. A run that taught nothing writes nothing — absence is the default.
|
|
1
|
+
---
|
|
2
|
+
name: rdc:preplan
|
|
3
|
+
description: "Usage `rdc:preplan <topic>` — Before committing to an architecture, research unknowns first. Codebase scan + web search, no code written, no work items created. Output feeds rdc:plan. Use for open-ended approach questions."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
> **⚠️ OUTPUT CONTRACT (READ FIRST):** `guides/output-contract.md`
|
|
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
|
+
|
|
10
|
+
> If dispatching subagents or running as a subagent: read `{PROJECT_ROOT}/.rdc/guides/agent-bootstrap.md` first (fallback: `{PROJECT_ROOT}/.rdc/guides/agent-bootstrap.md`).
|
|
11
|
+
|
|
12
|
+
> **Sandbox contract:** This skill honors `RDC_TEST=1` per `guides/agent-bootstrap.md` § RDC_TEST Sandbox Contract. This skill is read-only and produces only local file writes — no destructive external calls to short-circuit.
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
# rdc:preplan — Research Before Planning
|
|
16
|
+
|
|
17
|
+
## When to Use
|
|
18
|
+
- Starting a new feature area you haven't built before
|
|
19
|
+
- Need to understand how best-in-class projects solve a problem
|
|
20
|
+
- Codebase has unknowns that need mapping before planning
|
|
21
|
+
- Project lead says "research", "look into", "what's the best way to", "how do others do"
|
|
22
|
+
- Called by `rdc:overnight` before planning an epic with no existing tasks
|
|
23
|
+
|
|
24
|
+
## Arguments
|
|
25
|
+
- `rdc:preplan <topic>` — interactive research session
|
|
26
|
+
- `rdc:preplan <topic> --unattended` — silent mode for overnight builds
|
|
27
|
+
|
|
28
|
+
## Procedure
|
|
29
|
+
|
|
30
|
+
1. **Parse the topic** from user input or epic title/description.
|
|
31
|
+
- Interactive: if vague, ask ONE clarifying question before proceeding
|
|
32
|
+
- Unattended: infer from the epic title + description — never pause to ask
|
|
33
|
+
|
|
34
|
+
2. **Web research** — search for current (2025-2026) best practices:
|
|
35
|
+
- How do major projects solve this?
|
|
36
|
+
- What tools/libraries exist?
|
|
37
|
+
- What are the common tradeoffs?
|
|
38
|
+
|
|
39
|
+
3. **Codebase analysis** — what do we already have?
|
|
40
|
+
- Search relevant packages for existing code
|
|
41
|
+
- Check `.rdc/research/` for prior research on this topic (fallback: `.rdc/research/`)
|
|
42
|
+
- Check `docs/archive/` for historical work
|
|
43
|
+
- Research agents should read relevant guides from `.rdc/guides/` (fallback: `.rdc/guides/`)
|
|
44
|
+
- Check work items for related epics
|
|
45
|
+
- Read relevant CLAUDE.md files
|
|
46
|
+
|
|
47
|
+
4. **Best-in-class comparison** — create a comparison table:
|
|
48
|
+
| Approach | Pros | Cons | Fit for Us |
|
|
49
|
+
|
|
50
|
+
5. **Surface unknowns** — what questions remain unanswered?
|
|
51
|
+
|
|
52
|
+
6. **Write research doc** to `.rdc/research/<topic-slug>.md` (fallback: `.rdc/research/<topic-slug>.md` if `.rdc/` does not exist):
|
|
53
|
+
```markdown
|
|
54
|
+
# Research: <Topic>
|
|
55
|
+
> Generated: <date> | Requested by: Project Lead
|
|
56
|
+
|
|
57
|
+
## Question
|
|
58
|
+
## What We Already Have
|
|
59
|
+
## Best-in-Class Analysis
|
|
60
|
+
## Comparison Table
|
|
61
|
+
## Unknowns & Open Questions
|
|
62
|
+
## Recommendation (preliminary — not a decision)
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
7. **Report results:**
|
|
66
|
+
- Interactive: summarize findings. Do NOT create epics or write code.
|
|
67
|
+
- Unattended: skip summary, emit status block only:
|
|
68
|
+
```
|
|
69
|
+
PREPLAN_STATUS: { topic, doc_path, unknowns_count, recommendation_confidence: "high|medium|low" }
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Unattended Escalation
|
|
73
|
+
|
|
74
|
+
When `--unattended` and `recommendation_confidence` is `"low"` (≥5 unresolved unknowns,
|
|
75
|
+
or no clear best-fit approach exists), escalate via the advisor tool rather than stopping.
|
|
76
|
+
Provide the advisor with: topic, unknowns list, comparison table. Resume with advisor's
|
|
77
|
+
direction if given. If advisor cannot resolve, log and skip to next step.
|
|
78
|
+
|
|
79
|
+
## Rules
|
|
80
|
+
- Output is a RESEARCH DOC, not a plan
|
|
81
|
+
- Do not make architectural decisions — surface options with tradeoffs
|
|
82
|
+
- Do not create work items
|
|
83
|
+
- Do not write code
|
|
84
|
+
- Web search is mandatory — don't just analyze the codebase
|
|
85
|
+
- Keep the doc under 200 lines — concise, not exhaustive
|
|
86
|
+
- Unattended: NEVER pause for input; infer and proceed
|
|
87
|
+
|
|
88
|
+
## Capture lessons (exit step)
|
|
89
|
+
|
|
90
|
+
Before the final verdict line, follow `.rdc/guides/lessons-learned-spec.md` § Capture procedure. If this run taught something non-obvious — a first root-cause theory that turned out wrong, the documented/standard path not working, a missing gate or check that cost a round, or a surprising tool/infra behavior — write one `.rdc/lessons/<YYYY-MM-DD>-preplan-<short-slug>.md` per lesson using the schema in that spec. Set `scope` (`simple` | `architectural`) and `status` (`open`, or `applied` if you shipped the fix in this same run, with the commit linked). Commit the lesson file(s) on `develop` alongside the run's other commits, and note "N lessons captured" in your verdict/summary. A run that taught nothing writes nothing — absence is the default.
|
|
@@ -1,150 +1,150 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: rdc:prototype
|
|
3
|
-
description: "Usage `rdc:prototype <description>` — Build a JSX/TSX mockup for visual review before implementation. Saves to docs/source/, registers in prototype_registry. Use when asked to mock something up or show what it looks like. Not production code."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
> **⚠️ OUTPUT CONTRACT (READ FIRST):** `guides/output-contract.md`
|
|
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
|
-
|
|
10
|
-
> If dispatching subagents or running as a subagent: read `{PROJECT_ROOT}/.rdc/guides/agent-bootstrap.md` first (fallback: `{PROJECT_ROOT}/.rdc/guides/agent-bootstrap.md`).
|
|
11
|
-
|
|
12
|
-
> **Sandbox contract:** This skill honors `RDC_TEST=1` per `guides/agent-bootstrap.md` § RDC_TEST Sandbox Contract. Destructive external calls short-circuit under the flag. Supabase prototype_registry and design_context inserts, and git push are skipped under `RDC_TEST=1`.
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
# rdc:prototype — Prototype Builder
|
|
16
|
-
|
|
17
|
-
## When to Use
|
|
18
|
-
|
|
19
|
-
- Project lead wants to see a design before committing to implementation
|
|
20
|
-
- A new component or page needs visual review before wiring to database
|
|
21
|
-
- Testing a data layout or interaction pattern
|
|
22
|
-
- Building a visual mockup for approval
|
|
23
|
-
|
|
24
|
-
## Arguments
|
|
25
|
-
|
|
26
|
-
- `rdc:prototype <description>` — describe the UI to build (e.g. "a data table for work items")
|
|
27
|
-
|
|
28
|
-
## What This Produces
|
|
29
|
-
|
|
30
|
-
- JSX/TSX prototype file → `docs/source/<ComponentName>.jsx`
|
|
31
|
-
- prototype_registry entry in database
|
|
32
|
-
- design_context entries for key decisions
|
|
33
|
-
|
|
34
|
-
## Prototype Rules
|
|
35
|
-
|
|
36
|
-
1. **Self-contained** — no real database calls. Mock data arrays only.
|
|
37
|
-
2. **Realistic data** — mock data must reflect actual schema field names
|
|
38
|
-
3. **Full fidelity** — looks exactly like the final product should look
|
|
39
|
-
4. **Annotated** — key design decisions commented at the top of the file
|
|
40
|
-
5. **Handoff-ready** — includes the spec block at the bottom
|
|
41
|
-
|
|
42
|
-
## Standard Mock Data Pattern
|
|
43
|
-
|
|
44
|
-
Use realistic field names from the actual database schema:
|
|
45
|
-
|
|
46
|
-
```tsx
|
|
47
|
-
// Mock data — mirrors your_table
|
|
48
|
-
const MOCK_DATA = [
|
|
49
|
-
{
|
|
50
|
-
id: "uuid-1",
|
|
51
|
-
slug: "example-slug",
|
|
52
|
-
name: "Example Name",
|
|
53
|
-
description: "...",
|
|
54
|
-
location_city: "City",
|
|
55
|
-
location_state: "State",
|
|
56
|
-
status: "active",
|
|
57
|
-
category: "example-category",
|
|
58
|
-
total_capital: 1000000,
|
|
59
|
-
total_area: 2400,
|
|
60
|
-
deploy_url: "https://...",
|
|
61
|
-
tags: ["tag1", "tag2"],
|
|
62
|
-
alignment: ["value1", "value2"],
|
|
63
|
-
web_visible: true,
|
|
64
|
-
ticker_label: "LABEL",
|
|
65
|
-
ticker_capital: "$1M",
|
|
66
|
-
scores: { field1: 82, field2: 71, field3: 68 },
|
|
67
|
-
},
|
|
68
|
-
];
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
## File Header Template
|
|
72
|
-
|
|
73
|
-
```tsx
|
|
74
|
-
/**
|
|
75
|
-
* <ComponentName>.jsx — PROTOTYPE
|
|
76
|
-
* ─────────────────────────────────────────────
|
|
77
|
-
* Status: Prototype — reference only, not production code
|
|
78
|
-
* Created: <date>
|
|
79
|
-
* Route (production target): <app-route>
|
|
80
|
-
*
|
|
81
|
-
* Key design decisions:
|
|
82
|
-
* 1. <Decision and rationale>
|
|
83
|
-
* 2. <Decision and rationale>
|
|
84
|
-
*
|
|
85
|
-
* What to preserve in production:
|
|
86
|
-
* - <Design element>
|
|
87
|
-
* - <Interaction pattern>
|
|
88
|
-
*
|
|
89
|
-
* What production implementation must do differently:
|
|
90
|
-
* - Replace mock data with database query
|
|
91
|
-
* - Import <Component> from @regen/ui instead of inline implementation
|
|
92
|
-
* - Extract <Part> into shared component at src/components/<name>
|
|
93
|
-
*
|
|
94
|
-
* Production agent type: frontend | backend | data | viz
|
|
95
|
-
* Production guide: .rdc/guides/<type>.md (fallback: .rdc/guides/<type>.md)
|
|
96
|
-
*/
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
## File Footer Template
|
|
100
|
-
|
|
101
|
-
```tsx
|
|
102
|
-
// ─── HANDOFF SPEC ─────────────────────────────
|
|
103
|
-
// Production files:
|
|
104
|
-
// apps/<app>/src/app/<route>/page.tsx (server component)
|
|
105
|
-
// apps/<app>/src/app/<route>/<Name>Client.tsx (client component)
|
|
106
|
-
// apps/<app>/src/app/<route>/<Name>Wrapper.tsx (modal/state shell, if needed)
|
|
107
|
-
//
|
|
108
|
-
// Design system components to use (do not re-implement):
|
|
109
|
-
// <ComponentName> — <what it does>
|
|
110
|
-
//
|
|
111
|
-
// Database tables:
|
|
112
|
-
// <table> — <what to query>
|
|
113
|
-
//
|
|
114
|
-
// Form field schema additions needed:
|
|
115
|
-
// <table>.<column> — <input_type> — <label>
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
## After Building — Register and Record
|
|
119
|
-
|
|
120
|
-
```sql
|
|
121
|
-
-- Register prototype
|
|
122
|
-
INSERT INTO prototype_registry (name, component, source_path, notes, created_by)
|
|
123
|
-
VALUES (
|
|
124
|
-
'<Name> Prototype v1',
|
|
125
|
-
'<ComponentName>',
|
|
126
|
-
'docs/source/<ComponentName>.jsx',
|
|
127
|
-
'<One-line description of key design: layout, data shape, interactions>',
|
|
128
|
-
'planning'
|
|
129
|
-
);
|
|
130
|
-
|
|
131
|
-
-- Record design decisions
|
|
132
|
-
INSERT INTO design_context (topic, context_type, summary, source, created_by)
|
|
133
|
-
VALUES
|
|
134
|
-
('<Topic>', 'prototype', 'Prototype built with <X> layout and <Y> interaction pattern', 'planning', 'planning'),
|
|
135
|
-
('<Topic>', 'decision', '<Key decision made during prototyping and why>', 'planning', 'planning');
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
## Handoff
|
|
139
|
-
|
|
140
|
-
After prototype is approved, use `rdc:handoff` to create the plan doc and database work items.
|
|
141
|
-
|
|
142
|
-
Or tell the project lead:
|
|
143
|
-
```
|
|
144
|
-
Prototype complete.
|
|
145
|
-
File: docs/source/<ComponentName>.jsx
|
|
146
|
-
Registered: prototype_registry
|
|
147
|
-
|
|
148
|
-
To hand off to CLI build: use /rdc:handoff
|
|
149
|
-
To build immediately: use /rdc:build
|
|
150
|
-
```
|
|
1
|
+
---
|
|
2
|
+
name: rdc:prototype
|
|
3
|
+
description: "Usage `rdc:prototype <description>` — Build a JSX/TSX mockup for visual review before implementation. Saves to docs/source/, registers in prototype_registry. Use when asked to mock something up or show what it looks like. Not production code."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
> **⚠️ OUTPUT CONTRACT (READ FIRST):** `guides/output-contract.md`
|
|
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
|
+
|
|
10
|
+
> If dispatching subagents or running as a subagent: read `{PROJECT_ROOT}/.rdc/guides/agent-bootstrap.md` first (fallback: `{PROJECT_ROOT}/.rdc/guides/agent-bootstrap.md`).
|
|
11
|
+
|
|
12
|
+
> **Sandbox contract:** This skill honors `RDC_TEST=1` per `guides/agent-bootstrap.md` § RDC_TEST Sandbox Contract. Destructive external calls short-circuit under the flag. Supabase prototype_registry and design_context inserts, and git push are skipped under `RDC_TEST=1`.
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
# rdc:prototype — Prototype Builder
|
|
16
|
+
|
|
17
|
+
## When to Use
|
|
18
|
+
|
|
19
|
+
- Project lead wants to see a design before committing to implementation
|
|
20
|
+
- A new component or page needs visual review before wiring to database
|
|
21
|
+
- Testing a data layout or interaction pattern
|
|
22
|
+
- Building a visual mockup for approval
|
|
23
|
+
|
|
24
|
+
## Arguments
|
|
25
|
+
|
|
26
|
+
- `rdc:prototype <description>` — describe the UI to build (e.g. "a data table for work items")
|
|
27
|
+
|
|
28
|
+
## What This Produces
|
|
29
|
+
|
|
30
|
+
- JSX/TSX prototype file → `docs/source/<ComponentName>.jsx`
|
|
31
|
+
- prototype_registry entry in database
|
|
32
|
+
- design_context entries for key decisions
|
|
33
|
+
|
|
34
|
+
## Prototype Rules
|
|
35
|
+
|
|
36
|
+
1. **Self-contained** — no real database calls. Mock data arrays only.
|
|
37
|
+
2. **Realistic data** — mock data must reflect actual schema field names
|
|
38
|
+
3. **Full fidelity** — looks exactly like the final product should look
|
|
39
|
+
4. **Annotated** — key design decisions commented at the top of the file
|
|
40
|
+
5. **Handoff-ready** — includes the spec block at the bottom
|
|
41
|
+
|
|
42
|
+
## Standard Mock Data Pattern
|
|
43
|
+
|
|
44
|
+
Use realistic field names from the actual database schema:
|
|
45
|
+
|
|
46
|
+
```tsx
|
|
47
|
+
// Mock data — mirrors your_table
|
|
48
|
+
const MOCK_DATA = [
|
|
49
|
+
{
|
|
50
|
+
id: "uuid-1",
|
|
51
|
+
slug: "example-slug",
|
|
52
|
+
name: "Example Name",
|
|
53
|
+
description: "...",
|
|
54
|
+
location_city: "City",
|
|
55
|
+
location_state: "State",
|
|
56
|
+
status: "active",
|
|
57
|
+
category: "example-category",
|
|
58
|
+
total_capital: 1000000,
|
|
59
|
+
total_area: 2400,
|
|
60
|
+
deploy_url: "https://...",
|
|
61
|
+
tags: ["tag1", "tag2"],
|
|
62
|
+
alignment: ["value1", "value2"],
|
|
63
|
+
web_visible: true,
|
|
64
|
+
ticker_label: "LABEL",
|
|
65
|
+
ticker_capital: "$1M",
|
|
66
|
+
scores: { field1: 82, field2: 71, field3: 68 },
|
|
67
|
+
},
|
|
68
|
+
];
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## File Header Template
|
|
72
|
+
|
|
73
|
+
```tsx
|
|
74
|
+
/**
|
|
75
|
+
* <ComponentName>.jsx — PROTOTYPE
|
|
76
|
+
* ─────────────────────────────────────────────
|
|
77
|
+
* Status: Prototype — reference only, not production code
|
|
78
|
+
* Created: <date>
|
|
79
|
+
* Route (production target): <app-route>
|
|
80
|
+
*
|
|
81
|
+
* Key design decisions:
|
|
82
|
+
* 1. <Decision and rationale>
|
|
83
|
+
* 2. <Decision and rationale>
|
|
84
|
+
*
|
|
85
|
+
* What to preserve in production:
|
|
86
|
+
* - <Design element>
|
|
87
|
+
* - <Interaction pattern>
|
|
88
|
+
*
|
|
89
|
+
* What production implementation must do differently:
|
|
90
|
+
* - Replace mock data with database query
|
|
91
|
+
* - Import <Component> from @regen/ui instead of inline implementation
|
|
92
|
+
* - Extract <Part> into shared component at src/components/<name>
|
|
93
|
+
*
|
|
94
|
+
* Production agent type: frontend | backend | data | viz
|
|
95
|
+
* Production guide: .rdc/guides/<type>.md (fallback: .rdc/guides/<type>.md)
|
|
96
|
+
*/
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## File Footer Template
|
|
100
|
+
|
|
101
|
+
```tsx
|
|
102
|
+
// ─── HANDOFF SPEC ─────────────────────────────
|
|
103
|
+
// Production files:
|
|
104
|
+
// apps/<app>/src/app/<route>/page.tsx (server component)
|
|
105
|
+
// apps/<app>/src/app/<route>/<Name>Client.tsx (client component)
|
|
106
|
+
// apps/<app>/src/app/<route>/<Name>Wrapper.tsx (modal/state shell, if needed)
|
|
107
|
+
//
|
|
108
|
+
// Design system components to use (do not re-implement):
|
|
109
|
+
// <ComponentName> — <what it does>
|
|
110
|
+
//
|
|
111
|
+
// Database tables:
|
|
112
|
+
// <table> — <what to query>
|
|
113
|
+
//
|
|
114
|
+
// Form field schema additions needed:
|
|
115
|
+
// <table>.<column> — <input_type> — <label>
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## After Building — Register and Record
|
|
119
|
+
|
|
120
|
+
```sql
|
|
121
|
+
-- Register prototype
|
|
122
|
+
INSERT INTO prototype_registry (name, component, source_path, notes, created_by)
|
|
123
|
+
VALUES (
|
|
124
|
+
'<Name> Prototype v1',
|
|
125
|
+
'<ComponentName>',
|
|
126
|
+
'docs/source/<ComponentName>.jsx',
|
|
127
|
+
'<One-line description of key design: layout, data shape, interactions>',
|
|
128
|
+
'planning'
|
|
129
|
+
);
|
|
130
|
+
|
|
131
|
+
-- Record design decisions
|
|
132
|
+
INSERT INTO design_context (topic, context_type, summary, source, created_by)
|
|
133
|
+
VALUES
|
|
134
|
+
('<Topic>', 'prototype', 'Prototype built with <X> layout and <Y> interaction pattern', 'planning', 'planning'),
|
|
135
|
+
('<Topic>', 'decision', '<Key decision made during prototyping and why>', 'planning', 'planning');
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
## Handoff
|
|
139
|
+
|
|
140
|
+
After prototype is approved, use `rdc:handoff` to create the plan doc and database work items.
|
|
141
|
+
|
|
142
|
+
Or tell the project lead:
|
|
143
|
+
```
|
|
144
|
+
Prototype complete.
|
|
145
|
+
File: docs/source/<ComponentName>.jsx
|
|
146
|
+
Registered: prototype_registry
|
|
147
|
+
|
|
148
|
+
To hand off to CLI build: use /rdc:handoff
|
|
149
|
+
To build immediately: use /rdc:build
|
|
150
|
+
```
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: rdc:refactor
|
|
3
|
+
description: "Usage `rdc:refactor <epic-id|topic> --takeover <reason>` — Governed consolidation and implementation of a cross-cutting refactor. Authorizes an explicit takeover, preserves evidence, re-parents relevant work through the consolidation RPC, isolates every writer, and uses the same review, validator, landing, and delivery gates as rdc:build."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
> **OUTPUT CONTRACT:** `guides/output-contract.md`
|
|
7
|
+
|
|
8
|
+
# rdc:refactor
|
|
9
|
+
|
|
10
|
+
Use this when an existing implementation must be reorganized across files,
|
|
11
|
+
apps, packages, or repositories and Dave has explicitly authorized takeover.
|
|
12
|
+
|
|
13
|
+
## Arguments
|
|
14
|
+
|
|
15
|
+
- `rdc:refactor <epic-id|topic> --takeover <reason>`
|
|
16
|
+
- `--takeover` is required when any relevant item is actively owned by another
|
|
17
|
+
session. Record the prior owner, prior session, actor, timestamp, and reason.
|
|
18
|
+
|
|
19
|
+
## Contract
|
|
20
|
+
|
|
21
|
+
1. Load CodeFlow and the current `rdc:build` procedure.
|
|
22
|
+
2. Inventory relevant work items. Keep unrelated product, deployment, CodeFlow,
|
|
23
|
+
and fleet-product work in their existing epics.
|
|
24
|
+
3. Use `consolidate_work_items_into_epic` for takeover/re-parenting. Never raw
|
|
25
|
+
update or delete work items.
|
|
26
|
+
4. Preserve every evidence-bearing item. Archive only a proven duplicate whose
|
|
27
|
+
acceptance scope and evidence are fully represented by the surviving item.
|
|
28
|
+
5. Create a collaboration manifest for the refactor containing:
|
|
29
|
+
`manifest_id`, `work_item_id`, `topic_id`, `thread_id`, `reply_to`,
|
|
30
|
+
participant `handle`, execution `role`, repository, lane, branch, declared
|
|
31
|
+
path scope, commit references, test/evidence references, and takeover record.
|
|
32
|
+
6. Branch by governed issue/outcome, not by app. One monorepo branch may touch
|
|
33
|
+
multiple apps with explicit path attribution. A cross-repository outcome uses
|
|
34
|
+
one linked feature branch per repository.
|
|
35
|
+
7. Every dispatched writer uses a unique leased worktree. Non-isolated agents
|
|
36
|
+
are read-only. Collaboration shares commits, manifests, and evidence—never a
|
|
37
|
+
working directory.
|
|
38
|
+
8. Converge through serialized landing: lock, fetch the current integration
|
|
39
|
+
branch, rebase, auto-resolve only mechanical conflicts, rerun verification,
|
|
40
|
+
and land. Preserve both branches and ask an LLM advisor to reconcile any
|
|
41
|
+
unresolved semantic conflict first. Escalate to HITL only when advice cannot
|
|
42
|
+
resolve it, the choice is destructive, or it bifurcates a CS 2.0 pattern.
|
|
43
|
+
9. Run the same post-wave tests, `rdc:review`, independent validator, delivery,
|
|
44
|
+
publish/install, and live-runtime gates as `rdc:build`.
|
|
45
|
+
10. Close the corrective epic only after merged-source and installed-runtime
|
|
46
|
+
evidence satisfy every required checklist row.
|
|
47
|
+
|
|
48
|
+
## Output
|
|
49
|
+
|
|
50
|
+
Return the build-style checklist plus takeover provenance, repository/branch
|
|
51
|
+
map, review verdict, validator verdict, delivered SHAs/versions, and live probes.
|