opencastle 0.5.1 → 0.7.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 +5 -4
- 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 +31 -4
- package/dist/cli/adapters/claude-code.js.map +1 -1
- package/dist/cli/adapters/cursor.d.ts +2 -2
- package/dist/cli/adapters/cursor.d.ts.map +1 -1
- package/dist/cli/adapters/cursor.js +28 -4
- 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 +2 -2
- package/dist/cli/adapters/vscode.d.ts.map +1 -1
- package/dist/cli/adapters/vscode.js +38 -7
- 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 +18 -0
- package/dist/cli/detect.d.ts.map +1 -0
- package/dist/cli/detect.js +434 -0
- package/dist/cli/detect.js.map +1 -0
- package/dist/cli/gitignore.d.ts.map +1 -1
- package/dist/cli/gitignore.js +0 -2
- package/dist/cli/gitignore.js.map +1 -1
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +154 -91
- 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 +105 -34
- package/dist/cli/mcp.js.map +1 -1
- package/dist/cli/prompt.d.ts +22 -0
- package/dist/cli/prompt.d.ts.map +1 -1
- package/dist/cli/prompt.js +239 -0
- package/dist/cli/prompt.js.map +1 -1
- package/dist/cli/stack-config.d.ts +26 -3
- package/dist/cli/stack-config.d.ts.map +1 -1
- package/dist/cli/stack-config.js +140 -125
- package/dist/cli/stack-config.js.map +1 -1
- package/dist/cli/types.d.ts +46 -10
- 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 +66 -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 +40 -6
- package/src/cli/adapters/cursor.ts +46 -6
- package/src/cli/adapters/opencode.ts +320 -0
- package/src/cli/adapters/vscode.ts +43 -9
- package/src/cli/copy.ts +32 -0
- package/src/cli/detect.ts +483 -0
- package/src/cli/gitignore.ts +0 -3
- package/src/cli/init.ts +169 -96
- package/src/cli/manifest.ts +2 -1
- package/src/cli/mcp.ts +131 -51
- package/src/cli/prompt.ts +299 -0
- package/src/cli/stack-config.ts +187 -145
- package/src/cli/types.ts +60 -9
- package/src/cli/update.ts +78 -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 +10 -10
- 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 +2 -2
- package/src/orchestrator/agents/architect.agent.md +2 -2
- package/src/orchestrator/agents/content-engineer.agent.md +4 -4
- 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 +4 -4
- package/src/orchestrator/agents/developer.agent.md +5 -5
- 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 +3 -3
- package/src/orchestrator/agents/release-manager.agent.md +4 -4
- package/src/orchestrator/agents/researcher.agent.md +19 -3
- package/src/orchestrator/agents/reviewer.agent.md +2 -4
- 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 +97 -101
- package/src/orchestrator/agents/testing-expert.agent.md +5 -5
- package/src/orchestrator/agents/ui-ux-expert.agent.md +7 -7
- 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 +59 -12
- package/src/orchestrator/prompts/brainstorm.prompt.md +3 -3
- package/src/orchestrator/prompts/bug-fix.prompt.md +18 -18
- 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 +26 -26
- package/src/orchestrator/prompts/metrics-report.prompt.md +11 -11
- package/src/orchestrator/prompts/quick-refinement.prompt.md +16 -16
- package/src/orchestrator/prompts/resolve-pr-comments.prompt.md +2 -2
- 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 +3 -3
- 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 +8 -15
- package/src/orchestrator/mcp.json +0 -61
|
@@ -3,26 +3,26 @@ name: security-hardening
|
|
|
3
3
|
description: "Security architecture including authentication, authorization, RLS policies, security headers, CSP, input validation, API security, and OAuth patterns. Use when implementing auth flows, writing RLS policies, configuring security headers, validating inputs, or auditing security."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the customizations/ directory instead. -->
|
|
6
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .github/customizations/ directory instead. -->
|
|
7
7
|
|
|
8
8
|
# Security Hardening
|
|
9
9
|
|
|
10
10
|
## Security Architecture
|
|
11
11
|
|
|
12
12
|
```
|
|
13
|
-
|
|
14
|
-
→ Security Headers (
|
|
15
|
-
→ Middleware (
|
|
16
|
-
→ Server Actions (
|
|
13
|
+
Edge Network (WAF, DDoS)
|
|
14
|
+
→ Security Headers (framework config: HSTS, CSP, X-Frame-Options)
|
|
15
|
+
→ Middleware (session refresh)
|
|
16
|
+
→ Server Actions (Auth: CSRF protection)
|
|
17
17
|
→ RLS Policies (row-level authorization)
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
-
| Layer |
|
|
21
|
-
|
|
22
|
-
| Edge |
|
|
23
|
-
| Headers |
|
|
24
|
-
| Middleware |
|
|
25
|
-
| Server Actions |
|
|
20
|
+
| Layer | Role | Protection |
|
|
21
|
+
|-------|------|------------|
|
|
22
|
+
| Edge | WAF / CDN | DDoS, bot detection |
|
|
23
|
+
| Headers | Framework config | HSTS, CSP, XSS protection |
|
|
24
|
+
| Middleware | Proxy / middleware layer | Session management |
|
|
25
|
+
| Server Actions | Auth provider | Authentication, CSRF |
|
|
26
26
|
| Database | RLS Policies | Row-level authorization |
|
|
27
27
|
| API Routes | CRON_SECRET | Cron job authorization |
|
|
28
28
|
| Input | Zod | Schema validation |
|
|
@@ -30,38 +30,38 @@ Vercel Edge Network (WAF, DDoS)
|
|
|
30
30
|
|
|
31
31
|
## Authentication
|
|
32
32
|
|
|
33
|
-
**Platform:**
|
|
33
|
+
**Platform:** Auth provider with Server Actions pattern. Resolve specific auth library and configuration via the **database** capability slot in the skill matrix.
|
|
34
34
|
|
|
35
35
|
- **Server Actions** for sign in/up/out, session management.
|
|
36
36
|
- **Middleware** for session refresh, protected routes.
|
|
37
|
-
- **RLS Policies** in
|
|
38
|
-
- **OAuth providers:**
|
|
39
|
-
- **User roles:**
|
|
40
|
-
- **Key auth files:**
|
|
37
|
+
- **RLS Policies** in the database.
|
|
38
|
+
- **OAuth providers:** Configured in the auth provider's dashboard.
|
|
39
|
+
- **User roles:** Stored in the user profiles table (e.g., `profiles.roles TEXT[]`).
|
|
40
|
+
- **Key auth files:** Resolve via project-specific customization files.
|
|
41
41
|
- **Cron authorization:** `CRON_SECRET` env var, `Bearer` token in `authorization` header
|
|
42
42
|
|
|
43
43
|
### Server Actions Pattern Benefits
|
|
44
44
|
|
|
45
|
-
- Automatic CSRF protection (
|
|
45
|
+
- Automatic CSRF protection (POST-only Server Actions).
|
|
46
46
|
- No exposed API endpoints for auth.
|
|
47
47
|
- Server-side session management.
|
|
48
48
|
|
|
49
49
|
### Session Management
|
|
50
50
|
|
|
51
|
-
- HTTP-only cookies (
|
|
51
|
+
- HTTP-only cookies (auth client managed).
|
|
52
52
|
- Automatic refresh via middleware (`updateSession()`).
|
|
53
53
|
- Sign out clears cookie and invalidates session.
|
|
54
54
|
|
|
55
55
|
## Content Security Policy
|
|
56
56
|
|
|
57
|
-
### Allowed External Domains (
|
|
57
|
+
### Allowed External Domains (framework config)
|
|
58
58
|
|
|
59
59
|
| Purpose | Domains |
|
|
60
60
|
|---------|--------|
|
|
61
|
-
| Scripts |
|
|
62
|
-
| Styles |
|
|
63
|
-
| Fonts |
|
|
64
|
-
| Frames |
|
|
61
|
+
| Scripts | Project-specific — see deployment customization |
|
|
62
|
+
| Styles | Project-specific — see deployment customization |
|
|
63
|
+
| Fonts | Project-specific — see deployment customization |
|
|
64
|
+
| Frames | Project-specific — see deployment customization |
|
|
65
65
|
|
|
66
66
|
### Directives
|
|
67
67
|
|
|
@@ -72,11 +72,11 @@ General CSP directives follow the principle of least privilege:
|
|
|
72
72
|
- `frame-ancestors 'self'` — prevent clickjacking.
|
|
73
73
|
- `upgrade-insecure-requests` — enforce HTTPS.
|
|
74
74
|
|
|
75
|
-
**Known weaknesses:** `'unsafe-inline'` and `'unsafe-eval'` in script-src (required for
|
|
75
|
+
**Known weaknesses:** `'unsafe-inline'` and `'unsafe-eval'` in script-src (may be required for framework dev mode). Consider nonces/hashes for production inline scripts.
|
|
76
76
|
|
|
77
77
|
## RLS Policy Patterns
|
|
78
78
|
|
|
79
|
-
> **Detailed RLS patterns and SQL examples:** See the **
|
|
79
|
+
> **Detailed RLS patterns and SQL examples:** See the **database** skill (resolved via skill matrix), which is the authoritative source for RLS policies, role systems, and migration rules.
|
|
80
80
|
|
|
81
81
|
### Best Practices
|
|
82
82
|
|
|
@@ -111,10 +111,10 @@ export async function GET(request: NextRequest) {
|
|
|
111
111
|
|
|
112
112
|
## Critical Rules
|
|
113
113
|
|
|
114
|
-
1. Never commit secrets — use
|
|
114
|
+
1. Never commit secrets — use deployment platform environment variables.
|
|
115
115
|
2. Always use Server Actions for auth operations.
|
|
116
116
|
3. Enable RLS on all tables — default-deny, explicit-allow.
|
|
117
117
|
4. Validate all inputs with Zod before database operations.
|
|
118
118
|
5. Sanitize user content — escape HTML in reviews/descriptions.
|
|
119
|
-
6. Parameterized queries (
|
|
119
|
+
6. Parameterized queries (database client handles automatically).
|
|
120
120
|
7. Rotate secrets regularly (quarterly).
|
|
@@ -3,7 +3,7 @@ name: self-improvement
|
|
|
3
3
|
description: "Protocol for reading and updating the lessons-learned knowledge base. MUST be followed by ALL agents — read lessons before work, write lessons after retries. This makes the agent team self-improving across sessions."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the customizations/ directory instead. -->
|
|
6
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .github/customizations/ directory instead. -->
|
|
7
7
|
|
|
8
8
|
# Self-Improvement Protocol
|
|
9
9
|
|
|
@@ -44,7 +44,7 @@ A lesson MUST be written when **any** of these triggers occur:
|
|
|
44
44
|
|
|
45
45
|
1. If you wrote any new lessons during execution, **update the Index by Category table** at the bottom of `.github/customizations/LESSONS-LEARNED.md` to include the new lesson IDs.
|
|
46
46
|
|
|
47
|
-
2. **Log the session** — append one JSON line to `.github/customizations/logs/sessions.ndjson` with: `timestamp`, `agent`, `model`, `task`, `
|
|
47
|
+
2. **Log the session** — append one JSON line to `.github/customizations/logs/sessions.ndjson` with: `timestamp`, `agent`, `model`, `task`, `tracker_issue`, `outcome` (success/partial/failed), `files_changed`, `retries`, `lessons_added`, `discoveries`. See `.github/customizations/logs/README.md` for the full schema.
|
|
48
48
|
|
|
49
49
|
```bash
|
|
50
50
|
echo '{"timestamp":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","agent":"Agent Name","model":"model-id","task":"Short description","outcome":"success","files_changed":N,"retries":0}' >> .github/customizations/logs/sessions.ndjson
|
|
@@ -89,24 +89,25 @@ Add the lesson ID to the appropriate category row in the `## Index by Category`
|
|
|
89
89
|
If the lesson reveals a gap in existing instruction/skill files, **also update those files** to include the correct approach. This prevents the pitfall at the source level, not just as a retroactive note.
|
|
90
90
|
|
|
91
91
|
Examples:
|
|
92
|
-
- Lesson about
|
|
93
|
-
- Lesson about
|
|
94
|
-
- Lesson about
|
|
95
|
-
- Lesson about browser testing → update `
|
|
92
|
+
- Lesson about task tracker tools → update the skill mapped by the `task-management` slot in the skill matrix
|
|
93
|
+
- Lesson about codebase-tool commands → update the skill mapped by the `codebase-tool` slot in the skill matrix
|
|
94
|
+
- Lesson about CMS queries → update the skill mapped by the `cms` slot in the skill matrix
|
|
95
|
+
- Lesson about browser testing → update the skill mapped by the `e2e-testing` slot in the skill matrix
|
|
96
96
|
|
|
97
97
|
## Categories
|
|
98
98
|
|
|
99
99
|
| Category | Covers |
|
|
100
100
|
|----------|--------|
|
|
101
|
-
| `
|
|
101
|
+
| `task-management` | Task tracker tools, issue management, workflow states |
|
|
102
|
+
| `jira` | Jira MCP tools (Atlassian Rovo), issue management, workflows |
|
|
102
103
|
| `mcp-tools` | Any MCP server tool quirks (deferred loading, parameters) |
|
|
103
|
-
| `
|
|
104
|
+
| `codebase-tool` | Task runner CLI commands, caching, build tools |
|
|
104
105
|
| `terminal` | Shell commands, port management, process management |
|
|
105
|
-
| `
|
|
106
|
-
| `
|
|
107
|
-
| `
|
|
106
|
+
| `framework` | App framework, build, dev server, SSR |
|
|
107
|
+
| `cms` | CMS content queries, schema deployment |
|
|
108
|
+
| `database` | Database auth, migrations, RLS, SQL |
|
|
108
109
|
| `git` | Git operations, branching, merge conflicts |
|
|
109
|
-
| `
|
|
110
|
+
| `deployment` | Deployment, environment variables, edge config |
|
|
110
111
|
| `browser-testing` | E2E testing, screenshots, browser automation |
|
|
111
112
|
| `general` | Anything that doesn't fit above |
|
|
112
113
|
|
|
@@ -130,7 +131,7 @@ Examples:
|
|
|
130
131
|
|
|
131
132
|
- **Never skip reading lessons** before starting work — this is the #1 cause of repeated mistakes
|
|
132
133
|
- **Never "fix it and move on"** without documenting — your fix dies with your session
|
|
133
|
-
- **Never write vague lessons** like "
|
|
134
|
+
- **Never write vague lessons** like "the tracker is tricky" — be specific about what fails and what works
|
|
134
135
|
- **Never duplicate existing lessons** — check the index first
|
|
135
136
|
- **Never wait until the end of a session** to write lessons — write them immediately when the retry succeeds
|
|
136
137
|
|
|
@@ -3,7 +3,7 @@ name: seo-patterns
|
|
|
3
3
|
description: "Technical SEO patterns for meta tags, structured data, sitemaps, URL strategy, and rendering. Use when optimizing pages for search engines or implementing SEO features."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the customizations/ directory instead. -->
|
|
6
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .github/customizations/ directory instead. -->
|
|
7
7
|
|
|
8
8
|
# SEO Patterns
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@ name: session-checkpoints
|
|
|
3
3
|
description: "Protocol for saving and restoring session state across agent sessions. Enables replay, fork, and resume of interrupted work — inspired by Sandcastle Run Time Machine."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the customizations/ directory instead. -->
|
|
6
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .github/customizations/ directory instead. -->
|
|
7
7
|
|
|
8
8
|
# Skill: Session Checkpoints
|
|
9
9
|
|
|
@@ -21,7 +21,7 @@ Create a checkpoint:
|
|
|
21
21
|
|
|
22
22
|
## Checkpoint Format
|
|
23
23
|
|
|
24
|
-
Create or update the file
|
|
24
|
+
Create or update the file `.github/customizations/SESSION-CHECKPOINT.md` with this structure:
|
|
25
25
|
|
|
26
26
|
```markdown
|
|
27
27
|
# Session Checkpoint
|
|
@@ -29,7 +29,7 @@ Create or update the file `docs/SESSION-CHECKPOINT.md` with this structure:
|
|
|
29
29
|
**Last Updated:** YYYY-MM-DD HH:MM
|
|
30
30
|
**Feature:** Short feature name
|
|
31
31
|
**Branch:** git branch name
|
|
32
|
-
**
|
|
32
|
+
**Tracker Issues:** TAS-XX, TAS-YY, TAS-ZZ
|
|
33
33
|
|
|
34
34
|
## Current Phase
|
|
35
35
|
|
|
@@ -37,21 +37,21 @@ Phase N of M — Brief description of what this phase does
|
|
|
37
37
|
|
|
38
38
|
## Completed Work
|
|
39
39
|
|
|
40
|
-
| Task |
|
|
41
|
-
|
|
40
|
+
| Task | Tracker | Agent | Status | Files |
|
|
41
|
+
|------|---------|-------|--------|-------|
|
|
42
42
|
| Description | TAS-XX | Agent Name | ✅ Done | file1.ts, file2.ts |
|
|
43
43
|
| Description | TAS-YY | Agent Name | ✅ Done | file3.ts |
|
|
44
44
|
|
|
45
45
|
## In Progress
|
|
46
46
|
|
|
47
|
-
| Task |
|
|
48
|
-
|
|
47
|
+
| Task | Tracker | Agent | Status | Notes |
|
|
48
|
+
|------|---------|-------|--------|-------|
|
|
49
49
|
| Description | TAS-ZZ | Agent Name | 🔄 In Progress | What's been done so far |
|
|
50
50
|
|
|
51
51
|
## Remaining Work
|
|
52
52
|
|
|
53
|
-
| Task |
|
|
54
|
-
|
|
53
|
+
| Task | Tracker | Agent | Dependencies | Files |
|
|
54
|
+
|------|---------|-------|-------------|-------|
|
|
55
55
|
| Description | TAS-AA | Agent Name | TAS-ZZ | file4.ts, file5.ts |
|
|
56
56
|
|
|
57
57
|
## Pending Approvals
|
|
@@ -80,7 +80,7 @@ the row from this table — the approval was already resolved.
|
|
|
80
80
|
|
|
81
81
|
Track each delegation to monitor budget and optimize future model assignments:
|
|
82
82
|
|
|
83
|
-
| # | Agent |
|
|
83
|
+
| # | Agent | Tracker | Model Tier | Est. Tokens | Duration | Status |
|
|
84
84
|
|---|-------|--------|------------|-------------|----------|--------|
|
|
85
85
|
| 1 | Content Engineer | TAS-XX | Standard | ~20K | 8 min | ✅ Done |
|
|
86
86
|
| 2 | DB Engineer | TAS-YY | Standard | ~25K | 12 min | ✅ Done |
|
|
@@ -93,7 +93,7 @@ Track each delegation to monitor budget and optimize future model assignments:
|
|
|
93
93
|
```
|
|
94
94
|
Agent A: dir1/, dir2/
|
|
95
95
|
Agent B: dir3/, dir4/
|
|
96
|
-
Agent C:
|
|
96
|
+
Agent C: .github/customizations/
|
|
97
97
|
```
|
|
98
98
|
|
|
99
99
|
## Resume Instructions
|
|
@@ -101,7 +101,7 @@ Agent C: docs/
|
|
|
101
101
|
Step-by-step instructions for a new session to pick up where this one left off:
|
|
102
102
|
|
|
103
103
|
1. Check out branch `feat/xxx`
|
|
104
|
-
2. Read
|
|
104
|
+
2. Read tracker issues TAS-XX, TAS-YY for context
|
|
105
105
|
3. Start Phase N+1: [specific instructions]
|
|
106
106
|
```
|
|
107
107
|
|
|
@@ -109,9 +109,9 @@ Step-by-step instructions for a new session to pick up where this one left off:
|
|
|
109
109
|
|
|
110
110
|
When starting a new session:
|
|
111
111
|
|
|
112
|
-
1. **Check for checkpoint** — Read
|
|
112
|
+
1. **Check for checkpoint** — Read `.github/customizations/SESSION-CHECKPOINT.md` if it exists
|
|
113
113
|
2. **Verify state** — Run `git status`, check branch, verify files match checkpoint
|
|
114
|
-
3. **Check
|
|
114
|
+
3. **Check tracker** — List in-progress and todo issues for current feature
|
|
115
115
|
4. **Follow resume instructions** — Execute the specific steps listed in the checkpoint
|
|
116
116
|
5. **Update checkpoint** — After resuming, update the checkpoint with current progress
|
|
117
117
|
|
|
@@ -137,10 +137,10 @@ When a checkpoint reveals multiple possible paths forward, document them as fork
|
|
|
137
137
|
|
|
138
138
|
## Cleanup
|
|
139
139
|
|
|
140
|
-
After a feature is fully complete (all
|
|
140
|
+
After a feature is fully complete (all tracker issues Done):
|
|
141
141
|
|
|
142
|
-
1. Archive the checkpoint content to the relevant
|
|
143
|
-
2. Delete
|
|
142
|
+
1. Archive the checkpoint content to the relevant tracker issue comments
|
|
143
|
+
2. Delete `.github/customizations/SESSION-CHECKPOINT.md` to keep the workspace clean
|
|
144
144
|
3. The next feature starts with a fresh checkpoint
|
|
145
145
|
|
|
146
146
|
## Integration with Team Lead
|
|
@@ -169,7 +169,7 @@ Add a `## Step Output Log` section to the checkpoint file:
|
|
|
169
169
|
|
|
170
170
|
### Step 1: [Short description]
|
|
171
171
|
- **Agent:** [Agent Name]
|
|
172
|
-
- **
|
|
172
|
+
- **Tracker:** TAS-XX
|
|
173
173
|
- **Status:** ✅ Completed
|
|
174
174
|
- **Duration:** ~X minutes
|
|
175
175
|
- **Key Outputs:**
|
|
@@ -180,7 +180,7 @@ Add a `## Step Output Log` section to the checkpoint file:
|
|
|
180
180
|
|
|
181
181
|
### Step 2: [Short description]
|
|
182
182
|
- **Agent:** [Agent Name]
|
|
183
|
-
- **
|
|
183
|
+
- **Tracker:** TAS-YY
|
|
184
184
|
- **Status:** ❌ Failed (attempt 1)
|
|
185
185
|
- **Error:** [Specific error message or failure reason]
|
|
186
186
|
- **Cached Context from Step 1:** [Reference what Step 1 produced]
|
|
@@ -3,7 +3,7 @@ name: team-lead-reference
|
|
|
3
3
|
description: "Reference data for Team Lead orchestration — model routing, pre-delegation checks, cost tracking template, and DLQ format. Load when starting a delegation session."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the customizations/ directory instead. -->
|
|
6
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .github/customizations/ directory instead. -->
|
|
7
7
|
|
|
8
8
|
# Team Lead Reference
|
|
9
9
|
|
|
@@ -49,7 +49,7 @@ During decomposition, assign a **complexity score** (Fibonacci: 1, 2, 3, 5, 8, 1
|
|
|
49
49
|
| Score | Tier | Examples |
|
|
50
50
|
|-------|------|----------|
|
|
51
51
|
| **1-2** | Economy/Utility | Docs update, config tweak, rename, simple test |
|
|
52
|
-
| **3-5** | Standard | Component build,
|
|
52
|
+
| **3-5** | Standard | Component build, CMS query, API route, migration |
|
|
53
53
|
| **8** | Premium | Architecture decision, security audit, complex refactor |
|
|
54
54
|
| **13** | Premium + Panel | DB migration with data transform, auth flow redesign |
|
|
55
55
|
|
|
@@ -117,7 +117,7 @@ Run these validation checks **before** delegating any subtask. Non-negotiable ga
|
|
|
117
117
|
|
|
118
118
|
### Mandatory Checks (before every delegation)
|
|
119
119
|
|
|
120
|
-
1. **
|
|
120
|
+
1. **Tracker issue exists** — The subtask has a tracked issue with acceptance criteria
|
|
121
121
|
2. **File partition is clean** — No overlap with other active/parallel agents
|
|
122
122
|
3. **Dependencies are met** — All prerequisite tasks are verified Done (not just claimed done)
|
|
123
123
|
4. **Prompt is specific** — Contains: objective, file paths, acceptance criteria, patterns to follow
|
|
@@ -140,7 +140,7 @@ Before calling `runSubagent` or handing off to a background agent, mentally walk
|
|
|
140
140
|
|
|
141
141
|
## Cost Tracking Convention
|
|
142
142
|
|
|
143
|
-
After completing a feature (all
|
|
143
|
+
After completing a feature (all tracker issues Done), add a cost summary to the roadmap update:
|
|
144
144
|
|
|
145
145
|
```markdown
|
|
146
146
|
**Cost Summary:**
|
|
@@ -165,11 +165,11 @@ When collecting results from multiple sub-agents or background agents, **tag eac
|
|
|
165
165
|
```markdown
|
|
166
166
|
### [Content Engineer] TAS-42 Schema
|
|
167
167
|
- Created `schemas/review.ts` with star rating field
|
|
168
|
-
- Deployed to
|
|
168
|
+
- Deployed to CMS studio
|
|
169
169
|
- Verification: lint ✅, type-check ✅
|
|
170
170
|
|
|
171
171
|
### [DB Engineer] TAS-43 Migration
|
|
172
|
-
- Created
|
|
172
|
+
- Created migration file for reviews table
|
|
173
173
|
- RLS policies for authenticated users
|
|
174
174
|
- Verification: migration applied ✅, tests ✅
|
|
175
175
|
```
|
|
@@ -200,7 +200,7 @@ Log to `.github/customizations/AGENT-FAILURES.md` when:
|
|
|
200
200
|
|-------|-------|
|
|
201
201
|
| **Date** | YYYY-MM-DD |
|
|
202
202
|
| **Agent** | Agent name |
|
|
203
|
-
| **
|
|
203
|
+
| **Tracker Issue** | TAS-XX (if applicable) |
|
|
204
204
|
| **Failure Type** | `verification-fail` / `tool-error` / `panel-block` / `timeout` / `scope-creep` |
|
|
205
205
|
| **Attempts** | Number of attempts before logging |
|
|
206
206
|
| **Est. Tokens Spent** | ~XXK across all attempts |
|
|
@@ -289,7 +289,7 @@ When automated resolution is exhausted (panel 3x BLOCK, approach conflicts, or c
|
|
|
289
289
|
6. **Recommend an action** — Which option the Team Lead thinks is best, with specific next steps
|
|
290
290
|
7. **Link artifacts** — Panel reports, review logs, changed files, DLQ entries
|
|
291
291
|
8. **Log to disputes.ndjson** — Append a machine-readable record (see logs README)
|
|
292
|
-
9. **Update the
|
|
292
|
+
9. **Update the tracker issue** — Add the dispute ID and link to the dispute record
|
|
293
293
|
10. **Update the Index table** — Add the new dispute to the bottom of the Index
|
|
294
294
|
|
|
295
295
|
### After Human Resolution
|
|
@@ -298,7 +298,7 @@ When a human resolves a dispute:
|
|
|
298
298
|
1. Update the dispute `Status` → `resolved` or `deferred`
|
|
299
299
|
2. Record which option was chosen and any additional instructions
|
|
300
300
|
3. If `resolved` → re-delegate the task with the human's decision as an explicit constraint
|
|
301
|
-
4. If `deferred` → create a follow-up
|
|
301
|
+
4. If `deferred` → create a follow-up tracker issue and continue with other work
|
|
302
302
|
5. Log the resolution in `disputes.ndjson` (update the existing record or append a resolution event)
|
|
303
303
|
|
|
304
304
|
### Session Start: Check Disputes
|
|
@@ -3,7 +3,7 @@ name: testing-workflow
|
|
|
3
3
|
description: "Comprehensive testing workflow including test planning, unit/integration/E2E testing patterns, coverage requirements, and common testing mistakes. Use when writing tests, planning test strategies, or validating feature completeness."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the customizations/ directory instead. -->
|
|
6
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .github/customizations/ directory instead. -->
|
|
7
7
|
|
|
8
8
|
# Testing Workflow
|
|
9
9
|
|
|
@@ -11,7 +11,7 @@ description: "Comprehensive testing workflow including test planning, unit/integ
|
|
|
11
11
|
|
|
12
12
|
- Test implementations thoroughly before claiming completion.
|
|
13
13
|
- Every feature must be validated through comprehensive testing covering happy paths, edge cases, error conditions, and user interactions.
|
|
14
|
-
- **Mandatory**: Every feature implementation must be tested in the browser using
|
|
14
|
+
- **Mandatory**: Every feature implementation must be tested in the browser using the project's E2E testing tool (resolved via the **e2e-testing** capability slot) before marking as complete.
|
|
15
15
|
|
|
16
16
|
## E2E Testing Context Management
|
|
17
17
|
|
|
@@ -22,11 +22,11 @@ description: "Comprehensive testing workflow including test planning, unit/integ
|
|
|
22
22
|
2. **MAX 3 screenshots** per session.
|
|
23
23
|
3. **Use `evaluate_script()` over `take_snapshot()`** — returns less data.
|
|
24
24
|
4. **Reload between major test flows** to clear state.
|
|
25
|
-
5. **Log results separately** — append to
|
|
25
|
+
5. **Log results separately** — append to `.github/customizations/logs/e2e-results.md`.
|
|
26
26
|
|
|
27
27
|
### Suite Files
|
|
28
28
|
|
|
29
|
-
See
|
|
29
|
+
See `.github/customizations/project.instructions.md` for the full list of E2E test suite files.
|
|
30
30
|
|
|
31
31
|
## Pre-Implementation Test Plan
|
|
32
32
|
|
|
@@ -66,11 +66,11 @@ Before implementing any feature, create a plan covering:
|
|
|
66
66
|
|
|
67
67
|
> **Detailed breakpoint definitions, resize commands, and per-breakpoint checklists:** See the **browser-testing** skill. The **validation-gates** skill (Gate 3) defines the mandatory testing protocol.
|
|
68
68
|
|
|
69
|
-
**Anti-pattern:** Testing only at desktop (or only at the default browser width) and assuming responsive classes work.
|
|
69
|
+
**Anti-pattern:** Testing only at desktop (or only at the default browser width) and assuming responsive classes work. CSS utility classes can be incorrect — always verify visually at every breakpoint.
|
|
70
70
|
|
|
71
71
|
## Coverage Requirements
|
|
72
72
|
|
|
73
|
-
### Unit Tests
|
|
73
|
+
### Unit Tests
|
|
74
74
|
- **Minimum 95% coverage** for all new code.
|
|
75
75
|
- All exported functions, React components, custom hooks.
|
|
76
76
|
- Edge cases and error conditions. Input validation.
|
|
@@ -110,7 +110,7 @@ After completing any feature:
|
|
|
110
110
|
|
|
111
111
|
1. Start dev server (see `project.instructions.md` for app/port details).
|
|
112
112
|
2. Open browser to the dev URL.
|
|
113
|
-
3. Test all critical user flows with
|
|
113
|
+
3. Test all critical user flows with the project's E2E testing tool (see the **e2e-testing** skill).
|
|
114
114
|
4. Test edge cases (empty results, max/min values, errors).
|
|
115
115
|
5. Document results with screenshots.
|
|
116
116
|
|
|
@@ -128,9 +128,9 @@ After completing any feature:
|
|
|
128
128
|
|
|
129
129
|
## Commands
|
|
130
130
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
131
|
+
Resolve exact test commands via the **codebase-tool** skill. Common tasks:
|
|
132
|
+
|
|
133
|
+
- Run project tests
|
|
134
|
+
- Run with coverage
|
|
135
|
+
- Update snapshots
|
|
136
|
+
- Run affected tests only
|
|
@@ -3,7 +3,7 @@ name: validation-gates
|
|
|
3
3
|
description: "Shared validation gates for all orchestration workflows — deterministic checks, browser testing, cache management, regression checks. Referenced by prompt templates to maintain single source of truth."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the customizations/ directory instead. -->
|
|
6
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .github/customizations/ directory instead. -->
|
|
7
7
|
|
|
8
8
|
# Validation Gates
|
|
9
9
|
|
|
@@ -11,13 +11,11 @@ Canonical reference for validation gates shared across all orchestration workflo
|
|
|
11
11
|
|
|
12
12
|
## Gate 1: Deterministic Checks
|
|
13
13
|
|
|
14
|
-
Run for every affected
|
|
14
|
+
Run for every affected project (resolve exact commands via the **codebase-tool** skill):
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
yarn nx run <project>:build
|
|
20
|
-
```
|
|
16
|
+
- **Lint** (with auto-fix)
|
|
17
|
+
- **Test**
|
|
18
|
+
- **Build**
|
|
21
19
|
|
|
22
20
|
All must pass with zero errors. Run for **every** project that consumed modified files, not just the primary project.
|
|
23
21
|
|
|
@@ -43,18 +41,13 @@ The reviewer validates: acceptance criteria met, file partition respected, no re
|
|
|
43
41
|
|
|
44
42
|
**Always clear before testing.** Testing stale code wastes time and produces false results.
|
|
45
43
|
|
|
46
|
-
|
|
47
|
-
rm -rf apps/<app>/.next
|
|
48
|
-
yarn nx reset
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
Run these commands before starting the dev server for browser testing.
|
|
44
|
+
Clear framework caches and task runner caches before starting the dev server for browser testing. See the **codebase-tool** skill for cache-clearing commands.
|
|
52
45
|
|
|
53
46
|
## Gate 3: Browser Testing (MANDATORY for UI Changes)
|
|
54
47
|
|
|
55
48
|
> **HARD GATE:** A task with UI changes is NOT done until you have screenshots in Chrome proving the feature works. "The code looks correct" is not proof. "Tests pass" is not proof. Only a screenshot of the working UI in Chrome is proof.
|
|
56
49
|
|
|
57
|
-
1. **Start the dev server** —
|
|
50
|
+
1. **Start the dev server** — use the project's serve command (see the **codebase-tool** skill) — wait for it to be ready
|
|
58
51
|
2. **Navigate to affected pages** — Verify the new feature renders correctly
|
|
59
52
|
3. **Verify SPECIFIC features** — Check every feature listed in the acceptance criteria. If the criteria say "icons, groups, and AND/OR toggle", you must see all three in the browser
|
|
60
53
|
4. **Test interactions** — Click buttons, fill forms, toggle filters, submit data
|
|
@@ -92,7 +85,7 @@ Use this checklist for any orchestration workflow:
|
|
|
92
85
|
|
|
93
86
|
- [ ] Lint, test, and build pass for all affected projects
|
|
94
87
|
- [ ] **Fast review passed** (mandatory — load **fast-review** skill)
|
|
95
|
-
- [ ] Dev server started with **clean cache** (
|
|
88
|
+
- [ ] Dev server started with **clean cache** (clear framework + task runner caches — see the **codebase-tool** skill)
|
|
96
89
|
- [ ] UI changes verified in Chrome with screenshots at all breakpoints
|
|
97
90
|
- [ ] Every acceptance criteria item visually confirmed — not just "page loads"
|
|
98
91
|
- [ ] No regressions in adjacent functionality
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"servers": {
|
|
3
|
-
"Sanity": {
|
|
4
|
-
"url": "https://mcp.sanity.io",
|
|
5
|
-
"type": "http"
|
|
6
|
-
},
|
|
7
|
-
"Contentful": {
|
|
8
|
-
"url": "https://mcp.contentful.com/sse",
|
|
9
|
-
"type": "http"
|
|
10
|
-
},
|
|
11
|
-
"Strapi": {
|
|
12
|
-
"command": "npx",
|
|
13
|
-
"args": ["-y", "@strapi/mcp-server"],
|
|
14
|
-
"type": "stdio"
|
|
15
|
-
},
|
|
16
|
-
"Vercel": {
|
|
17
|
-
"url": "https://mcp.vercel.com",
|
|
18
|
-
"type": "http"
|
|
19
|
-
},
|
|
20
|
-
"Supabase": {
|
|
21
|
-
"type": "http",
|
|
22
|
-
"url": "https://mcp.supabase.com/mcp"
|
|
23
|
-
},
|
|
24
|
-
"Convex": {
|
|
25
|
-
"command": "npx",
|
|
26
|
-
"args": ["-y", "@anthropic-ai/convex-mcp-server"],
|
|
27
|
-
"type": "stdio"
|
|
28
|
-
},
|
|
29
|
-
"chrome-devtools": {
|
|
30
|
-
"command": "npx",
|
|
31
|
-
"args": ["-y", "chrome-devtools-mcp@latest"],
|
|
32
|
-
"type": "stdio"
|
|
33
|
-
},
|
|
34
|
-
"Linear": {
|
|
35
|
-
"type": "stdio",
|
|
36
|
-
"command": "npx",
|
|
37
|
-
"args": [
|
|
38
|
-
"-y",
|
|
39
|
-
"@mseep/linear-mcp"
|
|
40
|
-
],
|
|
41
|
-
"envFile": "${workspaceFolder}/.env"
|
|
42
|
-
},
|
|
43
|
-
"Jira": {
|
|
44
|
-
"url": "https://mcp.atlassian.com/v2/sse",
|
|
45
|
-
"type": "http"
|
|
46
|
-
},
|
|
47
|
-
"Slack": {
|
|
48
|
-
"type": "stdio",
|
|
49
|
-
"command": "npx",
|
|
50
|
-
"args": ["-y", "@kazuph/mcp-slack"],
|
|
51
|
-
"envFile": "${workspaceFolder}/.env",
|
|
52
|
-
"env": {
|
|
53
|
-
"SLACK_MCP_ADD_MESSAGE_TOOL": "true"
|
|
54
|
-
}
|
|
55
|
-
},
|
|
56
|
-
"Teams": {
|
|
57
|
-
"url": "https://mcp.microsoft365.com/mcp",
|
|
58
|
-
"type": "http"
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|