@lifeaitools/rdc-skills 0.35.18 → 0.35.21

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.35.18",
3
+ "version": "0.35.21",
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",
@@ -1,29 +1,29 @@
1
- name: self-test
2
-
3
- on:
4
- push:
5
- branches: ['**']
6
- tags: ['v*']
7
- pull_request:
8
-
9
- jobs:
10
- tier1:
11
- name: Tier 1 static lint
12
- runs-on: ubuntu-latest
13
- steps:
14
- - name: Checkout
15
- uses: actions/checkout@v4
16
-
17
- - name: Setup Node 20
18
- uses: actions/setup-node@v4
19
- with:
20
- node-version: '20'
21
-
22
- - name: Run rdc:self-test --strict (Tier 1)
23
- # Tier 2 requires headless claude + clauth daemon — not available in standard CI.
24
- # Tier 1 catches the backtick-drift + frontmatter class of bugs.
25
- run: node scripts/self-test.mjs --strict
26
-
1
+ name: self-test
2
+
3
+ on:
4
+ push:
5
+ branches: ['**']
6
+ tags: ['v*']
7
+ pull_request:
8
+
9
+ jobs:
10
+ tier1:
11
+ name: Tier 1 static lint
12
+ runs-on: ubuntu-latest
13
+ steps:
14
+ - name: Checkout
15
+ uses: actions/checkout@v4
16
+
17
+ - name: Setup Node 20
18
+ uses: actions/setup-node@v4
19
+ with:
20
+ node-version: '20'
21
+
22
+ - name: Run rdc:self-test --strict (Tier 1)
23
+ # Tier 2 requires headless claude + clauth daemon — not available in standard CI.
24
+ # Tier 1 catches the backtick-drift + frontmatter class of bugs.
25
+ run: node scripts/self-test.mjs --strict
26
+
27
27
  tier2-gate:
28
28
  name: Tier 2 behavioral (tag releases only)
29
29
  runs-on: ubuntu-latest
@@ -32,14 +32,14 @@ jobs:
32
32
  env:
33
33
  ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
34
34
  steps:
35
- - name: Checkout
36
- uses: actions/checkout@v4
37
-
38
- - name: Setup Node 20
39
- uses: actions/setup-node@v4
40
- with:
41
- node-version: '20'
42
-
35
+ - name: Checkout
36
+ uses: actions/checkout@v4
37
+
38
+ - name: Setup Node 20
39
+ uses: actions/setup-node@v4
40
+ with:
41
+ node-version: '20'
42
+
43
43
  - name: Install claude CLI
44
44
  if: env.ANTHROPIC_API_KEY != ''
45
45
  run: npm install -g @anthropic-ai/claude-code
package/MANIFEST.md CHANGED
@@ -1,224 +1,224 @@
1
- # RDC Skills Library — Manifest
2
-
3
- **Created:** 2026-04-13
4
- **Last updated:** 2026-05-01
5
- **Source:** Regen Root project `.claude/skills/user/`
6
- **Files:** 31 skill files, 10 agent guides, command mirrors, and support scripts
7
- **Size:** ~480K
8
-
9
- ## Generic Conversion Summary
10
-
11
- All skills have been converted from project-specific to generic/portable:
12
-
13
- ### Path Replacements
14
- - `C:/Dev/regen-root/` → `{PROJECT_ROOT}/`
15
- - Hardcoded app names (rdc-marketing-engine, brand-studio, prt, etc.) → generic examples
16
- - Specific Supabase project IDs → generic table references
17
- - Developer-specific paths → variables
18
-
19
- ### TDD Enhancements
20
- - Added mandatory post-wave test gate to rdc:build
21
- - Updated rdc:review with test coverage delta reporting
22
- - Added test-first requirement to all agent skills
23
- - TDD enforcement: red → implement → green cycle
24
-
25
- ### Preserved Elements
26
- - All logic and procedures (100%)
27
- - All safety rules
28
- - All RPC patterns
29
- - Branch strategy (development → production)
30
- - Work item lifecycle
31
- - Escalation protocols
32
- - Unattended mode patterns
33
- - Status block format
34
-
35
- ## Files Created
36
-
37
- ```
38
- /c/Dev/rdc-skills/
39
- ├── README.md
40
- ├── MANIFEST.md (this file)
41
- └── skills/
42
- ├── build/SKILL.md [+TDD enforcement, +verify gate]
43
- ├── plan/SKILL.md
44
- ├── preplan/SKILL.md
45
- ├── review/SKILL.md [+test coverage delta, +verify gate]
46
- ├── overnight/SKILL.md
47
- ├── fixit/SKILL.md
48
- ├── status/SKILL.md
49
- ├── report/SKILL.md
50
- ├── co-develop/SKILL.md [peer-aware Claude/Codex co-development]
51
- ├── collab/SKILL.md [claude.ai ↔ Claude Code relay]
52
- ├── handoff/SKILL.md
53
- ├── prototype/SKILL.md
54
- ├── workitems/SKILL.md
55
- ├── design/SKILL.md [RDC/Studio design, Palette Library, Rampa CLI]
56
- ├── help/SKILL.md
57
- ├── regen-media/SKILL.md [primary image generation + Regen Media upload]
58
- ├── deploy/SKILL.md [Coolify deployment ops]
59
- ├── release/SKILL.md [atomic version release]
60
- ├── self-test/SKILL.md [static lint + tier2 smoke tests]
61
- └── watch/SKILL.md [session log + browser viewer]
62
- └── guides/agents/ (agent-only playbooks — dispatched by rdc:build, not user-invocable)
63
- ├── frontend.md
64
- ├── backend.md
65
- ├── cs2.md
66
- ├── data.md
67
- ├── design.md
68
- ├── infrastructure.md
69
- ├── content.md
70
- ├── viz.md
71
- ├── setup.md
72
- └── verify.md
73
- ```
74
-
75
- **Note (v0.7.9):** Skills migrated from flat `rdc-<name>.md` files to `<name>/SKILL.md` subdirectories. Plugin namespace is `rdc`, so composed skill names are `rdc:<name>` — matching the frontmatter. This eliminates the duplicate `rdc:rdc-*` registration that occurred when directories were named `rdc-<name>/`.
76
-
77
- ## Skill Categories
78
-
79
- ### Orchestration (8)
80
- - rdc:build — dispatch typed agents in waves
81
- - rdc:plan — architecture + epic/tasks
82
- - rdc:preplan — research before planning
83
- - rdc:review — quality gate
84
- - rdc:overnight — unattended build supervisor
85
- - rdc:fixit — quick-fix bypass
86
- - rdc:status — project dashboard
87
- - rdc:report — nightly report
88
-
89
- ### DevOps (3)
90
- - rdc:deploy — Coolify deployment ops (deploy, new, diagnose, audit)
91
- - rdc:release — atomic version release with git tag + changelog
92
- - rdc:watch — session log + browser viewer for Claude activity
93
-
94
- ### Quality (1)
95
- - rdc:self-test — static lint (tier1) + smoke tests (tier2)
96
-
97
- ### Collaboration (1)
98
- - rdc:co-develop — peer-aware Claude/Codex co-development over clauth
99
-
100
- ### Agent Guides (10, in `guides/agents/`) — [agent-only — dispatched by rdc:build, not user-invocable]
101
- - frontend — React, UI, Tailwind
102
- - backend — API, database, auth
103
- - data — migrations, schema
104
- - design — brand, tokens
105
- - infrastructure — deployment, CI/CD
106
- - content — copy, messaging
107
- - cs2 — paradigm-level work
108
- - viz — visualizations
109
- - setup — project scan + .rdc/config.json generation
110
- - verify — evidence-before-claims verification gate
111
-
112
- ### Utility (1)
113
- - rdc:collab — bidirectional claude.ai ↔ Claude Code relay via file transport
114
- - rdc:channel-formatter — channel-native formatting and content repurposing,
115
- including article-to-post, social-pack, campaign-pack, exec-pack, and
116
- launch-pack outputs
117
- - rdc:regen-media — primary image generation and Regen Media upload workflow,
118
- defaulting to local keyless Codex `gpt-image-2` via built-in `image_gen`
119
-
120
- ### Bridge (3)
121
- - rdc:handoff — planning → work items
122
- - rdc:prototype — JSX prototypes
123
- - rdc:workitems — work item CRUD
124
-
125
- ### Design (1)
126
- - rdc:design — Studio-aware design workflow with token, Palette Library, and Rampa CLI context
127
-
128
- ### Reference (1)
129
- - rdc:help — skill index
130
-
131
- ## Usage Instructions
132
-
133
- 1. **Clone or reference** the `/c/Dev/rdc-skills/` directory
134
- 2. **Update path variables** in all skills for your project
135
- 3. **Create project guides** (agent-bootstrap.md, frontend.md, etc.)
136
- 4. **Set up database** (work_items RPC, prototype_registry, design_context)
137
- 5. **Invoke skills** via your agent framework
138
- - Interactive: `/rdc:build <epic-id>`
139
- - Unattended: `/rdc:overnight`
140
- - Quality: `/rdc:review --unattended`
141
- - Content repurposing: `/rdc:channel-formatter social-pack article.md`
142
-
143
- ## Channel Formatter Content Packs
144
-
145
- `rdc:channel-formatter` can strictly format copy for one channel or repurpose a
146
- long source into a channel-native output set.
147
-
148
- Examples:
149
-
150
- ```bash
151
- rdc:channel-formatter linkedin article.md
152
- rdc:channel-formatter twitter-thread article.md
153
- rdc:channel-formatter social-pack article.md
154
- rdc:channel-formatter campaign-pack report.md
155
- ```
156
-
157
- Use `rdc:convert` for actual Office/Markdown file conversion, `rdc:brochure`
158
- for HTML/folder/URL PDF rendering, and `rdc:brochurify` for Brochurify
159
- orchestration. Channel formatter writes and repurposes text; it does not produce
160
- binary Word or PDF artifacts.
161
-
162
- ## Key Differences from Source
163
-
164
- ### Added: TDD Enforcement
165
-
166
- **rdc:build (Step 8):**
167
- ```bash
168
- # Post-wave test gate (mandatory)
169
- cd packages/<name> && npx vitest run 2>&1 | tail -20
170
- ```
171
- All tests must pass before next wave.
172
-
173
- **All agent skills:**
174
- ```
175
- TDD REQUIREMENT: Write tests FIRST for new functions/modules.
176
- Run: npx vitest run packages/<name>
177
- ```
178
-
179
- **rdc:review (Step 3):**
180
- ```bash
181
- # Check test coverage delta
182
- git diff origin/main...HEAD -- packages/*/src/ | grep -c "^+"
183
- git diff origin/main...HEAD -- packages/*/test* | grep -c "^+"
184
- ```
185
- Flags any package with implementation added but 0 new tests.
186
-
187
- **rdc:review report format:**
188
- ```
189
- | Package | Tests | Pass/Fail | New Tests Added | Issues |
190
- ```
191
-
192
- ### Preserved: All Logic
193
-
194
- - Work item RPC patterns (never raw SQL)
195
- - Agent type classification
196
- - Wave-based parallelization
197
- - Escalation protocols
198
- - Unattended mode patterns
199
- - Status block formatting
200
- - Safety rules (100%)
201
- - Branch strategy
202
-
203
- ## Deployment
204
-
205
- These skills are ready to use in any project that has:
206
-
207
- 1. A monorepo with `packages/`, `apps/`, or `sites/` structure
208
- 2. A database (Supabase, PostgreSQL, etc.) with work_items RPC functions
209
- 3. Capability to run agents (Claude Code, subagents, or CLI)
210
- 4. Git-based version control with at least 2 branches (dev + prod)
211
- 5. A credential management system (clauth daemon or equivalent)
212
-
213
- ## Questions?
214
-
215
- - **Specific project integration:** Refer to your project's infrastructure documentation
216
- - **Skill logic:** All skills are pure logic extracted from Regen Root; no project-specific magic
217
- - **TDD requirements:** Built into every skill; red → implement → green is mandatory
218
- - **Database schema:** You define; skills use generic `work_items` table and RPC patterns
219
-
220
- ---
221
-
222
- **Manifest created:** 2026-04-13
223
- **Source project:** Regen Root (github.com/LIFEAI/regen-root)
224
- **Genericization:** Complete — all hardcoded references removed, all logic preserved
1
+ # RDC Skills Library — Manifest
2
+
3
+ **Created:** 2026-04-13
4
+ **Last updated:** 2026-05-01
5
+ **Source:** Regen Root project `.claude/skills/user/`
6
+ **Files:** 31 skill files, 10 agent guides, command mirrors, and support scripts
7
+ **Size:** ~480K
8
+
9
+ ## Generic Conversion Summary
10
+
11
+ All skills have been converted from project-specific to generic/portable:
12
+
13
+ ### Path Replacements
14
+ - `C:/Dev/regen-root/` → `{PROJECT_ROOT}/`
15
+ - Hardcoded app names (rdc-marketing-engine, brand-studio, prt, etc.) → generic examples
16
+ - Specific Supabase project IDs → generic table references
17
+ - Developer-specific paths → variables
18
+
19
+ ### TDD Enhancements
20
+ - Added mandatory post-wave test gate to rdc:build
21
+ - Updated rdc:review with test coverage delta reporting
22
+ - Added test-first requirement to all agent skills
23
+ - TDD enforcement: red → implement → green cycle
24
+
25
+ ### Preserved Elements
26
+ - All logic and procedures (100%)
27
+ - All safety rules
28
+ - All RPC patterns
29
+ - Branch strategy (development → production)
30
+ - Work item lifecycle
31
+ - Escalation protocols
32
+ - Unattended mode patterns
33
+ - Status block format
34
+
35
+ ## Files Created
36
+
37
+ ```
38
+ /c/Dev/rdc-skills/
39
+ ├── README.md
40
+ ├── MANIFEST.md (this file)
41
+ └── skills/
42
+ ├── build/SKILL.md [+TDD enforcement, +verify gate]
43
+ ├── plan/SKILL.md
44
+ ├── preplan/SKILL.md
45
+ ├── review/SKILL.md [+test coverage delta, +verify gate]
46
+ ├── overnight/SKILL.md
47
+ ├── fixit/SKILL.md
48
+ ├── status/SKILL.md
49
+ ├── report/SKILL.md
50
+ ├── co-develop/SKILL.md [peer-aware Claude/Codex co-development]
51
+ ├── collab/SKILL.md [claude.ai ↔ Claude Code relay]
52
+ ├── handoff/SKILL.md
53
+ ├── prototype/SKILL.md
54
+ ├── workitems/SKILL.md
55
+ ├── design/SKILL.md [RDC/Studio design, Palette Library, Rampa CLI]
56
+ ├── help/SKILL.md
57
+ ├── regen-media/SKILL.md [primary image generation + Regen Media upload]
58
+ ├── deploy/SKILL.md [Coolify deployment ops]
59
+ ├── release/SKILL.md [atomic version release]
60
+ ├── self-test/SKILL.md [static lint + tier2 smoke tests]
61
+ └── watch/SKILL.md [session log + browser viewer]
62
+ └── guides/agents/ (agent-only playbooks — dispatched by rdc:build, not user-invocable)
63
+ ├── frontend.md
64
+ ├── backend.md
65
+ ├── cs2.md
66
+ ├── data.md
67
+ ├── design.md
68
+ ├── infrastructure.md
69
+ ├── content.md
70
+ ├── viz.md
71
+ ├── setup.md
72
+ └── verify.md
73
+ ```
74
+
75
+ **Note (v0.7.9):** Skills migrated from flat `rdc-<name>.md` files to `<name>/SKILL.md` subdirectories. Plugin namespace is `rdc`, so composed skill names are `rdc:<name>` — matching the frontmatter. This eliminates the duplicate `rdc:rdc-*` registration that occurred when directories were named `rdc-<name>/`.
76
+
77
+ ## Skill Categories
78
+
79
+ ### Orchestration (8)
80
+ - rdc:build — dispatch typed agents in waves
81
+ - rdc:plan — architecture + epic/tasks
82
+ - rdc:preplan — research before planning
83
+ - rdc:review — quality gate
84
+ - rdc:overnight — unattended build supervisor
85
+ - rdc:fixit — quick-fix bypass
86
+ - rdc:status — project dashboard
87
+ - rdc:report — nightly report
88
+
89
+ ### DevOps (3)
90
+ - rdc:deploy — Coolify deployment ops (deploy, new, diagnose, audit)
91
+ - rdc:release — atomic version release with git tag + changelog
92
+ - rdc:watch — session log + browser viewer for Claude activity
93
+
94
+ ### Quality (1)
95
+ - rdc:self-test — static lint (tier1) + smoke tests (tier2)
96
+
97
+ ### Collaboration (1)
98
+ - rdc:co-develop — peer-aware Claude/Codex co-development over clauth
99
+
100
+ ### Agent Guides (10, in `guides/agents/`) — [agent-only — dispatched by rdc:build, not user-invocable]
101
+ - frontend — React, UI, Tailwind
102
+ - backend — API, database, auth
103
+ - data — migrations, schema
104
+ - design — brand, tokens
105
+ - infrastructure — deployment, CI/CD
106
+ - content — copy, messaging
107
+ - cs2 — paradigm-level work
108
+ - viz — visualizations
109
+ - setup — project scan + .rdc/config.json generation
110
+ - verify — evidence-before-claims verification gate
111
+
112
+ ### Utility (1)
113
+ - rdc:collab — bidirectional claude.ai ↔ Claude Code relay via file transport
114
+ - rdc:channel-formatter — channel-native formatting and content repurposing,
115
+ including article-to-post, social-pack, campaign-pack, exec-pack, and
116
+ launch-pack outputs
117
+ - rdc:regen-media — primary image generation and Regen Media upload workflow,
118
+ defaulting to local keyless Codex `gpt-image-2` via built-in `image_gen`
119
+
120
+ ### Bridge (3)
121
+ - rdc:handoff — planning → work items
122
+ - rdc:prototype — JSX prototypes
123
+ - rdc:workitems — work item CRUD
124
+
125
+ ### Design (1)
126
+ - rdc:design — Studio-aware design workflow with token, Palette Library, and Rampa CLI context
127
+
128
+ ### Reference (1)
129
+ - rdc:help — skill index
130
+
131
+ ## Usage Instructions
132
+
133
+ 1. **Clone or reference** the `/c/Dev/rdc-skills/` directory
134
+ 2. **Update path variables** in all skills for your project
135
+ 3. **Create project guides** (agent-bootstrap.md, frontend.md, etc.)
136
+ 4. **Set up database** (work_items RPC, prototype_registry, design_context)
137
+ 5. **Invoke skills** via your agent framework
138
+ - Interactive: `/rdc:build <epic-id>`
139
+ - Unattended: `/rdc:overnight`
140
+ - Quality: `/rdc:review --unattended`
141
+ - Content repurposing: `/rdc:channel-formatter social-pack article.md`
142
+
143
+ ## Channel Formatter Content Packs
144
+
145
+ `rdc:channel-formatter` can strictly format copy for one channel or repurpose a
146
+ long source into a channel-native output set.
147
+
148
+ Examples:
149
+
150
+ ```bash
151
+ rdc:channel-formatter linkedin article.md
152
+ rdc:channel-formatter twitter-thread article.md
153
+ rdc:channel-formatter social-pack article.md
154
+ rdc:channel-formatter campaign-pack report.md
155
+ ```
156
+
157
+ Use `rdc:convert` for actual Office/Markdown file conversion, `rdc:brochure`
158
+ for HTML/folder/URL PDF rendering, and `rdc:brochurify` for Brochurify
159
+ orchestration. Channel formatter writes and repurposes text; it does not produce
160
+ binary Word or PDF artifacts.
161
+
162
+ ## Key Differences from Source
163
+
164
+ ### Added: TDD Enforcement
165
+
166
+ **rdc:build (Step 8):**
167
+ ```bash
168
+ # Post-wave test gate (mandatory)
169
+ cd packages/<name> && npx vitest run 2>&1 | tail -20
170
+ ```
171
+ All tests must pass before next wave.
172
+
173
+ **All agent skills:**
174
+ ```
175
+ TDD REQUIREMENT: Write tests FIRST for new functions/modules.
176
+ Run: npx vitest run packages/<name>
177
+ ```
178
+
179
+ **rdc:review (Step 3):**
180
+ ```bash
181
+ # Check test coverage delta
182
+ git diff origin/main...HEAD -- packages/*/src/ | grep -c "^+"
183
+ git diff origin/main...HEAD -- packages/*/test* | grep -c "^+"
184
+ ```
185
+ Flags any package with implementation added but 0 new tests.
186
+
187
+ **rdc:review report format:**
188
+ ```
189
+ | Package | Tests | Pass/Fail | New Tests Added | Issues |
190
+ ```
191
+
192
+ ### Preserved: All Logic
193
+
194
+ - Work item RPC patterns (never raw SQL)
195
+ - Agent type classification
196
+ - Wave-based parallelization
197
+ - Escalation protocols
198
+ - Unattended mode patterns
199
+ - Status block formatting
200
+ - Safety rules (100%)
201
+ - Branch strategy
202
+
203
+ ## Deployment
204
+
205
+ These skills are ready to use in any project that has:
206
+
207
+ 1. A monorepo with `packages/`, `apps/`, or `sites/` structure
208
+ 2. A database (Supabase, PostgreSQL, etc.) with work_items RPC functions
209
+ 3. Capability to run agents (Claude Code, subagents, or CLI)
210
+ 4. Git-based version control with at least 2 branches (dev + prod)
211
+ 5. A credential management system (clauth daemon or equivalent)
212
+
213
+ ## Questions?
214
+
215
+ - **Specific project integration:** Refer to your project's infrastructure documentation
216
+ - **Skill logic:** All skills are pure logic extracted from Regen Root; no project-specific magic
217
+ - **TDD requirements:** Built into every skill; red → implement → green is mandatory
218
+ - **Database schema:** You define; skills use generic `work_items` table and RPC patterns
219
+
220
+ ---
221
+
222
+ **Manifest created:** 2026-04-13
223
+ **Source project:** Regen Root (github.com/LIFEAI/regen-root)
224
+ **Genericization:** Complete — all hardcoded references removed, all logic preserved
@@ -36,6 +36,24 @@ LLM reviewer (`pr-review-toolkit:code-reviewer`, or a Codex peer via
36
36
  `rdc:co-develop`) — listed at the bottom of this document, not hidden inside
37
37
  the tool tables.
38
38
 
39
+ ## Rendered UI evidence boundary
40
+
41
+ Rendered UI verification belongs to the target application, not to a global
42
+ browser installation or an interactive connector. A UI-bearing application
43
+ therefore owns a pinned `@playwright/test` dependency, matching browser
44
+ installation, `test:ui` command, and route/state assertions. The test launches
45
+ a fresh app-owned server or the explicitly documented deploy-equivalent target;
46
+ route `200`, source inspection, and an editor iframe remain structural evidence
47
+ only. Headless execution is allowed by the shared environment; interactive
48
+ `--headed`, `--ui`, `codegen`, `open`, `show-report`, and `PWDEBUG=1` are
49
+ blocked by managed guards. Screenshot and trace artifacts are diagnostic output
50
+ on failure, while the passing route assertion is the receipt.
51
+
52
+ `rdc:open` discovers this contract, `rdc:edit` runs it after a UI change, and
53
+ `rdc:build`/`rdc:review` reject a UI work item that lacks it. This keeps the
54
+ ATF ladder’s visual rung attached to the application that can actually prove
55
+ the rendered behavior.
56
+
39
57
  ## Shared contract
40
58
 
41
59
  Four tools (SOLID, Clean Code, Patterns, Refactoring) read from one shape:
@@ -40,6 +40,7 @@ import fs from 'node:fs';
40
40
  import path from 'node:path';
41
41
  import { fileURLToPath } from 'node:url';
42
42
  import { execFileSync } from 'node:child_process';
43
+ import { buildHealthPayload } from '@lifeaitools/clauth-surface-sdk';
43
44
 
44
45
  import {
45
46
  listSkills,
@@ -53,7 +54,7 @@ import { toCloudBody } from '../lib/cloud-rewrite.mjs';
53
54
 
54
55
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
55
56
  const REPO_ROOT = path.resolve(__dirname, '..');
56
- const PORT = parseInt(process.env.PORT || '3110', 10);
57
+ const PORT = Number.parseInt(process.env.PORT || '3110', 10);
57
58
 
58
59
  function pkgVersion() {
59
60
  try {
@@ -251,6 +252,45 @@ function buildMcpServer() {
251
252
  },
252
253
  );
253
254
 
255
+ // ── Per-skill Prompts ──────────────────────────────────────────────────────
256
+ // The 3 tools above were the ONLY way to reach a skill: a client had to know
257
+ // to call rdc_skill_list/search first, then rdc_skill_get by name. Nothing
258
+ // in the MCP protocol surfaced individual skills as their own first-class,
259
+ // browsable entities — prompts/list would return zero results, so a host
260
+ // app (claude.ai's connector UI, any MCP client with a prompt picker) had
261
+ // nothing to show a user beyond three generic tool names.
262
+ //
263
+ // MCP's Prompts primitive exists exactly for this: a named, user-invokable
264
+ // template a client can list and pick from. Registering every catalog skill
265
+ // as its own prompt makes each one independently discoverable via
266
+ // prompts/list, with prompts/get returning the rendered SKILL.md body as
267
+ // the prompt's message — the same content rdc_skill_get already renders,
268
+ // reused rather than duplicated. The 3 tools stay for programmatic/agent
269
+ // callers that already depend on them; this is additive.
270
+ for (const skill of listSkills()) {
271
+ srv.registerPrompt(
272
+ skill.name,
273
+ {
274
+ title: skill.slash,
275
+ description: skill.summary || skill.usage || skill.slash,
276
+ argsSchema: {
277
+ args: z.string().optional().describe(`Optional arguments for ${skill.slash}, e.g. the epic id for rdc:build.`),
278
+ },
279
+ },
280
+ async ({ args }) => {
281
+ const resolved = lastDetectedVariant || 'cloud';
282
+ const rendered = renderSkill(skill.name, resolved);
283
+ if (!rendered) {
284
+ return { messages: [{ role: 'user', content: { type: 'text', text: `Skill '${skill.name}' has no SKILL.md body on disk.` } }] };
285
+ }
286
+ const text = args
287
+ ? `${rendered.header}\n\nARGUMENTS: ${args}\n\n${rendered.body}`
288
+ : `${rendered.header}\n\n${rendered.body}`;
289
+ return { messages: [{ role: 'user', content: { type: 'text', text } }] };
290
+ },
291
+ );
292
+ }
293
+
254
294
  return srv;
255
295
  }
256
296
 
@@ -266,7 +306,12 @@ function startHttp() {
266
306
  } catch {
267
307
  skills = 0;
268
308
  }
269
- res.json({ status: 'ok', service: 'rdc-skills-mcp', version: pkgVersion(), git_sha: GIT_SHA, skills });
309
+ res.json({
310
+ ...buildHealthPayload({ service: 'rdc-skills-mcp', version: pkgVersion(), commands: ['start', 'stop', 'restart'] }),
311
+ status: 'ok',
312
+ git_sha: GIT_SHA,
313
+ skills,
314
+ });
270
315
  });
271
316
 
272
317
  // Block OAuth discovery so connectors skip OAuth and connect direct — /mcp is open.
@@ -34,6 +34,8 @@
34
34
  "start": [
35
35
  "pm2",
36
36
  "start",
37
+ "bin/rdc-skills-mcp.mjs",
38
+ "--name",
37
39
  "rdc-skills-mcp"
38
40
  ],
39
41
  "restart": [