@lifeaitools/rdc-skills 0.25.1 → 0.25.3

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/RELEASE.md ADDED
@@ -0,0 +1,49 @@
1
+ # Release — @lifeaitools/rdc-skills
2
+
3
+ ## Package
4
+ - **Registry:** npm `@lifeaitools/rdc-skills`
5
+ - **Repo:** `LIFEAI/rdc-skills` (standalone, not in regen-root monorepo)
6
+ - **Default branch:** `master`
7
+
8
+ ## Release process
9
+
10
+ ```bash
11
+ # 1. Merge feature branch to master
12
+ git checkout master && git pull origin master
13
+ git merge <feature-branch> --no-edit
14
+
15
+ # 2. Bump version
16
+ npm version patch|minor|major --no-git-tag-version
17
+
18
+ # 3. Commit + tag + push
19
+ git add package.json && git commit -m "release: v$(node -e \"console.log(require('./package.json').version)\")"
20
+ git tag "v$(node -e \"console.log(require('./package.json').version)\")"
21
+ git push origin master --tags
22
+
23
+ # 4. Publish to npm
24
+ npm publish
25
+
26
+ # 5. Install globally (serves both Claude Code CLI + MCP server)
27
+ npm install -g @lifeaitools/rdc-skills@latest
28
+
29
+ # 6. Verify
30
+ npm list -g @lifeaitools/rdc-skills --depth=0
31
+ ```
32
+
33
+ ## Automated via rdc:release
34
+
35
+ ```
36
+ rdc:release rdc-skills --patch
37
+ ```
38
+
39
+ This runs steps 1–6 automatically.
40
+
41
+ ## Environment targets
42
+ - **Local dev:** `npm install -g` + PM2 `rdc-skills-mcp` process
43
+ - **Remote MCP:** PM2 on Vultr `64.237.54.189` (auto-deploys via webhook on push to master)
44
+ - **Production:** N/A (npm global install is the distribution mechanism)
45
+
46
+ ## Version policy
47
+ - patch: new skill, skill fix, manifest update
48
+ - minor: new capability, breaking skill interface change
49
+ - major: harness architecture change
package/git-sha.json CHANGED
@@ -1,3 +1,3 @@
1
1
  {
2
- "sha": "bf46e3a7c1b60f99831e4e087c53007083eac436"
2
+ "sha": "7a77a9d962212b9731c805820f4f59127fe9ca9b"
3
3
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lifeaitools/rdc-skills",
3
- "version": "0.25.1",
3
+ "version": "0.25.3",
4
4
  "description": "RDC typed-agent dispatch skill suite for Claude Code - plan, build, review, overnight builds",
5
5
  "keywords": [
6
6
  "claude-code",
@@ -281,19 +281,19 @@ Read the task title and description, then:
281
281
 
282
282
  | Task character | Model | When to pick it |
283
283
  |---|---|---|
284
- | Updates, edits, mechanical refactors, small fixes, content tweaks, config patches, doc/copy edits, straightforward API wiring | `claude-sonnet-4-6` | Default for `frontend.md`/`content.md`/`infrastructure.md` work whose checklist is mostly "change X to Y" or "wire up endpoint Z". Budget-safe for parallel dispatch. |
285
- | Harder coding tasks — non-trivial algorithm, migration with backfill, schema reshape, multi-file refactor with subtle invariants, performance-sensitive code, anything where correctness is the bar | `claude-opus-4-6` | Default for `backend.md`/`data.md` work and any `frontend.md` task that involves state machines, race conditions, or cross-package contracts. |
286
- | Design or innovative thought — new component design, brand/UX work, CS 2.0 paradigm work (HAIL/Quad Pixel/AEMG/Virtue), grammar evolution, architecture-first design, anything where the *shape* of the solution is the deliverable rather than the implementation | `claude-opus-4-8` | Default for `design.md`/`cs2.md` work. Also use for `backend.md`/`data.md` tasks tagged with `architecture` or `design-decision` in work item labels. |
284
+ | Updates, edits, mechanical refactors, small fixes, content tweaks, config patches, doc/copy edits, straightforward API wiring | `claude-sonnet-5` | Default for `frontend.md`/`content.md`/`infrastructure.md` work whose checklist is mostly "change X to Y" or "wire up endpoint Z". Budget-safe for parallel dispatch. |
285
+ | Harder coding tasks — non-trivial algorithm, migration with backfill, schema reshape, multi-file refactor with subtle invariants, performance-sensitive code, anything where correctness is the bar | `claude-opus-5` | Default for `backend.md`/`data.md` work and any `frontend.md` task that involves state machines, race conditions, or cross-package contracts. |
286
+ | Design or innovative thought — new component design, brand/UX work, CS 2.0 paradigm work (HAIL/Quad Pixel/AEMG/Virtue), grammar evolution, architecture-first design, anything where the *shape* of the solution is the deliverable rather than the implementation | `claude-opus-5` | Default for `design.md`/`cs2.md` work. Also use for `backend.md`/`data.md` tasks tagged with `architecture` or `design-decision` in work item labels. |
287
287
 
288
288
  **How to choose when the task straddles categories:**
289
- - If the task's checklist contains the word "design", "decide", "propose", "evaluate alternatives", "novel", or any CS 2.0 primitive → **Opus 4.8**.
290
- - If the task touches `packages/cs2*`, `packages/hail`, `packages/quad-pixel`, `packages/virtue-engine`, `packages/aemg`, `packages/planetary-ontology`, or `packages/being-state-processor` → **Opus 4.8** (CS 2.0 paradigm requires innovative thought, not transcription).
291
- - If the task is a Supabase migration that drops/renames/reshapes anything, or a refactor across ≥5 files → **Opus 4.6**.
292
- - Otherwise → **Sonnet 4.6**.
289
+ - If the task's checklist contains the word "design", "decide", "propose", "evaluate alternatives", "novel", or any CS 2.0 primitive → **Opus 5**.
290
+ - If the task touches `packages/cs2*`, `packages/hail`, `packages/quad-pixel`, `packages/virtue-engine`, `packages/aemg`, `packages/planetary-ontology`, or `packages/being-state-processor` → **Opus 5** (CS 2.0 paradigm requires innovative thought, not transcription).
291
+ - If the task is a Supabase migration that drops/renames/reshapes anything, or a refactor across ≥5 files → **Opus 5**.
292
+ - Otherwise → **Sonnet 5**.
293
293
 
294
294
  **State the choice in the wave plan.** Before dispatching a wave, the supervisor must log one line per agent in the form `[wave-N agent-K] role=<role> task=<id> model=<chosen> reason=<one phrase>`. This keeps routing decisions reviewable in the transcript and lets `rdc:report` summarize the fleet mix.
295
295
 
296
- **Cost guardrail.** If a single wave would dispatch more than 3 Opus 4.8 agents in parallel, downshift the lowest-priority Opus-4.8 tasks to Opus 4.6 unless their work items are tagged `priority=urgent`. Opus 4.8 fast-mode is cheap individually but still ~5× a Sonnet agent at scale.
296
+ **Cost guardrail.** If a single wave would dispatch more than 3 Opus 5 agents in parallel, downshift the lowest-priority Opus 5 tasks to Sonnet 5 unless their work items are tagged `priority=urgent`. Opus 5 is cheap individually but still ~2× a Sonnet 5 agent at scale.
297
297
  Without `max_turns: 70`, agents hit the default turn cap mid-task and stop.
298
298
  `isolation: "worktree"` gives each agent its own git worktree and branch — eliminates push race conditions and index lock contention when multiple agents commit in parallel. The supervisor merges worktree branches after each wave (Step 9).
299
299
 
@@ -570,7 +570,7 @@ NEVER run pnpm build or pnpm turbo. Use npx vitest run only.
570
570
  - Push after each wave, not just at the end
571
571
  - Unattended: NEVER pause — continue automatically
572
572
  - Unattended: max 2 retries per task before escalating to advisor
573
- - Every Agent() dispatch: `model: <routed>` + `max_turns: 70` — non-negotiable. `isolation` is per the dispatch-mode rule in Step 7: NON-isolated (omit `isolation`) for doc-only and single-committer waves; `isolation: "worktree"` ONLY for true parallel MULTI-committer waves, and only after the HARD GATE (worktree base == develop HEAD) passes — a stale-base isolated wave is a build failure. Model is chosen per task per the routing table in Step 7: Sonnet 4.6 for updates/edits, Opus 4.6 for harder coding, Opus 4.8 for design/innovative thought (CS 2.0, brand/UX, architecture). Supervisor logs `model=<chosen> reason=<phrase>` per agent. Exception: validator agent in Step 10 always omits isolation; validator model stays `claude-sonnet-4-6` (verification, not generation).
573
+ - Every Agent() dispatch: `model: <routed>` + `max_turns: 70` — non-negotiable. `isolation` is per the dispatch-mode rule in Step 7: NON-isolated (omit `isolation`) for doc-only and single-committer waves; `isolation: "worktree"` ONLY for true parallel MULTI-committer waves, and only after the HARD GATE (worktree base == develop HEAD) passes — a stale-base isolated wave is a build failure. Model is chosen per task per the routing table in Step 7: Sonnet 5 for updates/edits, Opus 5 for harder coding and design/innovative thought (CS 2.0, brand/UX, architecture). Supervisor logs `model=<chosen> reason=<phrase>` per agent. Exception: validator agent in Step 10 always omits isolation; validator model stays `claude-sonnet-5` (verification, not generation).
574
574
  - Finding an existing file is NOT task completion — verify it satisfies the spec
575
575
 
576
576
  ## Capture lessons (exit step)
@@ -77,14 +77,12 @@ Check each service:
77
77
  | Service | Health Check | Repair |
78
78
  |---------|-------------|--------|
79
79
  | clauth daemon | `curl -s http://127.0.0.1:52437/ping` | `$LIFEAI_ENV/services/restart-clauth.bat` |
80
- | CodeFlow gateway | `curl -s http://127.0.0.1:3109/health` | `node $PROJECT_ROOT/scripts/codeflow-up.mjs` |
81
- | CodeFlow brain | `/health` → `health.state` should be `operational` | `node $PROJECT_ROOT/scripts/codeflow-up.mjs --restart` |
82
- | rdc-skills MCP | `pm2 list` shows rdc-skills-mcp online | `pm2 restart rdc-skills-mcp` |
80
+ | CodeFlow gateway | `curl -s http://127.0.0.1:3109/health` | **PROBE ONLY — never start/restart/recreate.** CodeFlow is blue-green-owned. If down, report `BLOCKED: CodeFlow gateway down — run: node scripts/codeflow-bluegreen.mjs recover` |
81
+ | CodeFlow brain | `/health` → `health.state` | **REPORT ONLY.** `degraded` = freshness drift (normal after pushes). `offline` = remote PM2 brain unreachable. Never start Docker Neo4j or local brain from this skill. |
82
+ | rdc-skills MCP | `pm2 list` shows rdc-skills-mcp online | `npm install -g @lifeaitools/rdc-skills@latest` (reinstall picks up latest) |
83
83
  | PM2 daemon | `pm2 ping` | `pm2 resurrect` |
84
- | Docker | `docker info` | Start Docker Desktop |
85
- | Neo4j | `docker inspect codeflow-neo4j` | `docker compose -f $LIFEAI_ENV/services/codeflow/docker-compose.yml up -d` |
86
84
 
87
- For `status`: report only. For `repair`: fix each failing service in order (clauth first, then CodeFlow, then MCPs).
85
+ For `status`: report only. For `repair`: fix clauth + rdc-skills only. CodeFlow repair is exclusively through `codeflow-bluegreen.mjs recover` — this skill never touches CodeFlow lifecycle, Docker, or Neo4j.
88
86
 
89
87
  ### Step 4: MCP server verification
90
88
 
@@ -174,7 +174,7 @@ For each cluster:
174
174
 
175
175
  When the weekly triage runs unattended, follow `.rdc/guides/lessons-learned-spec.md` § **Triage procedure — UNATTENDED weekly mode** — do not run `AskUserQuestion`. In brief (the spec is authoritative):
176
176
 
177
- - **Per-difficulty model routing** (reuses the `rdc:build` table): the run is led by `claude-opus-4-8` for clustering + scope/difficulty triage; mechanical apply → `claude-sonnet-4-6`; harder multi-file/migration fix → `claude-opus-4-6`; design/architectural fix → `claude-opus-4-8`.
177
+ - **Per-difficulty model routing** (reuses the `rdc:build` table): the run is led by `claude-sonnet-5` for clustering + scope/difficulty triage; mechanical apply → `claude-haiku-4-5`; harder multi-file/migration fix → `claude-sonnet-5`; design/architectural fix → `claude-opus-5`.
178
178
  - `scope: simple` → apply directly or via `rdc:fixit`, commit, `status: applied`.
179
179
  - `scope: architectural` with a single clear correct fix (records an already-learned lesson — e.g. "document X", "add a gate", update a guide) → route through `rdc:plan` → `rdc:build` (or `rdc:fixit` if genuinely <5 files), update the documentation, set `status: applied`/`triaged`.
180
180
  - `scope: architectural` **and genuinely ambiguous** (multiple valid approaches, real tradeoffs) → write a `human_items` row (`item_type='decision'`, with options in `suggested_agent_prompt`, `source_type='lesson'`, `source_fingerprint` for dedupe), set `status: triaged`, spawn + link a `work_item`. Decided in the morning. This is the asynchronous equivalent of the attended interview and honors `.claude/rules/architectural-change-approval.md`.