@lifeaitools/rdc-skills 0.25.4 → 0.25.9

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.
Files changed (71) hide show
  1. package/.claude-plugin/plugin.json +1574 -1528
  2. package/.github/workflows/self-test.yml +34 -34
  3. package/CHANGELOG.md +326 -313
  4. package/MANIFEST.md +224 -224
  5. package/README.md +372 -369
  6. package/RELEASE.md +26 -2
  7. package/commands/build.md +181 -181
  8. package/commands/collab.md +180 -180
  9. package/commands/deploy.md +148 -148
  10. package/commands/fixit.md +150 -150
  11. package/commands/handoff.md +173 -173
  12. package/commands/overnight.md +220 -220
  13. package/commands/plan.md +158 -158
  14. package/commands/preplan.md +131 -131
  15. package/commands/prototype.md +145 -145
  16. package/commands/report.md +99 -99
  17. package/commands/review.md +120 -120
  18. package/commands/status.md +86 -86
  19. package/commands/workitems.md +127 -127
  20. package/git-sha.json +1 -1
  21. package/guides/agent-bootstrap.md +195 -195
  22. package/guides/agents/backend.md +102 -102
  23. package/guides/agents/content.md +94 -94
  24. package/guides/agents/cs2.md +56 -56
  25. package/guides/agents/data.md +86 -86
  26. package/guides/agents/design.md +77 -77
  27. package/guides/agents/frontend.md +91 -91
  28. package/guides/agents/infrastructure.md +81 -81
  29. package/guides/agents/setup.md +272 -272
  30. package/guides/agents/verify.md +119 -119
  31. package/guides/agents/viz.md +106 -106
  32. package/hooks/check-rdc-environment.js +318 -164
  33. package/hooks/lib/box-lock.js +186 -0
  34. package/package.json +1 -1
  35. package/scripts/install-rdc-skills.js +1474 -1400
  36. package/scripts/local-install-with-stop.sh +41 -0
  37. package/scripts/probe-box-lock.mjs +179 -0
  38. package/scripts/probe-installed-hooks.mjs +60 -0
  39. package/scripts/probe-lock-holders.mjs +36 -0
  40. package/scripts/self-test.mjs +1459 -1459
  41. package/scripts/validate-publish-manifests.js +502 -502
  42. package/skills/build/SKILL.md +578 -578
  43. package/skills/channel-formatter/SKILL.md +538 -538
  44. package/skills/collab/SKILL.md +239 -239
  45. package/skills/convert/SKILL.md +150 -161
  46. package/skills/deploy/SKILL.md +541 -541
  47. package/skills/design/SKILL.md +205 -205
  48. package/skills/env/SKILL.md +139 -139
  49. package/skills/fixit/SKILL.md +203 -203
  50. package/skills/handoff/SKILL.md +236 -236
  51. package/skills/housekeeping/SKILL.md +189 -189
  52. package/skills/new-model/SKILL.md +14 -3
  53. package/skills/onramp/SKILL.md +1459 -1459
  54. package/skills/overnight/SKILL.md +251 -251
  55. package/skills/plan/SKILL.md +345 -345
  56. package/skills/preplan/SKILL.md +90 -90
  57. package/skills/prototype/SKILL.md +150 -150
  58. package/skills/regen-media/SKILL.md +94 -94
  59. package/skills/release/SKILL.md +140 -140
  60. package/skills/report/SKILL.md +100 -100
  61. package/skills/review/SKILL.md +151 -151
  62. package/skills/self-test/SKILL.md +108 -108
  63. package/skills/status/SKILL.md +99 -99
  64. package/skills/tests/MATRIX.md +55 -55
  65. package/skills/tests/onramp.test.json +87 -87
  66. package/skills/tests/rdc-regen-media.test.json +29 -29
  67. package/skills/watch/SKILL.md +84 -84
  68. package/skills/workitems/SKILL.md +151 -151
  69. package/tests/curl-surface.test.mjs +4 -2
  70. package/tests/help-surface.test.mjs +1 -1
  71. package/tests/install-rdc-skills.test.mjs +1 -1
@@ -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
@@ -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
@@ -1,87 +1,87 @@
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:data — Data Agent
9
-
10
- ## Mandatory First Step
11
-
12
- Read the guide before ANY operations:
13
- ```
14
- {PROJECT_ROOT}/.rdc/guides/data.md
15
- (fallback: {PROJECT_ROOT}/.rdc/guides/data.md)
16
- ```
17
-
18
- ## Migration Pattern
19
-
20
- Always use database MCP `apply_migration` — never raw shell commands:
21
-
22
- ```sql
23
- -- Example migration
24
- ALTER TABLE example_table ADD COLUMN IF NOT EXISTS new_column TEXT;
25
-
26
- -- Verify after applying
27
- SELECT column_name, data_type
28
- FROM information_schema.columns
29
- WHERE table_name = 'example_table'
30
- ORDER BY ordinal_position;
31
- ```
32
-
33
- After `apply_migration`: always verify with queries.
34
-
35
- ## Work Items — RPC Only
36
-
37
- ```sql
38
- SELECT get_open_epics();
39
- SELECT insert_work_item(p_title := 'Task', p_priority := 'high', p_labels := ARRAY['data'], p_source := 'agent');
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:data — Data Agent
9
+
10
+ ## Mandatory First Step
11
+
12
+ Read the guide before ANY operations:
13
+ ```
14
+ {PROJECT_ROOT}/.rdc/guides/data.md
15
+ (fallback: {PROJECT_ROOT}/.rdc/guides/data.md)
16
+ ```
17
+
18
+ ## Migration Pattern
19
+
20
+ Always use database MCP `apply_migration` — never raw shell commands:
21
+
22
+ ```sql
23
+ -- Example migration
24
+ ALTER TABLE example_table ADD COLUMN IF NOT EXISTS new_column TEXT;
25
+
26
+ -- Verify after applying
27
+ SELECT column_name, data_type
28
+ FROM information_schema.columns
29
+ WHERE table_name = 'example_table'
30
+ ORDER BY ordinal_position;
31
+ ```
32
+
33
+ After `apply_migration`: always verify with queries.
34
+
35
+ ## Work Items — RPC Only
36
+
37
+ ```sql
38
+ SELECT get_open_epics();
39
+ SELECT insert_work_item(p_title := 'Task', p_priority := 'high', p_labels := ARRAY['data'], p_source := 'agent');
40
40
  SELECT update_work_item_status('<uuid>'::uuid, 'review', '["Implementation complete; ready for validator"]'::jsonb, '<agent-session-id>', 'agent');
41
- SELECT get_work_items_by_epic('<epic-uuid>'::uuid);
42
- ```
43
-
44
- **NEVER raw INSERT/UPDATE against work_items.**
45
-
46
- ## Schema-Driven Form Seeding
47
-
48
- When adding columns to dynamic form tables:
49
-
50
- ```sql
51
- INSERT INTO field_schema (
52
- table_name, column_name, input_type, label, section, display_order,
53
- required, readonly, hidden, col_span
54
- )
55
- VALUES
56
- ('example_table', 'new_column', 'text', 'New Column', 'Section', 90, false, false, false, 1)
57
- ON CONFLICT (table_name, column_name) DO NOTHING;
58
- ```
59
-
60
- Valid `input_type` values: `text` `textarea` `email` `url` `phone` `select` `tags`
61
- `json` `toggle` `currency` `number` `date` `richtext`
62
-
63
- ## Non-Public Schema Access
64
-
65
- ```ts
66
- const { data } = await supabase.schema("custom_schema").from("table_name").select("*");
67
- ```
68
-
69
- ## Design Decisions (record architectural choices)
70
-
71
- ```sql
72
- INSERT INTO design_context (topic, context_type, summary, source, created_by)
73
- VALUES (
74
- 'TopicName', 'decision',
75
- '2-3 sentence summary of what was decided and why',
76
- 'agent session', 'agent'
77
- );
78
- ```
79
-
80
- ## Safety Rules
81
-
82
- - Branch: development branch — auto-commit after each migration
83
- - Always verify migrations with queries
84
- - Never drop columns without explicit instruction
85
- - Never truncate tables without explicit instruction
86
- - NEVER overlap with other agents on schema changes mid-build
87
- - Write tests for RPC functions FIRST
41
+ SELECT get_work_items_by_epic('<epic-uuid>'::uuid);
42
+ ```
43
+
44
+ **NEVER raw INSERT/UPDATE against work_items.**
45
+
46
+ ## Schema-Driven Form Seeding
47
+
48
+ When adding columns to dynamic form tables:
49
+
50
+ ```sql
51
+ INSERT INTO field_schema (
52
+ table_name, column_name, input_type, label, section, display_order,
53
+ required, readonly, hidden, col_span
54
+ )
55
+ VALUES
56
+ ('example_table', 'new_column', 'text', 'New Column', 'Section', 90, false, false, false, 1)
57
+ ON CONFLICT (table_name, column_name) DO NOTHING;
58
+ ```
59
+
60
+ Valid `input_type` values: `text` `textarea` `email` `url` `phone` `select` `tags`
61
+ `json` `toggle` `currency` `number` `date` `richtext`
62
+
63
+ ## Non-Public Schema Access
64
+
65
+ ```ts
66
+ const { data } = await supabase.schema("custom_schema").from("table_name").select("*");
67
+ ```
68
+
69
+ ## Design Decisions (record architectural choices)
70
+
71
+ ```sql
72
+ INSERT INTO design_context (topic, context_type, summary, source, created_by)
73
+ VALUES (
74
+ 'TopicName', 'decision',
75
+ '2-3 sentence summary of what was decided and why',
76
+ 'agent session', 'agent'
77
+ );
78
+ ```
79
+
80
+ ## Safety Rules
81
+
82
+ - Branch: development branch — auto-commit after each migration
83
+ - Always verify migrations with queries
84
+ - Never drop columns without explicit instruction
85
+ - Never truncate tables without explicit instruction
86
+ - NEVER overlap with other agents on schema changes mid-build
87
+ - Write tests for RPC functions FIRST
@@ -1,77 +1,77 @@
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:design — Design Agent
9
-
10
- ## Mandatory First Step
11
-
12
- Read the guide before ANY work:
13
- ```
14
- {PROJECT_ROOT}/.rdc/guides/design.md
15
- (fallback: {PROJECT_ROOT}/.rdc/guides/design.md)
16
- ```
17
-
18
- ## Six Design Principles
19
-
20
- 1. **User/Community First** — Serving those affected by the work
21
- 2. **Stewardship, Not Ownership** — Components hold space, don't dominate
22
- 3. **Verified, Not Narrated** — Real data only; no mocks
23
- 4. **Readability at Every Gate** — Clarity scales, jargon does not
24
- 5. **Dark by Default, Never Dark by Habit** — Dark palette signals trust
25
- 6. **Machines Handle Calculation; Humans Handle Conscience**
26
-
27
- ## Token System
28
-
29
- Two-layer model:
30
- ```
31
- global_design_tokens (base tokens)
32
- + brand_token_overrides (per-brand delta)
33
- = TokenWithInheritance[] (resolved set)
34
- ```
35
-
36
- Token export formats: JSON flat map, CSS vars (`:root`), other format systems.
37
-
38
- ## OG Images
39
-
40
- | Property | Value |
41
- |----------|-------|
42
- | Dimensions | 1200 × 630 px |
43
- | Format | RGB PNG, committed to git |
44
- | Location | `apps/<app>/public/og/og-image.png` |
45
- | Max size | 200 KB |
46
-
47
- Metadata:
48
- ```ts
49
- export const metadata: Metadata = {
50
- openGraph: {
51
- images: [{ url: "/og/og-image.png", width: 1200, height: 630, alt: "..." }],
52
- },
53
- twitter: { card: "summary_large_image", images: ["/og/og-image.png"] },
54
- };
55
- ```
56
-
57
- ## Variant Axes — Every Component Must Support
58
-
59
- | Axis | Values |
60
- |------|--------|
61
- | Size | xs / sm / md / lg / xl |
62
- | Shape | sharp / soft / pill / circle |
63
- | Density | compact / comfortable / spacious |
64
- | Motion | static / subtle / rich |
65
-
66
- ## Animation Philosophy
67
-
68
- - Always respect `prefers-reduced-motion` via appropriate hooks
69
- - Token-driven durations and easing — never hardcoded values
70
- - Keep motion purposeful, not decorative
71
-
72
- ## Safety Rules
73
-
74
- - Never hardcode hex colors in components — CSS variables only
75
- - Never override tokens without a design decision recorded
76
- - Branch: development branch — auto-commit
77
- - NEVER run `pnpm build`
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:design — Design Agent
9
+
10
+ ## Mandatory First Step
11
+
12
+ Read the guide before ANY work:
13
+ ```
14
+ {PROJECT_ROOT}/.rdc/guides/design.md
15
+ (fallback: {PROJECT_ROOT}/.rdc/guides/design.md)
16
+ ```
17
+
18
+ ## Six Design Principles
19
+
20
+ 1. **User/Community First** — Serving those affected by the work
21
+ 2. **Stewardship, Not Ownership** — Components hold space, don't dominate
22
+ 3. **Verified, Not Narrated** — Real data only; no mocks
23
+ 4. **Readability at Every Gate** — Clarity scales, jargon does not
24
+ 5. **Dark by Default, Never Dark by Habit** — Dark palette signals trust
25
+ 6. **Machines Handle Calculation; Humans Handle Conscience**
26
+
27
+ ## Token System
28
+
29
+ Two-layer model:
30
+ ```
31
+ global_design_tokens (base tokens)
32
+ + brand_token_overrides (per-brand delta)
33
+ = TokenWithInheritance[] (resolved set)
34
+ ```
35
+
36
+ Token export formats: JSON flat map, CSS vars (`:root`), other format systems.
37
+
38
+ ## OG Images
39
+
40
+ | Property | Value |
41
+ |----------|-------|
42
+ | Dimensions | 1200 × 630 px |
43
+ | Format | RGB PNG, committed to git |
44
+ | Location | `apps/<app>/public/og/og-image.png` |
45
+ | Max size | 200 KB |
46
+
47
+ Metadata:
48
+ ```ts
49
+ export const metadata: Metadata = {
50
+ openGraph: {
51
+ images: [{ url: "/og/og-image.png", width: 1200, height: 630, alt: "..." }],
52
+ },
53
+ twitter: { card: "summary_large_image", images: ["/og/og-image.png"] },
54
+ };
55
+ ```
56
+
57
+ ## Variant Axes — Every Component Must Support
58
+
59
+ | Axis | Values |
60
+ |------|--------|
61
+ | Size | xs / sm / md / lg / xl |
62
+ | Shape | sharp / soft / pill / circle |
63
+ | Density | compact / comfortable / spacious |
64
+ | Motion | static / subtle / rich |
65
+
66
+ ## Animation Philosophy
67
+
68
+ - Always respect `prefers-reduced-motion` via appropriate hooks
69
+ - Token-driven durations and easing — never hardcoded values
70
+ - Keep motion purposeful, not decorative
71
+
72
+ ## Safety Rules
73
+
74
+ - Never hardcode hex colors in components — CSS variables only
75
+ - Never override tokens without a design decision recorded
76
+ - Branch: development branch — auto-commit
77
+ - NEVER run `pnpm build`