@lifeaitools/rdc-skills 0.31.2 → 0.34.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 +8 -8
- package/.github/workflows/publish.yml +35 -3
- package/.github/workflows/self-test.yml +34 -34
- package/CHANGELOG.md +348 -348
- package/MANIFEST.md +224 -224
- package/README.md +2 -2
- package/clauth-plugin.json +85 -0
- package/deploy/install-systemd.sh +0 -0
- package/ecosystem.local.config.cjs +18 -0
- package/guides/agent-bootstrap.md +195 -195
- package/guides/agents/backend.md +102 -102
- package/guides/agents/content.md +94 -94
- package/guides/agents/cs2.md +56 -56
- package/guides/agents/data.md +86 -86
- package/guides/agents/design.md +77 -77
- package/guides/agents/frontend.md +91 -91
- package/guides/agents/infrastructure.md +81 -81
- package/guides/agents/setup.md +272 -272
- package/guides/agents/verify.md +119 -119
- package/guides/agents/viz.md +106 -106
- package/guides/lessons-learned-spec.md +1 -1
- package/guides/orchestration-epic.md +17 -17
- package/package.json +3 -2
- package/scripts/clean-malformed-registrations.js +257 -0
- package/scripts/postinstall.js +142 -0
- package/scripts/self-test.mjs +1459 -1459
- package/skills/behavior-audit/SKILL.md +1 -1
- package/skills/behavior-audit/agents/openai.yaml +4 -4
- package/skills/brochure/SKILL.md +1 -1
- package/skills/{rdc-brochurify → brochurify}/SKILL.md +1 -1
- package/skills/build/SKILL.md +1 -1
- package/skills/channel-formatter/SKILL.md +1 -1
- package/skills/co-develop/SKILL.md +1 -1
- package/skills/collab/SKILL.md +1 -1
- package/skills/convert/SKILL.md +1 -1
- package/skills/deploy/SKILL.md +1 -1
- package/skills/design/SKILL.md +1 -1
- package/skills/edit/SKILL.md +1 -1
- package/skills/env/SKILL.md +1 -1
- package/skills/{rdc-extract-verifier-rules → extract-verifier-rules}/SKILL.md +1 -1
- package/skills/fixit/SKILL.md +1 -1
- package/skills/fs-mcp/SKILL.md +1 -1
- package/skills/handoff/SKILL.md +1 -1
- package/skills/help/SKILL.md +1 -1
- package/skills/housekeeping/SKILL.md +1 -1
- package/skills/onramp/SKILL.md +1 -1
- package/skills/overnight/SKILL.md +1 -1
- package/skills/plan/SKILL.md +1 -1
- package/skills/preplan/SKILL.md +1 -1
- package/skills/prototype/SKILL.md +1 -1
- package/skills/refactor/SKILL.md +1 -1
- package/skills/regen-media/SKILL.md +1 -1
- package/skills/release/SKILL.md +1 -1
- package/skills/report/SKILL.md +1 -1
- package/skills/review/SKILL.md +1 -1
- package/skills/self-test/SKILL.md +1 -1
- package/skills/status/SKILL.md +1 -1
- package/skills/terminal-config/SKILL.md +1 -1
- package/skills/tests/MATRIX.md +2 -2
- package/skills/tests/onramp.test.json +101 -101
- package/skills/tests/rdc-env.test.json +12 -12
- package/skills/tests/rdc-new-model.test.json +12 -12
- package/skills/tests/rdc-refactor.test.json +29 -29
- package/skills/tests/rdc-regen-media.test.json +29 -29
- package/skills/watch/SKILL.md +1 -1
- package/skills/workitems/SKILL.md +1 -1
- package/tests/channel-formatter.contract.test.mjs +2 -2
- package/tests/clauth-plugin-postinstall.test.mjs +256 -0
- package/tests/mcp.test.mjs +1 -1
- package/tests/plugin-cache-clean-install.test.mjs +76 -0
- package/tests/plugin-namespace-names.test.mjs +125 -0
- /package/skills/tests/{rdc-rdc-brochurify.test.json → rdc-brochurify.test.json} +0 -0
- /package/skills/tests/{rdc-rdc-extract-verifier-rules.test.json → rdc-extract-verifier-rules.test.json} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rdc",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.33.0",
|
|
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",
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
"leads_to": [
|
|
79
79
|
"convert",
|
|
80
80
|
"brochure",
|
|
81
|
-
"
|
|
81
|
+
"brochurify",
|
|
82
82
|
"lifeai-brochure-author"
|
|
83
83
|
],
|
|
84
84
|
"sandbox_aware": true,
|
|
@@ -158,8 +158,8 @@
|
|
|
158
158
|
"enabled_default": true,
|
|
159
159
|
"codeflow_required": false
|
|
160
160
|
},
|
|
161
|
-
"
|
|
162
|
-
"name": "
|
|
161
|
+
"brochurify": {
|
|
162
|
+
"name": "brochurify",
|
|
163
163
|
"slash": "rdc:brochurify",
|
|
164
164
|
"category": "tooling",
|
|
165
165
|
"usage": "rdc:brochurify <source|job-payload>",
|
|
@@ -234,7 +234,7 @@
|
|
|
234
234
|
],
|
|
235
235
|
"follows": [],
|
|
236
236
|
"leads_to": [
|
|
237
|
-
"
|
|
237
|
+
"brochurify"
|
|
238
238
|
],
|
|
239
239
|
"sandbox_aware": false,
|
|
240
240
|
"output_contract": "guides/output-contract.md",
|
|
@@ -999,8 +999,8 @@
|
|
|
999
999
|
"enabled_default": true,
|
|
1000
1000
|
"codeflow_required": true
|
|
1001
1001
|
},
|
|
1002
|
-
"
|
|
1003
|
-
"name": "
|
|
1002
|
+
"extract-verifier-rules": {
|
|
1003
|
+
"name": "extract-verifier-rules",
|
|
1004
1004
|
"slash": "rdc:extract-verifier-rules",
|
|
1005
1005
|
"category": "tooling",
|
|
1006
1006
|
"usage": "rdc:extract-verifier-rules [enhancement-log]",
|
|
@@ -1032,7 +1032,7 @@
|
|
|
1032
1032
|
"nightly cron at 3:00 AM PT"
|
|
1033
1033
|
],
|
|
1034
1034
|
"follows": [
|
|
1035
|
-
"
|
|
1035
|
+
"brochurify"
|
|
1036
1036
|
],
|
|
1037
1037
|
"leads_to": [
|
|
1038
1038
|
"review"
|
|
@@ -1,5 +1,32 @@
|
|
|
1
1
|
name: Publish to npm
|
|
2
2
|
|
|
3
|
+
# TRUSTED PUBLISHING (OIDC) — no stored npm credential.
|
|
4
|
+
#
|
|
5
|
+
# WHY THIS CHANGED. npm retired the token model this fleet was built on:
|
|
6
|
+
# 2025-12-09 every classic token permanently revoked
|
|
7
|
+
# 2025-11 granular tokens capped at 90 days; any expiring after 2026-02-03
|
|
8
|
+
# were forcibly moved to that date
|
|
9
|
+
# 2026-08 tokens with Bypass-2FA stop working entirely
|
|
10
|
+
# So `secrets.NPM_TOKEN` is a credential that expires on npm's schedule regardless of
|
|
11
|
+
# how carefully it is managed, and a release pipeline that depends on one is a pipeline
|
|
12
|
+
# that silently stops working. This job proves its identity to npm per-run instead, and
|
|
13
|
+
# there is nothing to rotate.
|
|
14
|
+
#
|
|
15
|
+
# It also publishes provenance automatically — cryptographic proof of the commit and
|
|
16
|
+
# workflow that built the tarball — which a token publish does not.
|
|
17
|
+
#
|
|
18
|
+
# ONE-TIME SETUP ON NPMJS, per package (this cannot be done from CI):
|
|
19
|
+
# npmjs.com -> package -> Settings -> Trusted Publisher
|
|
20
|
+
# organization/user : LIFEAI
|
|
21
|
+
# repository : rdc-skills
|
|
22
|
+
# workflow filename : publish.yml (filename only, not a path)
|
|
23
|
+
# allowed actions : must select at least one (required for configs created
|
|
24
|
+
# after 2026-05-20)
|
|
25
|
+
#
|
|
26
|
+
# A package that does not exist yet cannot be configured this way — npm requires the
|
|
27
|
+
# package to exist before its settings page does. Publish the first version with a
|
|
28
|
+
# short-lived token, then switch here.
|
|
29
|
+
|
|
3
30
|
on:
|
|
4
31
|
push:
|
|
5
32
|
tags:
|
|
@@ -7,6 +34,7 @@ on:
|
|
|
7
34
|
|
|
8
35
|
permissions:
|
|
9
36
|
contents: read
|
|
37
|
+
id-token: write # REQUIRED — without it npm gets no OIDC identity to trust
|
|
10
38
|
|
|
11
39
|
jobs:
|
|
12
40
|
publish:
|
|
@@ -19,10 +47,14 @@ jobs:
|
|
|
19
47
|
node-version: '24'
|
|
20
48
|
registry-url: 'https://registry.npmjs.org'
|
|
21
49
|
|
|
50
|
+
# npm >= 11.5.1 is the first release that understands trusted publishing. The
|
|
51
|
+
# node-24 image ships an older npm, and the failure mode without this is an
|
|
52
|
+
# ordinary-looking auth error rather than anything naming OIDC.
|
|
53
|
+
- name: Ensure npm supports trusted publishing
|
|
54
|
+
run: npm install -g npm@latest && npm --version
|
|
55
|
+
|
|
22
56
|
- name: Publish
|
|
23
57
|
run: npm publish --access public
|
|
24
|
-
env:
|
|
25
|
-
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
26
58
|
|
|
27
59
|
- name: Notify clauth channel
|
|
28
60
|
if: always()
|
|
@@ -31,4 +63,4 @@ jobs:
|
|
|
31
63
|
STATUS="${{ job.status }}"
|
|
32
64
|
curl -s -X POST "${{ secrets.CLAUTH_CHANNEL_URL }}" \
|
|
33
65
|
-H "Content-Type: application/json" \
|
|
34
|
-
-d "{\"event\":\"npm-publish\",\"package\":\"rdc-skills\",\"version\":\"${VERSION}\",\"status\":\"${STATUS}\",\"source\":\"github-actions\"}"
|
|
66
|
+
-d "{\"event\":\"npm-publish\",\"package\":\"rdc-skills\",\"version\":\"${VERSION}\",\"status\":\"${STATUS}\",\"source\":\"github-actions-oidc\"}"
|
|
@@ -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
|