@lifeaitools/rdc-skills 0.9.32 → 0.9.33

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 (55) hide show
  1. package/.claude-plugin/plugin.json +24 -2
  2. package/.github/workflows/self-test.yml +34 -34
  3. package/MANIFEST.md +4 -0
  4. package/commands/build.md +183 -183
  5. package/commands/collab.md +180 -180
  6. package/commands/deploy.md +152 -152
  7. package/commands/fixit.md +116 -104
  8. package/commands/handoff.md +173 -173
  9. package/commands/overnight.md +220 -220
  10. package/commands/plan.md +158 -158
  11. package/commands/preplan.md +131 -131
  12. package/commands/prototype.md +145 -145
  13. package/commands/report.md +99 -99
  14. package/commands/review.md +120 -120
  15. package/commands/status.md +86 -86
  16. package/commands/workitems.md +132 -127
  17. package/guides/agent-bootstrap.md +265 -206
  18. package/guides/agents/backend.md +104 -104
  19. package/guides/agents/content.md +94 -94
  20. package/guides/agents/cs2.md +56 -56
  21. package/guides/agents/data.md +87 -87
  22. package/guides/agents/design.md +77 -77
  23. package/guides/agents/frontend.md +92 -92
  24. package/guides/agents/infrastructure.md +81 -81
  25. package/guides/agents/setup.md +279 -279
  26. package/guides/agents/verify.md +119 -119
  27. package/guides/agents/viz.md +106 -106
  28. package/hooks/foreground-process-gate.js +109 -0
  29. package/hooks/hook-logger.js +25 -0
  30. package/hooks/run-hidden-hook.ps1 +47 -0
  31. package/hooks/work-item-exit-gate.js +297 -0
  32. package/package.json +3 -3
  33. package/rules/work-items-rpc.md +56 -7
  34. package/scripts/install-rdc-skills.js +53 -9
  35. package/scripts/install.ps1 +17 -11
  36. package/scripts/self-test.mjs +1323 -1323
  37. package/skills/build/SKILL.md +355 -355
  38. package/skills/co-develop/SKILL.md +182 -0
  39. package/skills/collab/SKILL.md +217 -217
  40. package/skills/deploy/SKILL.md +198 -198
  41. package/skills/design/SKILL.md +211 -211
  42. package/skills/fixit/SKILL.md +132 -122
  43. package/skills/handoff/SKILL.md +200 -200
  44. package/skills/help/SKILL.md +104 -102
  45. package/skills/overnight/SKILL.md +224 -224
  46. package/skills/plan/SKILL.md +252 -251
  47. package/skills/preplan/SKILL.md +86 -86
  48. package/skills/prototype/SKILL.md +150 -150
  49. package/skills/release/SKILL.md +342 -342
  50. package/skills/report/SKILL.md +100 -100
  51. package/skills/review/SKILL.md +121 -120
  52. package/skills/self-test/SKILL.md +126 -126
  53. package/skills/status/SKILL.md +99 -97
  54. package/skills/watch/SKILL.md +91 -91
  55. package/skills/workitems/SKILL.md +151 -146
@@ -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');
40
- SELECT update_work_item_status('<uuid>'::uuid, 'done');
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
+ > **⚠️ 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
+ 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
@@ -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`
@@ -1,92 +1,92 @@
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:frontend — Frontend Agent
11
-
12
- ## Mandatory First Step
13
-
14
- Read the guide before ANY code:
15
- ```
16
- {PROJECT_ROOT}/.rdc/guides/frontend.md
17
- (fallback: {PROJECT_ROOT}/.rdc/guides/frontend.md)
18
- ```
19
-
20
- ## Before Writing Any Code
21
-
22
- 1. **Check for existing prototypes:**
23
- ```sql
24
- SELECT name, component, source_path, status, notes
25
- FROM prototype_registry
26
- WHERE status IN ('prototype', 'converting')
27
- ORDER BY created_at DESC;
28
- ```
29
- If a prototype exists: **ADAPT IT. Do not build from scratch.**
30
-
31
- 2. **Check design decisions:**
32
- ```sql
33
- SELECT topic, summary FROM design_context
34
- WHERE topic ILIKE '%<task-topic>%'
35
- ORDER BY created_at DESC;
36
- ```
37
-
38
- 3. **Read the app CLAUDE.md** for the target app.
39
-
40
- ## New Component Contract
41
-
42
- All new components follow the standard pattern:
43
-
44
- ```tsx
45
- "use client"; // only if uses hooks/browser APIs
46
- import * as React from "react";
47
- import { cva, type VariantProps } from "class-variance-authority";
48
- import { cn } from "../lib/utils";
49
-
50
- const myComponentVariants = cva("base-classes", {
51
- variants: {
52
- variant: { default: "", outline: "" },
53
- size: { sm: "", md: "", lg: "" },
54
- },
55
- defaultVariants: { variant: "default", size: "md" },
56
- });
57
-
58
- interface MyComponentProps
59
- extends React.HTMLAttributes<HTMLDivElement>,
60
- VariantProps<typeof myComponentVariants> {}
61
-
62
- const MyComponent = React.forwardRef<HTMLDivElement, MyComponentProps>(
63
- ({ className, variant, size, ...props }, ref) => (
64
- <div ref={ref} className={cn(myComponentVariants({ variant, size }), className)} {...props} />
65
- )
66
- );
67
- MyComponent.displayName = "MyComponent";
68
- export { MyComponent, myComponentVariants };
69
- ```
70
-
71
- Then re-export from the package's index.
72
-
73
- ## Next.js Patterns
74
-
75
- - App Router (modern) — use `src/app/`
76
- - Dynamic imports for browser-only libs
77
- - `transpilePackages` in next.config must list all monorepo packages used
78
- - Auth: use the auth helpers for protected apps; pass-through for public
79
-
80
- ## Colors — CSS Variables ONLY
81
-
82
- Never hardcode hex values in components. Always use CSS variables from the app's globals.css.
83
-
84
- ## Safety Rules
85
-
86
- - Branch: development branch — auto-commit after logical blocks
87
- - NEVER run `pnpm build` — crashes the system; code only
88
- - NEVER overlap with other agents on the same files
89
- - NEVER modify files outside your assigned scope
90
- - After completing: commit with descriptive message, push *(skip push if `$RDC_TEST=1` — echo `[RDC_TEST] skipping git push` instead)*
91
- - Update work item to `done` via `update_work_item_status()`
92
- - 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
+ > **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:frontend — Frontend Agent
11
+
12
+ ## Mandatory First Step
13
+
14
+ Read the guide before ANY code:
15
+ ```
16
+ {PROJECT_ROOT}/.rdc/guides/frontend.md
17
+ (fallback: {PROJECT_ROOT}/.rdc/guides/frontend.md)
18
+ ```
19
+
20
+ ## Before Writing Any Code
21
+
22
+ 1. **Check for existing prototypes:**
23
+ ```sql
24
+ SELECT name, component, source_path, status, notes
25
+ FROM prototype_registry
26
+ WHERE status IN ('prototype', 'converting')
27
+ ORDER BY created_at DESC;
28
+ ```
29
+ If a prototype exists: **ADAPT IT. Do not build from scratch.**
30
+
31
+ 2. **Check design decisions:**
32
+ ```sql
33
+ SELECT topic, summary FROM design_context
34
+ WHERE topic ILIKE '%<task-topic>%'
35
+ ORDER BY created_at DESC;
36
+ ```
37
+
38
+ 3. **Read the app CLAUDE.md** for the target app.
39
+
40
+ ## New Component Contract
41
+
42
+ All new components follow the standard pattern:
43
+
44
+ ```tsx
45
+ "use client"; // only if uses hooks/browser APIs
46
+ import * as React from "react";
47
+ import { cva, type VariantProps } from "class-variance-authority";
48
+ import { cn } from "../lib/utils";
49
+
50
+ const myComponentVariants = cva("base-classes", {
51
+ variants: {
52
+ variant: { default: "", outline: "" },
53
+ size: { sm: "", md: "", lg: "" },
54
+ },
55
+ defaultVariants: { variant: "default", size: "md" },
56
+ });
57
+
58
+ interface MyComponentProps
59
+ extends React.HTMLAttributes<HTMLDivElement>,
60
+ VariantProps<typeof myComponentVariants> {}
61
+
62
+ const MyComponent = React.forwardRef<HTMLDivElement, MyComponentProps>(
63
+ ({ className, variant, size, ...props }, ref) => (
64
+ <div ref={ref} className={cn(myComponentVariants({ variant, size }), className)} {...props} />
65
+ )
66
+ );
67
+ MyComponent.displayName = "MyComponent";
68
+ export { MyComponent, myComponentVariants };
69
+ ```
70
+
71
+ Then re-export from the package's index.
72
+
73
+ ## Next.js Patterns
74
+
75
+ - App Router (modern) — use `src/app/`
76
+ - Dynamic imports for browser-only libs
77
+ - `transpilePackages` in next.config must list all monorepo packages used
78
+ - Auth: use the auth helpers for protected apps; pass-through for public
79
+
80
+ ## Colors — CSS Variables ONLY
81
+
82
+ Never hardcode hex values in components. Always use CSS variables from the app's globals.css.
83
+
84
+ ## Safety Rules
85
+
86
+ - Branch: development branch — auto-commit after logical blocks
87
+ - NEVER run `pnpm build` — crashes the system; code only
88
+ - NEVER overlap with other agents on the same files
89
+ - NEVER modify files outside your assigned scope
90
+ - After completing: commit with descriptive message, push *(skip push if `$RDC_TEST=1` — echo `[RDC_TEST] skipping git push` instead)*
91
+ - Submit `implementation_report.codeflow_post`, then update work item to `review` via `update_work_item_status(..., p_actor_role := 'agent')`; validators close `done`
92
+ - Write tests FIRST — red → implement → green