@lifeaitools/rdc-skills 0.9.38 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/plugin.json +905 -2
- package/guides/history-md-spec.md +297 -0
- package/guides/publish-md-spec.md +289 -0
- package/package.json +7 -3
- package/scaffold/templates/HISTORY.md.template +39 -0
- package/scaffold/templates/PUBLISH.md.template +21 -0
- package/scripts/validate-place-histories.js +461 -0
- package/scripts/validate-publish-manifests.js +424 -0
- package/skills/build/SKILL.md +28 -1
- package/skills/deploy/SKILL.md +96 -0
- package/skills/fixit/SKILL.md +26 -1
- package/skills/help/SKILL.md +83 -88
- package/skills/overnight/SKILL.md +3 -1
- package/skills/release/SKILL.md +23 -0
- package/skills/review/SKILL.md +27 -1
package/skills/help/SKILL.md
CHANGED
|
@@ -1,104 +1,99 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: rdc:help
|
|
3
|
-
description: "Usage `rdc:help` — Show all rdc:* skills with
|
|
3
|
+
description: "Usage `rdc:help` — Show all rdc:* skills with usage, requirements, and codeflow status. Reads `.claude-plugin/plugin.json` skills_meta (single source of truth). Call when unsure which skill to use or what args it takes."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
> **⚠️ OUTPUT CONTRACT (READ FIRST):** `guides/output-contract.md`
|
|
7
7
|
> Checklist-only output. No tool-call narration. No raw MCP/JSON/log dumps.
|
|
8
|
-
> One checklist upfront, updated in place, shown again at end with a 1-line verdict.
|
|
9
8
|
|
|
10
|
-
# rdc:help — Command Reference
|
|
9
|
+
# rdc:help — Command Reference (manifest-driven)
|
|
11
10
|
|
|
12
|
-
> **⚠️ HARD OUTPUT RULE:**
|
|
13
|
-
> No preamble. No follow-up question. No summary.
|
|
14
|
-
> Do NOT add any text before or after the block. Emit it exactly as written. This is non-negotiable.
|
|
11
|
+
> **⚠️ HARD OUTPUT RULE:** Read the plugin manifest, render the table, exit.
|
|
12
|
+
> No preamble. No follow-up question. No summary.
|
|
15
13
|
|
|
16
|
-
##
|
|
14
|
+
## Procedure
|
|
17
15
|
|
|
18
|
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
16
|
+
1. Resolve the plugin manifest path. Try in order, take the first that exists:
|
|
17
|
+
- `{PLUGIN_ROOT}/.claude-plugin/plugin.json` ← preferred when running from the published plugin
|
|
18
|
+
- `C:/Dev/rdc-skills/.claude-plugin/plugin.json` ← source-checkout fallback
|
|
19
|
+
- `~/.claude/plugins/cache/rdc-skills/rdc-skills/latest/.claude-plugin/plugin.json` ← installed cache
|
|
20
|
+
2. Read it. Parse JSON. Read `skills_meta`.
|
|
21
|
+
3. Group entries by `category` in this order: `planning, build, deploy, release, dev-loop, reporting, tooling, infra`.
|
|
22
|
+
4. For each entry render one row: `{slash} — {usage} — needs: {requires.join(',')} — cf: {codeflow_required ? 'yes' : 'no'}`.
|
|
23
|
+
5. Print a Decision Tree at the end that maps natural-language phrases to skills, derived from each entry's `triggers[]`.
|
|
24
|
+
6. Hard rules section at the bottom (see below — verbatim).
|
|
21
25
|
|
|
22
|
-
##
|
|
26
|
+
## Required output format
|
|
23
27
|
|
|
24
|
-
- `rdc:help` — print the full command reference menu
|
|
25
|
-
- `rdc` — alias; same as `rdc:help`
|
|
26
|
-
|
|
27
|
-
## Workflow — the RDC loop
|
|
28
|
-
|
|
29
|
-
| Command | Usage |
|
|
30
|
-
|---|---|
|
|
31
|
-
| `rdc:preplan` | `rdc:preplan <topic> [--unattended]` — research, no code |
|
|
32
|
-
| `rdc:plan` | `rdc:plan <topic> [--unattended]` — architecture + epic/tasks |
|
|
33
|
-
| `rdc:build` | `rdc:build <epic-id\|topic> [--unattended]` — dispatch agents, commit, close items |
|
|
34
|
-
| `rdc:review` | `rdc:review [--unattended]` — typecheck, tests, fix, commit |
|
|
35
|
-
| `rdc:report` | `rdc:report [--unattended]` — write `.rdc/reports/YYYY-MM-DD.md` |
|
|
36
|
-
| `rdc:overnight` | `rdc:overnight [epic-id\|label=X]` — chain preplan→plan→build→review→report |
|
|
37
|
-
| `rdc:status` | `rdc:status` — read-only dashboard |
|
|
38
|
-
| `rdc:fixit` | `rdc:fixit <description>` — bypass the loop, <5 files / <30 min |
|
|
39
|
-
|
|
40
|
-
## Ops
|
|
41
|
-
|
|
42
|
-
| Command | Usage |
|
|
43
|
-
|---|---|
|
|
44
|
-
| `rdc:deploy` | `rdc:deploy <slug> [build-id]` · `rdc:deploy new <slug>` · `rdc:deploy diagnose <slug>` · `rdc:deploy audit [--fix]` |
|
|
45
|
-
| `rdc:release` | `rdc:release <repo> [version]` · `rdc:release <repo> --patch\|--minor\|--major` · `rdc:release <repo> --dry-run` |
|
|
46
|
-
|
|
47
|
-
## Planning ↔ CLI bridge
|
|
48
|
-
|
|
49
|
-
| Command | Usage |
|
|
50
|
-
|---|---|
|
|
51
|
-
| `rdc:handoff` | `rdc:handoff <topic>` — finalize plan → work items for CLI |
|
|
52
|
-
| `rdc:prototype` | `rdc:prototype <description>` — JSX mock for review |
|
|
53
|
-
| `rdc:workitems` | `rdc:workitems <add\|update\|done\|list\|epics> [args]` |
|
|
54
|
-
| `rdc:collab` | `rdc:collab --session <id>` — claude.ai bidirectional relay |
|
|
55
|
-
| `rdc:co-develop` | `rdc:co-develop <start\|resume\|send\|poll\|status\|stop>` — Claude/Codex peer-aware co-development |
|
|
56
|
-
| `rdc:design` | `rdc:design <command\|brief>` — RDC/Studio design, tokens, palettes, themes, Rampa CLI |
|
|
57
|
-
|
|
58
|
-
## Agent guides (dispatched by rdc:build, not user-invocable)
|
|
59
|
-
|
|
60
|
-
These live under `guides/agents/` — they are role playbooks the build skill spawns as sub-agents. You do NOT invoke them directly.
|
|
61
|
-
|
|
62
|
-
- `guides/agents/frontend.md` — [agent-only — dispatched by rdc:build, not user-invocable]
|
|
63
|
-
- `guides/agents/backend.md` — [agent-only — dispatched by rdc:build, not user-invocable]
|
|
64
|
-
- `guides/agents/data.md` — [agent-only — dispatched by rdc:build, not user-invocable]
|
|
65
|
-
- `guides/agents/design.md` — [agent-only — dispatched by rdc:build, not user-invocable]
|
|
66
|
-
- `guides/agents/infrastructure.md` — [agent-only — dispatched by rdc:build, not user-invocable]
|
|
67
|
-
- `guides/agents/content.md` — [agent-only — dispatched by rdc:build, not user-invocable]
|
|
68
|
-
- `guides/agents/cs2.md` — [agent-only — dispatched by rdc:build, not user-invocable]
|
|
69
|
-
- `guides/agents/viz.md` — [agent-only — dispatched by rdc:build, not user-invocable]
|
|
70
|
-
- `guides/agents/setup.md` — [agent-only — dispatched by rdc:build, not user-invocable]
|
|
71
|
-
- `guides/agents/verify.md` — [agent-only — dispatched by rdc:build, not user-invocable]
|
|
72
|
-
|
|
73
|
-
Each agent reads `.rdc/guides/agent-bootstrap.md` first, then its role guide.
|
|
74
|
-
|
|
75
|
-
## Decision tree
|
|
76
|
-
|
|
77
|
-
```
|
|
78
|
-
Project lead says → invoke
|
|
79
|
-
─────────────────────────────────────────────────
|
|
80
|
-
"research this" / "how do others do" → rdc:preplan <topic>
|
|
81
|
-
"plan this out" / "architect" → rdc:plan <topic>
|
|
82
|
-
"build it" / "go" / "execute" → rdc:build <topic>
|
|
83
|
-
"run overnight" / "while I sleep" → rdc:overnight
|
|
84
|
-
"quick fix" / "hotfix" / "typo" → rdc:fixit <desc>
|
|
85
|
-
"review" / "is it clean" → rdc:review
|
|
86
|
-
"report" / "summarize" → rdc:report
|
|
87
|
-
"status" / "where are we" → rdc:status
|
|
88
|
-
"deploy" / "ship" → rdc:deploy <slug>
|
|
89
|
-
"release" / "publish" → rdc:release <repo>
|
|
90
|
-
"hand this off" / "give to agents" → rdc:handoff
|
|
91
|
-
"show me what it looks like" → rdc:prototype
|
|
92
|
-
"add to backlog" / "create a ticket" → rdc:workitems
|
|
93
|
-
"work together" / "partner review" → rdc:co-develop start <name>
|
|
94
|
-
"design/tokens/palette/theme" → rdc:design <command>
|
|
95
|
-
"what commands" / "what skills" → rdc:help
|
|
96
28
|
```
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
29
|
+
RDC SKILLS — manifest: .claude-plugin/plugin.json @ v{version}
|
|
30
|
+
|
|
31
|
+
## planning
|
|
32
|
+
/rdc:preplan <topic> needs: codeflow cf: yes
|
|
33
|
+
/rdc:plan <topic> needs: supabase,clauth,codeflow,work-items-rpc cf: yes
|
|
34
|
+
/rdc:handoff [--from-prototype <id>] needs: supabase,clauth,codeflow,work-items-rpc,git cf: yes
|
|
35
|
+
|
|
36
|
+
## build
|
|
37
|
+
/rdc:build <epic-id> needs: supabase,clauth,codeflow,agent-dispatch,work-items-rpc,git cf: yes
|
|
38
|
+
/rdc:design <topic> needs: supabase,clauth,codeflow,git cf: yes
|
|
39
|
+
/rdc:prototype <desc> needs: supabase,clauth,codeflow cf: yes
|
|
40
|
+
/rdc:overnight [scope] needs: supabase,clauth,codeflow,agent-dispatch,work-items-rpc,git cf: yes
|
|
41
|
+
/rdc:review [--unattended] needs: supabase,clauth,codeflow,agent-dispatch,git cf: yes
|
|
42
|
+
|
|
43
|
+
## deploy
|
|
44
|
+
/rdc:deploy <slug> [new|diagnose|audit] [--fix] needs: clauth,coolify,pm2,supabase,codeflow cf: yes
|
|
45
|
+
|
|
46
|
+
## release
|
|
47
|
+
/rdc:release <repo> [version|--patch|--minor|--major|--dry-run] needs: clauth,git,npm,coolify cf: no
|
|
48
|
+
⚠ Production promotion requires explicit user go-ahead.
|
|
49
|
+
|
|
50
|
+
## dev-loop
|
|
51
|
+
/rdc:fixit <description> needs: supabase,clauth,codeflow,agent-dispatch,work-items-rpc,git cf: yes
|
|
52
|
+
constraint: < 5 files AND < 30 min — otherwise use /rdc:plan
|
|
53
|
+
/rdc:collab --session <id> needs: clauth,git cf: yes
|
|
54
|
+
/rdc:co-develop <ask|reply|inbox|start|resume|status> needs: clauth cf: no
|
|
55
|
+
|
|
56
|
+
## reporting
|
|
57
|
+
/rdc:status needs: supabase,clauth cf: no
|
|
58
|
+
/rdc:report needs: supabase,clauth,codeflow cf: yes
|
|
59
|
+
/rdc:watch needs: (none) cf: no
|
|
60
|
+
/rdc:help needs: (none) cf: no
|
|
61
|
+
|
|
62
|
+
## tooling
|
|
63
|
+
/rdc:workitems [add|done|status|list|query] needs: supabase,clauth,work-items-rpc cf: no
|
|
64
|
+
/rdc:fs-mcp <task> needs: clauth cf: no
|
|
65
|
+
|
|
66
|
+
## infra
|
|
67
|
+
/rdc:self-test [--strict] needs: clauth cf: no
|
|
68
|
+
/rdc:terminal-config <task> needs: git cf: no
|
|
69
|
+
|
|
70
|
+
## Decision tree (derived from skills_meta[].triggers)
|
|
71
|
+
|
|
72
|
+
"research before planning" / "what should we use" → /rdc:preplan
|
|
73
|
+
"plan this" / "architecture" / "epic breakdown" → /rdc:plan
|
|
74
|
+
"build the epic" / "execute the plan" / "go" → /rdc:build
|
|
75
|
+
"let claude run" / "overnight" / "drain queue" → /rdc:overnight
|
|
76
|
+
"quick fix" / "typo" / "<5 files" → /rdc:fixit
|
|
77
|
+
"code review" / "audit" / "tsc check" → /rdc:review
|
|
78
|
+
"session report" / "summarize" → /rdc:report
|
|
79
|
+
"where are we" / "snapshot" → /rdc:status
|
|
80
|
+
"deploy to dev" / "audit watch paths" → /rdc:deploy
|
|
81
|
+
"promote" / "push to prod" / "ship" → /rdc:release
|
|
82
|
+
"convert prototype" / "finalize plan" → /rdc:handoff
|
|
83
|
+
"mock it up" / "show me" → /rdc:prototype
|
|
84
|
+
"add work item" / "list epics" → /rdc:workitems
|
|
85
|
+
"ask codex" / "peer-aware" → /rdc:co-develop
|
|
86
|
+
"claude.ai relay" / "collab session" → /rdc:collab
|
|
87
|
+
"palette" / "studio design" / "tokens" → /rdc:design
|
|
88
|
+
|
|
89
|
+
## Hard rules
|
|
90
|
+
|
|
91
|
+
- `cf: yes` skills MUST consult CodeFlow before acting. Hooks fail-closed on unreachable CodeFlow for these.
|
|
92
|
+
- NEVER `pnpm build` at monorepo level — single scoped builds only.
|
|
101
93
|
- NEVER commit to `main` without explicit approval. Default branch is `develop`.
|
|
102
94
|
- NEVER overlap agents on the same files.
|
|
103
95
|
- ALWAYS update work items in real time via RPCs (see `.claude/rules/work-items-rpc.md`).
|
|
104
|
-
- ALWAYS credentials via clauth daemon: `curl -s http://127.0.0.1:52437/v/<service>` (
|
|
96
|
+
- ALWAYS credentials via clauth daemon: `curl -s http://127.0.0.1:52437/v/<service>` (plain text).
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
> If the manifest file is unreachable, fall back to the static table above (the manifest values it was generated from). Tell the user the fallback was used so they know to investigate.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: rdc:overnight
|
|
3
|
-
description: "Usage `rdc:overnight [epic-id|label=<label>]` — Unattended end-to-end: drain the entire work queue autonomously (preplan → plan → build → review → report). Use when leaving Claude to run unsupervised for an extended session."
|
|
3
|
+
description: "Usage `rdc:overnight [epic-id|label=<label>]` — Unattended end-to-end: drain the entire work queue autonomously (preplan → plan → build → review → report). Inherits mandatory per-wave code-review (pr-review-toolkit:code-reviewer) from rdc:build and rdc:review. Use when leaving Claude to run unsupervised for an extended session."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
> **⚠️ OUTPUT CONTRACT (READ FIRST):** `guides/output-contract.md`
|
|
@@ -119,6 +119,8 @@ Agents receive the relevant guide file from `.rdc/guides/` (fallback: `.rdc/guid
|
|
|
119
119
|
After each wave: check `BUILD_STATUS`. If `escalated: true`, log the escalation
|
|
120
120
|
in the overnight doc and continue — don't stop the loop.
|
|
121
121
|
|
|
122
|
+
**Mandatory code-review gate inherited from rdc:build (Step 9b).** Every wave inside `rdc:build` runs a `pr-review-toolkit:code-reviewer` pass before the next wave dispatches. Critical/high findings reopen the affected work items to `todo` and the next wave fixes them. Overnight does not skip or weaken this gate. If a wave's code-review escalates twice, advisor decides; otherwise the loop continues.
|
|
123
|
+
|
|
122
124
|
### 3d. Review
|
|
123
125
|
|
|
124
126
|
```
|
package/skills/release/SKILL.md
CHANGED
|
@@ -32,6 +32,7 @@ If `<repo>` is not resolvable from the current workspace, ask for its local path
|
|
|
32
32
|
|
|
33
33
|
```
|
|
34
34
|
rdc:release: <repo> vX.Y.Z -> vA.B.C
|
|
35
|
+
[ ] PUBLISH.md status gate: status=active AND prod in environments (block if not)
|
|
35
36
|
[ ] Source path resolved
|
|
36
37
|
[ ] Release metadata read
|
|
37
38
|
[ ] Working tree clean or user-approved dirty scope identified
|
|
@@ -40,6 +41,7 @@ rdc:release: <repo> vX.Y.Z -> vA.B.C
|
|
|
40
41
|
[ ] Dry-run gate handled
|
|
41
42
|
[ ] Version files updated
|
|
42
43
|
[ ] Tests/self-test passed
|
|
44
|
+
[ ] Mandatory release code-review (pr-review-toolkit:code-reviewer on `git diff <last-released-tag>..HEAD`). Block release on `critical`/`high` findings; record `medium`/`low` in the release notes and proceed.
|
|
43
45
|
[ ] Commit created
|
|
44
46
|
[ ] Tag created
|
|
45
47
|
[ ] Branch and tag pushed
|
|
@@ -51,6 +53,27 @@ rdc:release: <repo> vX.Y.Z -> vA.B.C
|
|
|
51
53
|
✅ rdc:release <repo>: vA.B.C live and verified
|
|
52
54
|
```
|
|
53
55
|
|
|
56
|
+
## PUBLISH.md Status Gate (Step 0 — before any production-touching step)
|
|
57
|
+
|
|
58
|
+
Before touching any production system, read `PUBLISH.md` from the app root and validate promotion eligibility.
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
PUBLISH_MD="<monorepo_path>/PUBLISH.md"
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**Block promotion if ANY of the following are true:**
|
|
65
|
+
|
|
66
|
+
1. **PUBLISH.md is missing AND the app has a row in `app_deployments`** — emit warn and continue (during rollout period); becomes a hard block after Option A rollout is complete.
|
|
67
|
+
2. **PUBLISH.md exists AND `status` field is NOT `active`** — hard block regardless of rollout status.
|
|
68
|
+
- `status: draft` → `BLOCKED: PUBLISH.md status=draft for <slug> — promote requires status=active`
|
|
69
|
+
- `status: deprecated` → `BLOCKED: PUBLISH.md status=deprecated for <slug> — promote requires status=active`
|
|
70
|
+
3. **PUBLISH.md exists AND `environments` array does not include `prod`** → `BLOCKED: PUBLISH.md environments=[dev] for <slug> — prod must be declared before promotion`
|
|
71
|
+
4. **Any required surface field is missing** (`source_dir` or `path` absent on any surface) → `BLOCKED: PUBLISH.md surface <id> missing required field for <slug>`
|
|
72
|
+
|
|
73
|
+
If blocked, abort immediately with the message above. Do NOT proceed to the version bump, commit, or any Coolify call.
|
|
74
|
+
|
|
75
|
+
If PUBLISH.md is absent and app has no `app_deployments` row (library/package), skip this gate.
|
|
76
|
+
|
|
54
77
|
## Resolution Order
|
|
55
78
|
|
|
56
79
|
1. Current repo if `<repo>` is `.` or omitted and the user clearly refers to the current workspace.
|
package/skills/review/SKILL.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: rdc:review
|
|
3
|
-
description: "Usage `rdc:review [--unattended]` — Post-build quality gate: tsc, tests, stale docs, export conflicts across modified packages. Fixes what it can automatically, escalates the rest. Call after rdc:build and before merging to main."
|
|
3
|
+
description: "Usage `rdc:review [--unattended]` — Post-build quality gate: tsc, tests, stale docs, export conflicts, and a mandatory pr-review-toolkit:code-reviewer pass across modified packages. Fixes what it can automatically, escalates the rest. Call after rdc:build and before merging to main."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
> **⚠️ OUTPUT CONTRACT (READ FIRST):** `guides/output-contract.md`
|
|
@@ -80,6 +80,32 @@ description: "Usage `rdc:review [--unattended]` — Post-build quality gate: tsc
|
|
|
80
80
|
- Never silently leave orphaned tasks
|
|
81
81
|
- **⛔ Raw `UPDATE work_items SET parent_id = ...` is forbidden** — bypasses RLS and all constraint checks
|
|
82
82
|
|
|
83
|
+
8b. **Mandatory code-review gate — dispatch pr-review-toolkit:code-reviewer:**
|
|
84
|
+
|
|
85
|
+
⛔ **No CLEAN verdict without a code-review pass.** This is the second half of the quality gate; tsc/vitest catch type and behavior errors, code-reviewer catches logic, security, and convention drift.
|
|
86
|
+
|
|
87
|
+
Dispatch ONE `pr-review-toolkit:code-reviewer` agent on the full diff under review:
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
Agent({
|
|
91
|
+
subagent_type: "pr-review-toolkit:code-reviewer",
|
|
92
|
+
description: "rdc:review code-review pass",
|
|
93
|
+
prompt: "Review `git diff origin/main...HEAD` on the development branch.
|
|
94
|
+
Focus on: bugs, logic errors, security vulnerabilities, project-convention
|
|
95
|
+
adherence (.claude/rules/*, CLAUDE.md, engineering-behavior.md).
|
|
96
|
+
Confidence-based filtering — high-confidence findings only.
|
|
97
|
+
Return CODE_REVIEW_COMPLETE with: { critical_count, high_count, medium_count,
|
|
98
|
+
low_count, findings: [{severity, file:line, issue, suggested_fix}] }."
|
|
99
|
+
})
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
**Severity gate:**
|
|
103
|
+
- `critical` or `high` → verdict cannot be CLEAN. Interactive: report and pause. Unattended: auto-fix if mechanical (rename, missing await, obvious null check), otherwise escalate via advisor and mark HAS_ISSUES.
|
|
104
|
+
- `medium` or `low` → record in the review report's "Issues" section; verdict can still be CLEAN.
|
|
105
|
+
- Zero findings → log `CODE_REVIEW: CLEAN` and continue.
|
|
106
|
+
|
|
107
|
+
Under `RDC_TEST=1`: echo `[RDC_TEST] skipping code-review dispatch` and continue.
|
|
108
|
+
|
|
83
109
|
9. **Verification gate — dispatch the verify agent:**
|
|
84
110
|
After any fixes land, run the verify gate on every touched package. See `guides/agents/verify.md`.
|
|
85
111
|
Apply `guides/engineering-behavior.md` while reviewing: flag unnecessary abstraction, drive-by refactors, missing assumptions, hidden uncertainty, out-of-scope edits, and prose-only verification.
|