@lifeaitools/rdc-skills 0.24.42 → 0.25.1
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/settings.json +15 -15
- package/.claude-plugin/marketplace.json +21 -21
- package/.claude-plugin/plugin.json +1560 -1371
- package/.github/workflows/publish.yml +34 -34
- package/.github/workflows/self-test.yml +58 -58
- package/CHANGELOG.md +322 -310
- package/LICENSE +21 -21
- package/MANIFEST.md +224 -221
- package/README.md +377 -376
- package/README.sandbox.md +3 -3
- package/assets/watcher/viewer.html +164 -164
- package/bin/rdc-skills-mcp.mjs +316 -316
- package/commands/build.md +183 -183
- package/commands/collab.md +180 -180
- package/commands/deploy.md +152 -152
- package/commands/design.md +31 -31
- package/commands/edit.md +28 -28
- package/commands/fixit.md +150 -124
- package/commands/handoff.md +173 -173
- package/commands/help.md +95 -95
- 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/release.md +49 -49
- package/commands/report.md +99 -99
- package/commands/review.md +120 -120
- package/commands/self-test.md +113 -113
- package/commands/status.md +86 -86
- package/commands/watch.md +98 -98
- package/commands/workitems.md +137 -137
- package/git-sha.json +1 -1
- package/guides/agent-bootstrap.md +295 -295
- package/guides/agents/backend.md +104 -104
- package/guides/agents/content.md +94 -94
- package/guides/agents/cs2.md +56 -56
- package/guides/agents/data.md +87 -87
- package/guides/agents/design.md +77 -77
- package/guides/agents/frontend.md +92 -92
- package/guides/agents/infrastructure.md +81 -81
- package/guides/agents/setup.md +281 -281
- package/guides/agents/verify.md +151 -151
- package/guides/agents/viz.md +106 -106
- package/guides/backend.md +146 -146
- package/guides/content.md +147 -147
- package/guides/cs2.md +190 -190
- package/guides/data.md +123 -123
- package/guides/design.md +116 -116
- package/guides/engineering-behavior.md +43 -43
- package/guides/escalation-protocol.md +125 -125
- package/guides/frontend.md +151 -151
- package/guides/history-md-spec.md +297 -297
- package/guides/infrastructure.md +179 -179
- package/guides/lessons-learned-spec.md +145 -151
- package/guides/output-contract.md +108 -108
- package/guides/publish-md-spec.md +289 -289
- package/guides/rdc-skills-startup.md +30 -30
- package/guides/verify.md +11 -11
- package/hooks/check-cwd.js +31 -31
- package/hooks/check-rdc-environment.js +164 -164
- package/hooks/check-services.js +6 -6
- package/hooks/check-stale-work-items.js +19 -19
- package/hooks/foreground-process-gate.js +128 -128
- package/hooks/gate-watchdog-selfcheck.js +257 -257
- package/hooks/hook-logger.js +25 -25
- package/hooks/lib/run-evidence-gate.mjs +241 -241
- package/hooks/no-stop-open-epics.js +127 -127
- package/hooks/post-tool-batch-gate.js +203 -203
- package/hooks/post-work-check.js +21 -21
- package/hooks/postcompact-log.js +13 -13
- package/hooks/precompact-log.js +13 -13
- package/hooks/rate-limit-retry.js +46 -46
- package/hooks/rdc-invocation-marker.js +157 -157
- package/hooks/rdc-output-contract-gate.js +94 -94
- package/hooks/require-work-item-on-commit.js +294 -294
- package/hooks/restart-brief.js +19 -19
- package/hooks/run-hidden-hook.ps1 +47 -47
- package/hooks/task-completed-gate.js +274 -274
- package/hooks/work-item-exit-gate.js +944 -944
- package/lib/catalog.mjs +236 -236
- package/lib/cloud-rewrite.mjs +155 -155
- package/package.json +57 -57
- package/rules/work-items-rpc.md +520 -520
- package/scaffold/templates/HISTORY.md.template +39 -39
- package/scaffold/templates/PUBLISH.md.template +21 -21
- package/scaffold/templates/brochure-studio-default.html +70 -70
- package/scripts/acceptance.mjs +502 -502
- package/scripts/fixtures/guides/bad-guide.md +15 -15
- package/scripts/fixtures/guides-clean/good-guide.md +16 -16
- package/scripts/install-rdc-skills.js +1401 -1289
- package/scripts/install.ps1 +202 -202
- package/scripts/install.sh +132 -132
- package/scripts/lib/assertions.mjs +287 -287
- package/scripts/lib/manifest-schema.mjs +754 -754
- package/scripts/lib/runner.mjs +465 -465
- package/scripts/lib/sandbox.mjs +435 -435
- package/scripts/prepack.mjs +32 -32
- package/scripts/rdc-brochure.mjs +482 -482
- package/scripts/rdc-design-cli.mjs +134 -134
- package/scripts/rebuild-mcp.mjs +107 -107
- package/scripts/self-test.mjs +1460 -1460
- package/scripts/stamp-git-sha.mjs +29 -29
- package/scripts/test-guide-validator.mjs +196 -196
- package/scripts/test-rdc-hooks.mjs +145 -145
- package/scripts/uninstall.ps1 +77 -77
- package/scripts/uninstall.sh +69 -69
- package/scripts/update.ps1 +43 -43
- package/scripts/update.sh +43 -43
- package/scripts/validate-place-histories.js +461 -461
- package/scripts/validate-publish-manifests.js +502 -424
- package/scripts/watch-init.mjs +100 -100
- package/skills/brochure/SKILL.md +107 -107
- package/skills/build/SKILL.md +578 -563
- package/skills/channel-formatter/SKILL.md +538 -533
- package/skills/co-develop/SKILL.md +196 -196
- package/skills/collab/SKILL.md +239 -239
- package/skills/convert/SKILL.md +167 -140
- package/skills/deploy/SKILL.md +541 -541
- package/skills/design/SKILL.md +211 -211
- package/skills/design/reference/ownership.md +16 -16
- package/skills/design/reference/rampa.md +92 -92
- package/skills/design/reference/studio-model.md +153 -153
- package/skills/edit/SKILL.md +98 -98
- package/skills/env/SKILL.md +141 -0
- package/skills/fixit/SKILL.md +203 -165
- package/skills/fs-mcp/SKILL.md +183 -148
- package/skills/handoff/SKILL.md +236 -236
- package/skills/help/SKILL.md +143 -143
- package/skills/housekeeping/SKILL.md +160 -219
- package/skills/lifeai-brochure-author/SKILL.md +340 -340
- package/skills/new-model/SKILL.md +49 -0
- package/skills/onramp/SKILL.md +1459 -0
- 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/rdc-brochurify/SKILL.md +245 -245
- package/skills/rdc-extract-verifier-rules/SKILL.md +191 -191
- package/skills/regen-media/SKILL.md +94 -0
- package/skills/release/SKILL.md +140 -140
- package/skills/report/SKILL.md +100 -100
- package/skills/review/SKILL.md +160 -152
- package/skills/rpms-filemap/SKILL.cloud.md +111 -111
- package/skills/rpms-filemap/SKILL.md +111 -111
- package/skills/self-test/SKILL.md +132 -132
- package/skills/status/SKILL.md +99 -99
- package/skills/terminal-config/SKILL.md +62 -62
- package/skills/tests/MATRIX.md +55 -54
- package/skills/tests/README.md +47 -47
- package/skills/tests/onramp.test.json +87 -0
- package/skills/tests/rdc-brochure.test.json +34 -34
- package/skills/tests/rdc-build.test.json +36 -36
- package/skills/tests/rdc-channel-formatter.test.json +45 -45
- package/skills/tests/rdc-co-develop.test.json +29 -29
- package/skills/tests/rdc-collab.test.json +29 -29
- package/skills/tests/rdc-convert.test.json +35 -35
- package/skills/tests/rdc-deploy.test.json +30 -30
- package/skills/tests/rdc-design.test.json +27 -27
- package/skills/tests/rdc-edit.test.json +29 -29
- package/skills/tests/rdc-fixit.test.json +36 -36
- package/skills/tests/rdc-fs-mcp.test.json +36 -36
- package/skills/tests/rdc-handoff.test.json +28 -28
- package/skills/tests/rdc-help.test.json +29 -29
- package/skills/tests/rdc-housekeeping.test.json +28 -32
- package/skills/tests/rdc-lifeai-brochure-author.test.json +35 -35
- package/skills/tests/rdc-overnight.test.json +37 -37
- package/skills/tests/rdc-plan.test.json +27 -27
- package/skills/tests/rdc-preplan.test.json +31 -31
- package/skills/tests/rdc-prototype.test.json +28 -28
- package/skills/tests/rdc-rdc-brochurify.test.json +23 -23
- package/skills/tests/rdc-rdc-extract-verifier-rules.test.json +34 -34
- package/skills/tests/rdc-regen-media.test.json +29 -0
- package/skills/tests/rdc-release.test.json +29 -29
- package/skills/tests/rdc-report.test.json +28 -28
- package/skills/tests/rdc-review.test.json +29 -29
- package/skills/tests/rdc-rpms-filemap.test.json +28 -28
- package/skills/tests/rdc-self-test.test.json +24 -24
- package/skills/tests/rdc-status.test.json +29 -29
- package/skills/tests/rdc-terminal-config.test.json +29 -29
- package/skills/tests/rdc-watch.test.json +24 -24
- package/skills/tests/rdc-workitems.test.json +27 -27
- package/skills/watch/SKILL.md +97 -97
- package/skills/workitems/SKILL.md +151 -151
- package/tests/acceptance.test.mjs +59 -59
- package/tests/channel-formatter.contract.test.mjs +251 -251
- package/tests/curl-surface.test.mjs +289 -289
- package/tests/harness-gates.test.mjs +325 -325
- package/tests/help-surface.test.mjs +61 -61
- package/tests/install-rdc-skills.test.mjs +49 -49
- package/tests/manifest-contract-fields.test.mjs +78 -78
- package/tests/mcp.test.mjs +271 -271
- package/tests/rdc-brochure.test.mjs +125 -125
- package/tests/require-work-item-on-commit.test.mjs +162 -162
- package/tests/run-evidence-gate.test.mjs +82 -82
- package/tests/skill-test-matrix.test.mjs +66 -66
- package/tests/validate-skills.js +27 -27
- package/tests/work-item-exit-gate-l2.test.mjs +368 -368
- package/tests/work-item-exit-gate-l3.test.mjs +197 -197
- package/RELEASE.md +0 -42
- package/tests/housekeeping-lessons-triage.test.mjs +0 -49
- package/tests/lessons-pipeline-contract.test.mjs +0 -27
- package/tests/release-contract.test.mjs +0 -16
package/commands/design.md
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: rdc:design
|
|
3
|
-
description: >-
|
|
4
|
-
Usage `rdc:design <command|brief>` — RDC-owned design skill for Studio, Palette Library, token-aware UI work, and Rampa CLI-assisted color systems.
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
> **⚠️ OUTPUT CONTRACT (READ FIRST):** `guides/output-contract.md`
|
|
8
|
-
> Checklist-only output. No tool-call narration. No raw MCP/JSON/log dumps.
|
|
9
|
-
|
|
10
|
-
# rdc:design — RDC Design Skill
|
|
11
|
-
|
|
12
|
-
Use `skills/design/SKILL.md` as the source of truth.
|
|
13
|
-
|
|
14
|
-
## When to Use
|
|
15
|
-
|
|
16
|
-
- Studio, Palette Library, brand-token, theme, component, or live-editor work
|
|
17
|
-
- Any design task that must understand RDC's real token tables and Studio routes
|
|
18
|
-
- UI critique, audit, polish, colorize, type, layout, or craft work in `{PROJECT_ROOT}`
|
|
19
|
-
- Agent-side color-system exploration using Rampa CLI
|
|
20
|
-
|
|
21
|
-
## Arguments
|
|
22
|
-
|
|
23
|
-
- `rdc:design studio <target>`
|
|
24
|
-
- `rdc:design tokens <brand-or-route>`
|
|
25
|
-
- `rdc:design palette <brief>`
|
|
26
|
-
- `rdc:design theme <brief>`
|
|
27
|
-
- `rdc:design colorize <target>`
|
|
28
|
-
- `rdc:design audit <target>`
|
|
29
|
-
- `rdc:design critique <target>`
|
|
30
|
-
- `rdc:design polish <target>`
|
|
31
|
-
- `rdc:design craft <feature>`
|
|
1
|
+
---
|
|
2
|
+
name: rdc:design
|
|
3
|
+
description: >-
|
|
4
|
+
Usage `rdc:design <command|brief>` — RDC-owned design skill for Studio, Palette Library, token-aware UI work, and Rampa CLI-assisted color systems.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
> **⚠️ OUTPUT CONTRACT (READ FIRST):** `guides/output-contract.md`
|
|
8
|
+
> Checklist-only output. No tool-call narration. No raw MCP/JSON/log dumps.
|
|
9
|
+
|
|
10
|
+
# rdc:design — RDC Design Skill
|
|
11
|
+
|
|
12
|
+
Use `skills/design/SKILL.md` as the source of truth.
|
|
13
|
+
|
|
14
|
+
## When to Use
|
|
15
|
+
|
|
16
|
+
- Studio, Palette Library, brand-token, theme, component, or live-editor work
|
|
17
|
+
- Any design task that must understand RDC's real token tables and Studio routes
|
|
18
|
+
- UI critique, audit, polish, colorize, type, layout, or craft work in `{PROJECT_ROOT}`
|
|
19
|
+
- Agent-side color-system exploration using Rampa CLI
|
|
20
|
+
|
|
21
|
+
## Arguments
|
|
22
|
+
|
|
23
|
+
- `rdc:design studio <target>`
|
|
24
|
+
- `rdc:design tokens <brand-or-route>`
|
|
25
|
+
- `rdc:design palette <brief>`
|
|
26
|
+
- `rdc:design theme <brief>`
|
|
27
|
+
- `rdc:design colorize <target>`
|
|
28
|
+
- `rdc:design audit <target>`
|
|
29
|
+
- `rdc:design critique <target>`
|
|
30
|
+
- `rdc:design polish <target>`
|
|
31
|
+
- `rdc:design craft <feature>`
|
package/commands/edit.md
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: rdc:edit
|
|
3
|
-
description: >-
|
|
4
|
-
Usage `rdc:edit <site|brand|route|file>` — open a target in the local website editor host on port 3015. Resolves the site, launches or reuses the editor, and opens the target URL when available.
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
> **⚠️ OUTPUT CONTRACT (READ FIRST):** `guides/output-contract.md`
|
|
8
|
-
> Checklist-only output. No tool-call narration. No raw MCP/JSON/log dumps.
|
|
9
|
-
|
|
10
|
-
# rdc:edit — Local Website Editor
|
|
11
|
-
|
|
12
|
-
Use `skills/edit/SKILL.md` as the source of truth.
|
|
13
|
-
|
|
14
|
-
## When to Use
|
|
15
|
-
|
|
16
|
-
- The user wants to open a site or route in the local editor app
|
|
17
|
-
- The user says "open this in the editor" or "edit this site"
|
|
18
|
-
- The target belongs in `@regen/editor-host`, not Studio
|
|
19
|
-
|
|
20
|
-
## Arguments
|
|
21
|
-
|
|
22
|
-
- `rdc:edit <site|brand|route|file>`
|
|
23
|
-
|
|
24
|
-
## Notes
|
|
25
|
-
|
|
26
|
-
- `prtrust.fund` and `dev.prtrust.fund` resolve to the `prt` brand/app pair.
|
|
27
|
-
- `test`, `studio_test`, and `studio-test` resolve to the bundled local test target.
|
|
28
|
-
- Under `RDC_TEST=1`, report the resolved editor URL instead of forcing a foreground browser action.
|
|
1
|
+
---
|
|
2
|
+
name: rdc:edit
|
|
3
|
+
description: >-
|
|
4
|
+
Usage `rdc:edit <site|brand|route|file>` — open a target in the local website editor host on port 3015. Resolves the site, launches or reuses the editor, and opens the target URL when available.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
> **⚠️ OUTPUT CONTRACT (READ FIRST):** `guides/output-contract.md`
|
|
8
|
+
> Checklist-only output. No tool-call narration. No raw MCP/JSON/log dumps.
|
|
9
|
+
|
|
10
|
+
# rdc:edit — Local Website Editor
|
|
11
|
+
|
|
12
|
+
Use `skills/edit/SKILL.md` as the source of truth.
|
|
13
|
+
|
|
14
|
+
## When to Use
|
|
15
|
+
|
|
16
|
+
- The user wants to open a site or route in the local editor app
|
|
17
|
+
- The user says "open this in the editor" or "edit this site"
|
|
18
|
+
- The target belongs in `@regen/editor-host`, not Studio
|
|
19
|
+
|
|
20
|
+
## Arguments
|
|
21
|
+
|
|
22
|
+
- `rdc:edit <site|brand|route|file>`
|
|
23
|
+
|
|
24
|
+
## Notes
|
|
25
|
+
|
|
26
|
+
- `prtrust.fund` and `dev.prtrust.fund` resolve to the `prt` brand/app pair.
|
|
27
|
+
- `test`, `studio_test`, and `studio-test` resolve to the bundled local test target.
|
|
28
|
+
- Under `RDC_TEST=1`, report the resolved editor URL instead of forcing a foreground browser action.
|
package/commands/fixit.md
CHANGED
|
@@ -1,124 +1,150 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: rdc:fixit
|
|
3
|
-
description: >-
|
|
4
|
-
Usage `rdc:fixit <description>` — sanctioned bypass for quick fixes under 5 files / 30 min. Creates minimal work item, makes fix, commits, closes. The ONLY alternative to rdc:build. For typos, config patches, hotfixes, dep bumps.
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
> **⚠️ OUTPUT CONTRACT (READ FIRST):** `guides/output-contract.md`
|
|
8
|
-
> Checklist-only output. No tool-call narration. No raw MCP/JSON/log dumps.
|
|
9
|
-
> One checklist upfront, updated in place, shown again at end with a 1-line verdict.
|
|
10
|
-
|
|
11
|
-
> 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`).
|
|
12
|
-
|
|
13
|
-
> **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.
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
# rdc:fixit — Sanctioned Quick Fix
|
|
17
|
-
|
|
18
|
-
## When to Use
|
|
19
|
-
- Typo or single-line text correction
|
|
20
|
-
- Config value change (env vars, constants, feature flags)
|
|
21
|
-
- Emergency hotfix that cannot wait for a full build cycle
|
|
22
|
-
- Dependency version bump
|
|
23
|
-
- CSS/styling tweak on a single component
|
|
24
|
-
- Broken import or export fix
|
|
25
|
-
- Single-file logic correction
|
|
26
|
-
|
|
27
|
-
## When NOT to Use — escalate to rdc:build instead
|
|
28
|
-
- New feature of any size
|
|
29
|
-
- Refactor touching >5 files
|
|
30
|
-
- Anything requiring architecture decisions
|
|
31
|
-
- Work that will take longer than 30 minutes
|
|
32
|
-
- Schema changes or migrations
|
|
33
|
-
|
|
34
|
-
## Arguments
|
|
35
|
-
- `rdc:fixit <description>` — fix the described issue
|
|
36
|
-
|
|
37
|
-
## Procedure
|
|
38
|
-
|
|
39
|
-
### 1. Scope check (mandatory — do this before touching any file)
|
|
40
|
-
|
|
41
|
-
Will this fix touch more than **5 files** or take more than **30 minutes**?
|
|
42
|
-
|
|
43
|
-
- **YES** → Stop. Use `/rdc:build` instead. Explain to the user why.
|
|
44
|
-
- **NO** → Continue.
|
|
45
|
-
|
|
46
|
-
### 2. Create a minimal work item (before touching any code)
|
|
47
|
-
|
|
48
|
-
```sql
|
|
49
|
-
SELECT insert_work_item(
|
|
50
|
-
p_title := 'fixit: <description>',
|
|
51
|
-
p_item_type := 'bug',
|
|
52
|
-
p_priority := 'urgent',
|
|
53
|
-
p_status := 'in_progress',
|
|
54
|
-
p_source := 'fixit'
|
|
55
|
-
);
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
Note the returned `id`.
|
|
59
|
-
|
|
60
|
-
### 3. Write the fixit session marker
|
|
61
|
-
|
|
62
|
-
Write to `{USER_HOME}/.claude/fixit.marker`:
|
|
63
|
-
```
|
|
64
|
-
<work_item_id>
|
|
65
|
-
<ISO timestamp>
|
|
66
|
-
<description>
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
This signals the Stop hook that fixit is handling its own documentation.
|
|
70
|
-
|
|
71
|
-
### 4. Make the fix
|
|
72
|
-
|
|
73
|
-
Do the minimal work. Scope creep rule: if you discover the fix requires more than originally scoped, **stop immediately**:
|
|
74
|
-
1. Close the work item: `update_work_item_status('<id>', 'blocked', '["Escalated — scope exceeded fixit threshold"]')`
|
|
75
|
-
2. Delete the marker file
|
|
76
|
-
3. Tell the user to use `/rdc:build` instead
|
|
77
|
-
|
|
78
|
-
### 5. Commit
|
|
79
|
-
|
|
80
|
-
```bash
|
|
81
|
-
git add <specific files only — never git add -A for a fixit>
|
|
82
|
-
git commit -m "fix(<scope>): <description>"
|
|
83
|
-
if [ "$RDC_TEST" != "1" ]; then
|
|
84
|
-
git push origin {development-branch}
|
|
85
|
-
else
|
|
86
|
-
echo "[RDC_TEST] skipping git push origin {development-branch}"
|
|
87
|
-
fi
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
###
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
-
|
|
124
|
-
|
|
1
|
+
---
|
|
2
|
+
name: rdc:fixit
|
|
3
|
+
description: >-
|
|
4
|
+
Usage `rdc:fixit <description>` — sanctioned bypass for quick fixes under 5 files / 30 min. Creates minimal work item, makes fix, commits, DELIVERS it to where it is consumed (publish/deploy/land) and verifies, then closes. The ONLY alternative to rdc:build. For typos, config patches, hotfixes, dep bumps.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
> **⚠️ OUTPUT CONTRACT (READ FIRST):** `guides/output-contract.md`
|
|
8
|
+
> Checklist-only output. No tool-call narration. No raw MCP/JSON/log dumps.
|
|
9
|
+
> One checklist upfront, updated in place, shown again at end with a 1-line verdict.
|
|
10
|
+
|
|
11
|
+
> 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`).
|
|
12
|
+
|
|
13
|
+
> **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.
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
# rdc:fixit — Sanctioned Quick Fix
|
|
17
|
+
|
|
18
|
+
## When to Use
|
|
19
|
+
- Typo or single-line text correction
|
|
20
|
+
- Config value change (env vars, constants, feature flags)
|
|
21
|
+
- Emergency hotfix that cannot wait for a full build cycle
|
|
22
|
+
- Dependency version bump
|
|
23
|
+
- CSS/styling tweak on a single component
|
|
24
|
+
- Broken import or export fix
|
|
25
|
+
- Single-file logic correction
|
|
26
|
+
|
|
27
|
+
## When NOT to Use — escalate to rdc:build instead
|
|
28
|
+
- New feature of any size
|
|
29
|
+
- Refactor touching >5 files
|
|
30
|
+
- Anything requiring architecture decisions
|
|
31
|
+
- Work that will take longer than 30 minutes
|
|
32
|
+
- Schema changes or migrations
|
|
33
|
+
|
|
34
|
+
## Arguments
|
|
35
|
+
- `rdc:fixit <description>` — fix the described issue
|
|
36
|
+
|
|
37
|
+
## Procedure
|
|
38
|
+
|
|
39
|
+
### 1. Scope check (mandatory — do this before touching any file)
|
|
40
|
+
|
|
41
|
+
Will this fix touch more than **5 files** or take more than **30 minutes**?
|
|
42
|
+
|
|
43
|
+
- **YES** → Stop. Use `/rdc:build` instead. Explain to the user why.
|
|
44
|
+
- **NO** → Continue.
|
|
45
|
+
|
|
46
|
+
### 2. Create a minimal work item (before touching any code)
|
|
47
|
+
|
|
48
|
+
```sql
|
|
49
|
+
SELECT insert_work_item(
|
|
50
|
+
p_title := 'fixit: <description>',
|
|
51
|
+
p_item_type := 'bug',
|
|
52
|
+
p_priority := 'urgent',
|
|
53
|
+
p_status := 'in_progress',
|
|
54
|
+
p_source := 'fixit'
|
|
55
|
+
);
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Note the returned `id`.
|
|
59
|
+
|
|
60
|
+
### 3. Write the fixit session marker
|
|
61
|
+
|
|
62
|
+
Write to `{USER_HOME}/.claude/fixit.marker`:
|
|
63
|
+
```
|
|
64
|
+
<work_item_id>
|
|
65
|
+
<ISO timestamp>
|
|
66
|
+
<description>
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
This signals the Stop hook that fixit is handling its own documentation.
|
|
70
|
+
|
|
71
|
+
### 4. Make the fix
|
|
72
|
+
|
|
73
|
+
Do the minimal work. Scope creep rule: if you discover the fix requires more than originally scoped, **stop immediately**:
|
|
74
|
+
1. Close the work item: `update_work_item_status('<id>', 'blocked', '["Escalated — scope exceeded fixit threshold"]')`
|
|
75
|
+
2. Delete the marker file
|
|
76
|
+
3. Tell the user to use `/rdc:build` instead
|
|
77
|
+
|
|
78
|
+
### 5. Commit
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
git add <specific files only — never git add -A for a fixit>
|
|
82
|
+
git commit -m "fix(<scope>): <description>"
|
|
83
|
+
if [ "$RDC_TEST" != "1" ]; then
|
|
84
|
+
git push origin {development-branch}
|
|
85
|
+
else
|
|
86
|
+
echo "[RDC_TEST] skipping git push origin {development-branch}"
|
|
87
|
+
fi
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### 5.5 Deliver to done (MANDATORY — a fixit is not done until the change is LIVE)
|
|
91
|
+
|
|
92
|
+
⛔ **"Committed and pushed" is NOT done.** Editing code and walking away is the exact
|
|
93
|
+
failure this step exists to prevent. Carry the change to where it is consumed and verify it:
|
|
94
|
+
|
|
95
|
+
| Target shape | "Done" = delivered means | How + structural proof |
|
|
96
|
+
|---|---|---|
|
|
97
|
+
| Published package (npm / PyPI) | new version live on the registry | `npm publish --access public` (or repo release path); verify `npm view <pkg> version` == new version |
|
|
98
|
+
| Deployed app (`apps/*`, sites) | change live on the running host | `/rdc:deploy <slug>` (dev) / `promote` (prod); verify HTTP 200 + content probe |
|
|
99
|
+
| Shared lib consumed in-repo | landed on the integration branch | `node scripts/land.mjs`; verify branch contains the SHA |
|
|
100
|
+
| Standalone repo | its own release ritual completed | repo release script/tag; verify the artifact/tag exists |
|
|
101
|
+
| Pure doc / internal-only change, NO consumer | committed + landed | no deploy; the ONLY case where commit == done |
|
|
102
|
+
|
|
103
|
+
- **A version bump obligates a release.** A bumped-but-unshipped version is an unfinished fixit.
|
|
104
|
+
- **Verify structurally** (registry version, HTTP status, tag presence), never by assumption.
|
|
105
|
+
- **If delivery can't complete in-session** (missing OTP/secret, human approval, denied
|
|
106
|
+
command, manual prod promotion): set the work item `blocked` with the exact remaining
|
|
107
|
+
command + reason and tell the user the one step to run — do NOT mark `done`.
|
|
108
|
+
|
|
109
|
+
Under `RDC_TEST=1`: echo `[RDC_TEST] skipping delivery (publish/deploy)` and proceed.
|
|
110
|
+
|
|
111
|
+
### 6. Report, review, close, and clean up
|
|
112
|
+
|
|
113
|
+
**Precondition: Step 5.5 delivery is verified.** If delivery is blocked, set `blocked` (not
|
|
114
|
+
`done`) with the remaining step — never mark an undelivered change `done`.
|
|
115
|
+
|
|
116
|
+
```sql
|
|
117
|
+
SELECT submit_implementation_report('<id>'::uuid,
|
|
118
|
+
'{"tldr":"<one sentence>","assumptions":[],"deviations":[],"uncertainty":[],"detail":"<what was fixed>","flags":[],"transactional":false,"memory_records":[],"codeflow_post":{"agent_session_id":"<agent-session-id>","summary":"<what changed and why>","files_changed":["<path>"],"verification":["<command/evidence>"],"commit":"<hash optional>"}}'::jsonb
|
|
119
|
+
);
|
|
120
|
+
|
|
121
|
+
SELECT update_work_item_status('<id>'::uuid, 'review',
|
|
122
|
+
'["Fixed via rdc:fixit; ready for validation"]'::jsonb,
|
|
123
|
+
'<agent-session-id>',
|
|
124
|
+
'agent'
|
|
125
|
+
);
|
|
126
|
+
|
|
127
|
+
SELECT update_work_item_status('<id>'::uuid, 'done',
|
|
128
|
+
'["Validator verified rdc:fixit report, CodeFlow post, and checklist evidence"]'::jsonb,
|
|
129
|
+
'<validator-session-id>',
|
|
130
|
+
'validator'
|
|
131
|
+
);
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
rm {USER_HOME}/.claude/fixit.marker
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### 7. Confirm to user
|
|
139
|
+
|
|
140
|
+
Report: what was fixed, file(s) changed, commit hash. One sentence.
|
|
141
|
+
|
|
142
|
+
## Rules
|
|
143
|
+
- Work item created BEFORE any code change — never after
|
|
144
|
+
- `git add` specific files only — never `-A` or `.` for a fixit
|
|
145
|
+
- Branch: development branch always
|
|
146
|
+
- Never run `pnpm build` — not needed for a fixit
|
|
147
|
+
- If scope expands mid-fix: stop, escalate to rdc:build, don't finish under fixit
|
|
148
|
+
- Marker file must be cleaned up whether fix succeeds or escalates
|
|
149
|
+
- **Done = delivered, not committed.** Live where consumed (published/deployed/landed) +
|
|
150
|
+
verified. A version bump obligates a publish. Can't deliver in-session → `blocked`, never `done`.
|