@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 +49 -0
- package/git-sha.json +1 -1
- package/package.json +1 -1
- package/skills/build/SKILL.md +9 -9
- package/skills/env/SKILL.md +4 -6
- package/skills/housekeeping/SKILL.md +1 -1
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
package/package.json
CHANGED
package/skills/build/SKILL.md
CHANGED
|
@@ -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-
|
|
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-
|
|
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-
|
|
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
|
|
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
|
|
291
|
-
- If the task is a Supabase migration that drops/renames/reshapes anything, or a refactor across ≥5 files → **Opus
|
|
292
|
-
- Otherwise → **Sonnet
|
|
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
|
|
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
|
|
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)
|
package/skills/env/SKILL.md
CHANGED
|
@@ -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
|
|
81
|
-
| CodeFlow brain | `/health` → `health.state`
|
|
82
|
-
| rdc-skills MCP | `pm2 list` shows rdc-skills-mcp online | `
|
|
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
|
|
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-
|
|
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`.
|