@lifeaitools/rdc-skills 0.35.18 → 0.35.20
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 +1 -1
- package/.github/workflows/self-test.yml +34 -34
- package/MANIFEST.md +224 -224
- package/VALIDATOR-ARCHITECTURE.md +18 -0
- package/bin/rdc-skills-mcp.mjs +40 -1
- package/guides/agent-bootstrap.md +26 -7
- 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/orchestration-epic.md +17 -17
- package/package.json +1 -1
- package/scripts/self-test.mjs +1459 -1459
- package/skills/behavior-audit/agents/openai.yaml +4 -4
- package/skills/build/SKILL.md +13 -2
- package/skills/deploy/SKILL.md +82 -533
- package/skills/edit/SKILL.md +8 -1
- package/skills/open/SKILL.md +73 -7
- package/skills/plan/SKILL.md +1 -1
- package/skills/release/SKILL.md +5 -4
- package/skills/review/SKILL.md +11 -0
- package/skills/rpms-filemap/SKILL.cloud.md +14 -7
- package/skills/rpms-filemap/SKILL.md +19 -6
- 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
|
@@ -119,9 +119,13 @@ pattern happened to catch.
|
|
|
119
119
|
Playwright must still run headless in agent sessions. Do not use `--headed`,
|
|
120
120
|
`--ui`, `codegen`, `open`, `show-report`, or `PWDEBUG=1`. Use list/dot/json
|
|
121
121
|
reporters and saved trace/report artifacts instead of opening the Playwright
|
|
122
|
-
UI.
|
|
123
|
-
|
|
124
|
-
|
|
122
|
+
UI. The managed environment guards
|
|
123
|
+
`foreground-process-gate-playwright-headed` and
|
|
124
|
+
`foreground-process-gate-playwright-ui` hard-block interactive forms; they do
|
|
125
|
+
not block a project-owned headless `pnpm test:ui` command. Resolve Playwright
|
|
126
|
+
from the target's pinned `@playwright/test` dependency, install its matching
|
|
127
|
+
Chromium when absent, and run the named route/state test. A global CLI, route
|
|
128
|
+
probe, or editor preview is not rendered evidence.
|
|
125
129
|
|
|
126
130
|
Check the project overlay for specific language, package manager, and build constraints.
|
|
127
131
|
|
|
@@ -133,9 +137,21 @@ target's own declared build gates, or deploy to dev-PM2/npm-registry, you
|
|
|
133
137
|
MUST use the real, tested `rdc-harness` CLI instead of hand-rolled bash/curl:
|
|
134
138
|
|
|
135
139
|
```bash
|
|
136
|
-
|
|
140
|
+
npx --package=@lifeai/rdc-harness rdc-harness <create|open|edit|build|deploy> <slug> --monorepo-root <your own worktree, never the shared checkout>
|
|
137
141
|
```
|
|
138
142
|
|
|
143
|
+
`rdc-harness` is distributed as `@lifeai/rdc-harness` on **GitHub Packages**,
|
|
144
|
+
not npmjs (a different registry than `@lifeaitools/rdc-skills`). This needs
|
|
145
|
+
`@lifeai:registry=https://npm.pkg.github.com` mapped in `.npmrc` with a GitHub
|
|
146
|
+
PAT (clauth `github` service — repo/workflow/org scopes) as the registry auth
|
|
147
|
+
token; check whether that mapping is already present (a machine that has
|
|
148
|
+
already published or installed an `@lifeai` package usually has it globally)
|
|
149
|
+
before assuming it needs to be created. Only if you are actively developing
|
|
150
|
+
the harness itself does `node bin/rdc-harness.mjs ...` from inside a
|
|
151
|
+
`C:/Dev/rdc-harness` checkout apply — never hardcode that path as a skill's
|
|
152
|
+
default invocation; it exists on exactly one machine and defeats the point of
|
|
153
|
+
a published package.
|
|
154
|
+
|
|
139
155
|
One JSON receipt per call, exit 0/1 — use it as evidence for whatever
|
|
140
156
|
checklist/commit step it satisfies. This is a genuinely FORCED requirement,
|
|
141
157
|
not a suggestion: a skill that hand-rolls its own create/open/build/deploy
|
|
@@ -144,9 +160,12 @@ policy exists to stop.
|
|
|
144
160
|
|
|
145
161
|
This does NOT apply to a skill with no create/open/build/deploy step at all
|
|
146
162
|
(status/report/help/analysis/media/conversation skills) — do not invent one.
|
|
147
|
-
`open`/`edit` require `RDC_HARNESS_ISSUER_SECRET`
|
|
148
|
-
|
|
149
|
-
and
|
|
163
|
+
**Corrected 2026-09-06:** `open`/`edit` do NOT require `RDC_HARNESS_ISSUER_SECRET`
|
|
164
|
+
for a local call — a local `open`/`edit` returns a scoped handle (`signed:
|
|
165
|
+
false`) and mints nothing; that env var only matters for an off-box actor
|
|
166
|
+
(e.g. claude.ai) reaching in over the signed-binding path. `deploy` has zero
|
|
167
|
+
Coolify awareness (Coolify stays `rdc:deploy`'s own path) and no live
|
|
168
|
+
co-editing surface outside `site-html`/`site-ts` targets.
|
|
150
169
|
|
|
151
170
|
---
|
|
152
171
|
|
package/guides/agents/backend.md
CHANGED
|
@@ -1,104 +1,104 @@
|
|
|
1
|
-
> **⚠️ OUTPUT CONTRACT (READ FIRST):** `guides/output-contract.md`
|
|
2
|
-
> Checklist-only output. No tool-call narration. No raw MCP/JSON/log dumps.
|
|
3
|
-
> One checklist upfront, updated in place, shown again at end with a 1-line verdict.
|
|
4
|
-
|
|
5
|
-
> If dispatching subagents or running as a subagent: read `{PROJECT_ROOT}/.rdc/guides/agent-bootstrap.md` first (fallback: `{PROJECT_ROOT}/.rdc/guides/agent-bootstrap.md`).
|
|
6
|
-
|
|
7
|
-
> **Sandbox contract:** This guide honors `RDC_TEST=1` per `guides/agent-bootstrap.md` § RDC_TEST Sandbox Contract. Destructive external calls short-circuit under the flag.
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
# rdc:backend — Backend Agent
|
|
11
|
-
|
|
12
|
-
## Mandatory First Step
|
|
13
|
-
|
|
14
|
-
Read the guide before ANY code:
|
|
15
|
-
```
|
|
16
|
-
{PROJECT_ROOT}/.rdc/guides/backend.md
|
|
17
|
-
(fallback: {PROJECT_ROOT}/.rdc/guides/backend.md)
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
## Database Client — One Pattern Per Context
|
|
21
|
-
|
|
22
|
-
```ts
|
|
23
|
-
// Server component / API route
|
|
24
|
-
import { createServerClient } from "@regen/supabase";
|
|
25
|
-
const supabase = await createServerClient();
|
|
26
|
-
|
|
27
|
-
// Client component
|
|
28
|
-
import { createBrowserClient } from "@regen/supabase";
|
|
29
|
-
const supabase = createBrowserClient();
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
Non-public schemas:
|
|
33
|
-
```ts
|
|
34
|
-
const { data } = await supabase.schema("custom").from("table_name").select("*");
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
## Credentials — Daemon First
|
|
38
|
-
|
|
39
|
-
```bash
|
|
40
|
-
curl -s http://127.0.0.1:52437/get/<service>
|
|
41
|
-
```
|
|
42
|
-
- Never hardcode credentials
|
|
43
|
-
- Never print keys to stdout
|
|
44
|
-
- If daemon is down: report BLOCKED — do not work around it
|
|
45
|
-
|
|
46
|
-
## Work Items — RPC Only
|
|
47
|
-
|
|
48
|
-
```sql
|
|
49
|
-
-- Read epics
|
|
50
|
-
SELECT get_open_epics();
|
|
51
|
-
|
|
52
|
-
-- Create
|
|
53
|
-
SELECT insert_work_item(
|
|
54
|
-
p_title := 'Task title',
|
|
55
|
-
p_priority := 'high',
|
|
56
|
-
p_parent_id := '<epic-uuid>'::uuid,
|
|
57
|
-
p_source := 'agent'
|
|
58
|
-
);
|
|
59
|
-
|
|
1
|
+
> **⚠️ OUTPUT CONTRACT (READ FIRST):** `guides/output-contract.md`
|
|
2
|
+
> Checklist-only output. No tool-call narration. No raw MCP/JSON/log dumps.
|
|
3
|
+
> One checklist upfront, updated in place, shown again at end with a 1-line verdict.
|
|
4
|
+
|
|
5
|
+
> If dispatching subagents or running as a subagent: read `{PROJECT_ROOT}/.rdc/guides/agent-bootstrap.md` first (fallback: `{PROJECT_ROOT}/.rdc/guides/agent-bootstrap.md`).
|
|
6
|
+
|
|
7
|
+
> **Sandbox contract:** This guide honors `RDC_TEST=1` per `guides/agent-bootstrap.md` § RDC_TEST Sandbox Contract. Destructive external calls short-circuit under the flag.
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
# rdc:backend — Backend Agent
|
|
11
|
+
|
|
12
|
+
## Mandatory First Step
|
|
13
|
+
|
|
14
|
+
Read the guide before ANY code:
|
|
15
|
+
```
|
|
16
|
+
{PROJECT_ROOT}/.rdc/guides/backend.md
|
|
17
|
+
(fallback: {PROJECT_ROOT}/.rdc/guides/backend.md)
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Database Client — One Pattern Per Context
|
|
21
|
+
|
|
22
|
+
```ts
|
|
23
|
+
// Server component / API route
|
|
24
|
+
import { createServerClient } from "@regen/supabase";
|
|
25
|
+
const supabase = await createServerClient();
|
|
26
|
+
|
|
27
|
+
// Client component
|
|
28
|
+
import { createBrowserClient } from "@regen/supabase";
|
|
29
|
+
const supabase = createBrowserClient();
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Non-public schemas:
|
|
33
|
+
```ts
|
|
34
|
+
const { data } = await supabase.schema("custom").from("table_name").select("*");
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Credentials — Daemon First
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
curl -s http://127.0.0.1:52437/get/<service>
|
|
41
|
+
```
|
|
42
|
+
- Never hardcode credentials
|
|
43
|
+
- Never print keys to stdout
|
|
44
|
+
- If daemon is down: report BLOCKED — do not work around it
|
|
45
|
+
|
|
46
|
+
## Work Items — RPC Only
|
|
47
|
+
|
|
48
|
+
```sql
|
|
49
|
+
-- Read epics
|
|
50
|
+
SELECT get_open_epics();
|
|
51
|
+
|
|
52
|
+
-- Create
|
|
53
|
+
SELECT insert_work_item(
|
|
54
|
+
p_title := 'Task title',
|
|
55
|
+
p_priority := 'high',
|
|
56
|
+
p_parent_id := '<epic-uuid>'::uuid,
|
|
57
|
+
p_source := 'agent'
|
|
58
|
+
);
|
|
59
|
+
|
|
60
60
|
-- Implementation agents submit report + CodeFlow post, then move to review
|
|
61
61
|
SELECT update_work_item_status('<uuid>'::uuid, 'review', '["Implementation complete; ready for validator"]'::jsonb, '<agent-session-id>', 'agent');
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
**NEVER write raw INSERT/UPDATE against work items.**
|
|
65
|
-
|
|
66
|
-
## API Route Pattern
|
|
67
|
-
|
|
68
|
-
```ts
|
|
69
|
-
import { createServerClient } from "@regen/supabase";
|
|
70
|
-
import { NextResponse } from "next/server";
|
|
71
|
-
|
|
72
|
-
export async function GET() {
|
|
73
|
-
const supabase = await createServerClient();
|
|
74
|
-
const { data, error } = await supabase.from("table").select("*");
|
|
75
|
-
if (error) return NextResponse.json({ error: error.message }, { status: 500 });
|
|
76
|
-
return NextResponse.json(data);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
export async function POST(request: Request) {
|
|
80
|
-
const body = await request.json();
|
|
81
|
-
const supabase = await createServerClient();
|
|
82
|
-
const { data, error } = await supabase.from("table").insert(body).select().single();
|
|
83
|
-
if (error) return NextResponse.json({ error: error.message }, { status: 400 });
|
|
84
|
-
return NextResponse.json(data, { status: 201 });
|
|
85
|
-
}
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
## Auth
|
|
89
|
-
|
|
90
|
-
Use the auth helpers from your project's auth package for protected apps.
|
|
91
|
-
|
|
92
|
-
## Schema-Driven Forms
|
|
93
|
-
|
|
94
|
-
When working with schema-driven forms (common in dynamic CRUD), never hardcode columns.
|
|
95
|
-
Use the schema table to drive form rendering instead.
|
|
96
|
-
|
|
97
|
-
## Safety Rules
|
|
98
|
-
|
|
99
|
-
- Branch: development branch — auto-commit after logical blocks
|
|
100
|
-
- NEVER run `pnpm build`
|
|
101
|
-
- NEVER overlap with other agents on the same files
|
|
102
|
-
- Update work items in real time — not batch at end
|
|
103
|
-
- Push after each logical block *(skip if `$RDC_TEST=1` — echo `[RDC_TEST] skipping git push` instead)*
|
|
104
|
-
- Write tests FIRST — red → implement → green
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**NEVER write raw INSERT/UPDATE against work items.**
|
|
65
|
+
|
|
66
|
+
## API Route Pattern
|
|
67
|
+
|
|
68
|
+
```ts
|
|
69
|
+
import { createServerClient } from "@regen/supabase";
|
|
70
|
+
import { NextResponse } from "next/server";
|
|
71
|
+
|
|
72
|
+
export async function GET() {
|
|
73
|
+
const supabase = await createServerClient();
|
|
74
|
+
const { data, error } = await supabase.from("table").select("*");
|
|
75
|
+
if (error) return NextResponse.json({ error: error.message }, { status: 500 });
|
|
76
|
+
return NextResponse.json(data);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export async function POST(request: Request) {
|
|
80
|
+
const body = await request.json();
|
|
81
|
+
const supabase = await createServerClient();
|
|
82
|
+
const { data, error } = await supabase.from("table").insert(body).select().single();
|
|
83
|
+
if (error) return NextResponse.json({ error: error.message }, { status: 400 });
|
|
84
|
+
return NextResponse.json(data, { status: 201 });
|
|
85
|
+
}
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Auth
|
|
89
|
+
|
|
90
|
+
Use the auth helpers from your project's auth package for protected apps.
|
|
91
|
+
|
|
92
|
+
## Schema-Driven Forms
|
|
93
|
+
|
|
94
|
+
When working with schema-driven forms (common in dynamic CRUD), never hardcode columns.
|
|
95
|
+
Use the schema table to drive form rendering instead.
|
|
96
|
+
|
|
97
|
+
## Safety Rules
|
|
98
|
+
|
|
99
|
+
- Branch: development branch — auto-commit after logical blocks
|
|
100
|
+
- NEVER run `pnpm build`
|
|
101
|
+
- NEVER overlap with other agents on the same files
|
|
102
|
+
- Update work items in real time — not batch at end
|
|
103
|
+
- Push after each logical block *(skip if `$RDC_TEST=1` — echo `[RDC_TEST] skipping git push` instead)*
|
|
104
|
+
- Write tests FIRST — red → implement → green
|
package/guides/agents/content.md
CHANGED
|
@@ -1,94 +1,94 @@
|
|
|
1
|
-
> **⚠️ OUTPUT CONTRACT (READ FIRST):** `guides/output-contract.md`
|
|
2
|
-
> Checklist-only output. No tool-call narration. No raw MCP/JSON/log dumps.
|
|
3
|
-
> One checklist upfront, updated in place, shown again at end with a 1-line verdict.
|
|
4
|
-
|
|
5
|
-
> If dispatching subagents or running as a subagent: read `{PROJECT_ROOT}/.rdc/guides/agent-bootstrap.md` first (fallback: `{PROJECT_ROOT}/.rdc/guides/agent-bootstrap.md`).
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
# rdc:content — Content Agent
|
|
9
|
-
|
|
10
|
-
## Mandatory First Step
|
|
11
|
-
|
|
12
|
-
Read the guide before writing ANY copy:
|
|
13
|
-
```
|
|
14
|
-
{PROJECT_ROOT}/.rdc/guides/content.md
|
|
15
|
-
(fallback: {PROJECT_ROOT}/.rdc/guides/content.md)
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
## Core Message Development
|
|
19
|
-
|
|
20
|
-
Before writing any copy:
|
|
21
|
-
|
|
22
|
-
1. Define the lead word or core concept (e.g., "Stewardship", "Community", "Trust")
|
|
23
|
-
2. State the core message in 1-2 sentences
|
|
24
|
-
3. List language to always use
|
|
25
|
-
4. List language to never use
|
|
26
|
-
5. Define target audiences and key messages for each
|
|
27
|
-
|
|
28
|
-
## Language Rules Pattern
|
|
29
|
-
|
|
30
|
-
### Always Use
|
|
31
|
-
- Core concept words (replace vague synonyms)
|
|
32
|
-
- Specific, measurable terms
|
|
33
|
-
- Active voice where possible
|
|
34
|
-
- Real data, not approximations
|
|
35
|
-
|
|
36
|
-
### Never Use
|
|
37
|
-
| Avoid | Use Instead |
|
|
38
|
-
|-------|-------------|
|
|
39
|
-
| Vague concept | Specific term |
|
|
40
|
-
| Passive construction | Active voice |
|
|
41
|
-
| Clichéd term | Domain-specific language |
|
|
42
|
-
|
|
43
|
-
## Regulatory Context
|
|
44
|
-
|
|
45
|
-
Verify what regulations apply to your content before writing:
|
|
46
|
-
- Never guarantee results or returns
|
|
47
|
-
- Use ranges and targets, not promises
|
|
48
|
-
- Include necessary disclaimers
|
|
49
|
-
- Maintain transparency about assumptions
|
|
50
|
-
|
|
51
|
-
## Audience Segments
|
|
52
|
-
|
|
53
|
-
Define key audiences and their primary concerns:
|
|
54
|
-
- What matters to this group?
|
|
55
|
-
- What is their current perception?
|
|
56
|
-
- What action do you want them to take?
|
|
57
|
-
|
|
58
|
-
## Key Facts
|
|
59
|
-
|
|
60
|
-
Maintain a source-of-truth list:
|
|
61
|
-
- Financial figures
|
|
62
|
-
- Timelines
|
|
63
|
-
- Commitments
|
|
64
|
-
- Metrics
|
|
65
|
-
|
|
66
|
-
Never invent these — always verify.
|
|
67
|
-
|
|
68
|
-
## Tone Template
|
|
69
|
-
|
|
70
|
-
- Authority level: high/medium/low
|
|
71
|
-
- Formality: formal/casual
|
|
72
|
-
- Technical depth: detailed/accessible
|
|
73
|
-
- Emotion: neutral/passionate
|
|
74
|
-
- Speed: short/long form
|
|
75
|
-
|
|
76
|
-
## Content Queue (save to database)
|
|
77
|
-
|
|
78
|
-
```sql
|
|
79
|
-
INSERT INTO content_queue (title, content_type, status, draft_body)
|
|
80
|
-
VALUES (
|
|
81
|
-
'Email subject or article title',
|
|
82
|
-
'email_sequence', -- or: social_post, article, newsletter, landing_copy
|
|
83
|
-
'draft',
|
|
84
|
-
'...'
|
|
85
|
-
);
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
## Safety Rules
|
|
89
|
-
|
|
90
|
-
- Never invent data — verify all figures
|
|
91
|
-
- Never make legal claims — use "may be" language
|
|
92
|
-
- Use prohibited words list when provided
|
|
93
|
-
- Always include disclaimers for regulated content
|
|
94
|
-
- Branch: development branch — commit content files to repo
|
|
1
|
+
> **⚠️ OUTPUT CONTRACT (READ FIRST):** `guides/output-contract.md`
|
|
2
|
+
> Checklist-only output. No tool-call narration. No raw MCP/JSON/log dumps.
|
|
3
|
+
> One checklist upfront, updated in place, shown again at end with a 1-line verdict.
|
|
4
|
+
|
|
5
|
+
> If dispatching subagents or running as a subagent: read `{PROJECT_ROOT}/.rdc/guides/agent-bootstrap.md` first (fallback: `{PROJECT_ROOT}/.rdc/guides/agent-bootstrap.md`).
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
# rdc:content — Content Agent
|
|
9
|
+
|
|
10
|
+
## Mandatory First Step
|
|
11
|
+
|
|
12
|
+
Read the guide before writing ANY copy:
|
|
13
|
+
```
|
|
14
|
+
{PROJECT_ROOT}/.rdc/guides/content.md
|
|
15
|
+
(fallback: {PROJECT_ROOT}/.rdc/guides/content.md)
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Core Message Development
|
|
19
|
+
|
|
20
|
+
Before writing any copy:
|
|
21
|
+
|
|
22
|
+
1. Define the lead word or core concept (e.g., "Stewardship", "Community", "Trust")
|
|
23
|
+
2. State the core message in 1-2 sentences
|
|
24
|
+
3. List language to always use
|
|
25
|
+
4. List language to never use
|
|
26
|
+
5. Define target audiences and key messages for each
|
|
27
|
+
|
|
28
|
+
## Language Rules Pattern
|
|
29
|
+
|
|
30
|
+
### Always Use
|
|
31
|
+
- Core concept words (replace vague synonyms)
|
|
32
|
+
- Specific, measurable terms
|
|
33
|
+
- Active voice where possible
|
|
34
|
+
- Real data, not approximations
|
|
35
|
+
|
|
36
|
+
### Never Use
|
|
37
|
+
| Avoid | Use Instead |
|
|
38
|
+
|-------|-------------|
|
|
39
|
+
| Vague concept | Specific term |
|
|
40
|
+
| Passive construction | Active voice |
|
|
41
|
+
| Clichéd term | Domain-specific language |
|
|
42
|
+
|
|
43
|
+
## Regulatory Context
|
|
44
|
+
|
|
45
|
+
Verify what regulations apply to your content before writing:
|
|
46
|
+
- Never guarantee results or returns
|
|
47
|
+
- Use ranges and targets, not promises
|
|
48
|
+
- Include necessary disclaimers
|
|
49
|
+
- Maintain transparency about assumptions
|
|
50
|
+
|
|
51
|
+
## Audience Segments
|
|
52
|
+
|
|
53
|
+
Define key audiences and their primary concerns:
|
|
54
|
+
- What matters to this group?
|
|
55
|
+
- What is their current perception?
|
|
56
|
+
- What action do you want them to take?
|
|
57
|
+
|
|
58
|
+
## Key Facts
|
|
59
|
+
|
|
60
|
+
Maintain a source-of-truth list:
|
|
61
|
+
- Financial figures
|
|
62
|
+
- Timelines
|
|
63
|
+
- Commitments
|
|
64
|
+
- Metrics
|
|
65
|
+
|
|
66
|
+
Never invent these — always verify.
|
|
67
|
+
|
|
68
|
+
## Tone Template
|
|
69
|
+
|
|
70
|
+
- Authority level: high/medium/low
|
|
71
|
+
- Formality: formal/casual
|
|
72
|
+
- Technical depth: detailed/accessible
|
|
73
|
+
- Emotion: neutral/passionate
|
|
74
|
+
- Speed: short/long form
|
|
75
|
+
|
|
76
|
+
## Content Queue (save to database)
|
|
77
|
+
|
|
78
|
+
```sql
|
|
79
|
+
INSERT INTO content_queue (title, content_type, status, draft_body)
|
|
80
|
+
VALUES (
|
|
81
|
+
'Email subject or article title',
|
|
82
|
+
'email_sequence', -- or: social_post, article, newsletter, landing_copy
|
|
83
|
+
'draft',
|
|
84
|
+
'...'
|
|
85
|
+
);
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Safety Rules
|
|
89
|
+
|
|
90
|
+
- Never invent data — verify all figures
|
|
91
|
+
- Never make legal claims — use "may be" language
|
|
92
|
+
- Use prohibited words list when provided
|
|
93
|
+
- Always include disclaimers for regulated content
|
|
94
|
+
- Branch: development branch — commit content files to repo
|
package/guides/agents/cs2.md
CHANGED
|
@@ -1,56 +1,56 @@
|
|
|
1
|
-
> **⚠️ OUTPUT CONTRACT (READ FIRST):** `guides/output-contract.md`
|
|
2
|
-
> Checklist-only output. No tool-call narration. No raw MCP/JSON/log dumps.
|
|
3
|
-
> One checklist upfront, updated in place, shown again at end with a 1-line verdict.
|
|
4
|
-
|
|
5
|
-
> If dispatching subagents or running as a subagent: read `{PROJECT_ROOT}/.rdc/guides/agent-bootstrap.md` first (fallback: `{PROJECT_ROOT}/.rdc/guides/agent-bootstrap.md`).
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
# rdc:cs2 — CS 2.0 Agent
|
|
9
|
-
|
|
10
|
-
## Mandatory First Step
|
|
11
|
-
|
|
12
|
-
Read the guide before ANY code:
|
|
13
|
-
```
|
|
14
|
-
{PROJECT_ROOT}/.rdc/guides/cs2.md
|
|
15
|
-
(fallback: {PROJECT_ROOT}/.rdc/guides/cs2.md)
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
Also read the master spec:
|
|
19
|
-
```
|
|
20
|
-
{PROJECT_ROOT}/docs/systems/cs2/cs2-master-spec.md
|
|
21
|
-
{PROJECT_ROOT}/docs/systems/cs2/package-map.md
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
## The Paradigm Check
|
|
25
|
-
|
|
26
|
-
**Before writing ANY code, ask:**
|
|
27
|
-
> "Is this building a new computational primitive, or am I wiring a UI to a database?"
|
|
28
|
-
|
|
29
|
-
If the latter — STOP. That is CS 1.0 thinking. Route to `rdc:frontend` + `rdc:backend`.
|
|
30
|
-
|
|
31
|
-
## Package Dependency Graph
|
|
32
|
-
|
|
33
|
-
Respect this — never create circular deps:
|
|
34
|
-
|
|
35
|
-
```
|
|
36
|
-
Layer 0 (roots): cs2, core-primitive-1, core-primitive-2
|
|
37
|
-
Layer 1: system-a(core-primitive-1), system-b(core-primitive-2)
|
|
38
|
-
Layer 2: advanced-system(system-a, system-b)
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
Apps depend on `@regen/` packages. **Apps never depend on each other.**
|
|
42
|
-
|
|
43
|
-
## TypeScript — No `any`, No Escape Hatches
|
|
44
|
-
|
|
45
|
-
CS 2.0 packages must be fully typed. If you hit a type boundary you cannot express,
|
|
46
|
-
that is a signal the abstraction is wrong — fix the model, not the types.
|
|
47
|
-
|
|
48
|
-
## Safety Rules
|
|
49
|
-
|
|
50
|
-
- Branch: development branch — auto-commit per package
|
|
51
|
-
- NEVER run `pnpm build` — use `npx tsc --noEmit --project packages/<n>/tsconfig.json`
|
|
52
|
-
- Respect the dependency graph — no circular deps
|
|
53
|
-
- Never self-modify governance weights from executing layers
|
|
54
|
-
- All immutable proofs are permanent — never update committed data
|
|
55
|
-
- NEVER overlap agents on the same package
|
|
56
|
-
- Write tests FIRST — red → implement → green
|
|
1
|
+
> **⚠️ OUTPUT CONTRACT (READ FIRST):** `guides/output-contract.md`
|
|
2
|
+
> Checklist-only output. No tool-call narration. No raw MCP/JSON/log dumps.
|
|
3
|
+
> One checklist upfront, updated in place, shown again at end with a 1-line verdict.
|
|
4
|
+
|
|
5
|
+
> If dispatching subagents or running as a subagent: read `{PROJECT_ROOT}/.rdc/guides/agent-bootstrap.md` first (fallback: `{PROJECT_ROOT}/.rdc/guides/agent-bootstrap.md`).
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
# rdc:cs2 — CS 2.0 Agent
|
|
9
|
+
|
|
10
|
+
## Mandatory First Step
|
|
11
|
+
|
|
12
|
+
Read the guide before ANY code:
|
|
13
|
+
```
|
|
14
|
+
{PROJECT_ROOT}/.rdc/guides/cs2.md
|
|
15
|
+
(fallback: {PROJECT_ROOT}/.rdc/guides/cs2.md)
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Also read the master spec:
|
|
19
|
+
```
|
|
20
|
+
{PROJECT_ROOT}/docs/systems/cs2/cs2-master-spec.md
|
|
21
|
+
{PROJECT_ROOT}/docs/systems/cs2/package-map.md
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## The Paradigm Check
|
|
25
|
+
|
|
26
|
+
**Before writing ANY code, ask:**
|
|
27
|
+
> "Is this building a new computational primitive, or am I wiring a UI to a database?"
|
|
28
|
+
|
|
29
|
+
If the latter — STOP. That is CS 1.0 thinking. Route to `rdc:frontend` + `rdc:backend`.
|
|
30
|
+
|
|
31
|
+
## Package Dependency Graph
|
|
32
|
+
|
|
33
|
+
Respect this — never create circular deps:
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
Layer 0 (roots): cs2, core-primitive-1, core-primitive-2
|
|
37
|
+
Layer 1: system-a(core-primitive-1), system-b(core-primitive-2)
|
|
38
|
+
Layer 2: advanced-system(system-a, system-b)
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Apps depend on `@regen/` packages. **Apps never depend on each other.**
|
|
42
|
+
|
|
43
|
+
## TypeScript — No `any`, No Escape Hatches
|
|
44
|
+
|
|
45
|
+
CS 2.0 packages must be fully typed. If you hit a type boundary you cannot express,
|
|
46
|
+
that is a signal the abstraction is wrong — fix the model, not the types.
|
|
47
|
+
|
|
48
|
+
## Safety Rules
|
|
49
|
+
|
|
50
|
+
- Branch: development branch — auto-commit per package
|
|
51
|
+
- NEVER run `pnpm build` — use `npx tsc --noEmit --project packages/<n>/tsconfig.json`
|
|
52
|
+
- Respect the dependency graph — no circular deps
|
|
53
|
+
- Never self-modify governance weights from executing layers
|
|
54
|
+
- All immutable proofs are permanent — never update committed data
|
|
55
|
+
- NEVER overlap agents on the same package
|
|
56
|
+
- Write tests FIRST — red → implement → green
|