opencastle 0.35.2 → 0.35.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.
Files changed (85) hide show
  1. package/package.json +1 -1
  2. package/src/dashboard/dist/data/convoys/demo-api-v2.json +3 -3
  3. package/src/dashboard/dist/data/convoys/demo-auth-revamp.json +4 -4
  4. package/src/dashboard/dist/data/convoys/demo-dashboard-ui.json +12 -12
  5. package/src/dashboard/dist/data/convoys/demo-data-pipeline.json +9 -9
  6. package/src/dashboard/dist/data/convoys/demo-deploy-ci.json +1 -1
  7. package/src/dashboard/dist/data/convoys/demo-docs-update.json +7 -7
  8. package/src/dashboard/dist/data/convoys/demo-perf-opt.json +4 -4
  9. package/src/dashboard/node_modules/.vite/deps/_metadata.json +6 -6
  10. package/src/dashboard/public/data/convoys/demo-api-v2.json +3 -3
  11. package/src/dashboard/public/data/convoys/demo-auth-revamp.json +4 -4
  12. package/src/dashboard/public/data/convoys/demo-dashboard-ui.json +12 -12
  13. package/src/dashboard/public/data/convoys/demo-data-pipeline.json +9 -9
  14. package/src/dashboard/public/data/convoys/demo-deploy-ci.json +1 -1
  15. package/src/dashboard/public/data/convoys/demo-docs-update.json +7 -7
  16. package/src/dashboard/public/data/convoys/demo-perf-opt.json +4 -4
  17. package/src/orchestrator/agents/api-designer.agent.md +10 -10
  18. package/src/orchestrator/agents/architect.agent.md +8 -8
  19. package/src/orchestrator/agents/content-engineer.agent.md +5 -5
  20. package/src/orchestrator/agents/copywriter.agent.md +7 -7
  21. package/src/orchestrator/agents/data-expert.agent.md +9 -9
  22. package/src/orchestrator/agents/database-engineer.agent.md +7 -7
  23. package/src/orchestrator/agents/developer.agent.md +13 -13
  24. package/src/orchestrator/agents/devops-expert.agent.md +10 -10
  25. package/src/orchestrator/agents/documentation-writer.agent.md +8 -8
  26. package/src/orchestrator/agents/performance-expert.agent.md +9 -9
  27. package/src/orchestrator/agents/release-manager.agent.md +8 -8
  28. package/src/orchestrator/agents/researcher.agent.md +5 -5
  29. package/src/orchestrator/agents/reviewer.agent.md +5 -5
  30. package/src/orchestrator/agents/security-expert.agent.md +10 -10
  31. package/src/orchestrator/agents/seo-specialist.agent.md +11 -11
  32. package/src/orchestrator/agents/session-guard.agent.md +2 -2
  33. package/src/orchestrator/agents/team-lead.agent.md +4 -4
  34. package/src/orchestrator/agents/testing-expert.agent.md +7 -7
  35. package/src/orchestrator/agents/ui-ux-expert.agent.md +15 -15
  36. package/src/orchestrator/prompts/assess-complexity.prompt.md +8 -8
  37. package/src/orchestrator/prompts/bootstrap-customizations.prompt.md +17 -17
  38. package/src/orchestrator/prompts/brainstorm.prompt.md +17 -17
  39. package/src/orchestrator/prompts/bug-fix.prompt.md +11 -11
  40. package/src/orchestrator/prompts/create-skill.prompt.md +21 -21
  41. package/src/orchestrator/prompts/fix-convoy.prompt.md +8 -8
  42. package/src/orchestrator/prompts/fix-prd.prompt.md +12 -12
  43. package/src/orchestrator/prompts/generate-convoy.prompt.md +50 -50
  44. package/src/orchestrator/prompts/generate-prd.prompt.md +32 -32
  45. package/src/orchestrator/prompts/implement-feature.prompt.md +16 -16
  46. package/src/orchestrator/prompts/quick-refinement.prompt.md +18 -18
  47. package/src/orchestrator/prompts/resolve-pr-comments.prompt.md +9 -9
  48. package/src/orchestrator/prompts/validate-convoy.prompt.md +10 -10
  49. package/src/orchestrator/prompts/validate-prd.prompt.md +10 -10
  50. package/src/orchestrator/skills/accessibility-standards/SKILL.md +8 -8
  51. package/src/orchestrator/skills/agent-hooks/SKILL.md +1 -1
  52. package/src/orchestrator/skills/agent-memory/SKILL.md +11 -11
  53. package/src/orchestrator/skills/api-patterns/SKILL.md +5 -5
  54. package/src/orchestrator/skills/backbone-scaffolding/SKILL.md +24 -51
  55. package/src/orchestrator/skills/code-commenting/SKILL.md +3 -3
  56. package/src/orchestrator/skills/context-map/REFERENCE.md +2 -2
  57. package/src/orchestrator/skills/context-map/SKILL.md +5 -5
  58. package/src/orchestrator/skills/data-engineering/SKILL.md +12 -12
  59. package/src/orchestrator/skills/decomposition/SKILL.md +34 -7
  60. package/src/orchestrator/skills/deployment-infrastructure/SKILL.md +4 -4
  61. package/src/orchestrator/skills/documentation-standards/SKILL.md +7 -7
  62. package/src/orchestrator/skills/documentation-standards/WRITING-GUIDE.md +3 -3
  63. package/src/orchestrator/skills/fast-review/SKILL.md +2 -2
  64. package/src/orchestrator/skills/frontend-design/COMPONENTS.md +1 -1
  65. package/src/orchestrator/skills/frontend-design/SKILL.md +11 -11
  66. package/src/orchestrator/skills/git-workflow/SKILL.md +5 -5
  67. package/src/orchestrator/skills/memory-merger/SKILL.md +32 -8
  68. package/src/orchestrator/skills/observability-logging/SKILL.md +6 -11
  69. package/src/orchestrator/skills/orchestration-protocols/SKILL.md +15 -15
  70. package/src/orchestrator/skills/panel-majority-vote/SKILL.md +4 -4
  71. package/src/orchestrator/skills/performance-optimization/SKILL.md +5 -5
  72. package/src/orchestrator/skills/project-consistency/SKILL.md +4 -4
  73. package/src/orchestrator/skills/react-development/SKILL.md +8 -8
  74. package/src/orchestrator/skills/security-hardening/SKILL.md +12 -12
  75. package/src/orchestrator/skills/self-improvement/SKILL.md +11 -11
  76. package/src/orchestrator/skills/seo-patterns/SKILL.md +49 -23
  77. package/src/orchestrator/skills/session-checkpoints/SKILL.md +12 -12
  78. package/src/orchestrator/skills/team-lead-reference/SKILL.md +6 -6
  79. package/src/orchestrator/skills/testing-workflow/SKILL.md +3 -3
  80. package/src/orchestrator/skills/validation-gates/SKILL.md +6 -6
  81. package/src/orchestrator/skills/backbone-scaffolding/EXAMPLES.md +0 -16
  82. package/src/orchestrator/skills/decomposition/REFERENCE.md +0 -28
  83. package/src/orchestrator/skills/memory-merger/REFERENCE.md +0 -20
  84. package/src/orchestrator/skills/react-development/REFERENCE.md +0 -7
  85. package/src/orchestrator/skills/seo-patterns/REFERENCE.md +0 -54
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: 'Handle follow-up refinements after a roadmap task — bug fixes, UI tweaks, polish, and adjustments that are too small for issue tracking.'
2
+ description: 'Handle follow-up refinements after a roadmap task — bug fixes, UI tweaks, polish, adjustments too small for issue tracking.'
3
3
  agent: 'Team Lead (OpenCastle)'
4
4
  ---
5
5
 
@@ -7,7 +7,7 @@ agent: 'Team Lead (OpenCastle)'
7
7
 
8
8
  # Follow-Up Refinement
9
9
 
10
- You are the Team Lead. Handle the follow-up refinement described below. This is a **post-task adjustment** — a bug fix, UI tweak, or polish item that came up after reviewing a completed roadmap task. It does NOT require issue tracking.
10
+ You are the Team Lead. Handle the follow-up refinement described below. This is **post-task adjustment** — a bug fix, UI tweak, or polish item that came up after reviewing a completed roadmap task. Does NOT require issue tracking.
11
11
 
12
12
  ## Request
13
13
 
@@ -25,7 +25,7 @@ You are the Team Lead. Handle the follow-up refinement described below. This is
25
25
  | Scope | Multi-step feature | Focused fix or adjustment |
26
26
  | Branch strategy | Dedicated feature branch | Current branch (already in progress) |
27
27
 
28
- **Despite being lighter-weight, follow-ups still require the same code quality and verification standards.** Never skip linting, testing, or browser checks just because the change is "small."
28
+ **Despite being lighter-weight, follow-ups still require same code quality and verification standards.** Never skip linting, testing, or browser checks just because change is "small."
29
29
 
30
30
  ## Workflow
31
31
 
@@ -34,11 +34,11 @@ You are the Team Lead. Handle the follow-up refinement described below. This is
34
34
  **Create a tracker issue if ANY of these are true:**
35
35
  - Affects user-visible behavior, touches >2–3 files, or modifies `libs/`, queries, API routes, or Server Actions
36
36
  - Could introduce regressions in other features
37
- - You want a record for future reference
37
+ - You want record for future reference
38
38
 
39
39
  **Skip tracking if ALL of these are true:**
40
40
  - Pure cosmetic/spacing/copy change with no behavioral impact
41
- - Isolated to a single component or page
41
+ - Isolated to single component or page
42
42
  - Trivial to verify visually
43
43
 
44
44
  If creating: title `[Follow-up] Short description`, label `follow-up`, priority Low/Medium, description: what changed, why, files
@@ -61,19 +61,19 @@ If creating: title `[Follow-up] Short description`, label `follow-up`, priority
61
61
 
62
62
  #### Delegation Prompt Must Include
63
63
 
64
- - What to fix, exact file paths, and how to verify the result
64
+ - What to fix, exact file paths, how to verify result
65
65
  - Boundaries: "Only modify files listed above. Do not refactor unrelated code."
66
66
  - Self-improvement reminder (see **self-improvement** skill)
67
67
 
68
68
  #### Implementation Rules
69
69
 
70
70
  - **No scope creep** — Fix only what was asked; note but don't fix adjacent issues
71
- - **DRY + Visual consistency** — Reuse existing components, utilities, and design system patterns
71
+ - **DRY + Visual consistency** — Reuse existing components, utilities, design system patterns
72
72
  - **Cross-app + Accessibility** — Verify `libs/` changes across apps; don't regress keyboard nav/contrast
73
73
 
74
74
  ### 5. Validate
75
75
 
76
- > Load the **validation-gates** skill for detailed steps on each gate.
76
+ > Load **validation-gates** skill for detailed steps on each gate.
77
77
 
78
78
  Every follow-up, no matter how small, must pass these gates:
79
79
 
@@ -87,24 +87,24 @@ Every follow-up, no matter how small, must pass these gates:
87
87
 
88
88
  ### 6. Delivery
89
89
 
90
- If tracked: follow the **Delivery Outcome** in the **git-workflow** skill — commit, push, open PR (not merged), tracker linked.
90
+ If tracked: follow **Delivery Outcome** in **git-workflow** skill — commit, push, open PR (not merged), tracker linked.
91
91
 
92
- If untracked: commit to the current branch; Team Lead includes in the parent task's existing PR.
92
+ If untracked: commit to current branch; Team Lead includes in parent task's existing PR.
93
93
 
94
94
  ### 7. Escalation Triggers
95
95
 
96
- - Requires a database migration or data model changes (CMS schemas, tables)
96
+ - Requires database migration or data model changes (CMS schemas, tables)
97
97
  - Involves auth/authorization changes
98
98
  - Touches >5 files across multiple libraries
99
- - Introduces a new dependency or API endpoint
100
- - Is a systemic issue requiring architectural changes
99
+ - Introduces new dependency or API endpoint
100
+ - Systemic issue requiring architectural changes
101
101
  - Decomposes into 3+ subtasks → switch to `implement-feature`
102
102
 
103
103
  ### 8. Completion
104
104
 
105
- - [ ] The specific request is resolved
106
- - [ ] Tracker issue created and moved to Done (if triage determined tracking was needed)
107
- - [ ] **Visual changes verified in Chrome with screenshot taken as proof**
105
+ - [ ] Specific request is resolved
106
+ - [ ] Tracker issue created, moved to Done (if triage determined tracking was needed)
107
+ - [ ] **Visual changes verified in Chrome with screenshot as proof**
108
108
  - [ ] Shared component changes tested across all consuming apps
109
- - [ ] Delivery Outcome completed if tracked (see the **git-workflow** skill) — branch pushed, PR opened (not merged), tracker linked
110
- - [ ] Lessons learned captured and known issues updated if applicable
109
+ - [ ] Delivery Outcome completed if tracked (see **git-workflow** skill) — branch pushed, PR opened (not merged), tracker linked
110
+ - [ ] Lessons learned captured, known issues updated if applicable
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: 'Resolve GitHub PR review comments by reading them, grouping by file, and applying fixes systematically.'
2
+ description: 'Resolve GitHub PR review comments by reading them, grouping by file, applying fixes systematically.'
3
3
  agent: 'Team Lead (OpenCastle)'
4
4
  ---
5
5
 
@@ -7,7 +7,7 @@ agent: 'Team Lead (OpenCastle)'
7
7
 
8
8
  # Resolve PR Comments
9
9
 
10
- You are the Team Lead. A pull request has review comments that need to be resolved. Read the comments, group them by file, and delegate fixes efficiently.
10
+ You are the Team Lead. A pull request has review comments needing resolution. Read comments, group by file, delegate fixes efficiently.
11
11
 
12
12
  ## PR Reference
13
13
 
@@ -36,7 +36,7 @@ You are the Team Lead. A pull request has review comments that need to be resolv
36
36
 
37
37
  ### Phase 3: Apply Fixes
38
38
 
39
- For each file group, delegate to the appropriate specialist agent:
39
+ For each file group, delegate to appropriate specialist agent:
40
40
 
41
41
  ```
42
42
  Fix the following PR review comments in [file path]:
@@ -53,11 +53,11 @@ Acceptance criteria:
53
53
  - [ ] New tests added if the comment identified a gap
54
54
  ```
55
55
 
56
- **Discussion comments** — Do not fix these. Instead, compile them into a summary for the human reviewer with your recommendation.
56
+ **Discussion comments** — Do not fix these. Compile into summary for human reviewer with your recommendation.
57
57
 
58
58
  ### Phase 4: Verify & Report
59
59
 
60
- > Load the **validation-gates** skill for detailed steps on each gate.
60
+ > Load **validation-gates** skill for detailed steps on each gate.
61
61
 
62
62
  All fixes must pass applicable gates before pushing:
63
63
 
@@ -109,8 +109,8 @@ After resolving comments, report:
109
109
 
110
110
  ## Rules
111
111
 
112
- - **Never dismiss a must-fix comment** — if you disagree, flag it for discussion instead
113
- - **Preserve the reviewer's intent** — don't just technically satisfy the comment, address the underlying concern
114
- - **Don't over-fix** — resolve only what was commented on. Save unrelated improvements for a separate PR
112
+ - **Never dismiss a must-fix comment** — if you disagree, flag for discussion instead
113
+ - **Preserve reviewer's intent** — don't just technically satisfy the comment, address underlying concern
114
+ - **Don't over-fix** — resolve only what was commented on. Save unrelated improvements for separate PR
115
115
  - **Respond to every comment** — nothing should be silently ignored
116
- - **Self-improvement** — Follow the **self-improvement** skill
116
+ - **Self-improvement** — Follow **self-improvement** skill
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: 'Validate a convoy task plan for semantic correctness. Outputs VALID or INVALID with specific errors.'
2
+ description: 'Validate convoy task plan for semantic correctness. Outputs VALID or INVALID with specific errors.'
3
3
  agent: 'Reviewer'
4
4
  output: validation
5
5
  ---
@@ -8,9 +8,9 @@ output: validation
8
8
 
9
9
  # Validate Task Plan
10
10
 
11
- > **Note:** Schema validation (field types, YAML syntax, dependency cycles, glob patterns) has already passed. The generator already enforces prompt quality, agent matching, and file list completeness. Focus ONLY on the structural and logical checks below.
11
+ > **Note:** Schema validation (field types, YAML syntax, dependency cycles, glob patterns) already passed. Generator already enforces prompt quality, agent matching, file list completeness. Focus ONLY on structural and logical checks below.
12
12
 
13
- You are a senior technical reviewer. Validate the task plan below for **structural correctness**. Pass the plan if the structure is sound — do not fail for prompt wording, style, or verbosity.
13
+ You are a senior technical reviewer. Validate the task plan below for **structural correctness**. Pass plan if structure is sound — do not fail for prompt wording, style, or verbosity.
14
14
 
15
15
  ## Task Plan to Validate
16
16
 
@@ -20,9 +20,9 @@ You are a senior technical reviewer. Validate the task plan below for **structur
20
20
 
21
21
  ## Validation Checks
22
22
 
23
- > If the spec contains `<!-- validation-pass: N -->`, this is pass N. On pass 2+, verify previous fixes were applied — do NOT invent new issues.
23
+ > If spec contains `<!-- validation-pass: N -->`, this is pass N. On pass 2+, verify previous fixes were applied — do NOT invent new issues.
24
24
 
25
- Evaluate the checks below. If ALL pass, respond `VALID`. Only fail for checks marked BLOCKING.
25
+ Evaluate checks below. If ALL pass, respond `VALID`. Only fail for checks marked BLOCKING.
26
26
 
27
27
  ### Partition Conflicts (BLOCKING)
28
28
 
@@ -33,22 +33,22 @@ Two tasks that can run in parallel (no direct or transitive `depends_on` edge be
33
33
 
34
34
  ### Dependency Completeness (BLOCKING)
35
35
 
36
- If a task's prompt imports, references, or builds on files produced by another task, a `depends_on` edge to that producing task must exist.
36
+ If task's prompt imports, references, or builds on files produced by another task, `depends_on` edge to that producing task must exist.
37
37
 
38
38
  - [ ] Scan every prompt for cross-task file references
39
- - [ ] Each such reference must be covered by a `depends_on` edge
39
+ - [ ] Each such reference must be covered by `depends_on` edge
40
40
 
41
41
  ### Logical Soundness (BLOCKING)
42
42
 
43
- - [ ] No redundant tasks doing the same work
44
- - [ ] No obvious missing tasks that would leave the goal unachievable
43
+ - [ ] No redundant tasks doing same work
44
+ - [ ] No obvious missing tasks that would leave goal unachievable
45
45
  - [ ] No tasks with empty or stub prompts (`...`, placeholder text)
46
46
 
47
47
  ---
48
48
 
49
49
  ## Output Format
50
50
 
51
- Your entire response must be a single fenced JSON block — no text before or after:
51
+ Your entire response must be single fenced JSON block — no text before or after:
52
52
 
53
53
  ```json
54
54
  {
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: 'Validate a PRD for completeness, clarity, and implementability before generating a convoy spec. Outputs VALID or INVALID with specific issues.'
2
+ description: 'Validate PRD for completeness, clarity, implementability before generating convoy spec. Outputs VALID or INVALID with specific issues.'
3
3
  agent: 'Reviewer'
4
4
  output: validation
5
5
  ---
@@ -8,9 +8,9 @@ output: validation
8
8
 
9
9
  # Validate PRD
10
10
 
11
- You are a senior technical reviewer. Your job is to validate the PRD below against strict quality criteria before it is used to generate an automated convoy spec. A PRD that passes this gate will produce a clean, executable convoy spec. A PRD that fails will produce bad tasks.
11
+ You are a senior technical reviewer. Validate the PRD below against strict quality criteria before it is used to generate an automated convoy spec. PRD that passes this gate will produce clean, executable convoy spec. PRD that fails will produce bad tasks.
12
12
 
13
- Focus on **structural completeness** only — the PRD generator already enforces language quality and style. Your job is to catch structural problems that would break convoy spec generation. **Pass the PRD if sections exist and the structure is internally consistent.** Do not fail for stylistic preferences, word choice, or minor phrasing.
13
+ Focus on **structural completeness** only — PRD generator already enforces language quality and style. Your job: catch structural problems that would break convoy spec generation. **Pass PRD if sections exist and structure is internally consistent.** Do not fail for stylistic preferences, word choice, or minor phrasing.
14
14
 
15
15
  ## PRD to Validate
16
16
 
@@ -20,32 +20,32 @@ Focus on **structural completeness** only — the PRD generator already enforces
20
20
 
21
21
  ## Validation Checklist
22
22
 
23
- > If the PRD contains `<!-- validation-pass: N -->`, this is pass N. On pass 2+, only verify previous fixes were applied — do NOT invent new issues.
23
+ > If PRD contains `<!-- validation-pass: N -->`, this is pass N. On pass 2+, only verify previous fixes were applied — do NOT invent new issues.
24
24
 
25
- Evaluate the checks below. If ALL pass, respond `VALID`. Only fail for checks marked BLOCKING.
25
+ Evaluate checks below. If ALL pass, respond `VALID`. Only fail for checks marked BLOCKING.
26
26
 
27
27
  ### Required Sections (BLOCKING)
28
28
 
29
- All of these sections must exist and contain real content (not just the heading):
29
+ All these sections must exist and contain real content (not just the heading):
30
30
  `Overview`, `Goals`, `Non-Goals`, `User Stories & Acceptance Criteria`, `Technical Requirements`, `Implementation Scope`, `Task Breakdown`, `Success Criteria`, `Risks & Open Questions`.
31
31
 
32
32
  ### Structural Integrity (BLOCKING)
33
33
 
34
- - [ ] No two parallel workstreams (same phase) claim the same file
34
+ - [ ] No two parallel workstreams (same phase) claim same file
35
35
  - [ ] No circular dependencies between phases
36
- - [ ] No conflicting requirements across sections (e.g., a Non-Goal contradicts a Technical Requirement)
36
+ - [ ] No conflicting requirements across sections (e.g., Non-Goal contradicts Technical Requirement)
37
37
  - [ ] Section content is not placeholder/template text (e.g., "2–3 sentences about…", "Description here")
38
38
 
39
39
  ### Implementation Coherence (BLOCKING)
40
40
 
41
41
  - [ ] Implementation Scope lists specific files or subdirectories (not just `src/` or `the frontend`)
42
- - [ ] Each workstream lists the files it will modify
42
+ - [ ] Each workstream lists files it will modify
43
43
 
44
44
  ---
45
45
 
46
46
  ## Output Format
47
47
 
48
- Your entire response must be a single fenced JSON block — no text before or after:
48
+ Your entire response must be single fenced JSON block — no text before or after:
49
49
 
50
50
  ```json
51
51
  {
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: accessibility-standards
3
- description: "WCAG 2.2 Level AA accessibility patterns for React/HTML/CSS. Use when creating or modifying UI components, forms, navigation, tables, images, or any user-facing elements. Covers keyboard navigation, screen reader semantics, low vision contrast, voice access, and inclusive language."
3
+ description: "WCAG 2.2 Level AA accessibility patterns for React/HTML/CSS. Use when creating or modifying UI components, forms, navigation, tables, images, or any user-facing elements. Covers keyboard navigation, screen reader semantics, low vision contrast, voice access, inclusive language."
4
4
  ---
5
5
 
6
6
  # Accessibility Standards
@@ -13,7 +13,7 @@ Code must conform to [WCAG 2.2 Level AA](https://www.w3.org/TR/WCAG22/).
13
13
 
14
14
  ## Cognitive
15
15
 
16
- Plain language; consistent landmarks and nav order across pages; minimal distractions.
16
+ Plain language; consistent landmarks, nav order across pages; minimal distractions.
17
17
 
18
18
  ## Keyboard
19
19
 
@@ -21,14 +21,14 @@ Plain language; consistent landmarks and nav order across pages; minimal distrac
21
21
  - No `tabindex` on static elements; `tabindex="-1"` only for elements receiving programmatic focus.
22
22
  - Hidden elements must not be focusable.
23
23
 
24
- **Composite components** and detailed complex patterns have been moved to REFERENCE.md to keep this skill focused. See REFERENCE.md for roving tabindex, `aria-activedescendant`, and composite widget examples.
24
+ **Composite components** + detailed complex patterns moved to REFERENCE.md to keep this skill focused. See REFERENCE.md for roving tabindex, `aria-activedescendant`, composite widget examples.
25
25
 
26
26
  ### Validation checkpoints (run-fix-repeat)
27
27
 
28
- - Run an automated audit: `npx axe-core` or integrate `axe-core`/`axe-playwright` in CI — fix high/critical findings.
29
- - Verify keyboard tab order manually: `Tab` through the page, ensure logical order and visible focus.
30
- - Confirm contrast ratios (spot-check key pages): use `axe`, `pa11y`, or `contrast` tools and ensure ≥4.5:1 for body text.
31
- - Fix, re-run audits, and repeat until no high/critical a11y issues remain.
28
+ - Run automated audit: `npx axe-core` or integrate `axe-core`/`axe-playwright` in CI — fix high/critical findings.
29
+ - Verify keyboard tab order manually: `Tab` through page, ensure logical order, visible focus.
30
+ - Confirm contrast ratios (spot-check key pages): use `axe`, `pa11y`, or `contrast` tools; ensure ≥4.5:1 for body text.
31
+ - Fix; re-run audits; repeat until no high/critical a11y issues remain.
32
32
 
33
33
  **Skip link** (first focusable element):
34
34
 
@@ -66,7 +66,7 @@ Plain language; consistent landmarks and nav order across pages; minimal distrac
66
66
  ## Voice Access
67
67
 
68
68
  - Interactive element accessible name must contain its visible label text.
69
- - `aria-label` must include the visible label.
69
+ - `aria-label` must include visible label.
70
70
 
71
71
  ## Forms
72
72
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: agent-hooks
3
- description: "Four lifecycle hooks every agent runs: on-session-start scans LESSONS-LEARNED.md and resumes checkpoints, on-pre-delegate verifies tracker issues and file partitions, on-post-delegate runs fast-review and CI checks, on-session-end executes the session guard and writes logs. Use when starting a new session, running pre-flight checks before delegation, coordinating between agents, reviewing a completed handoff, or wrapping up a session. Trigger terms: multi-agent setup, delegate tasks, agent coordination, session management, run pre-flight checks, start a new session, coordinate between agents, wrap up session"
3
+ description: "Four lifecycle hooks every agent runs: on-session-start scans LESSONS-LEARNED.md, resumes checkpoints; on-pre-delegate verifies tracker issues, file partitions; on-post-delegate runs fast-review, CI checks; on-session-end executes session guard, writes logs. Use when starting a new session, running pre-flight checks before delegation, coordinating between agents, reviewing a completed handoff, or wrapping up a session. Trigger terms: multi-agent setup, delegate tasks, agent coordination, session management, run pre-flight checks, start a new session, coordinate between agents, wrap up session"
4
4
  ---
5
5
 
6
6
  # Agent Lifecycle Hooks
@@ -1,13 +1,13 @@
1
1
  ---
2
2
  name: agent-memory
3
- description: "Creates and queries agent expertise profiles in AGENT-EXPERTISE.md, increments file-familiarity counters after each task, and ranks candidate agents by recency and task-area match. Use when deciding which agent should handle a file, checking who last worked on a module, recording task outcomes, or assigning work based on past performance."
3
+ description: "Creates, queries agent expertise profiles in AGENT-EXPERTISE.md; increments file-familiarity counters after each task; ranks candidate agents by recency, task-area match. Use when deciding which agent should handle a file, checking who last worked on a module, recording task outcomes, or assigning work based on past performance."
4
4
  ---
5
5
 
6
6
  # Agent Memory Protocol
7
7
 
8
8
  ## Expertise File
9
9
 
10
- **Location:** `.opencastle/AGENT-EXPERTISE.md` — one section per agent with Strong Areas, Weak Areas, and File Familiarity tables.
10
+ **Location:** `.opencastle/AGENT-EXPERTISE.md` — one section per agent with Strong Areas, Weak Areas, File Familiarity tables.
11
11
 
12
12
  Entry format: `Area | Evidence | Last Updated` — e.g. `Server Components | Built TAS-42 | 2026-03-15`. File familiarity: `- src/lib/search/ — 3 tasks`.
13
13
 
@@ -23,7 +23,7 @@ Entry format: `Area | Evidence | Last Updated` — e.g. `Server Components | Bui
23
23
 
24
24
  ## Retrieval & Delegation
25
25
 
26
- Query before delegating, then include a concise context block in the prompt:
26
+ Query before delegating; include concise context block in prompt:
27
27
 
28
28
  ```sh
29
29
  grep -A5 "## Developer" .opencastle/AGENT-EXPERTISE.md
@@ -44,17 +44,17 @@ awk '/src\/lib\/search\// { if (match($0, /[0-9]+/)) { n = substr($0, RSTART, RL
44
44
 
45
45
  ## Workflow
46
46
 
47
- 1. **Before delegating:** Read `.opencastle/AGENT-EXPERTISE.md`, check Strong/Weak areas, add concise `Agent Context` to the prompt.
48
- - Validate: the selected agent has a Strong area matching the task or no conflicting Weak entries.
49
- 2. **After task completes:** Update expertise (success → Strong, 2+ retries → Weak, files → Familiarity) and append file relationships to `.opencastle/KNOWLEDGE-GRAPH.md`.
50
- - Validate: the expertise file contains the new entry and the timestamp is today's date.
51
- 3. **On DLQ failure:** Add Weak Area with reference to the failure ID and link to logs.
52
- - Validate: failure ID and link appear in the Weak Area entry.
47
+ 1. **Before delegating:** Read `.opencastle/AGENT-EXPERTISE.md`; check Strong/Weak areas; add concise `Agent Context` to prompt.
48
+ - Validate: selected agent has Strong area matching task or no conflicting Weak entries.
49
+ 2. **After task completes:** Update expertise (success → Strong, 2+ retries → Weak, files → Familiarity); append file relationships to `.opencastle/KNOWLEDGE-GRAPH.md`.
50
+ - Validate: expertise file contains new entry; timestamp is today's date.
51
+ 3. **On DLQ failure:** Add Weak Area with reference to failure ID, link to logs.
52
+ - Validate: failure ID, link appear in Weak Area entry.
53
53
 
54
54
  ## Pruning
55
55
 
56
- Prune entries older than 6 months, remove familiarity for deleted paths, and consolidate duplicates.
56
+ Prune entries older than 6 months; remove familiarity for deleted paths; consolidate duplicates.
57
57
  - Validate: run `rg "— [0-9]+ tasks" .opencastle/AGENT-EXPERTISE.md` after pruning to confirm no stale paths remain.
58
58
  ## Knowledge Graph
59
59
 
60
- File dependency graph and cross-agent relationships. See [KNOWLEDGE-GRAPH.md](./KNOWLEDGE-GRAPH.md) for entity types, templates, triggers, and queries.
60
+ File dependency graph, cross-agent relationships. See [KNOWLEDGE-GRAPH.md](./KNOWLEDGE-GRAPH.md) for entity types, templates, triggers, queries.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: api-patterns
3
- description: "Creates API route handlers, implements Server Actions with Zod schema validation, and integrates external REST APIs with error handling. Use when adding endpoints, building request handlers, or wiring external services (endpoint, REST API, request handling, fetch, .ts route files)."
3
+ description: "Creates API route handlers, implements Server Actions with Zod schema validation, integrates external REST APIs with error handling. Use when adding endpoints, building request handlers, or wiring external services (endpoint, REST API, request handling, fetch, .ts route files)."
4
4
  ---
5
5
 
6
6
  # API Patterns
@@ -66,9 +66,9 @@ export async function submitAction(formData: FormData) {
66
66
 
67
67
  ## Quick Workflow
68
68
  1. Create route file: `app/api/<name>/route.ts` or `app/<segment>/route.ts`
69
- 2. Add a Zod schema and validate input at the top of the handler
69
+ 2. Add Zod schema; validate input at top of handler
70
70
  3. Implement handler logic with explicit error/response shapes
71
- 4. Add unit/integration tests for validation and happy/error paths
71
+ 4. Add unit/integration tests for validation, happy/error paths
72
72
  5. Verification: run a quick smoke test (example):
73
73
 
74
74
  ```bash
@@ -78,11 +78,11 @@ curl -fsS "http://localhost:3000/api/<name>?query=test" || (echo "route failed"
78
78
  ## Design Rules
79
79
 
80
80
  - Server Actions for mutations; Route Handlers for external/public endpoints
81
- - Validate all input with Zod on the server
81
+ - Validate all input with Zod on server
82
82
  - RESTful nouns: `/api/v1/places/:slug`; HTTP methods: `GET` read, `POST` create, `PATCH` update, `DELETE` remove
83
83
  - Response envelope: `{ "data": ..., "meta": { "total": 42, "page": 1 } }`
84
84
  - Error shape: `{ "error": { "code": "VALIDATION_ERROR", "message": "...", "details": [...] } }`
85
85
  - Status codes: 400, 401, 403, 404, 422, 429, 500 — never leak stack traces
86
86
  - Pagination: cursor-based preferred; params: `limit`, `cursor`, `sort`, `order`
87
87
  - Versioning: `/api/v1/...`; add fields only, never remove/rename; deprecation headers before removal
88
- - Rate-limit public endpoints; set `Cache-Control` and `ETag`/`If-None-Match` headers
88
+ - Rate-limit public endpoints; set `Cache-Control`, `ETag`/`If-None-Match` headers
@@ -12,7 +12,7 @@ description: "Scaffolds production-ready monorepo projects using the backbone CL
12
12
 
13
13
  ## How to Use the CLI
14
14
 
15
- Backbone is **interactive** — it uses `@clack/prompts` to ask a series of questions. Agents must run the command and respond to each prompt in sequence.
15
+ Backbone is **interactive** — uses `@clack/prompts` to ask series of questions. Agents must run command, respond to each prompt in sequence.
16
16
 
17
17
  ### Prompt Sequence
18
18
 
@@ -46,70 +46,43 @@ Backbone is **interactive** — it uses `@clack/prompts` to ask a series of ques
46
46
 
47
47
  ## OpenCastle TechTool → Backbone Mapping
48
48
 
49
- Most TechTool names map 1:1 to backbone prompt choices (e.g. `nextjs` → select Next.js, `supabase` → select Supabase). Exceptions:
49
+ Most TechTool names map 1:1 to backbone prompt choices (e.g. `nextjs` → Next.js, `supabase` → Supabase). Non-1:1 exceptions:
50
50
 
51
- | TechTool | Backbone mapping | Notes |
52
- |----------|-----------------|-------|
53
- | `resend` | Select `emailLib` in Packages prompt | Only non-obvious mapping |
54
- | `drizzle` | Select `drizzle` in Backend prompt | Direct 1:1 mapping |
55
- | `cloudflare` | Select `cloudflare` in Deployment prompt | Direct 1:1 mapping |
56
- | `coolify` | Select `coolify` in Deployment prompt | Direct 1:1 mapping |
57
- | `expo` | Select `expo` in Mobile prompt | Direct 1:1 mapping; incompatible with `astro` |
58
- | `stripe` | Select `stripe` in Payments prompt | Direct 1:1 mapping |
59
- | `sentry` | Select `sentry` in Observability prompt | Direct 1:1 mapping |
60
- | `vitest` | — | Always included automatically |
61
- | `figma`, `chrome-devtools` | — | Not handled by backbone; configure separately |
51
+ | TechTool | Backbone mapping |
52
+ |----------|-----------------|
53
+ | `resend` | `emailLib` in Packages prompt |
54
+ | `vitest` | Always included automatically |
55
+ | `figma`, `chrome-devtools` | Not handled by backbone; configure separately |
62
56
 
63
57
  ## Generated Project Structure
64
58
 
65
- After backbone runs, the output directory contains:
59
+ `apps/` (`web`, conditional `mobile`), `packages/` (conditional `ui`, `email`, `llm`, `stripe`), `backend/` (one of `convex`/`supabase`/`prisma`/`drizzle`), `e2e/`, `.github/workflows/`. Always at root: `vitest.config.ts`, `tsconfig.base.json`, `package.json`, `turbo.json`/`nx.json`, ESLint, Prettier. Conditional root files: `wrangler.toml` (cloudflare), `Dockerfile` (coolify), `sentry.*.config.ts` (sentry, in `apps/web/`).
66
60
 
67
- ```
68
- <project-name>/
69
- apps/
70
- web/ # Next.js or Astro application
71
- mobile/ # (if ionic or expo selected)
72
- packages/
73
- ui/ # (if uiLib selected) shared React component library
74
- email/ # (if emailLib selected) Resend/React Email package
75
- llm/ # (if llmLib selected) LLM integration package
76
- stripe/ # (if stripe selected) Stripe client + webhook handler
77
- backend/
78
- convex/ # (if convex selected)
79
- supabase/ # (if supabase selected)
80
- prisma/ # (if prisma selected)
81
- drizzle/ # (if drizzle selected) schema, config, migrations
82
- e2e/ # Playwright or Cypress tests
83
- .github/
84
- workflows/ # GitHub Actions CI pipelines (always included)
85
- vitest.config.ts # Always included
86
- tsconfig.base.json # Always included
87
- package.json # Monorepo root package.json
88
- turbo.json / nx.json # Monorepo tool config
89
- wrangler.toml # (if cloudflare selected)
90
- Dockerfile # (if coolify selected)
91
- sentry.*.config.ts # (if sentry selected) in apps/web/
92
- ```
93
-
94
- **Always included regardless of options:** Vitest configuration, GitHub Actions CI workflows, root `tsconfig.base.json`, ESLint, Prettier.
95
-
96
- Agents working on post-scaffolding tasks must **not recreate** any of these files — they already exist. Build on top of the generated structure.
61
+ Agents on post-scaffolding tasks **must not recreate** these — they already exist. Import and extend.
97
62
 
98
63
  ## Post-Scaffolding Steps
99
64
 
100
65
  After `npx @monkilabs/backbone <project-name>` completes:
101
66
 
102
- 1. `cd <project-name>` into the generated directory
103
- 2. Run `npm install` to install all dependencies
104
- 3. Verify the project builds: run the monorepo build command (e.g. `npx turbo build` or `npx nx build`)
105
- 4. All subsequent agent tasks should **import and extend** the generated boilerplate — never overwrite it
67
+ 1. `cd <project-name>` into generated directory
68
+ 2. Run `npm install` for all dependencies
69
+ 3. Verify project builds: run monorepo build command (e.g. `npx turbo build` or `npx nx build`)
70
+ 4. All subsequent agent tasks should **import and extend** generated boilerplate — never overwrite
106
71
 
107
72
  **If something fails:**
108
73
  - `npm install` errors → verify Node.js >= 22.5.0 (`node -v`)
109
- - Build errors → check that no incompatible options were selected (see Astro constraint above); re-run backbone with corrected choices if needed
110
- - Wrong option selected → delete the generated directory and re-run `npx @monkilabs/backbone` with the correct selections
74
+ - Build errors → check no incompatible options selected (see Astro constraint above); re-run backbone with corrected choices if needed
75
+ - Wrong option selected → delete generated directory; re-run `npx @monkilabs/backbone` with correct selections
111
76
 
112
77
  ## Example Convoy Task
113
78
 
114
- See [EXAMPLES.md](EXAMPLES.md) for a complete scaffolding task JSON.
79
+ ```json
80
+ {
81
+ "id": "scaffold-monorepo",
82
+ "agent": "developer",
83
+ "prompt": "Run `npx @monkilabs/backbone my-app` interactively. Select: nx · nextjs · supabase · sanity · playwright · vercel · uiLib · stripe · sentry. Then `cd my-app && npm install && npx nx build`. Verify clean build before continuing.",
84
+ "files": ["my-app/"],
85
+ "timeout": "30m"
86
+ }
87
+ ```
115
88
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: code-commenting
3
- description: "Guidelines for writing self-explanatory code with minimal comments. Covers when to comment (WHY not WHAT), anti-patterns to avoid, annotation tags, and public API documentation. Use when writing or reviewing code comments, docstrings, TODO/FIXME tags, code readability, or inline comments."
3
+ description: "Guidelines for writing self-explanatory code with minimal comments. Covers when to comment (WHY not WHAT), anti-patterns to avoid, annotation tags, public API documentation. Use when writing or reviewing code comments, docstrings, TODO/FIXME tags, code readability, or inline comments."
4
4
  ---
5
5
 
6
6
  # Code Commenting
@@ -78,6 +78,6 @@ function calculateCompoundInterest(principal, rate, time, n = 1) { ... }
78
78
  ## Checklist
79
79
 
80
80
  - [ ] Explains WHY, not WHAT
81
- - [ ] Still accurate after the change
81
+ - [ ] Still accurate after change
82
82
  - [ ] Adds genuine value
83
- - [ ] Placed above the code it describes
83
+ - [ ] Placed above code it describes
@@ -1,8 +1,8 @@
1
1
  > Parent: [SKILL.md](./SKILL.md)
2
2
 
3
- Context Map REFERENCE: full markdown template, Team Lead integration snippet, and partition examples.
3
+ Context Map REFERENCE: full markdown template, Team Lead integration snippet, partition examples.
4
4
 
5
- Use this file for the verbose context-map template referenced from `SKILL.md`.
5
+ Use this file for verbose context-map template referenced from `SKILL.md`.
6
6
  ## Context Map Template
7
7
 
8
8
  ## Context Map: [Task Name]
@@ -1,11 +1,11 @@
1
1
  ---
2
2
  name: context-map
3
- description: "Maps file dependencies, flags shared imports, and groups files for safe parallel editing before code changes. Use when planning a refactoring, analyzing change impact, or understanding which files a modification will affect."
3
+ description: "Maps file dependencies, flags shared imports, groups files for safe parallel editing before code changes. Use when planning a refactoring, analyzing change impact, or understanding which files a modification will affect."
4
4
  ---
5
5
 
6
6
  # Skill: Context Map
7
7
 
8
- Generate a **file impact map** before code changes to identify affected files, relationships, and cascades — improving agent file partitions for parallel work.
8
+ Generate **file impact map** before code changes to identify affected files, relationships, cascades — improves agent file partitions for parallel work.
9
9
 
10
10
  ## When to Use
11
11
 
@@ -19,7 +19,7 @@ Generate a **file impact map** before code changes to identify affected files, r
19
19
  ## Steps
20
20
 
21
21
  ### 1 — Entry Points
22
- Identify files that MUST change from the task description.
22
+ Identify files that MUST change from task description.
23
23
 
24
24
  ### 2 — Trace Outward (dependents)
25
25
  Find consumers of entry-point exports:
@@ -38,7 +38,7 @@ grep_search("from.*config", includePattern="src/places/**") # config deps
38
38
 
39
39
  ### 4 — Build the Map
40
40
 
41
- Produce a compact Context Map for the Team Lead and downstream agents. Example minimal map (inline):
41
+ Produce compact Context Map for Team Lead, downstream agents. Example minimal map (inline):
42
42
 
43
43
  ```markdown
44
44
  Context Map — Feature: Add priceRange
@@ -59,7 +59,7 @@ Context Map — Feature: Add priceRange
59
59
  - src/components/Account/**
60
60
  ```
61
61
 
62
- Validation checkpoint: run `grep_search` and `vscode_listCodeUsages` results into the map and confirm all listed files open without errors (CI: `pnpm typecheck`). For full template and Team Lead integration snippets see REFERENCE.md in this directory.
62
+ Validation checkpoint: run `grep_search`, `vscode_listCodeUsages` results into map; confirm all listed files open without errors (CI: `pnpm typecheck`). For full template, Team Lead integration snippets see REFERENCE.md in this directory.
63
63
 
64
64
  ## Anti-Patterns
65
65
 
@@ -1,11 +1,11 @@
1
1
  ---
2
2
  name: data-engineering
3
- description: "Transforms, validates, and loads data in ETL pipelines. Use when building scrapers, validating NDJSON feeds, or importing data into CMS/DB targets."
3
+ description: "Transforms, validates, loads data in ETL pipelines. Use when building scrapers, validating NDJSON feeds, or importing data into CMS/DB targets."
4
4
  ---
5
5
 
6
6
  # Data Engineering
7
7
 
8
- Generic pipeline patterns. For project-specific sources and full schema references see [REFERENCE.md](./REFERENCE.md).
8
+ Generic pipeline patterns. For project-specific sources, full schema references see [REFERENCE.md](./REFERENCE.md).
9
9
 
10
10
  ## Scraper Architecture
11
11
 
@@ -26,17 +26,17 @@ One record per line. Schema:
26
26
 
27
27
  ## Recommended Workflow (numbered, with validation)
28
28
 
29
- 1. Scrape: run scraper in `--dry-run` to collect a sample (50–200 records).
30
- - Checkpoint: sample contains expected fields and geo data.
31
- - Recovery: fix extractor selectors, re-run sample.
29
+ 1. Scrape: run scraper in `--dry-run` to collect sample (50–200 records).
30
+ - Checkpoint: sample contains expected fields, geo data.
31
+ - Recovery: fix extractor selectors; re-run sample.
32
32
  2. Validate NDJSON: run line-by-line JSON parse + schema validator (see `validate-ndjson.js` example).
33
33
  - Checkpoint: 0 parse errors, required fields present.
34
- - Recovery: run `ndjson-filter` to isolate failing records and inspect source HTML.
35
- 3. Dry-run import: import into staging with `createOrReplace` disabled; check counts and duplicates.
36
- - Checkpoint: counts match expectation ±5% and no duplicates inserted.
37
- - Recovery: revert staging and adjust dedupe key.
38
- 4. Backup: snapshot current target (DB export) and store with timestamp.
39
- 5. Import: run import with idempotent keys and monitor logs; on failure revert to backup.
34
+ - Recovery: run `ndjson-filter` to isolate failing records; inspect source HTML.
35
+ 3. Dry-run import: import into staging with `createOrReplace` disabled; check counts, duplicates.
36
+ - Checkpoint: counts match expectation ±5%; no duplicates inserted.
37
+ - Recovery: revert staging; adjust dedupe key.
38
+ 4. Backup: snapshot current target (DB export); store with timestamp.
39
+ 5. Import: run import with idempotent keys; monitor logs; on failure revert to backup.
40
40
 
41
41
  ## Quick executable pipeline (copy & adapt)
42
42
 
@@ -59,5 +59,5 @@ if (errors) { console.error(`${errors} errors`); process.exit(2); }
59
59
  console.log('OK');
60
60
  ```
61
61
 
62
- Full scraper and extended validator: see [REFERENCE.md](./REFERENCE.md).
62
+ Full scraper, extended validator: see [REFERENCE.md](./REFERENCE.md).
63
63