opencastle 0.19.0 → 0.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -9
- package/dist/cli/adapters/claude-code.d.ts +2 -2
- package/dist/cli/adapters/claude-code.d.ts.map +1 -1
- package/dist/cli/adapters/claude-code.js +2 -2
- package/dist/cli/adapters/claude-code.js.map +1 -1
- package/dist/cli/adapters/cursor.d.ts +2 -1
- package/dist/cli/adapters/cursor.d.ts.map +1 -1
- package/dist/cli/adapters/cursor.js +13 -12
- package/dist/cli/adapters/cursor.js.map +1 -1
- package/dist/cli/adapters/opencode.d.ts +2 -2
- package/dist/cli/adapters/opencode.d.ts.map +1 -1
- package/dist/cli/adapters/opencode.js +2 -2
- package/dist/cli/adapters/opencode.js.map +1 -1
- package/dist/cli/adapters/single-file-base.d.ts.map +1 -1
- package/dist/cli/adapters/single-file-base.js +19 -13
- package/dist/cli/adapters/single-file-base.js.map +1 -1
- package/dist/cli/adapters/vscode.d.ts +3 -2
- package/dist/cli/adapters/vscode.d.ts.map +1 -1
- package/dist/cli/adapters/vscode.js +14 -16
- package/dist/cli/adapters/vscode.js.map +1 -1
- package/dist/cli/dashboard.js +1 -1
- package/dist/cli/dashboard.js.map +1 -1
- package/dist/cli/doctor.d.ts +12 -1
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +90 -100
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/doctor.test.d.ts +2 -0
- package/dist/cli/doctor.test.d.ts.map +1 -0
- package/dist/cli/doctor.test.js +213 -0
- package/dist/cli/doctor.test.js.map +1 -0
- package/dist/cli/eject.js +2 -2
- package/dist/cli/eject.js.map +1 -1
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +13 -4
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/init.test.js +27 -15
- package/dist/cli/init.test.js.map +1 -1
- package/dist/cli/lesson.js +5 -5
- package/dist/cli/lesson.js.map +1 -1
- package/dist/cli/log.d.ts +1 -1
- package/dist/cli/log.d.ts.map +1 -1
- package/dist/cli/log.js +5 -5
- package/dist/cli/log.js.map +1 -1
- package/dist/cli/manifest.d.ts +4 -1
- package/dist/cli/manifest.d.ts.map +1 -1
- package/dist/cli/manifest.js +16 -5
- package/dist/cli/manifest.js.map +1 -1
- package/dist/cli/stack-config.d.ts.map +1 -1
- package/dist/cli/stack-config.js +2 -14
- package/dist/cli/stack-config.js.map +1 -1
- package/dist/cli/types.d.ts +14 -0
- package/dist/cli/types.d.ts.map +1 -1
- package/dist/cli/types.js.map +1 -1
- package/dist/cli/update.d.ts.map +1 -1
- package/dist/cli/update.js +87 -34
- package/dist/cli/update.js.map +1 -1
- package/package.json +1 -1
- package/src/cli/adapters/claude-code.ts +2 -2
- package/src/cli/adapters/cursor.ts +14 -13
- package/src/cli/adapters/opencode.ts +2 -2
- package/src/cli/adapters/single-file-base.ts +19 -14
- package/src/cli/adapters/vscode.ts +16 -17
- package/src/cli/dashboard.ts +1 -1
- package/src/cli/doctor.test.ts +245 -0
- package/src/cli/doctor.ts +101 -104
- package/src/cli/eject.ts +2 -2
- package/src/cli/init.test.ts +28 -15
- package/src/cli/init.ts +14 -4
- package/src/cli/lesson.ts +5 -5
- package/src/cli/log.ts +5 -5
- package/src/cli/manifest.ts +18 -5
- package/src/cli/stack-config.ts +2 -14
- package/src/cli/types.ts +15 -0
- package/src/cli/update.ts +95 -36
- package/src/dashboard/node_modules/.vite/deps/_metadata.json +6 -6
- package/src/dashboard/scripts/generate-seed-data.ts +4 -4
- package/src/dashboard/seed-data/delegations.ndjson +15 -15
- package/src/dashboard/seed-data/events.ndjson +15 -15
- package/src/orchestrator/agent-workflows/README.md +1 -1
- package/src/orchestrator/agent-workflows/bug-fix.md +4 -4
- package/src/orchestrator/agent-workflows/data-pipeline.md +1 -1
- package/src/orchestrator/agent-workflows/database-migration.md +4 -4
- package/src/orchestrator/agent-workflows/feature-implementation.md +3 -3
- package/src/orchestrator/agent-workflows/performance-optimization.md +1 -1
- package/src/orchestrator/agent-workflows/refactoring.md +1 -1
- package/src/orchestrator/agent-workflows/schema-changes.md +2 -2
- package/src/orchestrator/agent-workflows/security-audit.md +4 -4
- package/src/orchestrator/agent-workflows/shared-delivery-phase.md +1 -1
- package/src/orchestrator/agents/api-designer.agent.md +2 -2
- package/src/orchestrator/agents/architect.agent.md +2 -2
- package/src/orchestrator/agents/content-engineer.agent.md +2 -2
- package/src/orchestrator/agents/copywriter.agent.md +2 -2
- package/src/orchestrator/agents/data-expert.agent.md +2 -2
- package/src/orchestrator/agents/database-engineer.agent.md +2 -2
- package/src/orchestrator/agents/developer.agent.md +2 -2
- package/src/orchestrator/agents/devops-expert.agent.md +2 -2
- package/src/orchestrator/agents/documentation-writer.agent.md +2 -2
- package/src/orchestrator/agents/performance-expert.agent.md +2 -2
- package/src/orchestrator/agents/release-manager.agent.md +2 -2
- package/src/orchestrator/agents/researcher.agent.md +4 -4
- package/src/orchestrator/agents/reviewer.agent.md +1 -1
- package/src/orchestrator/agents/security-expert.agent.md +2 -2
- package/src/orchestrator/agents/seo-specialist.agent.md +2 -2
- package/src/orchestrator/agents/session-guard.agent.md +10 -10
- package/src/orchestrator/agents/team-lead.agent.md +8 -3
- package/src/orchestrator/agents/testing-expert.agent.md +2 -2
- package/src/orchestrator/agents/ui-ux-expert.agent.md +2 -2
- package/src/orchestrator/copilot-instructions.md +1 -1
- package/src/orchestrator/customizations/AGENT-PERFORMANCE.md +11 -11
- package/src/orchestrator/customizations/DISPUTES.md +2 -2
- package/src/orchestrator/customizations/README.md +1 -1
- package/src/orchestrator/customizations/logs/README.md +1 -1
- package/src/orchestrator/customizations/project/docs-structure.md +6 -6
- package/src/orchestrator/instructions/ai-optimization.instructions.md +1 -1
- package/src/orchestrator/instructions/general.instructions.md +6 -6
- package/src/orchestrator/plugins/astro/SKILL.md +1 -1
- package/src/orchestrator/plugins/chrome-devtools/SKILL.md +4 -4
- package/src/orchestrator/plugins/contentful/SKILL.md +2 -2
- package/src/orchestrator/plugins/convex/SKILL.md +2 -2
- package/src/orchestrator/plugins/cypress/SKILL.md +2 -2
- package/src/orchestrator/plugins/figma/SKILL.md +1 -1
- package/src/orchestrator/plugins/jira/SKILL.md +3 -3
- package/src/orchestrator/plugins/linear/SKILL.md +2 -2
- package/src/orchestrator/plugins/netlify/SKILL.md +2 -2
- package/src/orchestrator/plugins/nextjs/SKILL.md +1 -1
- package/src/orchestrator/plugins/nx/SKILL.md +1 -1
- package/src/orchestrator/plugins/playwright/SKILL.md +2 -2
- package/src/orchestrator/plugins/prisma/SKILL.md +2 -2
- package/src/orchestrator/plugins/resend/SKILL.md +1 -1
- package/src/orchestrator/plugins/sanity/SKILL.md +2 -2
- package/src/orchestrator/plugins/slack/SKILL.md +2 -2
- package/src/orchestrator/plugins/strapi/SKILL.md +2 -2
- package/src/orchestrator/plugins/supabase/SKILL.md +2 -2
- package/src/orchestrator/plugins/teams/SKILL.md +1 -1
- package/src/orchestrator/plugins/turborepo/SKILL.md +1 -1
- package/src/orchestrator/plugins/vercel/SKILL.md +2 -2
- package/src/orchestrator/plugins/vitest/SKILL.md +2 -2
- package/src/orchestrator/prompts/bootstrap-customizations.prompt.md +8 -8
- package/src/orchestrator/prompts/brainstorm.prompt.md +3 -3
- package/src/orchestrator/prompts/bug-fix.prompt.md +4 -4
- package/src/orchestrator/prompts/create-skill.prompt.md +3 -3
- package/src/orchestrator/prompts/generate-convoy.prompt.md +1 -1
- package/src/orchestrator/prompts/implement-feature.prompt.md +11 -11
- package/src/orchestrator/prompts/quick-refinement.prompt.md +3 -3
- package/src/orchestrator/prompts/resolve-pr-comments.prompt.md +1 -1
- package/src/orchestrator/skills/accessibility-standards/SKILL.md +1 -1
- package/src/orchestrator/skills/agent-hooks/SKILL.md +9 -9
- package/src/orchestrator/skills/agent-memory/SKILL.md +5 -5
- package/src/orchestrator/skills/api-patterns/SKILL.md +2 -2
- package/src/orchestrator/skills/code-commenting/SKILL.md +1 -1
- package/src/orchestrator/skills/context-map/SKILL.md +4 -4
- package/src/orchestrator/skills/data-engineering/SKILL.md +2 -2
- package/src/orchestrator/skills/decomposition/SKILL.md +1 -1
- package/src/orchestrator/skills/deployment-infrastructure/SKILL.md +2 -2
- package/src/orchestrator/skills/documentation-standards/SKILL.md +2 -2
- package/src/orchestrator/skills/fast-review/SKILL.md +2 -2
- package/src/orchestrator/skills/frontend-design/SKILL.md +1 -1
- package/src/orchestrator/skills/git-workflow/SKILL.md +2 -2
- package/src/orchestrator/skills/memory-merger/SKILL.md +3 -3
- package/src/orchestrator/skills/observability-logging/SKILL.md +10 -10
- package/src/orchestrator/skills/orchestration-protocols/SKILL.md +1 -1
- package/src/orchestrator/skills/panel-majority-vote/SKILL.md +2 -2
- package/src/orchestrator/skills/panel-majority-vote/panel-report.template.md +1 -1
- package/src/orchestrator/skills/performance-optimization/SKILL.md +1 -1
- package/src/orchestrator/skills/react-development/SKILL.md +1 -1
- package/src/orchestrator/skills/security-hardening/SKILL.md +1 -1
- package/src/orchestrator/skills/self-improvement/SKILL.md +2 -2
- package/src/orchestrator/skills/seo-patterns/SKILL.md +1 -1
- package/src/orchestrator/skills/session-checkpoints/SKILL.md +5 -5
- package/src/orchestrator/skills/team-lead-reference/SKILL.md +6 -6
- package/src/orchestrator/skills/testing-workflow/SKILL.md +3 -3
- package/src/orchestrator/skills/validation-gates/SKILL.md +1 -1
|
@@ -6,7 +6,7 @@ tools: ['search/changes', 'search/codebase', 'edit/editFiles', 'web/fetch', 'rea
|
|
|
6
6
|
user-invocable: false
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
9
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
10
10
|
|
|
11
11
|
# Release Manager
|
|
12
12
|
|
|
@@ -21,7 +21,7 @@ You are a release manager responsible for pre-release verification, changelog ge
|
|
|
21
21
|
|
|
22
22
|
## Skills
|
|
23
23
|
|
|
24
|
-
Resolve all skills (slots and direct) via [skill-matrix.json](.
|
|
24
|
+
Resolve all skills (slots and direct) via [skill-matrix.json](.opencastle/agents/skill-matrix.json).
|
|
25
25
|
|
|
26
26
|
## Release Process
|
|
27
27
|
|
|
@@ -6,7 +6,7 @@ tools: ['search/codebase', 'search/textSearch', 'search/fileSearch', 'search/usa
|
|
|
6
6
|
user-invocable: false
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
9
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
10
10
|
|
|
11
11
|
# Researcher
|
|
12
12
|
|
|
@@ -14,7 +14,7 @@ You are a codebase exploration specialist. Your job is to **find information, ma
|
|
|
14
14
|
|
|
15
15
|
## Skills
|
|
16
16
|
|
|
17
|
-
Resolve all skills (slots and direct) via [skill-matrix.json](.
|
|
17
|
+
Resolve all skills (slots and direct) via [skill-matrix.json](.opencastle/agents/skill-matrix.json).
|
|
18
18
|
|
|
19
19
|
## Critical Rules
|
|
20
20
|
|
|
@@ -69,8 +69,8 @@ Given a feature request, answer:
|
|
|
69
69
|
Given a bug report, answer:
|
|
70
70
|
- Where does the relevant code live? (entry points → data flow)
|
|
71
71
|
- What does the git history show? (recent changes that might have caused it)
|
|
72
|
-
- Are there related known issues in `.
|
|
73
|
-
- Are there related lessons in `.
|
|
72
|
+
- Are there related known issues in `.opencastle/KNOWN-ISSUES.md`?
|
|
73
|
+
- Are there related lessons in `.opencastle/LESSONS-LEARNED.md`?
|
|
74
74
|
- What test coverage exists for the affected area?
|
|
75
75
|
|
|
76
76
|
### 3. Pattern Audit
|
|
@@ -6,7 +6,7 @@ user-invocable: false
|
|
|
6
6
|
tools: [read/readFile, search/codebase, search/fileSearch, search/textSearch, search/listDirectory, read/problems]
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
9
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
10
10
|
|
|
11
11
|
# Reviewer
|
|
12
12
|
|
|
@@ -6,7 +6,7 @@ tools: ["search/changes", "search/codebase", "edit/editFiles", "web/fetch", "vsc
|
|
|
6
6
|
user-invocable: false
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
9
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
10
10
|
|
|
11
11
|
# Security Expert
|
|
12
12
|
|
|
@@ -24,7 +24,7 @@ You are a security expert specializing in authentication, authorization, securit
|
|
|
24
24
|
|
|
25
25
|
## Skills
|
|
26
26
|
|
|
27
|
-
Resolve all skills (slots and direct) via [skill-matrix.json](.
|
|
27
|
+
Resolve all skills (slots and direct) via [skill-matrix.json](.opencastle/agents/skill-matrix.json).
|
|
28
28
|
|
|
29
29
|
## Guidelines
|
|
30
30
|
|
|
@@ -6,7 +6,7 @@ tools: ['search/changes', 'search/codebase', 'edit/editFiles', 'web/fetch', 'rea
|
|
|
6
6
|
user-invocable: false
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
9
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
10
10
|
|
|
11
11
|
# SEO Specialist
|
|
12
12
|
|
|
@@ -21,7 +21,7 @@ You are an SEO specialist focused on technical SEO implementation — meta tags,
|
|
|
21
21
|
|
|
22
22
|
## Skills
|
|
23
23
|
|
|
24
|
-
Resolve all skills (slots and direct) via [skill-matrix.json](.
|
|
24
|
+
Resolve all skills (slots and direct) via [skill-matrix.json](.opencastle/agents/skill-matrix.json).
|
|
25
25
|
|
|
26
26
|
## Guidelines
|
|
27
27
|
|
|
@@ -30,9 +30,9 @@ Run ALL checks. Report each as ✅ or ❌.
|
|
|
30
30
|
|
|
31
31
|
### 1. Delegation Records
|
|
32
32
|
|
|
33
|
-
For each delegation in the session summary, verify a matching record exists in `.
|
|
33
|
+
For each delegation in the session summary, verify a matching record exists in `.opencastle/logs/events.ndjson` (type=delegation).
|
|
34
34
|
|
|
35
|
-
**How:** `grep '"type":"delegation"' .
|
|
35
|
+
**How:** `grep '"type":"delegation"' .opencastle/logs/events.ndjson | tail -20` and match agent + task against the summary.
|
|
36
36
|
|
|
37
37
|
**Fix:** Load the **observability-logging** skill and run the delegation record command (includes a verify step).
|
|
38
38
|
|
|
@@ -40,29 +40,29 @@ Also verify each delegation record includes `session_id` (branch name). Records
|
|
|
40
40
|
|
|
41
41
|
### 2. Session Record
|
|
42
42
|
|
|
43
|
-
Verify a session record exists in `.
|
|
43
|
+
Verify a session record exists in `.opencastle/logs/events.ndjson` (type=session) for the current task.
|
|
44
44
|
|
|
45
|
-
**How:** `grep '"type":"session"' .
|
|
45
|
+
**How:** `grep '"type":"session"' .opencastle/logs/events.ndjson | tail -5` and match task description.
|
|
46
46
|
|
|
47
47
|
**Fix:** Load the **observability-logging** skill and run the session record command (includes a verify step).
|
|
48
48
|
|
|
49
49
|
### 3. Lessons Captured
|
|
50
50
|
|
|
51
|
-
If the session summary indicates retries occurred, verify new entries exist in `.
|
|
51
|
+
If the session summary indicates retries occurred, verify new entries exist in `.opencastle/LESSONS-LEARNED.md`.
|
|
52
52
|
|
|
53
|
-
**How:** `grep -c "^### LES-" .
|
|
53
|
+
**How:** `grep -c "^### LES-" .opencastle/LESSONS-LEARNED.md` — compare count with expected.
|
|
54
54
|
|
|
55
55
|
### 4. Discovered Issues Tracked
|
|
56
56
|
|
|
57
57
|
If the session summary lists discovered issues, verify they appear in:
|
|
58
|
-
- `.
|
|
58
|
+
- `.opencastle/KNOWN-ISSUES.md`, OR
|
|
59
59
|
- A task tracker ticket referenced in the summary
|
|
60
60
|
|
|
61
61
|
### 5. Review & Panel Records
|
|
62
62
|
|
|
63
|
-
If the session summary mentions fast reviews or panel reviews, verify matching records exist in `.
|
|
63
|
+
If the session summary mentions fast reviews or panel reviews, verify matching records exist in `.opencastle/logs/events.ndjson` (type=review and/or type=panel).
|
|
64
64
|
|
|
65
|
-
**How:** `grep '"type":"review"' .
|
|
65
|
+
**How:** `grep '"type":"review"' .opencastle/logs/events.ndjson | tail -10` and/or `grep '"type":"panel"' .opencastle/logs/events.ndjson | tail -5`.
|
|
66
66
|
|
|
67
67
|
**Fix:** Load the **observability-logging** skill and run the review/panel record command as applicable (includes a verify step).
|
|
68
68
|
|
|
@@ -82,7 +82,7 @@ If the session involved running a convoy (check for `.opencastle/convoy.db` or r
|
|
|
82
82
|
|
|
83
83
|
**Verify convoy tasks logged:**
|
|
84
84
|
- Each completed convoy task should have a corresponding event in the NDJSON log
|
|
85
|
-
- Check: `grep '"type":"session"' .
|
|
85
|
+
- Check: `grep '"type":"session"' .opencastle/logs/events.ndjson | tail -10`
|
|
86
86
|
|
|
87
87
|
**Fix:** If convoy export is missing, the engine should have auto-exported. Manual export: run `opencastle run --status` to verify the convoy completed.
|
|
88
88
|
|
|
@@ -28,7 +28,7 @@ handoffs:
|
|
|
28
28
|
prompt: 'Use the resolve-pr-comments prompt to resolve the GitHub PR review comments on this PR:'
|
|
29
29
|
---
|
|
30
30
|
|
|
31
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
31
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
32
32
|
|
|
33
33
|
# Team Lead (OpenCastle)
|
|
34
34
|
|
|
@@ -55,6 +55,7 @@ Load on-demand skills **only when their phase is reached** — not upfront.
|
|
|
55
55
|
| **agent-hooks** | Step 3 — delegation prompt templates for specialist agents |
|
|
56
56
|
| **task-management** | Step 2 — tracker conventions, issue naming, labels, priorities |
|
|
57
57
|
| **decomposition** | Step 2–3 — dependency resolution, delegation spec templates, prompt examples |
|
|
58
|
+
| **agent-routing** | Step 2 — task-to-agent routing rules, multi-agent decomposition patterns, anti-patterns |
|
|
58
59
|
| **orchestration-protocols** | Step 4+ — steering, background agents, parallel research, health-checks, escalation |
|
|
59
60
|
| **context-map** | Step 2, if 5+ files affected — structured file impact maps |
|
|
60
61
|
| **validation-gates** | Step 4 — deterministic checks, browser testing, regression |
|
|
@@ -89,6 +90,10 @@ Delegate via `runSubagent` (inline) or background sessions.
|
|
|
89
90
|
|
|
90
91
|
> **⚠️ Always reference agents by their exact `name` when delegating.** Write "Use the Developer agent to..." or "Use the Researcher agent to..." in your delegation prompt. This ensures VS Code routes the sub-agent to the correct custom agent with its assigned model and tools. If you don't name the agent, the sub-agent inherits the Team Lead's Premium model — wasting expensive requests on Economy/Standard tasks.
|
|
91
92
|
|
|
93
|
+
## Task-to-Agent Routing
|
|
94
|
+
|
|
95
|
+
> **⛔ Developer is the LAST resort, not the default.** Load the **agent-routing** skill at Step 2 and scan its routing table before assigning any subtask. Only use Developer when no specialist matches. Always decompose multi-domain tasks across agent boundaries (e.g., code + copy = Developer + Copywriter).
|
|
96
|
+
|
|
92
97
|
## Delegation
|
|
93
98
|
|
|
94
99
|
### Sub-Agents (Inline) — `runSubagent`
|
|
@@ -104,7 +109,7 @@ When calling `runSubagent`, always specify which custom agent to use by name: *"
|
|
|
104
109
|
|
|
105
110
|
**After each sub-agent returns**, log the delegation record before doing anything else (before review, before verification). This is a **⛔ hard gate** — do NOT proceed to review or any other action until the delegation is logged. Use the **observability-logging** skill's delegation record command (`--mechanism sub-agent`).
|
|
106
111
|
|
|
107
|
-
> **`model` and `tier` must come from the agent registry** — not the Team Lead's own model. Look up the agent in [agent-registry.md](
|
|
112
|
+
> **`model` and `tier` must come from the agent registry** — not the Team Lead's own model. Look up the agent in [agent-registry.md](../.opencastle/agents/agent-registry.md) and use their assigned model and tier. For example, delegating to Developer → `"model":"claude-sonnet-4-6","tier":"quality"`, not the Team Lead's `claude-opus-4-6`.
|
|
108
113
|
|
|
109
114
|
### Background Agents — Delegate Session
|
|
110
115
|
|
|
@@ -259,7 +264,7 @@ See [shared-delivery-phase.md](../agent-workflows/shared-delivery-phase.md) for
|
|
|
259
264
|
|
|
260
265
|
1. Verify all issues Done or Cancelled
|
|
261
266
|
2. Final build/lint/test across affected projects
|
|
262
|
-
3. Update roadmap (`.
|
|
267
|
+
3. Update roadmap (`.opencastle/project/roadmap.md`)
|
|
263
268
|
4. Commit to feature branch with issue IDs — Team Lead creates the branch, sub-agents work on it directly, background agents use isolated worktrees
|
|
264
269
|
5. Push and open PR (`GH_PAGER=cat gh pr create ...`). **Do NOT merge.**
|
|
265
270
|
6. Link PR in tracker issue
|
|
@@ -6,7 +6,7 @@ tools: ['search/changes', 'search/codebase', 'edit/editFiles', 'web/fetch', 'rea
|
|
|
6
6
|
user-invocable: false
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
9
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
10
10
|
|
|
11
11
|
# Testing Expert
|
|
12
12
|
|
|
@@ -14,7 +14,7 @@ You are an expert tester who validates UI changes using browser automation and w
|
|
|
14
14
|
|
|
15
15
|
## Skills
|
|
16
16
|
|
|
17
|
-
Resolve all skills (slots and direct) via [skill-matrix.json](.
|
|
17
|
+
Resolve all skills (slots and direct) via [skill-matrix.json](.opencastle/agents/skill-matrix.json).
|
|
18
18
|
|
|
19
19
|
## Context Management
|
|
20
20
|
|
|
@@ -6,7 +6,7 @@ tools: ['search/changes', 'search/codebase', 'edit/editFiles', 'web/fetch', 'vsc
|
|
|
6
6
|
user-invocable: false
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
9
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
10
10
|
|
|
11
11
|
# UI/UX Expert
|
|
12
12
|
|
|
@@ -20,7 +20,7 @@ You are an expert UI/UX developer specializing in building accessible, visually
|
|
|
20
20
|
|
|
21
21
|
## Skills
|
|
22
22
|
|
|
23
|
-
Resolve all skills (slots and direct) via [skill-matrix.json](.
|
|
23
|
+
Resolve all skills (slots and direct) via [skill-matrix.json](.opencastle/agents/skill-matrix.json).
|
|
24
24
|
|
|
25
25
|
## Guidelines
|
|
26
26
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
1
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
2
2
|
|
|
3
3
|
# Copilot Instructions
|
|
4
4
|
|
|
@@ -6,44 +6,44 @@ Tracks agent success rates across panel reviews and delegated tasks to inform mo
|
|
|
6
6
|
## Data Sources
|
|
7
7
|
|
|
8
8
|
Performance data is collected automatically via NDJSON session logs:
|
|
9
|
-
- **All events:** `.
|
|
9
|
+
- **All events:** `.opencastle/logs/events.ndjson` — unified log for all event types (sessions, delegations, reviews, panels, disputes), appended via `opencastle log`
|
|
10
10
|
- **Dashboard:** Run `npx opencastle dashboard` to visualize agent performance
|
|
11
11
|
|
|
12
12
|
## Quick Queries
|
|
13
13
|
|
|
14
14
|
```bash
|
|
15
15
|
# Sessions per agent
|
|
16
|
-
jq -r 'select(.type == "session") | .agent' .
|
|
16
|
+
jq -r 'select(.type == "session") | .agent' .opencastle/logs/events.ndjson | sort | uniq -c | sort -rn
|
|
17
17
|
|
|
18
18
|
# Success rate by agent
|
|
19
|
-
jq -r 'select(.type == "session") | [.agent, .outcome] | @tsv' .
|
|
19
|
+
jq -r 'select(.type == "session") | [.agent, .outcome] | @tsv' .opencastle/logs/events.ndjson | sort | uniq -c
|
|
20
20
|
|
|
21
21
|
# Delegation tier distribution
|
|
22
|
-
jq -r 'select(.type == "delegation") | .tier' .
|
|
22
|
+
jq -r 'select(.type == "delegation") | .tier' .opencastle/logs/events.ndjson | sort | uniq -c
|
|
23
23
|
|
|
24
24
|
# Failed delegations
|
|
25
|
-
jq 'select(.type == "delegation" and .outcome == "failed")' .
|
|
25
|
+
jq 'select(.type == "delegation" and .outcome == "failed")' .opencastle/logs/events.ndjson
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
## Panel Review Performance
|
|
29
29
|
|
|
30
|
-
Panel review data is collected automatically in `.
|
|
30
|
+
Panel review data is collected automatically in `.opencastle/logs/events.ndjson` with `type: "panel"` (appended by the panel runner after each review — see step 7 in the panel majority vote skill).
|
|
31
31
|
|
|
32
32
|
```bash
|
|
33
33
|
# Total panel reviews
|
|
34
|
-
jq 'select(.type == "panel")' .
|
|
34
|
+
jq 'select(.type == "panel")' .opencastle/logs/events.ndjson | wc -l
|
|
35
35
|
|
|
36
36
|
# Pass vs block rate
|
|
37
|
-
jq -r 'select(.type == "panel") | .verdict' .
|
|
37
|
+
jq -r 'select(.type == "panel") | .verdict' .opencastle/logs/events.ndjson | sort | uniq -c
|
|
38
38
|
|
|
39
39
|
# Reviews by panel key
|
|
40
|
-
jq -r 'select(.type == "panel") | .panel_key' .
|
|
40
|
+
jq -r 'select(.type == "panel") | .panel_key' .opencastle/logs/events.ndjson | sort | uniq -c | sort -rn
|
|
41
41
|
|
|
42
42
|
# Reviews that required retries (attempt > 1)
|
|
43
|
-
jq 'select(.type == "panel" and .attempt > 1)' .
|
|
43
|
+
jq 'select(.type == "panel" and .attempt > 1)' .opencastle/logs/events.ndjson
|
|
44
44
|
|
|
45
45
|
# Average SHOULD-FIX items per review
|
|
46
|
-
jq -s '[.[] | select(.type == "panel")] | if length > 0 then (map(.should_fix) | add) / length else 0 end' .
|
|
46
|
+
jq -s '[.[] | select(.type == "panel")] | if length > 0 then (map(.should_fix) | add) / length else 0 end' .opencastle/logs/events.ndjson
|
|
47
47
|
```
|
|
48
48
|
|
|
49
49
|
## Usage
|
|
@@ -85,8 +85,8 @@ Which option the Team Lead recommends and why. Include specific next steps:
|
|
|
85
85
|
#### Artifacts
|
|
86
86
|
|
|
87
87
|
Links to evidence for human review:
|
|
88
|
-
- Panel report: `.
|
|
89
|
-
- Review log entries: `.
|
|
88
|
+
- Panel report: `.opencastle/logs/panel/[panel-key].md`
|
|
89
|
+
- Review log entries: `.opencastle/logs/events.ndjson` (filter by `type: "review"` and issue)
|
|
90
90
|
- Changed files: [list of files in the last attempt]
|
|
91
91
|
- DLQ entry (if any): `DLQ-XXX`
|
|
92
92
|
```
|
|
@@ -6,7 +6,7 @@ Project-specific configuration for the AI agent framework. Everything in this fo
|
|
|
6
6
|
|
|
7
7
|
Skills and instructions contain generic methodology (how to write migrations, how to test in a browser, how to run a panel review). This folder holds the concrete values those skills operate on — project IDs, table schemas, team UUIDs, endpoint inventories, and similar configuration that changes per project.
|
|
8
8
|
|
|
9
|
-
Skills reference these files with relative links like
|
|
9
|
+
Skills reference these files with relative links like `../../.opencastle/stack/api-config.md`, so agents automatically load project context when they load a skill.
|
|
10
10
|
|
|
11
11
|
## Contents
|
|
12
12
|
|
|
@@ -175,7 +175,7 @@ Run `opencastle log --help` for full options.
|
|
|
175
175
|
"attempt": 1,
|
|
176
176
|
"tracker_issue": "PRJ-57",
|
|
177
177
|
"artifacts_count": 14,
|
|
178
|
-
"report_path": ".
|
|
178
|
+
"report_path": ".opencastle/logs/panel/instruction-refactoring.md"
|
|
179
179
|
}
|
|
180
180
|
```
|
|
181
181
|
|
|
@@ -4,19 +4,19 @@
|
|
|
4
4
|
|
|
5
5
|
Project-specific documentation layout referenced by the `documentation-standards` skill.
|
|
6
6
|
|
|
7
|
-
Documentation files live in the `.
|
|
7
|
+
Documentation files live in the `.opencastle/` directory alongside other project-specific configuration. Key documentation files:
|
|
8
8
|
|
|
9
|
-
- `.
|
|
10
|
-
- `.
|
|
11
|
-
- `.
|
|
12
|
-
- `.
|
|
9
|
+
- `.opencastle/KNOWN-ISSUES.md` — Tracked issues, limitations, and accepted risks
|
|
10
|
+
- `.opencastle/project/roadmap.md` — Project roadmap and feature status
|
|
11
|
+
- `.opencastle/project/decisions.md` — Architecture Decision Records
|
|
12
|
+
- `.opencastle/LESSONS-LEARNED.md` — Agent knowledge base of retries and workarounds
|
|
13
13
|
|
|
14
14
|
## Directory Tree
|
|
15
15
|
|
|
16
16
|
<!-- Map your project's documentation directory here if one exists -->
|
|
17
17
|
|
|
18
18
|
```
|
|
19
|
-
.
|
|
19
|
+
.opencastle/
|
|
20
20
|
├── KNOWN-ISSUES.md — Tracked issues and limitations
|
|
21
21
|
├── LESSONS-LEARNED.md — Agent knowledge base
|
|
22
22
|
└── project/
|
|
@@ -3,7 +3,7 @@ description: 'AI assistant optimization patterns for efficient context usage and
|
|
|
3
3
|
applyTo: '**'
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
6
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
7
7
|
|
|
8
8
|
# AI Optimization
|
|
9
9
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
applyTo: '**'
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
5
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
6
6
|
|
|
7
7
|
# Coding Standards
|
|
8
8
|
|
|
@@ -13,7 +13,7 @@ applyTo: '**'
|
|
|
13
13
|
3. **Leave code better than you found it** — fix adjacent issues when the cost is low.
|
|
14
14
|
4. **Fail visibly** — surface errors clearly; never swallow exceptions silently.
|
|
15
15
|
5. **Verify, don't trust** — confirm outcomes with tools (tests, lint, build) rather than assuming success.
|
|
16
|
-
6. **Log every session** — append observability records to `.
|
|
16
|
+
6. **Log every session** — append observability records to `.opencastle/logs/` before yielding to the user. No exceptions. Load the **observability-logging** skill for details.
|
|
17
17
|
|
|
18
18
|
## Instruction Priority Hierarchy
|
|
19
19
|
|
|
@@ -34,7 +34,7 @@ applyTo: '**'
|
|
|
34
34
|
|
|
35
35
|
## Technology Standards
|
|
36
36
|
|
|
37
|
-
Load the corresponding skill for detailed conventions before writing code in that domain. These are **not optional**. See `.
|
|
37
|
+
Load the corresponding skill for detailed conventions before writing code in that domain. These are **not optional**. See `.opencastle/agents/skill-matrix.json` for the full domain-to-skill mapping.
|
|
38
38
|
|
|
39
39
|
| Domain | Skill |
|
|
40
40
|
|--------|-------|
|
|
@@ -90,7 +90,7 @@ See [ai-optimization.instructions.md](ai-optimization.instructions.md) for batch
|
|
|
90
90
|
|
|
91
91
|
## Project Context
|
|
92
92
|
|
|
93
|
-
For project-specific context (apps, libraries, tech stack, ports, URLs), see [project.instructions.md](
|
|
93
|
+
For project-specific context (apps, libraries, tech stack, ports, URLs), see [project.instructions.md](../.opencastle/project.instructions.md).
|
|
94
94
|
|
|
95
95
|
## Git Workflow
|
|
96
96
|
|
|
@@ -108,13 +108,13 @@ When you encounter a bug unrelated to the current task: check if already tracked
|
|
|
108
108
|
> Do NOT respond to the user until you have appended the required log records.
|
|
109
109
|
> A session without log records is a failed session — regardless of code quality.
|
|
110
110
|
|
|
111
|
-
**Every agent MUST log every session** to `.
|
|
111
|
+
**Every agent MUST log every session** to `.opencastle/logs/events.ndjson`. No exceptions. No threshold. No "too small to log." Load the **observability-logging** skill for CLI commands, record schemas, and the full logging checklist.
|
|
112
112
|
|
|
113
113
|
## Self-Improvement Protocol
|
|
114
114
|
|
|
115
115
|
> **⛔ HARD GATE — Lessons are the team's collective memory. Skipping them causes repeated failures.**
|
|
116
116
|
|
|
117
|
-
1. **Before starting work:** Read `.
|
|
117
|
+
1. **Before starting work:** Read `.opencastle/LESSONS-LEARNED.md` — apply relevant lessons proactively. This is NOT optional.
|
|
118
118
|
2. **During execution:** If you retry with a different approach and it works, use the **self-improvement** skill to add a lesson immediately.
|
|
119
119
|
3. **Update source files:** If the lesson reveals a gap in instruction/skill files, update those files too.
|
|
120
120
|
|
|
@@ -3,7 +3,7 @@ name: astro-framework
|
|
|
3
3
|
description: "Astro framework best practices for content-driven sites, islands architecture, routing, integrations, and project structure. Use when creating or modifying Astro pages, layouts, components, or content collections."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
6
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
7
7
|
|
|
8
8
|
# Astro Framework
|
|
9
9
|
|
|
@@ -3,11 +3,11 @@ name: browser-testing
|
|
|
3
3
|
description: "Chrome DevTools MCP automation patterns for validating UI changes in real browsers. Use when performing E2E browser testing, validating visual changes, testing user interactions, or debugging UI issues with Chrome DevTools."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
6
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
7
7
|
|
|
8
8
|
# Browser Testing with Chrome DevTools MCP
|
|
9
9
|
|
|
10
|
-
Generic browser testing methodology using Chrome DevTools MCP. For project-specific test app, selectors, suites, and breakpoint config, see [testing-config.md](
|
|
10
|
+
Generic browser testing methodology using Chrome DevTools MCP. For project-specific test app, selectors, suites, and breakpoint config, see [testing-config.md](../../.opencastle/stack/testing-config.md).
|
|
11
11
|
|
|
12
12
|
## Purpose
|
|
13
13
|
|
|
@@ -21,7 +21,7 @@ After any UI change, validate in a real browser:
|
|
|
21
21
|
|
|
22
22
|
## Pre-Test Build Verification
|
|
23
23
|
|
|
24
|
-
**CRITICAL: Always build before browser testing.** Testing stale code wastes time. See [testing-config.md](
|
|
24
|
+
**CRITICAL: Always build before browser testing.** Testing stale code wastes time. See [testing-config.md](../../.opencastle/stack/testing-config.md) for the specific build and serve commands.
|
|
25
25
|
|
|
26
26
|
## Chrome MCP Tools Reference
|
|
27
27
|
|
|
@@ -85,7 +85,7 @@ mcp_chrome-devtoo_performance_analyze_insight({ insightSetId: 'set_id', insightN
|
|
|
85
85
|
|
|
86
86
|
### 1. Setup
|
|
87
87
|
|
|
88
|
-
Start the dev server (see [testing-config.md](
|
|
88
|
+
Start the dev server (see [testing-config.md](../../.opencastle/stack/testing-config.md) for app and port).
|
|
89
89
|
|
|
90
90
|
### 2. Initial State
|
|
91
91
|
|
|
@@ -3,11 +3,11 @@ name: contentful-cms
|
|
|
3
3
|
description: "Contentful CMS development patterns, GraphQL/REST API usage, content modeling, and migration best practices. Use when working with Contentful content types, entries, assets, or the Management API."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
6
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
7
7
|
|
|
8
8
|
# Contentful CMS
|
|
9
9
|
|
|
10
|
-
Generic Contentful CMS development methodology. For project-specific configuration, content types, and API keys, see [cms-config.md](
|
|
10
|
+
Generic Contentful CMS development methodology. For project-specific configuration, content types, and API keys, see [cms-config.md](../../.opencastle/stack/cms-config.md).
|
|
11
11
|
|
|
12
12
|
## Critical Development Rules
|
|
13
13
|
|
|
@@ -3,11 +3,11 @@ name: convex-database
|
|
|
3
3
|
description: "Convex reactive database patterns, schema design, real-time queries, mutations, actions, and deployment best practices. Use when designing Convex schemas, writing queries/mutations, or managing the Convex backend."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
6
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
7
7
|
|
|
8
8
|
# Convex Database
|
|
9
9
|
|
|
10
|
-
Generic Convex development methodology. For project-specific schema, functions, and deployment details, see [database-config.md](
|
|
10
|
+
Generic Convex development methodology. For project-specific schema, functions, and deployment details, see [database-config.md](../../.opencastle/stack/database-config.md).
|
|
11
11
|
|
|
12
12
|
## Critical Development Rules
|
|
13
13
|
|
|
@@ -3,11 +3,11 @@ name: cypress-testing
|
|
|
3
3
|
description: "Cypress E2E and component testing patterns, commands, selectors, and CI configuration. Use when writing E2E tests, component tests, or configuring Cypress in CI pipelines."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
6
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
7
7
|
|
|
8
8
|
# Cypress Testing
|
|
9
9
|
|
|
10
|
-
Cypress-specific E2E and component testing patterns. For project-specific test configuration and breakpoints, see [testing-config.md](
|
|
10
|
+
Cypress-specific E2E and component testing patterns. For project-specific test configuration and breakpoints, see [testing-config.md](../../.opencastle/stack/testing-config.md).
|
|
11
11
|
|
|
12
12
|
## Commands
|
|
13
13
|
|
|
@@ -3,7 +3,7 @@ name: figma-design
|
|
|
3
3
|
description: "Figma design-to-code workflows, design token extraction, component inspection, and asset export. Use when translating Figma designs into code, extracting design tokens, or referencing component specs."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
6
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
7
7
|
|
|
8
8
|
# Figma Design
|
|
9
9
|
|
|
@@ -3,11 +3,11 @@ name: jira-management
|
|
|
3
3
|
description: "Jira board conventions for tracking feature work — issue naming, labels, priorities, status workflow, and session continuity via Atlassian Rovo MCP. Use when decomposing features into tasks or resuming interrupted sessions."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
6
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
7
7
|
|
|
8
8
|
# Task Management with Jira
|
|
9
9
|
|
|
10
|
-
Conventions for tracking feature work on Jira via the Atlassian Rovo MCP server. For project-specific project keys, workflow state IDs, and board configuration, see [tracker-config.md](
|
|
10
|
+
Conventions for tracking feature work on Jira via the Atlassian Rovo MCP server. For project-specific project keys, workflow state IDs, and board configuration, see [tracker-config.md](../../.opencastle/project/tracker-config.md).
|
|
11
11
|
|
|
12
12
|
## Atlassian Rovo MCP Server
|
|
13
13
|
|
|
@@ -167,4 +167,4 @@ project = PROJ AND sprint in openSprints() ORDER BY priority DESC
|
|
|
167
167
|
project = PROJ AND priority = Highest AND status != Done
|
|
168
168
|
```
|
|
169
169
|
|
|
170
|
-
Replace `PROJ` with the actual project key from [tracker-config.md](
|
|
170
|
+
Replace `PROJ` with the actual project key from [tracker-config.md](../../.opencastle/project/tracker-config.md).
|
|
@@ -3,11 +3,11 @@ name: linear-task-management
|
|
|
3
3
|
description: "Linear board conventions for tracking feature work — issue naming, labels, priorities, status workflow, and session continuity. Use when decomposing features into tasks or resuming interrupted sessions."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
6
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
7
7
|
|
|
8
8
|
# Task Management with Linear
|
|
9
9
|
|
|
10
|
-
Conventions for tracking feature work on the Linear board via MCP tools. For project-specific team ID, workflow state UUIDs, and label UUIDs, see [tracker-config.md](
|
|
10
|
+
Conventions for tracking feature work on the Linear board via MCP tools. For project-specific team ID, workflow state UUIDs, and label UUIDs, see [tracker-config.md](../../.opencastle/project/tracker-config.md).
|
|
11
11
|
|
|
12
12
|
## Discovered Issues (Bug Tickets)
|
|
13
13
|
|
|
@@ -3,11 +3,11 @@ name: netlify-deployment
|
|
|
3
3
|
description: "Netlify deployment workflows, serverless functions, edge functions, environment management, and build configuration. Use when deploying to Netlify, writing serverless/edge functions, or troubleshooting builds."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
6
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
7
7
|
|
|
8
8
|
# Netlify Deployment
|
|
9
9
|
|
|
10
|
-
Netlify-specific deployment patterns and conventions. For project-specific deployment architecture, environment variables, and key files, see [deployment-config.md](
|
|
10
|
+
Netlify-specific deployment patterns and conventions. For project-specific deployment architecture, environment variables, and key files, see [deployment-config.md](../../.opencastle/stack/deployment-config.md).
|
|
11
11
|
|
|
12
12
|
## Deployment Model
|
|
13
13
|
|
|
@@ -3,7 +3,7 @@ name: nextjs-framework
|
|
|
3
3
|
description: "Next.js framework best practices covering App Router, server/client components, data fetching, caching, rendering strategies, middleware, configuration, and deployment. Use when creating or modifying Next.js pages, layouts, route handlers, Server Actions, or project configuration."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
6
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
7
7
|
|
|
8
8
|
# Next.js Framework
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@ name: nx-workspace
|
|
|
3
3
|
description: "NX monorepo commands, conventions, code generation, and task running patterns. Use when running builds, tests, linting, code generation, or any development commands."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
6
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
7
7
|
|
|
8
8
|
# NX Workspace
|
|
9
9
|
|
|
@@ -3,11 +3,11 @@ name: playwright-testing
|
|
|
3
3
|
description: "Playwright E2E testing patterns, cross-browser configuration, page objects, and CI setup. Use when writing E2E tests, visual regression tests, or configuring Playwright in CI pipelines."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
6
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
7
7
|
|
|
8
8
|
# Playwright Testing
|
|
9
9
|
|
|
10
|
-
Playwright-specific E2E testing patterns. For project-specific test configuration and breakpoints, see [testing-config.md](
|
|
10
|
+
Playwright-specific E2E testing patterns. For project-specific test configuration and breakpoints, see [testing-config.md](../../.opencastle/stack/testing-config.md).
|
|
11
11
|
|
|
12
12
|
## Commands
|
|
13
13
|
|