@lifeaitools/rdc-skills 0.9.23 → 0.9.25

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rdc",
3
- "version": "0.9.23",
3
+ "version": "0.9.25",
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",
package/README.md CHANGED
@@ -176,7 +176,7 @@ python3 -c "import json; print(json.load(open('package.json'))['version'])"
176
176
  /rdc:help
177
177
  ```
178
178
 
179
- Current version: **v0.9.23**
179
+ Current version: **v0.9.25**
180
180
 
181
181
  ## Quick Start
182
182
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: rdc:design
3
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. Forked/adapted from Impeccable concepts without modifying installed Impeccable.
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
5
  ---
6
6
 
7
7
  > **⚠️ OUTPUT CONTRACT (READ FIRST):** `guides/output-contract.md`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lifeaitools/rdc-skills",
3
- "version": "0.9.23",
3
+ "version": "0.9.25",
4
4
  "description": "RDC typed-agent dispatch skill suite for Claude Code — plan, build, review, overnight builds",
5
5
  "keywords": [
6
6
  "claude-code",
@@ -19,7 +19,7 @@
19
19
  "type": "plugin",
20
20
  "skills": "skills/",
21
21
  "guides": "guides/",
22
- "version": "0.9.23",
22
+ "version": "0.9.25",
23
23
  "commands": "commands/"
24
24
  },
25
25
  "scripts": {
@@ -15,16 +15,16 @@ const command = cleanArgs[0] || "help";
15
15
  const brief = cleanArgs.slice(1).join(" ").trim();
16
16
 
17
17
  const commandRefs = {
18
- studio: ["studio-model", "lineage"],
19
- tokens: ["studio-model", "lineage"],
20
- palette: ["studio-model", "rampa", "lineage"],
21
- theme: ["studio-model", "rampa", "lineage"],
22
- colorize: ["rampa", "studio-model", "lineage"],
23
- audit: ["studio-model", "lineage"],
24
- critique: ["studio-model", "lineage"],
25
- polish: ["studio-model", "lineage"],
26
- craft: ["studio-model", "rampa", "lineage"],
27
- help: ["lineage"],
18
+ studio: ["studio-model", "ownership"],
19
+ tokens: ["studio-model", "ownership"],
20
+ palette: ["studio-model", "rampa", "ownership"],
21
+ theme: ["studio-model", "rampa", "ownership"],
22
+ colorize: ["rampa", "studio-model", "ownership"],
23
+ audit: ["studio-model", "ownership"],
24
+ critique: ["studio-model", "ownership"],
25
+ polish: ["studio-model", "ownership"],
26
+ craft: ["studio-model", "rampa", "ownership"],
27
+ help: ["ownership"],
28
28
  };
29
29
 
30
30
  function readText(path) {
@@ -56,7 +56,7 @@ function buildPrompt() {
56
56
  const skillPath = join(skillRoot, "SKILL.md");
57
57
  if (!existsSync(skillPath)) throw new Error(`Missing skill file: ${skillPath}`);
58
58
 
59
- const refs = loadReferences(commandRefs[command] || ["studio-model", "lineage"]);
59
+ const refs = loadReferences(commandRefs[command] || ["studio-model", "ownership"]);
60
60
  const skill = stripFrontmatter(readText(skillPath));
61
61
  const refText = refs.map((ref) => `## Reference: ${ref.name}\n\n${ref.text}`).join("\n\n");
62
62
  const target = brief || "(no brief supplied)";
@@ -77,7 +77,7 @@ function buildPrompt() {
77
77
  "",
78
78
  `Execute \`rdc:design ${command}\` for: ${target}`,
79
79
  "",
80
- "Return checklist-first output, cite concrete Studio files/routes/tables when relevant, and do not mutate upstream Impeccable.",
80
+ "Return checklist-first output, cite concrete Studio files/routes/tables when relevant, and do not mutate unrelated installed skills or vendor artifacts.",
81
81
  ].join("\n");
82
82
 
83
83
  return { prompt, refs };
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: rdc:design
3
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. Forked/adapted from Impeccable concepts without modifying installed Impeccable.
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
5
  ---
6
6
 
7
7
  > **⚠️ OUTPUT CONTRACT (READ FIRST):** `guides/output-contract.md`
@@ -14,7 +14,7 @@ description: >-
14
14
 
15
15
  # rdc:design — RDC Design Skill
16
16
 
17
- RDC-owned design execution for Studio and LIFEAI interfaces. This skill is inspired by and adapted from the Impeccable design workflow, but it is not the installed Impeccable skill and must not modify upstream Impeccable files.
17
+ RDC-owned design execution for Studio and LIFEAI interfaces. This skill is the Studio-aware design authority for RDC token, palette, theme, component, and local-debug work.
18
18
 
19
19
  ## When to Use
20
20
 
@@ -24,11 +24,10 @@ RDC-owned design execution for Studio and LIFEAI interfaces. This skill is inspi
24
24
  - Agent-side color-system exploration using Rampa CLI
25
25
  - Preparing token-aware implementation instructions for frontend/backend/data agents
26
26
 
27
- Use the installed `impeccable` skill directly only when the task is a general upstream Impeccable workflow and does not need RDC Studio knowledge.
28
-
29
27
  ## Arguments
30
28
 
31
29
  - `rdc:design` — show the command menu
30
+ - `rdc:design edit <target>` — start a local source-edit session for a URL, app, brand, route, or file
32
31
  - `rdc:design studio <target>` — Studio-aware design task
33
32
  - `rdc:design tokens <brand-or-route>` — token model, resolver, export, or governance task
34
33
  - `rdc:design palette <brief>` — Palette Library or palette generation task
@@ -47,7 +46,7 @@ Load only what applies, but do not skip the Studio model for Studio/token/palett
47
46
  |---|---|
48
47
  | Studio, tokens, palettes, themes, editor | `skills/design/reference/studio-model.md` |
49
48
  | Color generation, ramps, contrast, neutrals | `skills/design/reference/rampa.md` |
50
- | Attribution, fork boundary, Impeccable relationship | `skills/design/reference/lineage.md` |
49
+ | Ownership, operating boundary, attribution files | `skills/design/reference/ownership.md` |
51
50
 
52
51
  Project docs to read for Studio work:
53
52
 
@@ -59,8 +58,10 @@ Project docs to read for Studio work:
59
58
  ## Procedure
60
59
 
61
60
  1. **Classify the task.**
61
+ - `edit` means start a local source-edit session. Do not show the generic command menu for `edit`.
62
62
  - `studio`, `tokens`, `palette`, and `theme` always load the Studio model.
63
63
  - `palette`, `theme`, and `colorize` also load the Rampa reference.
64
+ - Any task involving colors, palettes, ramps, contrast, neutrals, light/dark color pairs, status colors, chart colors, or theme colors loads the Rampa reference.
64
65
  - `audit`, `critique`, `polish`, and `craft` load Studio model when the target is inside Studio or uses Studio tokens.
65
66
 
66
67
  2. **Read the actual system context.**
@@ -74,24 +75,96 @@ Project docs to read for Studio work:
74
75
  - Live editor: RDC Native Local Debug only — `/editor/local/*`, `/api/editor/local-debug`, `/studio/debug/*`, `/studio/claude/*`, and `scripts/studio-debug-poll.mjs`.
75
76
  - Components: `@regen/ui`, Studio component registry, and existing local components.
76
77
 
77
- 4. **Use Rampa only as proposal tooling.**
78
+ 4. **For `edit`, start the local session directly.**
79
+ - Intent syntax:
80
+ ```powershell
81
+ rdc:design edit <url|domain|brand|app|file>
82
+ ```
83
+ - Required variables:
84
+ - `target`
85
+ - `brandSlug`
86
+ - `appSlug`
87
+ - `repoRoot`
88
+ - `cwd`
89
+ - `connectorBaseUrl`
90
+ - `studioOrigin`
91
+ - `modeDefault`
92
+ - Fill missing variables from the obvious target mapping before asking:
93
+ - `test`, `studio_test`, `studio-test` -> `--brand test --app studio_test`
94
+ - `prt`, `prt-portal`, `prtrust.fund`, `dev.prtrust.fund` -> `--brand prt --app prt`
95
+ - If the target is a file path and brand/app are not obvious, ask one concise question for the missing brand/app. Do not search broadly or show the generic command menu.
96
+ - Canonical start call:
97
+ ```powershell
98
+ curl.exe -s -X POST "http://127.0.0.1:52437/studio/debug/start" `
99
+ -H "Content-Type: application/json" `
100
+ -d "{\"brandSlug\":\"<brandSlug>\",\"appSlug\":\"<appSlug>\",\"repoRoot\":\"C:/Dev/regen-root\",\"cwd\":\"C:/Dev/regen-root\",\"modeDefault\":\"direct_edit\",\"startedBy\":\"claude-cli\"}"
101
+ ```
102
+ - Expected successful response shape:
103
+ ```json
104
+ {
105
+ "ok": true,
106
+ "sessionId": "studio-...",
107
+ "token": "...",
108
+ "devUrl": "http://localhost:3006",
109
+ "relayBaseUrl": "http://127.0.0.1:52437/studio/debug/studio-...",
110
+ "claudeBaseUrl": "http://127.0.0.1:52437/studio/claude/studio-...",
111
+ "pollCommand": "node scripts/studio-debug-poll.mjs --session ... --token ... --relay ..."
112
+ }
113
+ ```
114
+ - Construct the Studio attach URL exactly:
115
+ ```txt
116
+ http://localhost:3011/editor/local/<brandSlug>?attach=1&sessionId=<sessionId>&token=<token>
117
+ ```
118
+ - Never send the user to `/editor/local/<brandSlug>` without `attach=1&sessionId=...&token=...`.
119
+ - Canonical poll call:
120
+ ```powershell
121
+ curl.exe -s "http://127.0.0.1:52437/studio/claude/<sessionId>/poll?token=<token>&timeout=600000"
122
+ ```
123
+ - Canonical reply call:
124
+ ```powershell
125
+ curl.exe -s -X POST "http://127.0.0.1:52437/studio/claude/<sessionId>/reply" `
126
+ -H "Content-Type: application/json" `
127
+ -d "{\"token\":\"<token>\",\"eventId\":\"<eventId>\",\"status\":\"done\",\"message\":\"Edited <path>\",\"filesChanged\":[\"<path>\"]}"
128
+ ```
129
+ - Allowed terminal statuses are `done`, `error`, `blocked`, and `needs_reference`.
130
+ - Convenience helper, equivalent to the canonical start call plus attach URL construction:
131
+ ```powershell
132
+ node scripts/studio-debug-start.mjs --target <url|domain|brand|app|file> [--brand <slug>] [--app <slug>] [--mode direct_edit|variant_edit|reference_replace|note] [--studio-origin http://localhost:3011] [--connector http://127.0.0.1:52437] [--repo-root C:/Dev/regen-root] [--cwd C:/Dev/regen-root] [--dev-url <url>] [--dev-command <command>] [--no-launch]
133
+ ```
134
+ - Helper output contract:
135
+ ```txt
136
+ STUDIO_URL=http://localhost:3011/editor/local/<brandSlug>?attach=1&sessionId=...&token=...
137
+ POLL_COMMAND=node scripts/studio-debug-poll.mjs --session ... --token ... --relay ...
138
+ SESSION_FILE=.studio-debug/<sessionId>.json
139
+ ```
140
+ - If using the helper, run:
141
+ ```powershell
142
+ node scripts/studio-debug-start.mjs --target <target>
143
+ ```
144
+ - Return `STUDIO_URL` and `POLL_COMMAND` to the user. If operating as Claude CLI, open or instruct opening `STUDIO_URL`, then run `POLL_COMMAND`.
145
+ - After an event is received, edit the source directly and reply with the helper or canonical reply call:
146
+ ```powershell
147
+ node scripts/studio-debug-poll.mjs --session <sessionId> --token <token> --relay <claudeBaseUrl> --reply <eventId> done --file <path> --message "Edited <path>"
148
+ ```
149
+
150
+ 5. **Use Rampa only as proposal tooling.**
78
151
  - Run Rampa CLI for color ramps, APCA/WCAG checks, tinted neutrals, status palettes, or data-viz palettes.
79
152
  - Treat output as draft design material.
80
153
  - Persist only after mapping into Studio token roles or Palette Library payloads.
81
154
 
82
- 5. **Apply RDC design rules.**
155
+ 6. **Apply RDC design rules.**
83
156
  - Use Studio tokens for production surfaces.
84
157
  - Do not hardcode color/font/spacing when a token exists.
85
158
  - Do not modify locked governance tokens.
86
159
  - Keep product UIs compact, operational, and scannable.
87
160
  - Avoid generic AI design patterns and card-heavy layouts.
88
161
 
89
- 6. **Plan edits before mutating files.**
162
+ 7. **Plan edits before mutating files.**
90
163
  - State the files/routes/tables involved.
91
164
  - Use RDC work-item protocol for non-trivial implementation.
92
- - Keep upstream Impeccable installed and untouched.
165
+ - Keep unrelated installed skills and vendor artifacts untouched.
93
166
 
94
- 7. **Verify.**
167
+ 8. **Verify.**
95
168
  - Run scoped tests only.
96
169
  - For Studio: prefer route smoke checks, token API checks, and browser screenshots when UI changed.
97
170
  - For CLI prompt work: run `node C:/Dev/rdc-skills/scripts/rdc-design-cli.mjs <command> <brief>` and inspect the generated report under `.rdc/reports/rdc-design-cli/`.
@@ -100,6 +173,7 @@ Project docs to read for Studio work:
100
173
 
101
174
  | Command | Purpose |
102
175
  |---|---|
176
+ | `edit` | Start a local source-edit session for a URL, app, brand, route, or file |
103
177
  | `studio` | Studio-aware design/build task with token, route, and editor context |
104
178
  | `tokens` | Diagnose or design token usage, resolver flow, API/export, governance |
105
179
  | `palette` | Palette Library work, palette generation, external Palette Designer handoff |
@@ -130,9 +204,9 @@ Each run includes character count, word count, approximate token count, referenc
130
204
 
131
205
  ## Boundaries
132
206
 
133
- - Do not edit installed Impeccable skills.
134
- - Do not create another skill named `impeccable`.
135
- - Do not use Impeccable Live as Studio's live-edit execution path.
207
+ - Do not edit unrelated installed skills.
208
+ - Do not rename this skill or create duplicate aliases for it.
209
+ - Do not use external live-edit runtimes as Studio's live-edit execution path.
136
210
  - Do not persist Rampa output directly to production without Studio token mapping.
137
211
  - Do not fork or ship Palette Designer until its license is verified.
138
212
  - Do not use Studio's deprecated `/api/editor/render` route.
@@ -0,0 +1,16 @@
1
+ # RDC Design Ownership
2
+
3
+ RDC Design is the RDC-owned design skill for Studio and LIFEAI interface work.
4
+
5
+ ## Operating Boundary
6
+
7
+ - Use this skill for Studio, tokens, palettes, themes, local-debug editing, and RDC product UI.
8
+ - Keep unrelated installed skills and vendor artifacts untouched.
9
+ - Keep third-party attribution in dedicated license or notice files on disk, not in operational skill prompts.
10
+ - Use Studio docs, Studio APIs, and token tables as the source of truth.
11
+
12
+ ## Attribution Files
13
+
14
+ When a feature uses third-party code or derives from third-party implementation details, preserve attribution in repository license, notice, or readme files that ship with that artifact.
15
+
16
+ Operational skills should describe RDC-owned workflows directly so agents do not route Studio work through unrelated tools.
@@ -48,7 +48,7 @@ Clauth relay route families:
48
48
 
49
49
  ## Native Local Debug Model
50
50
 
51
- Studio live editing must use the RDC-owned local debug system, not Impeccable Live:
51
+ Studio live editing must use the RDC-owned local debug system, not an external live-edit runtime:
52
52
 
53
53
  1. Studio starts a local session with `POST /studio/debug/start`.
54
54
  2. Studio embeds the returned local `devUrl` with debug query params.
@@ -1,31 +0,0 @@
1
- # RDC Design Lineage
2
-
3
- RDC Design is inspired by and adapted from the Impeccable design workflow. Upstream Impeccable remains installed separately and untouched.
4
-
5
- ## Rules
6
-
7
- - Keep the installed Impeccable skill available for direct use.
8
- - Do not rename or overwrite installed Impeccable files.
9
- - Do not create a second skill named `impeccable`.
10
- - Use `rdc:design` for RDC, Studio, token, Palette Library, Rampa CLI, and LIFEAI interface work.
11
- - Preserve third-party license and notice files if source material is forked or vendored.
12
-
13
- ## Attribution Text
14
-
15
- Use this attribution in docs or NOTICE files when the implementation materially derives from Impeccable:
16
-
17
- ```text
18
- RDC Design is inspired by and adapted from the Impeccable design workflow by Paul Bakaus.
19
- Upstream Impeccable remains a separate installed skill.
20
- ```
21
-
22
- ## Practical Boundary
23
-
24
- Concepts such as audit, polish, colorize, shape, craft, and anti-pattern checks are useful workflow patterns. RDC Design replaces the generic project model with RDC-specific knowledge:
25
-
26
- - Studio as token authority
27
- - Palette Library as palette persistence boundary
28
- - Rampa CLI as proposal tooling
29
- - RDC work-item protocol
30
- - local Studio editor/debug routes
31
- - real LIFEAI app and package paths