opencastle 0.6.0 → 0.8.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 +8 -7
- package/dist/cli/adapters/claude-code.d.ts.map +1 -1
- package/dist/cli/adapters/claude-code.js +30 -3
- package/dist/cli/adapters/claude-code.js.map +1 -1
- package/dist/cli/adapters/cursor.d.ts.map +1 -1
- package/dist/cli/adapters/cursor.js +27 -3
- package/dist/cli/adapters/cursor.js.map +1 -1
- package/dist/cli/adapters/opencode.d.ts +20 -0
- package/dist/cli/adapters/opencode.d.ts.map +1 -0
- package/dist/cli/adapters/opencode.js +265 -0
- package/dist/cli/adapters/opencode.js.map +1 -0
- package/dist/cli/adapters/vscode.d.ts.map +1 -1
- package/dist/cli/adapters/vscode.js +37 -6
- package/dist/cli/adapters/vscode.js.map +1 -1
- package/dist/cli/copy.d.ts +12 -0
- package/dist/cli/copy.d.ts.map +1 -1
- package/dist/cli/copy.js +27 -0
- package/dist/cli/copy.js.map +1 -1
- package/dist/cli/detect.d.ts +1 -1
- package/dist/cli/detect.js +21 -15
- package/dist/cli/detect.js.map +1 -1
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +143 -94
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/manifest.d.ts +1 -1
- package/dist/cli/manifest.d.ts.map +1 -1
- package/dist/cli/manifest.js +2 -1
- package/dist/cli/manifest.js.map +1 -1
- package/dist/cli/mcp.d.ts +6 -6
- package/dist/cli/mcp.d.ts.map +1 -1
- package/dist/cli/mcp.js +104 -33
- package/dist/cli/mcp.js.map +1 -1
- package/dist/cli/prompt.d.ts +19 -0
- package/dist/cli/prompt.d.ts.map +1 -1
- package/dist/cli/prompt.js +143 -0
- package/dist/cli/prompt.js.map +1 -1
- package/dist/cli/stack-config.d.ts +23 -0
- package/dist/cli/stack-config.d.ts.map +1 -1
- package/dist/cli/stack-config.js +128 -124
- package/dist/cli/stack-config.js.map +1 -1
- package/dist/cli/types.d.ts +26 -9
- package/dist/cli/types.d.ts.map +1 -1
- package/dist/cli/types.js +26 -1
- package/dist/cli/types.js.map +1 -1
- package/dist/cli/update.d.ts.map +1 -1
- package/dist/cli/update.js +60 -19
- package/dist/cli/update.js.map +1 -1
- package/dist/orchestrator/plugins/chrome-devtools/config.d.ts +3 -0
- package/dist/orchestrator/plugins/chrome-devtools/config.d.ts.map +1 -0
- package/dist/orchestrator/plugins/chrome-devtools/config.js +28 -0
- package/dist/orchestrator/plugins/chrome-devtools/config.js.map +1 -0
- package/dist/orchestrator/plugins/contentful/config.d.ts +3 -0
- package/dist/orchestrator/plugins/contentful/config.d.ts.map +1 -0
- package/dist/orchestrator/plugins/contentful/config.js +48 -0
- package/dist/orchestrator/plugins/contentful/config.js.map +1 -0
- package/dist/orchestrator/plugins/convex/config.d.ts +3 -0
- package/dist/orchestrator/plugins/convex/config.d.ts.map +1 -0
- package/dist/orchestrator/plugins/convex/config.js +32 -0
- package/dist/orchestrator/plugins/convex/config.js.map +1 -0
- package/dist/orchestrator/plugins/index.d.ts +28 -0
- package/dist/orchestrator/plugins/index.d.ts.map +1 -0
- package/dist/orchestrator/plugins/index.js +63 -0
- package/dist/orchestrator/plugins/index.js.map +1 -0
- package/dist/orchestrator/plugins/jira/config.d.ts +3 -0
- package/dist/orchestrator/plugins/jira/config.d.ts.map +1 -0
- package/dist/orchestrator/plugins/jira/config.js +29 -0
- package/dist/orchestrator/plugins/jira/config.js.map +1 -0
- package/dist/orchestrator/plugins/linear/config.d.ts +3 -0
- package/dist/orchestrator/plugins/linear/config.d.ts.map +1 -0
- package/dist/orchestrator/plugins/linear/config.js +33 -0
- package/dist/orchestrator/plugins/linear/config.js.map +1 -0
- package/dist/orchestrator/plugins/nx/config.d.ts +3 -0
- package/dist/orchestrator/plugins/nx/config.d.ts.map +1 -0
- package/dist/orchestrator/plugins/nx/config.js +28 -0
- package/dist/orchestrator/plugins/nx/config.js.map +1 -0
- package/dist/orchestrator/plugins/sanity/config.d.ts +3 -0
- package/dist/orchestrator/plugins/sanity/config.d.ts.map +1 -0
- package/dist/orchestrator/plugins/sanity/config.js +43 -0
- package/dist/orchestrator/plugins/sanity/config.js.map +1 -0
- package/dist/orchestrator/plugins/slack/config.d.ts +3 -0
- package/dist/orchestrator/plugins/slack/config.d.ts.map +1 -0
- package/dist/orchestrator/plugins/slack/config.js +34 -0
- package/dist/orchestrator/plugins/slack/config.js.map +1 -0
- package/dist/orchestrator/plugins/strapi/config.d.ts +3 -0
- package/dist/orchestrator/plugins/strapi/config.d.ts.map +1 -0
- package/dist/orchestrator/plugins/strapi/config.js +40 -0
- package/dist/orchestrator/plugins/strapi/config.js.map +1 -0
- package/dist/orchestrator/plugins/supabase/config.d.ts +3 -0
- package/dist/orchestrator/plugins/supabase/config.d.ts.map +1 -0
- package/dist/orchestrator/plugins/supabase/config.js +33 -0
- package/dist/orchestrator/plugins/supabase/config.js.map +1 -0
- package/dist/orchestrator/plugins/teams/config.d.ts +3 -0
- package/dist/orchestrator/plugins/teams/config.d.ts.map +1 -0
- package/dist/orchestrator/plugins/teams/config.js +43 -0
- package/dist/orchestrator/plugins/teams/config.js.map +1 -0
- package/dist/orchestrator/plugins/types.d.ts +61 -0
- package/dist/orchestrator/plugins/types.d.ts.map +1 -0
- package/dist/orchestrator/plugins/types.js +2 -0
- package/dist/orchestrator/plugins/types.js.map +1 -0
- package/dist/orchestrator/plugins/vercel/config.d.ts +3 -0
- package/dist/orchestrator/plugins/vercel/config.d.ts.map +1 -0
- package/dist/orchestrator/plugins/vercel/config.js +32 -0
- package/dist/orchestrator/plugins/vercel/config.js.map +1 -0
- package/package.json +1 -1
- package/src/cli/adapters/claude-code.ts +36 -4
- package/src/cli/adapters/cursor.ts +42 -4
- package/src/cli/adapters/opencode.ts +320 -0
- package/src/cli/adapters/vscode.ts +40 -8
- package/src/cli/copy.ts +32 -0
- package/src/cli/detect.ts +17 -17
- package/src/cli/init.ts +157 -99
- package/src/cli/manifest.ts +2 -1
- package/src/cli/mcp.ts +129 -50
- package/src/cli/prompt.ts +176 -0
- package/src/cli/stack-config.ts +174 -145
- package/src/cli/types.ts +39 -8
- package/src/cli/update.ts +71 -20
- package/src/dashboard/node_modules/.vite/deps/_metadata.json +6 -6
- package/src/orchestrator/agent-workflows/README.md +1 -1
- package/src/orchestrator/agent-workflows/bug-fix.md +12 -12
- package/src/orchestrator/agent-workflows/data-pipeline.md +21 -20
- package/src/orchestrator/agent-workflows/database-migration.md +11 -11
- package/src/orchestrator/agent-workflows/feature-implementation.md +19 -12
- package/src/orchestrator/agent-workflows/performance-optimization.md +6 -6
- package/src/orchestrator/agent-workflows/refactoring.md +10 -10
- package/src/orchestrator/agent-workflows/schema-changes.md +8 -8
- package/src/orchestrator/agent-workflows/security-audit.md +12 -12
- package/src/orchestrator/agent-workflows/shared-delivery-phase.md +5 -5
- package/src/orchestrator/agents/api-designer.agent.md +1 -1
- package/src/orchestrator/agents/architect.agent.md +2 -2
- package/src/orchestrator/agents/content-engineer.agent.md +3 -3
- package/src/orchestrator/agents/copywriter.agent.md +2 -2
- package/src/orchestrator/agents/data-expert.agent.md +6 -6
- package/src/orchestrator/agents/database-engineer.agent.md +3 -3
- package/src/orchestrator/agents/developer.agent.md +4 -4
- package/src/orchestrator/agents/devops-expert.agent.md +5 -5
- package/src/orchestrator/agents/documentation-writer.agent.md +1 -1
- package/src/orchestrator/agents/performance-expert.agent.md +2 -2
- package/src/orchestrator/agents/release-manager.agent.md +4 -4
- package/src/orchestrator/agents/researcher.agent.md +3 -3
- package/src/orchestrator/agents/reviewer.agent.md +1 -1
- package/src/orchestrator/agents/security-expert.agent.md +4 -4
- package/src/orchestrator/agents/seo-specialist.agent.md +2 -2
- package/src/orchestrator/agents/team-lead.agent.md +56 -38
- package/src/orchestrator/agents/testing-expert.agent.md +5 -5
- package/src/orchestrator/agents/ui-ux-expert.agent.md +6 -6
- package/src/orchestrator/copilot-instructions.md +1 -1
- package/src/orchestrator/customizations/AGENT-FAILURES.md +1 -1
- package/src/orchestrator/customizations/AGENT-PERFORMANCE.md +12 -12
- package/src/orchestrator/customizations/DISPUTES.md +5 -5
- package/src/orchestrator/customizations/KNOWN-ISSUES.md +30 -0
- package/src/orchestrator/customizations/LESSONS-LEARNED.md +7 -7
- package/src/orchestrator/customizations/README.md +5 -2
- package/src/orchestrator/customizations/agents/agent-registry.md +1 -1
- package/src/orchestrator/customizations/agents/skill-matrix.md +12 -7
- package/src/orchestrator/customizations/logs/README.md +1 -1
- package/src/orchestrator/customizations/project/decisions.md +31 -0
- package/src/orchestrator/customizations/project/docs-structure.md +16 -5
- package/src/orchestrator/customizations/project/roadmap.md +24 -0
- package/src/orchestrator/customizations/project/tracker-config.md +1 -1
- package/src/orchestrator/customizations/stack/cms-config.md +1 -1
- package/src/orchestrator/customizations/stack/notifications-config.md +1 -1
- package/src/orchestrator/instructions/ai-optimization.instructions.md +2 -2
- package/src/orchestrator/instructions/general.instructions.md +102 -40
- package/src/orchestrator/{skills/browser-testing → plugins/chrome-devtools}/SKILL.md +1 -1
- package/src/orchestrator/plugins/chrome-devtools/config.ts +29 -0
- package/src/orchestrator/{skills/contentful-cms → plugins/contentful}/SKILL.md +1 -1
- package/src/orchestrator/plugins/contentful/config.ts +49 -0
- package/src/orchestrator/{skills/convex-database → plugins/convex}/SKILL.md +1 -1
- package/src/orchestrator/plugins/convex/config.ts +33 -0
- package/src/orchestrator/plugins/index.ts +85 -0
- package/src/orchestrator/{skills/jira-management → plugins/jira}/SKILL.md +3 -3
- package/src/orchestrator/plugins/jira/config.ts +30 -0
- package/src/orchestrator/{skills/task-management → plugins/linear}/SKILL.md +3 -3
- package/src/orchestrator/plugins/linear/config.ts +34 -0
- package/src/orchestrator/{skills/nx-workspace → plugins/nx}/SKILL.md +1 -1
- package/src/orchestrator/plugins/nx/config.ts +29 -0
- package/src/orchestrator/{skills/sanity-cms → plugins/sanity}/SKILL.md +1 -1
- package/src/orchestrator/plugins/sanity/config.ts +44 -0
- package/src/orchestrator/{skills/slack-notifications → plugins/slack}/SKILL.md +2 -2
- package/src/orchestrator/plugins/slack/config.ts +35 -0
- package/src/orchestrator/{skills/strapi-cms → plugins/strapi}/SKILL.md +1 -1
- package/src/orchestrator/plugins/strapi/config.ts +41 -0
- package/src/orchestrator/{skills/supabase-database → plugins/supabase}/SKILL.md +1 -1
- package/src/orchestrator/plugins/supabase/config.ts +34 -0
- package/src/orchestrator/{skills/teams-notifications → plugins/teams}/SKILL.md +2 -2
- package/src/orchestrator/plugins/teams/config.ts +44 -0
- package/src/orchestrator/plugins/types.ts +79 -0
- package/src/orchestrator/plugins/vercel/config.ts +33 -0
- 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 +27 -22
- package/src/orchestrator/prompts/create-skill.prompt.md +50 -32
- package/src/orchestrator/prompts/generate-task-spec.prompt.md +3 -3
- package/src/orchestrator/prompts/implement-feature.prompt.md +34 -29
- package/src/orchestrator/prompts/metrics-report.prompt.md +11 -11
- package/src/orchestrator/prompts/quick-refinement.prompt.md +23 -19
- package/src/orchestrator/prompts/resolve-pr-comments.prompt.md +19 -5
- package/src/orchestrator/skills/accessibility-standards/SKILL.md +1 -1
- package/src/orchestrator/skills/agent-hooks/SKILL.md +27 -18
- package/src/orchestrator/skills/agent-memory/SKILL.md +7 -7
- package/src/orchestrator/skills/api-patterns/SKILL.md +6 -6
- 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 +7 -4
- package/src/orchestrator/skills/deployment-infrastructure/SKILL.md +2 -2
- package/src/orchestrator/skills/documentation-standards/SKILL.md +1 -1
- package/src/orchestrator/skills/fast-review/SKILL.md +18 -7
- package/src/orchestrator/skills/frontend-design/SKILL.md +1 -1
- package/src/orchestrator/skills/memory-merger/SKILL.md +8 -8
- package/src/orchestrator/skills/nextjs-patterns/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 +3 -3
- package/src/orchestrator/skills/security-hardening/SKILL.md +27 -27
- package/src/orchestrator/skills/self-improvement/SKILL.md +14 -13
- package/src/orchestrator/skills/seo-patterns/SKILL.md +1 -1
- package/src/orchestrator/skills/session-checkpoints/SKILL.md +19 -19
- package/src/orchestrator/skills/team-lead-reference/SKILL.md +9 -9
- package/src/orchestrator/skills/testing-workflow/SKILL.md +13 -13
- package/src/orchestrator/skills/validation-gates/SKILL.md +157 -27
- package/src/orchestrator/mcp.json +0 -69
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
description: 'Task orchestrator that analyzes work, decomposes it into subtasks, and delegates to specialized agents via sub-agents (inline) or background sessions (parallel worktrees).'
|
|
3
3
|
name: 'Team Lead'
|
|
4
4
|
model: Claude Opus 4.6
|
|
5
|
-
tools: [read/problems, read/readFile, agent/runSubagent, edit/createDirectory, edit/createFile, edit/createJupyterNotebook, edit/editFiles, edit/editNotebook, search/changes, search/codebase, search/fileSearch, search/listDirectory, search/searchResults, search/textSearch, search/usages, web/fetch, agent, execute/runInTerminal, execute/getTerminalOutput, read/terminalLastCommand, read/terminalSelection
|
|
5
|
+
tools: [read/problems, read/readFile, agent/runSubagent, edit/createDirectory, edit/createFile, edit/createJupyterNotebook, edit/editFiles, edit/editNotebook, search/changes, search/codebase, search/fileSearch, search/listDirectory, search/searchResults, search/textSearch, search/usages, web/fetch, agent, execute/runInTerminal, execute/getTerminalOutput, read/terminalLastCommand, read/terminalSelection]
|
|
6
6
|
agents: ['*']
|
|
7
7
|
handoffs:
|
|
8
8
|
- label: Implement Feature
|
|
@@ -25,7 +25,7 @@ handoffs:
|
|
|
25
25
|
prompt: 'Use the resolve-pr-comments prompt to resolve the GitHub PR review comments on this PR:'
|
|
26
26
|
---
|
|
27
27
|
|
|
28
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the customizations/ directory instead. -->
|
|
28
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .github/customizations/ directory instead. -->
|
|
29
29
|
|
|
30
30
|
# Team Lead
|
|
31
31
|
|
|
@@ -34,7 +34,7 @@ You are a **team lead and task orchestrator**. You do **not** implement code you
|
|
|
34
34
|
1. **Analyze** — Understand the request by reading relevant code and documentation
|
|
35
35
|
2. **Decompose** — Break the task into well-scoped subtasks with single responsibility each
|
|
36
36
|
3. **Partition** — Map file ownership so no two parallel agents touch the same files
|
|
37
|
-
4. **Track** — Create issues
|
|
37
|
+
4. **Track** — Create issues in the task tracker so progress persists across sessions
|
|
38
38
|
5. **Delegate** — Assign each subtask to the appropriate specialist agent using the right mechanism
|
|
39
39
|
6. **Orchestrate** — Run sub-agents inline for dependent work, background agents for parallel work
|
|
40
40
|
7. **Steer** — Monitor active agents and redirect early when drift is detected
|
|
@@ -47,7 +47,7 @@ You are a **team lead and task orchestrator**. You do **not** implement code you
|
|
|
47
47
|
|
|
48
48
|
- **team-lead-reference** — Model routing, agent registry, pre-delegation checks, cost tracking, DLQ format, deepen-plan protocol
|
|
49
49
|
- **session-checkpoints** — Save and restore session state for multi-session features; enables resume, replay, and fork
|
|
50
|
-
- **task-management** —
|
|
50
|
+
- **task-management** — Task tracker conventions, issue naming, labels, priorities, workflow states (resolved via skill-matrix to `linear-task-management` or `jira-management`)
|
|
51
51
|
- **validation-gates** — Shared validation gates for all workflows (deterministic checks, browser testing, cache management, regression checks)
|
|
52
52
|
- **fast-review** — Mandatory single-reviewer gate after every delegation, with automatic retry and escalation to panel
|
|
53
53
|
- **panel-majority-vote** — 3-reviewer quality gate for high-stakes changes
|
|
@@ -182,7 +182,7 @@ Good partition:
|
|
|
182
182
|
```
|
|
183
183
|
Background Agent A (DB): db/migrations/, libs/auth/
|
|
184
184
|
Background Agent B (UI): libs/shared-ui/src/components/NewFeature/
|
|
185
|
-
Background Agent C (Docs):
|
|
185
|
+
Background Agent C (Docs): .github/customizations/
|
|
186
186
|
```
|
|
187
187
|
|
|
188
188
|
Bad partition — overlapping files:
|
|
@@ -201,11 +201,11 @@ Load the **team-lead-reference** skill for the full model cost tiers, selection
|
|
|
201
201
|
|
|
202
202
|
## Pre-Delegation Policy Checks
|
|
203
203
|
|
|
204
|
-
Before EVERY delegation, verify: (1)
|
|
204
|
+
Before EVERY delegation, verify: (1) Tracker issue exists, (2) File partition is clean, (3) Dependencies verified Done, (4) Prompt is specific with file paths + acceptance criteria, (5) Self-improvement reminder included. Full checklist in the **team-lead-reference** skill.
|
|
205
205
|
|
|
206
206
|
## Decomposition Flow
|
|
207
207
|
|
|
208
|
-
> **HARD GATE:** Steps 1→2 must complete BEFORE any code is written or delegated.
|
|
208
|
+
> **HARD GATE:** Steps 1→2 must complete BEFORE any code is written or delegated. Tracked issues are a blocking prerequisite — not a nice-to-have. If you find yourself writing code before issues exist, STOP, create the issues, then resume.
|
|
209
209
|
|
|
210
210
|
### Step 1: Understand
|
|
211
211
|
|
|
@@ -256,10 +256,10 @@ Always draw the dependency graph before assigning phases. Missed dependencies ca
|
|
|
256
256
|
### Step 3: Write Specific Prompts
|
|
257
257
|
|
|
258
258
|
Each delegation prompt must include:
|
|
259
|
-
- **
|
|
259
|
+
- **Tracker issue** — the issue ID (e.g., `TAS-42`) and title so the agent knows which tracked task it is completing
|
|
260
260
|
- **Objective** — what to build/change, and why
|
|
261
261
|
- **File paths** — exact files to read and modify (the agent's partition)
|
|
262
|
-
- **Acceptance criteria** — copy or reference the checklist from the
|
|
262
|
+
- **Acceptance criteria** — copy or reference the checklist from the tracker issue
|
|
263
263
|
- **Patterns to follow** — link to existing code examples in the codebase
|
|
264
264
|
- **Self-improvement reminder** — *"Read `.github/customizations/LESSONS-LEARNED.md` before starting. If you retry any command/tool with a different approach that works, immediately add a lesson to that file."*
|
|
265
265
|
|
|
@@ -270,7 +270,7 @@ For complex tasks (score 5+), generate a structured spec rather than a free-form
|
|
|
270
270
|
```
|
|
271
271
|
## Delegation Spec: [Task Title]
|
|
272
272
|
|
|
273
|
-
**
|
|
273
|
+
**Tracker Issue:** TAS-XX — [Title]
|
|
274
274
|
**Complexity:** [score]/13 → [tier] tier
|
|
275
275
|
**Agent:** [Agent Name]
|
|
276
276
|
|
|
@@ -288,7 +288,7 @@ What to build/change and why. 1-3 sentences max.
|
|
|
288
288
|
- Dependencies: Requires [TAS-XX] to be Done first
|
|
289
289
|
|
|
290
290
|
### Acceptance Criteria
|
|
291
|
-
- [ ] Criterion 1 (copied from
|
|
291
|
+
- [ ] Criterion 1 (copied from tracker issue)
|
|
292
292
|
- [ ] Criterion 2
|
|
293
293
|
- [ ] Criterion 3
|
|
294
294
|
|
|
@@ -313,7 +313,7 @@ For simpler tasks (score 1-3), the existing prompt format (objective + files + c
|
|
|
313
313
|
**For background agents** — include full self-contained context since they cannot ask follow-up questions.
|
|
314
314
|
|
|
315
315
|
**Strong prompt example (simple task, score 2):**
|
|
316
|
-
> "**
|
|
316
|
+
> "**Tracker issue:** TAS-42 — [Auth] Fix token refresh logic
|
|
317
317
|
> Users report 'Invalid token' errors after 30 minutes. JWT tokens are configured with 1-hour expiration in `libs/auth/src/server.ts`. Investigate why tokens expire early and fix the refresh logic. Only modify files under `libs/auth/`. Run the auth library tests to verify."
|
|
318
318
|
|
|
319
319
|
**Strong prompt example (complex task, score 8 — uses spec template):**
|
|
@@ -434,24 +434,24 @@ Monitor delegated agents for failure signals. Intervene early rather than waitin
|
|
|
434
434
|
2. **Second failure:** Downscope the task (split into smaller pieces) and re-delegate
|
|
435
435
|
3. **Third failure:** Log to Dead Letter Queue (`.github/customizations/AGENT-FAILURES.md`), escalate to Architect for root cause analysis. If the failure involves a panel 3x BLOCK or unresolvable agent/reviewer conflict, create a **dispute record** in `.github/customizations/DISPUTES.md` instead (see **team-lead-reference** skill § Dispute Protocol).
|
|
436
436
|
|
|
437
|
-
## Task Board Management
|
|
437
|
+
## Task Board Management
|
|
438
438
|
|
|
439
|
-
Use
|
|
439
|
+
Use task tracker MCP tools to track all feature work. Load the **task-management** skill (resolved via skill-matrix) for full conventions on naming, labels, priorities, and workflow.
|
|
440
440
|
|
|
441
441
|
### On new feature request
|
|
442
442
|
|
|
443
|
-
> **No issue, no code.** Every feature request must have
|
|
443
|
+
> **No issue, no code.** Every feature request must have tracked issues before any implementation begins. This is non-negotiable.
|
|
444
444
|
|
|
445
|
-
1. Read the board (
|
|
445
|
+
1. Read the board (list issues filtered by In Progress / Todo) to check for existing work
|
|
446
446
|
2. Decompose into issues following `[Area] Short description` naming
|
|
447
|
-
3. Create all issues
|
|
448
|
-
4. Note dependencies in issue descriptions (e.g., 'Depends on: #TAS-XX')
|
|
447
|
+
3. Create all issues with labels (agent name), priority, description with acceptance criteria and file paths
|
|
448
|
+
4. Note dependencies in issue descriptions (e.g., 'Depends on: #TAS-XX')
|
|
449
449
|
5. Note file partitions in issue descriptions to prevent parallel conflicts
|
|
450
450
|
6. **Gate check:** Verify at least 1 issue was created. If not, do not proceed to delegation
|
|
451
451
|
|
|
452
452
|
### Discovered Issues During Execution
|
|
453
453
|
|
|
454
|
-
**No issue gets ignored.** Instruct every delegated agent to follow the Discovered Issues Policy (defined in `general.instructions.md` and the **task-management** skill). Include this reminder in every delegation prompt: *"Follow the Discovered Issues Policy — check KNOWN-ISSUES and
|
|
454
|
+
**No issue gets ignored.** Instruct every delegated agent to follow the Discovered Issues Policy (defined in `general.instructions.md` and the **task-management** skill). Include this reminder in every delegation prompt: *"Follow the Discovered Issues Policy — check KNOWN-ISSUES and the task tracker, then either add to KNOWN-ISSUES or create a bug ticket. Read `.github/customizations/LESSONS-LEARNED.md` before starting. If you retry any command/tool with a different approach that works, immediately add a lesson to that file."*
|
|
455
455
|
|
|
456
456
|
When reviewing agent output, verify they tracked any discovered issues — not silently ignored them.
|
|
457
457
|
|
|
@@ -484,8 +484,8 @@ Every task follows a strict loop. A task is **not Done** until its output is ind
|
|
|
484
484
|
```
|
|
485
485
|
|
|
486
486
|
**Verification checklist per task:**
|
|
487
|
-
- [ ] No lint or type errors introduced (
|
|
488
|
-
- [ ] Tests pass (
|
|
487
|
+
- [ ] No lint or type errors introduced (run the project's lint command — see **codebase-tool** skill)
|
|
488
|
+
- [ ] Tests pass (run the project's test command — see **codebase-tool** skill)
|
|
489
489
|
- [ ] Changed files stay within the agent's file partition
|
|
490
490
|
- [ ] **Fast review passed** (mandatory — load **fast-review** skill)
|
|
491
491
|
- [ ] Acceptance criteria from the issue are met
|
|
@@ -493,7 +493,7 @@ Every task follows a strict loop. A task is **not Done** until its output is ind
|
|
|
493
493
|
- [ ] For data/query tasks: output spot-checked with real data
|
|
494
494
|
- [ ] No regressions in dependent code
|
|
495
495
|
- [ ] For high-stakes tasks: panel review passed (see below)
|
|
496
|
-
- [ ] Discovered issues were tracked (KNOWN-ISSUES or new
|
|
496
|
+
- [ ] Discovered issues were tracked (KNOWN-ISSUES or new bug ticket) — not silently ignored
|
|
497
497
|
- [ ] Lessons learned were captured — if the agent retried anything, `.github/customizations/LESSONS-LEARNED.md` was updated
|
|
498
498
|
|
|
499
499
|
**Self-review technique:** After an agent completes, ask it:
|
|
@@ -506,7 +506,7 @@ This catches gaps before they become merged code.
|
|
|
506
506
|
**Rules:**
|
|
507
507
|
- Never mark an issue Done based solely on the agent saying "done" — always verify independently
|
|
508
508
|
- Never proceed to a dependent task until the prerequisite is verified passing
|
|
509
|
-
- If verification fails, update the
|
|
509
|
+
- If verification fails, update the issue description with the failure details and re-delegate
|
|
510
510
|
- A panel BLOCK is a fix request, not a stop signal — extract MUST-FIX items and re-delegate immediately
|
|
511
511
|
- A task may iterate multiple times — that is expected and preferred over shipping broken code
|
|
512
512
|
|
|
@@ -538,7 +538,7 @@ When multiple agents complete work simultaneously, batch similar reviews. Load *
|
|
|
538
538
|
|
|
539
539
|
### On session resume
|
|
540
540
|
|
|
541
|
-
1. **Check for checkpoint** — Read
|
|
541
|
+
1. **Check for checkpoint** — Read `.github/customizations/SESSION-CHECKPOINT.md` if it exists (load the **session-checkpoints** skill for format details)
|
|
542
542
|
2. **Check dead letter queue** — Scan `.github/customizations/AGENT-FAILURES.md` for pending failures that need retry
|
|
543
543
|
3. **Check disputes** — Scan `.github/customizations/DISPUTES.md` for pending disputes that a human may have resolved since the last session
|
|
544
544
|
4. List issues by In Progress and Todo status
|
|
@@ -549,39 +549,39 @@ When multiple agents complete work simultaneously, batch similar reviews. Load *
|
|
|
549
549
|
|
|
550
550
|
1. Verify all issues are Done or Cancelled
|
|
551
551
|
2. Run final build/lint/test across all affected projects
|
|
552
|
-
3. **Update
|
|
553
|
-
4. **Clean up checkpoint** — Archive content to
|
|
554
|
-
5. Mark all project issues as Done or Cancelled
|
|
555
|
-
6. **Commit all changes** to the feature branch with
|
|
552
|
+
3. **Update `.github/customizations/project/roadmap.md`** — mark items complete with ✅, date, and issue IDs/links so future sessions can trace work back to tracked issues
|
|
553
|
+
4. **Clean up checkpoint** — Archive content to tracker issues, delete `.github/customizations/SESSION-CHECKPOINT.md`
|
|
554
|
+
5. Mark all project issues as Done or Cancelled
|
|
555
|
+
6. **Commit all changes** to the feature branch with issue IDs in commit messages
|
|
556
556
|
7. **Push the branch** to origin
|
|
557
557
|
8. **Open a PR** on GitHub — title: `TAS-XX: Short description`. **Do NOT merge**
|
|
558
|
-
9. **Update
|
|
558
|
+
9. **Update tracker issue** with the PR URL for traceability
|
|
559
559
|
|
|
560
560
|
## Execution Checklist
|
|
561
561
|
|
|
562
562
|
**Before delegating:**
|
|
563
563
|
- [ ] Documentation checked (known issues, architecture docs)
|
|
564
|
-
- [ ]
|
|
565
|
-
- [ ] Issues created
|
|
564
|
+
- [ ] Task tracker checked for existing in-progress work
|
|
565
|
+
- [ ] Issues created for all subtasks
|
|
566
566
|
- [ ] Dependencies mapped and execution order set
|
|
567
567
|
- [ ] File partitions assigned — no overlapping edits between parallel agents
|
|
568
568
|
- [ ] Parallel opportunities identified
|
|
569
569
|
|
|
570
570
|
**After completion:**
|
|
571
571
|
- [ ] All subtasks completed and independently verified
|
|
572
|
-
- [ ] All
|
|
572
|
+
- [ ] All issues moved to Done
|
|
573
573
|
- [ ] Lint, test, and build pass for affected projects
|
|
574
574
|
- [ ] Documentation updated
|
|
575
575
|
- [ ] **Session records logged** to `.github/customizations/logs/sessions.ndjson` — one entry per completed task
|
|
576
576
|
- [ ] **Delegation records logged** to `.github/customizations/logs/delegations.ndjson` — one entry per delegation
|
|
577
|
-
- [ ] All changes committed to the feature branch with
|
|
577
|
+
- [ ] All changes committed to the feature branch with issue IDs in commit messages
|
|
578
578
|
- [ ] Branch pushed to origin
|
|
579
579
|
- [ ] PR opened on GitHub (NOT merged)
|
|
580
|
-
- [ ]
|
|
580
|
+
- [ ] Tracker issue updated with PR URL
|
|
581
581
|
|
|
582
582
|
## Delivery Outcome (Required for Every Task)
|
|
583
583
|
|
|
584
|
-
See `general.instructions.md` § Delivery Outcome for the universal rules (dedicated branch, atomic commits, pushed branch, open PR,
|
|
584
|
+
See `general.instructions.md` § Delivery Outcome for the universal rules (dedicated branch, atomic commits, pushed branch, open PR, tracker linkage). See [shared-delivery-phase.md](../agent-workflows/shared-delivery-phase.md) for the standard commit → push → PR → tracker steps.
|
|
585
585
|
|
|
586
586
|
### Team Lead-Specific Additions
|
|
587
587
|
|
|
@@ -603,16 +603,34 @@ When automated resolution is exhausted (panel 3x BLOCK, unresolvable conflicts),
|
|
|
603
603
|
**The Team Lead MUST log every session.** No exceptions. See `general.instructions.md` § Observability Logging for the full rules.
|
|
604
604
|
|
|
605
605
|
- After delegations: log a **session record** + a **delegation record**
|
|
606
|
+
- After fast reviews: log a **review record** to `reviews.ndjson`
|
|
607
|
+
- After panel reviews: log a **panel record** to `panels.ndjson`
|
|
608
|
+
- After disputes: log a **dispute record** to `disputes.ndjson`
|
|
606
609
|
- After working directly: log a **session record** (use the matching agent role)
|
|
607
610
|
- Log **per task**, before yielding to the user
|
|
608
611
|
- Multiple tasks in one conversation = multiple records
|
|
609
612
|
|
|
613
|
+
### Pre-Response Logging Checklist
|
|
614
|
+
|
|
615
|
+
**STOP before responding to the user.** This is Constitution rule #6.
|
|
616
|
+
|
|
617
|
+
- [ ] **Lessons read** — `.github/customizations/LESSONS-LEARNED.md` was read at session start
|
|
618
|
+
- [ ] **Lessons captured** — If any retry occurred, a new lesson was added to `LESSONS-LEARNED.md`
|
|
619
|
+
- [ ] **Discovered issues tracked** — Any pre-existing bugs found were tracked per the Discovered Issues Policy
|
|
620
|
+
- [ ] **Session logged** — `sessions.ndjson` has a new line for this session (ALWAYS required)
|
|
621
|
+
- [ ] **Delegations logged** — `delegations.ndjson` has a line for each delegation
|
|
622
|
+
- [ ] **Reviews logged** — `reviews.ndjson` has a line for each fast review performed (if any)
|
|
623
|
+
- [ ] **Panels logged** — `panels.ndjson` has a line for each panel review performed (if any)
|
|
624
|
+
- [ ] **Disputes logged** — `disputes.ndjson` has a line for each dispute created (if any)
|
|
625
|
+
|
|
626
|
+
If ANY required item is missing, fix it NOW before responding.
|
|
627
|
+
|
|
610
628
|
## Anti-Patterns
|
|
611
629
|
|
|
612
|
-
- **Never write or delegate code before
|
|
630
|
+
- **Never write or delegate code before issues exist** — issues are a blocking gate, not a follow-up task
|
|
613
631
|
- Never implement code yourself — always delegate
|
|
614
632
|
- Never skip documentation check
|
|
615
|
-
- Never ignore a discovered issue — if it's not tracked in KNOWN-ISSUES or
|
|
633
|
+
- Never ignore a discovered issue — if it's not tracked in KNOWN-ISSUES or the task tracker, track it
|
|
616
634
|
- **Never skip reading `.github/customizations/LESSONS-LEARNED.md`** before delegating — include relevant lessons in delegation prompts
|
|
617
635
|
- **Never let a retry go undocumented** — if an agent retried with a different approach, verify a lesson was captured
|
|
618
636
|
- Never run tasks sequentially when they can be parallel
|
|
@@ -631,6 +649,6 @@ When automated resolution is exhausted (panel 3x BLOCK, unresolvable conflicts),
|
|
|
631
649
|
- **Never allow recursive delegation** — sub-agents must not invoke the Team Lead or spawn their own sub-agents. Each agent is a leaf executor, not an orchestrator
|
|
632
650
|
- **Never leave code changes uncommitted** — every task must end with a pushed branch and open PR
|
|
633
651
|
- **Never merge a PR yourself** — PRs are opened for human review only
|
|
634
|
-
- **Never forget to link the PR to
|
|
652
|
+
- **Never forget to link the PR to the task tracker** — traceability is mandatory
|
|
635
653
|
- **Never exceed session budget without checkpointing** — context degrades after 8+ delegations; save state and resume in a fresh session
|
|
636
654
|
- **Never skip observability logging** — every session gets logged. No exceptions. No threshold. No "too small to log"
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: 'Testing expert for E2E tests, integration tests, browser validation, and
|
|
2
|
+
description: 'Testing expert for E2E tests, integration tests, browser validation, and test suites using browser automation and test file authoring.'
|
|
3
3
|
name: 'Testing Expert'
|
|
4
4
|
model: GPT-5.3-Codex
|
|
5
|
-
tools: ['search/changes', 'search/codebase', 'edit/editFiles', 'web/fetch', 'read/problems', 'execute/getTerminalOutput', 'execute/runInTerminal', 'read/terminalLastCommand', 'read/terminalSelection', 'search', 'execute/testFailure', 'search/usages'
|
|
5
|
+
tools: ['search/changes', 'search/codebase', 'edit/editFiles', 'web/fetch', 'read/problems', 'execute/getTerminalOutput', 'execute/runInTerminal', 'read/terminalLastCommand', 'read/terminalSelection', 'search', 'execute/testFailure', 'search/usages']
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the customizations/ directory instead. -->
|
|
8
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .github/customizations/ directory instead. -->
|
|
9
9
|
|
|
10
10
|
# Testing Expert
|
|
11
11
|
|
|
12
|
-
You are an expert tester who validates UI changes using
|
|
12
|
+
You are an expert tester who validates UI changes using browser automation (resolved via the **e2e-testing** capability slot) and writes E2E/integration test suites.
|
|
13
13
|
|
|
14
14
|
## Skills
|
|
15
15
|
|
|
@@ -57,7 +57,7 @@ Every test suite must cover:
|
|
|
57
57
|
|
|
58
58
|
1. **95% minimum coverage** — all new code must meet the coverage threshold
|
|
59
59
|
2. **Test behavior, not implementation** — tests should survive refactors
|
|
60
|
-
3. **Run the full test suite** — never return without running
|
|
60
|
+
3. **Run the full test suite** — never return without running the project's test command (see the **codebase-tool** skill)
|
|
61
61
|
|
|
62
62
|
## Done When
|
|
63
63
|
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: 'UI/UX expert for designing and building accessible, consistent
|
|
2
|
+
description: 'UI/UX expert for designing and building accessible, consistent UI components with deep knowledge of the design system.'
|
|
3
3
|
name: 'UI/UX Expert'
|
|
4
4
|
model: Gemini 3.1 Pro (Preview)
|
|
5
|
-
tools: ['search/changes', 'search/codebase', 'edit/editFiles', 'web/fetch', 'vscode/getProjectSetupInfo', 'vscode/installExtension', 'vscode/newWorkspace', 'vscode/runCommand', 'read/problems', 'execute/getTerminalOutput', 'execute/runInTerminal', 'read/terminalLastCommand', 'read/terminalSelection', 'search', 'execute/testFailure', 'search/usages'
|
|
5
|
+
tools: ['search/changes', 'search/codebase', 'edit/editFiles', 'web/fetch', 'vscode/getProjectSetupInfo', 'vscode/installExtension', 'vscode/newWorkspace', 'vscode/runCommand', 'read/problems', 'execute/getTerminalOutput', 'execute/runInTerminal', 'read/terminalLastCommand', 'read/terminalSelection', 'search', 'execute/testFailure', 'search/usages']
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the customizations/ directory instead. -->
|
|
8
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .github/customizations/ directory instead. -->
|
|
9
9
|
|
|
10
10
|
# UI/UX Expert
|
|
11
11
|
|
|
12
|
-
You are an expert UI/UX developer specializing in building accessible, visually consistent
|
|
12
|
+
You are an expert UI/UX developer specializing in building accessible, visually consistent UI components based on a design system template. Resolve technology-specific details (component library, styling approach) via the **ui-library** capability slot in the skill matrix.
|
|
13
13
|
|
|
14
14
|
## Critical Rules
|
|
15
15
|
|
|
16
16
|
1. **Reference the project template** for design patterns and consistency
|
|
17
|
-
2. **
|
|
17
|
+
2. **Follow the project's styling approach** for component styles, co-located with components (see the **ui-library** skill)
|
|
18
18
|
3. **Place shared components in the UI library** — never in app-specific directories
|
|
19
19
|
|
|
20
20
|
## Skills
|
|
@@ -44,7 +44,7 @@ Resolve via [skill-matrix.md](.github/customizations/agents/skill-matrix.md).
|
|
|
44
44
|
- WCAG 2.2 AA compliance verified (keyboard navigation, contrast, semantics)
|
|
45
45
|
- Components are exported from the UI library index
|
|
46
46
|
- Hover, focus, and active states are implemented for all interactive elements
|
|
47
|
-
-
|
|
47
|
+
- Styles are co-located with components per the project's styling conventions
|
|
48
48
|
|
|
49
49
|
## Out of Scope
|
|
50
50
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the customizations/ directory instead. -->
|
|
1
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .github/customizations/ directory instead. -->
|
|
2
2
|
|
|
3
3
|
# Copilot Instructions
|
|
4
4
|
|
|
@@ -29,7 +29,7 @@ Add an entry when **any** of these occur:
|
|
|
29
29
|
|-------|-------|
|
|
30
30
|
| **Date** | YYYY-MM-DD |
|
|
31
31
|
| **Agent** | Agent name |
|
|
32
|
-
| **
|
|
32
|
+
| **Tracker Issue** | PREFIX-XX (if applicable) |
|
|
33
33
|
| **Failure Type** | `verification-fail` / `tool-error` / `panel-block` / `timeout` / `scope-creep` |
|
|
34
34
|
| **Attempts** | Number of attempts before logging |
|
|
35
35
|
|
|
@@ -8,45 +8,45 @@ Tracks agent success rates across panel reviews and delegated tasks to inform mo
|
|
|
8
8
|
## Data Sources
|
|
9
9
|
|
|
10
10
|
Performance data is collected automatically via NDJSON session logs:
|
|
11
|
-
- **Session data:**
|
|
12
|
-
- **Delegation data:**
|
|
11
|
+
- **Session data:** `.github/customizations/logs/sessions.ndjson` — appended by every agent after each session
|
|
12
|
+
- **Delegation data:** `.github/customizations/logs/delegations.ndjson` — appended by the Team Lead after each delegation
|
|
13
13
|
- **Full reporting:** Run the **metrics-report** prompt to generate a dashboard from all sources
|
|
14
14
|
|
|
15
15
|
## Quick Queries
|
|
16
16
|
|
|
17
17
|
```bash
|
|
18
18
|
# Sessions per agent
|
|
19
|
-
jq -r '.agent' customizations/logs/sessions.ndjson | sort | uniq -c | sort -rn
|
|
19
|
+
jq -r '.agent' .github/customizations/logs/sessions.ndjson | sort | uniq -c | sort -rn
|
|
20
20
|
|
|
21
21
|
# Success rate by agent
|
|
22
|
-
jq -r '[.agent, .outcome] | @tsv' customizations/logs/sessions.ndjson | sort | uniq -c
|
|
22
|
+
jq -r '[.agent, .outcome] | @tsv' .github/customizations/logs/sessions.ndjson | sort | uniq -c
|
|
23
23
|
|
|
24
24
|
# Delegation tier distribution
|
|
25
|
-
jq -r '.tier' customizations/logs/delegations.ndjson | sort | uniq -c
|
|
25
|
+
jq -r '.tier' .github/customizations/logs/delegations.ndjson | sort | uniq -c
|
|
26
26
|
|
|
27
27
|
# Failed delegations
|
|
28
|
-
jq 'select(.outcome == "failed")' customizations/logs/delegations.ndjson
|
|
28
|
+
jq 'select(.outcome == "failed")' .github/customizations/logs/delegations.ndjson
|
|
29
29
|
```
|
|
30
30
|
|
|
31
31
|
## Panel Review Performance
|
|
32
32
|
|
|
33
|
-
Panel review data is collected automatically via
|
|
33
|
+
Panel review data is collected automatically via `.github/customizations/logs/panels.ndjson` (appended by the panel runner after each review — see step 7 in the panel majority vote skill).
|
|
34
34
|
|
|
35
35
|
```bash
|
|
36
36
|
# Total panel reviews
|
|
37
|
-
wc -l customizations/logs/panels.ndjson
|
|
37
|
+
wc -l .github/customizations/logs/panels.ndjson
|
|
38
38
|
|
|
39
39
|
# Pass vs block rate
|
|
40
|
-
jq -r '.verdict' customizations/logs/panels.ndjson | sort | uniq -c
|
|
40
|
+
jq -r '.verdict' .github/customizations/logs/panels.ndjson | sort | uniq -c
|
|
41
41
|
|
|
42
42
|
# Reviews by panel key
|
|
43
|
-
jq -r '.panel_key' customizations/logs/panels.ndjson | sort | uniq -c | sort -rn
|
|
43
|
+
jq -r '.panel_key' .github/customizations/logs/panels.ndjson | sort | uniq -c | sort -rn
|
|
44
44
|
|
|
45
45
|
# Reviews that required retries (attempt > 1)
|
|
46
|
-
jq 'select(.attempt > 1)' customizations/logs/panels.ndjson
|
|
46
|
+
jq 'select(.attempt > 1)' .github/customizations/logs/panels.ndjson
|
|
47
47
|
|
|
48
48
|
# Average SHOULD-FIX items per review
|
|
49
|
-
jq -s 'if length > 0 then (map(.should_fix) | add) / length else 0 end' customizations/logs/panels.ndjson
|
|
49
|
+
jq -s 'if length > 0 then (map(.should_fix) | add) / length else 0 end' .github/customizations/logs/panels.ndjson
|
|
50
50
|
```
|
|
51
51
|
|
|
52
52
|
## Usage
|
|
@@ -33,7 +33,7 @@ Create a dispute record when **any** of these occur:
|
|
|
33
33
|
|-------|-------|
|
|
34
34
|
| **Date** | YYYY-MM-DD |
|
|
35
35
|
| **Priority** | `critical` / `high` / `medium` / `low` |
|
|
36
|
-
| **
|
|
36
|
+
| **Tracker Issue** | PRJ-XX |
|
|
37
37
|
| **Trigger** | `panel-3x-block` / `approach-conflict` / `criteria-conflict` / `architectural-ambiguity` / `external-dependency` |
|
|
38
38
|
| **Implementing Agent** | Agent name |
|
|
39
39
|
| **Reviewing Agent(s)** | Agent name(s) |
|
|
@@ -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: `.github/customizations/logs/panel/[panel-key].md`
|
|
89
|
+
- Review log entries: `.github/customizations/logs/reviews.ndjson` (filter by issue)
|
|
90
90
|
- Changed files: [list of files in the last attempt]
|
|
91
91
|
- DLQ entry (if any): `DLQ-XXX`
|
|
92
92
|
```
|
|
@@ -113,7 +113,7 @@ Links to evidence for human review:
|
|
|
113
113
|
│ Team Lead creates dispute record │
|
|
114
114
|
│ Status: pending │
|
|
115
115
|
│ Logs to disputes.ndjson │
|
|
116
|
-
│ Links to
|
|
116
|
+
│ Links to tracker issue │
|
|
117
117
|
└──────────────┬───────────────────────┘
|
|
118
118
|
│
|
|
119
119
|
▼
|
|
@@ -156,7 +156,7 @@ A dispute MAY reference a DLQ entry if the dispute escalated from a logged failu
|
|
|
156
156
|
|
|
157
157
|
## Index
|
|
158
158
|
|
|
159
|
-
| ID | Date | Priority | Trigger |
|
|
159
|
+
| ID | Date | Priority | Trigger | Tracker Issue | Status |
|
|
160
160
|
|----|------|----------|---------|-------------|--------|
|
|
161
161
|
|
|
162
162
|
````
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<!-- Populated by agents. Add known issues here during sessions. -->
|
|
2
|
+
|
|
3
|
+
# Known Issues
|
|
4
|
+
|
|
5
|
+
Tracked issues, limitations, and accepted risks discovered during agent sessions. Agents check this file before starting work to avoid known pitfalls, and update it when new issues are found or existing ones are resolved.
|
|
6
|
+
|
|
7
|
+
## How to Use
|
|
8
|
+
|
|
9
|
+
- **Before starting work:** Scan for entries relevant to your task area
|
|
10
|
+
- **When discovering an issue:** Add a new row with the next available ID
|
|
11
|
+
- **When fixing an issue:** Update the status to `Closed` and add the resolution date
|
|
12
|
+
|
|
13
|
+
## Issues
|
|
14
|
+
|
|
15
|
+
| Issue ID | Status | Severity | Summary | Evidence | Root Cause | Solution Options |
|
|
16
|
+
|----------|--------|----------|---------|----------|------------|------------------|
|
|
17
|
+
| KI-001 | Open | Medium | _Example: Description of the issue_ | _Link or description of where/how the issue manifests_ | _Why it happens_ | _Possible fixes or workarounds_ |
|
|
18
|
+
|
|
19
|
+
### Status Values
|
|
20
|
+
|
|
21
|
+
- **Open** — Issue is active and unresolved
|
|
22
|
+
- **Mitigated** — Workaround is in place but root cause remains
|
|
23
|
+
- **Closed** — Issue is fully resolved
|
|
24
|
+
|
|
25
|
+
### Severity Levels
|
|
26
|
+
|
|
27
|
+
- **Critical** — Blocks core functionality or causes data loss
|
|
28
|
+
- **High** — Significant impact on user experience or developer workflow
|
|
29
|
+
- **Medium** — Noticeable issue with a reasonable workaround
|
|
30
|
+
- **Low** — Minor inconvenience or cosmetic issue
|
|
@@ -29,7 +29,7 @@ Add a lesson when **any** of these occur:
|
|
|
29
29
|
|
|
30
30
|
| Field | Value |
|
|
31
31
|
|-------|-------|
|
|
32
|
-
| **Category** | `
|
|
32
|
+
| **Category** | `task-management` / `mcp-tools` / `codebase-tool` / `terminal` / `framework` / `cms` / `database` / `git` / `deployment` / `browser-testing` / `general` |
|
|
33
33
|
| **Added** | YYYY-MM-DD |
|
|
34
34
|
| **Severity** | `high` (blocks work) / `medium` (wastes 5+ min) / `low` (minor annoyance) |
|
|
35
35
|
|
|
@@ -55,15 +55,15 @@ Add a lesson when **any** of these occur:
|
|
|
55
55
|
|
|
56
56
|
| Category | Lessons |
|
|
57
57
|
|----------|---------|
|
|
58
|
-
| `
|
|
58
|
+
| `task-management` | — |
|
|
59
59
|
| `mcp-tools` | — |
|
|
60
|
-
| `
|
|
60
|
+
| `codebase-tool` | — |
|
|
61
61
|
| `terminal` | — |
|
|
62
|
-
| `
|
|
63
|
-
| `
|
|
64
|
-
| `
|
|
62
|
+
| `framework` | — |
|
|
63
|
+
| `cms` | — |
|
|
64
|
+
| `database` | — |
|
|
65
65
|
| `git` | — |
|
|
66
|
-
| `
|
|
66
|
+
| `deployment` | — |
|
|
67
67
|
| `browser-testing` | — |
|
|
68
68
|
| `general` | — |
|
|
69
69
|
|
|
@@ -14,6 +14,7 @@ Skills reference these files with relative links like `../../customizations/stac
|
|
|
14
14
|
|------|---------|
|
|
15
15
|
| `project.instructions.md` | High-level project context — apps, libraries, tech stack, ports, URLs |
|
|
16
16
|
| `LESSONS-LEARNED.md` | Knowledge base of retries, workarounds, and gotchas — read before every session |
|
|
17
|
+
| `KNOWN-ISSUES.md` | Tracked issues, limitations, and accepted risks discovered during sessions |
|
|
17
18
|
| `AGENT-FAILURES.md` | Dead letter queue for failed agent delegations |
|
|
18
19
|
| `AGENT-PERFORMANCE.md` | Agent success tracking, log query recipes, performance metrics |
|
|
19
20
|
| `AGENT-EXPERTISE.md` | Structured tracking of agent strengths/weaknesses across sessions |
|
|
@@ -36,7 +37,9 @@ Skills reference these files with relative links like `../../customizations/stac
|
|
|
36
37
|
|
|
37
38
|
| File | Purpose |
|
|
38
39
|
|------|---------|
|
|
39
|
-
| `docs-structure.md` |
|
|
40
|
+
| `docs-structure.md` | Project documentation directory tree and practices |
|
|
41
|
+
| `roadmap.md` | Project roadmap with planned features and their status |
|
|
42
|
+
| `decisions.md` | Architecture Decision Records (ADRs) for the project |
|
|
40
43
|
| _(task tracker config created by `bootstrap-customizations` prompt)_ | |
|
|
41
44
|
|
|
42
45
|
### `logs/` — Append-only NDJSON session logs
|
|
@@ -52,7 +55,7 @@ Structured machine-readable logs appended automatically by agents during session
|
|
|
52
55
|
|
|
53
56
|
## When to update
|
|
54
57
|
|
|
55
|
-
Update these files when the project changes — new tables, new API routes, new apps, new
|
|
58
|
+
Update these files when the project changes — new tables, new API routes, new apps, new tracker labels, etc. The skills themselves should rarely need editing; changing a project ID or adding a table column is a customization change, not a skill change.
|
|
56
59
|
|
|
57
60
|
## Bootstrap
|
|
58
61
|
|
|
@@ -11,7 +11,7 @@ Project-specific agent-to-model assignments and scope examples referenced by the
|
|
|
11
11
|
|-------|-------|------|----------|
|
|
12
12
|
| **Developer** | Gemini 3.1 Pro | Standard | Full-stack feature implementation, pages, components, routing, API routes |
|
|
13
13
|
| **Testing Expert** | GPT-5.3-Codex | Utility | E2E tests, browser validation, terminal-heavy test loops |
|
|
14
|
-
| **Content Engineer** | Gemini 3.1 Pro | Standard | CMS schema,
|
|
14
|
+
| **Content Engineer** | Gemini 3.1 Pro | Standard | CMS schema, content queries, MCP tool coordination |
|
|
15
15
|
| **Database Engineer** | Gemini 3.1 Pro | Standard | Migrations, RLS policies, SQL optimization |
|
|
16
16
|
| **UI/UX Expert** | Gemini 3.1 Pro | Standard | Components, styling, accessibility |
|
|
17
17
|
| **Performance Expert** | Gemini 3.1 Pro | Standard | Bundle size, Core Web Vitals, profiling |
|
|
@@ -41,7 +41,7 @@ Agent file Skill Matrix Skill file
|
|
|
41
41
|
| `database` | | | Schema, migrations, auth flow, roles |
|
|
42
42
|
| `cms` | | | Document types, queries, schema management |
|
|
43
43
|
| `deployment` | | | Hosting, cron jobs, env vars, caching, headers |
|
|
44
|
-
| `
|
|
44
|
+
| `codebase-tool` | | | Task running, building, linting, testing, code generation |
|
|
45
45
|
|
|
46
46
|
### Tooling
|
|
47
47
|
|
|
@@ -50,8 +50,7 @@ Agent file Skill Matrix Skill file
|
|
|
50
50
|
| `api-layer` | | | API routes, validation, search architecture |
|
|
51
51
|
| `data-pipeline` | | | ETL, scraping, data processing |
|
|
52
52
|
| `testing` | | | Unit/integration tests, coverage, test planning |
|
|
53
|
-
| `e2e-testing` | | | Browser automation, viewport testing, visual validation |
|
|
54
|
-
|
|
53
|
+
| `e2e-testing` | | | Browser automation, viewport testing, visual validation || `task-management` | | | Issue tracking, naming, priorities, workflow states |
|
|
55
54
|
### Disciplines
|
|
56
55
|
|
|
57
56
|
| Slot | Approach | Skill | Description |
|
|
@@ -77,14 +76,14 @@ Each row shows which capability slots an agent needs (resolved through this matr
|
|
|
77
76
|
| **Data Expert** | `data-pipeline` | — |
|
|
78
77
|
| **DevOps Expert** | `deployment` | — |
|
|
79
78
|
| **Performance Expert** | `performance` | — |
|
|
80
|
-
| **Architect** | `
|
|
79
|
+
| **Architect** | `codebase-tool` | `documentation-standards` |
|
|
81
80
|
| **Copywriter** | `cms` | `documentation-standards` |
|
|
82
81
|
| **SEO Specialist** | `framework`, `cms`, `seo` | — |
|
|
83
82
|
| **API Designer** | `api-layer`, `framework`, `security` | — |
|
|
84
|
-
| **Release Manager** | `
|
|
83
|
+
| **Release Manager** | `codebase-tool`, `deployment` | `validation-gates`, `documentation-standards` |
|
|
85
84
|
| **Documentation Writer** | — | `documentation-standards`, `code-commenting` |
|
|
86
85
|
| **Researcher** | — | `context-map`, `self-improvement` |
|
|
87
|
-
| **Team Lead** |
|
|
86
|
+
| **Team Lead** | `task-management` | `team-lead-reference`, `session-checkpoints`, `validation-gates`, `fast-review`, `panel-majority-vote`, `context-map`, `memory-merger`, `agent-hooks` |
|
|
88
87
|
|
|
89
88
|
¹ UI/UX Expert uses `e2e-testing` as a utility (viewport resize commands) — resolved through the matrix like other slots.
|
|
90
89
|
|
|
@@ -102,7 +101,7 @@ These are methodology/workflow skills — not tied to any technology. Referenced
|
|
|
102
101
|
| `code-commenting` | Self-documenting code patterns, annotation tags |
|
|
103
102
|
| `agent-hooks` | Agent lifecycle hooks (session-start, session-end, etc.) |
|
|
104
103
|
| `agent-memory` | Agent expertise tracking, cross-session knowledge graph |
|
|
105
|
-
| `task-management` |
|
|
104
|
+
| `task-management` | Issue tracking conventions, naming, priorities |
|
|
106
105
|
| `team-lead-reference` | Team Lead orchestration reference, model routing |
|
|
107
106
|
| `fast-review` | Mandatory single-reviewer gate after every delegation |
|
|
108
107
|
| `validation-gates` | Shared validation gate definitions (lint, test, build) |
|
|
@@ -131,6 +130,12 @@ These are methodology/workflow skills — not tied to any technology. Referenced
|
|
|
131
130
|
2. Update matrix: `testing` → `Vitest` / `vitest-workflow`
|
|
132
131
|
3. **No agent files change** — Testing Expert still references the `testing` slot
|
|
133
132
|
|
|
133
|
+
### Example: Linear → Jira
|
|
134
|
+
|
|
135
|
+
1. Skill already exists: `skills/jira-management/SKILL.md`
|
|
136
|
+
2. Update matrix: `task-management` → `Jira` / `jira-management`
|
|
137
|
+
3. **No agent files change** — Team Lead still references the `task-management` slot
|
|
138
|
+
|
|
134
139
|
## Design Principles
|
|
135
140
|
|
|
136
141
|
1. **Single source of truth** — Technology choices live here, not scattered across agent files
|
|
@@ -126,7 +126,7 @@ Append-only NDJSON logs for agent activity tracking. Each file stores one JSON o
|
|
|
126
126
|
"attempt": 1,
|
|
127
127
|
"linear_issue": "PRJ-57",
|
|
128
128
|
"artifacts_count": 14,
|
|
129
|
-
"report_path": "customizations/logs/panel/instruction-refactoring.md"
|
|
129
|
+
"report_path": ".github/customizations/logs/panel/instruction-refactoring.md"
|
|
130
130
|
}
|
|
131
131
|
```
|
|
132
132
|
|