opencastle 0.32.12 → 0.32.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/README.md +5 -3
  2. package/package.json +1 -1
  3. package/src/dashboard/dist/data/convoys/demo-api-v2.json +3 -3
  4. package/src/dashboard/dist/data/convoys/demo-auth-revamp.json +4 -4
  5. package/src/dashboard/dist/data/convoys/demo-dashboard-ui.json +6 -6
  6. package/src/dashboard/dist/data/convoys/demo-data-pipeline.json +3 -3
  7. package/src/dashboard/dist/data/convoys/demo-deploy-ci.json +1 -1
  8. package/src/dashboard/dist/data/convoys/demo-docs-update.json +7 -7
  9. package/src/dashboard/dist/data/convoys/demo-perf-opt.json +4 -4
  10. package/src/dashboard/node_modules/.vite/deps/_metadata.json +6 -6
  11. package/src/dashboard/public/data/convoys/demo-api-v2.json +3 -3
  12. package/src/dashboard/public/data/convoys/demo-auth-revamp.json +4 -4
  13. package/src/dashboard/public/data/convoys/demo-dashboard-ui.json +6 -6
  14. package/src/dashboard/public/data/convoys/demo-data-pipeline.json +3 -3
  15. package/src/dashboard/public/data/convoys/demo-deploy-ci.json +1 -1
  16. package/src/dashboard/public/data/convoys/demo-docs-update.json +7 -7
  17. package/src/dashboard/public/data/convoys/demo-perf-opt.json +4 -4
  18. package/src/orchestrator/customizations/stack/sanity-config.md +43 -0
  19. package/src/orchestrator/customizations/stack/supabase-config.md +53 -0
  20. package/src/orchestrator/plugins/astro/REFERENCE.md +5 -0
  21. package/src/orchestrator/plugins/astro/SKILL.md +22 -29
  22. package/src/orchestrator/plugins/chrome-devtools/REFERENCE.md +9 -0
  23. package/src/orchestrator/plugins/chrome-devtools/SKILL.md +10 -55
  24. package/src/orchestrator/plugins/contentful/REFERENCE.md +16 -0
  25. package/src/orchestrator/plugins/contentful/SKILL.md +69 -29
  26. package/src/orchestrator/plugins/convex/REFERENCE.md +9 -0
  27. package/src/orchestrator/plugins/convex/SKILL.md +13 -1
  28. package/src/orchestrator/plugins/cypress/REFERENCE.md +5 -0
  29. package/src/orchestrator/plugins/cypress/SKILL.md +29 -93
  30. package/src/orchestrator/plugins/figma/REFERENCE.md +18 -0
  31. package/src/orchestrator/plugins/figma/SKILL.md +41 -66
  32. package/src/orchestrator/plugins/jira/REFERENCE.md +9 -0
  33. package/src/orchestrator/plugins/jira/SKILL.md +26 -114
  34. package/src/orchestrator/plugins/linear/SKILL.md +42 -109
  35. package/src/orchestrator/plugins/netlify/REFERENCE.md +33 -0
  36. package/src/orchestrator/plugins/netlify/SKILL.md +34 -64
  37. package/src/orchestrator/plugins/nextjs/REFERENCE.md +73 -0
  38. package/src/orchestrator/plugins/nextjs/SKILL.md +49 -138
  39. package/src/orchestrator/plugins/notion/SKILL.md +26 -168
  40. package/src/orchestrator/plugins/notion/TEMPLATES.md +88 -0
  41. package/src/orchestrator/plugins/nx/REFERENCE.md +10 -0
  42. package/src/orchestrator/plugins/nx/SKILL.md +12 -12
  43. package/src/orchestrator/plugins/playwright/REFERENCE.md +12 -0
  44. package/src/orchestrator/plugins/playwright/SKILL.md +33 -98
  45. package/src/orchestrator/plugins/prisma/REFERENCE.md +42 -0
  46. package/src/orchestrator/plugins/prisma/SKILL.md +18 -68
  47. package/src/orchestrator/plugins/resend/REFERENCE.md +61 -0
  48. package/src/orchestrator/plugins/resend/SKILL.md +23 -137
  49. package/src/orchestrator/plugins/sanity/SKILL.md +50 -3
  50. package/src/orchestrator/plugins/slack/REFERENCE.md +24 -0
  51. package/src/orchestrator/plugins/slack/SKILL.md +36 -111
  52. package/src/orchestrator/plugins/strapi/REFERENCE.md +35 -0
  53. package/src/orchestrator/plugins/strapi/SKILL.md +60 -24
  54. package/src/orchestrator/plugins/supabase/REFERENCE.md +9 -0
  55. package/src/orchestrator/plugins/supabase/SKILL.md +44 -16
  56. package/src/orchestrator/plugins/teams/REFERENCE.md +36 -0
  57. package/src/orchestrator/plugins/teams/SKILL.md +35 -85
  58. package/src/orchestrator/plugins/trello/REFERENCE.md +9 -0
  59. package/src/orchestrator/plugins/trello/SKILL.md +25 -97
  60. package/src/orchestrator/plugins/turborepo/REFERENCE.md +9 -0
  61. package/src/orchestrator/plugins/turborepo/SKILL.md +13 -1
  62. package/src/orchestrator/plugins/vercel/SKILL.md +45 -52
  63. package/src/orchestrator/plugins/vitest/SKILL.md +10 -14
  64. package/src/orchestrator/prompts/create-skill.prompt.md +62 -20
  65. package/src/orchestrator/skills/accessibility-standards/REFERENCE.md +34 -0
  66. package/src/orchestrator/skills/accessibility-standards/SKILL.md +6 -3
  67. package/src/orchestrator/skills/agent-hooks/HOOKS-REFERENCE.md +48 -0
  68. package/src/orchestrator/skills/agent-hooks/SKILL.md +41 -65
  69. package/src/orchestrator/skills/agent-memory/KNOWLEDGE-GRAPH.md +49 -0
  70. package/src/orchestrator/skills/agent-memory/SKILL.md +30 -67
  71. package/src/orchestrator/skills/api-patterns/SKILL.md +29 -1
  72. package/src/orchestrator/skills/code-commenting/SKILL.md +1 -1
  73. package/src/orchestrator/skills/context-map/REFERENCE.md +70 -0
  74. package/src/orchestrator/skills/context-map/SKILL.md +28 -55
  75. package/src/orchestrator/skills/data-engineering/REFERENCE.md +55 -0
  76. package/src/orchestrator/skills/data-engineering/SKILL.md +40 -34
  77. package/src/orchestrator/skills/decomposition/REFERENCE.md +28 -0
  78. package/src/orchestrator/skills/decomposition/SKILL.md +15 -30
  79. package/src/orchestrator/skills/deployment-infrastructure/SKILL.md +31 -65
  80. package/src/orchestrator/skills/documentation-standards/SKILL.md +31 -50
  81. package/src/orchestrator/skills/documentation-standards/WRITING-GUIDE.md +39 -0
  82. package/src/orchestrator/skills/fast-review/REFERENCE.md +30 -0
  83. package/src/orchestrator/skills/fast-review/SKILL.md +11 -31
  84. package/src/orchestrator/skills/frontend-design/COMPONENTS.md +113 -0
  85. package/src/orchestrator/skills/frontend-design/REFERENCE.md +36 -0
  86. package/src/orchestrator/skills/frontend-design/SKILL.md +36 -85
  87. package/src/orchestrator/skills/git-workflow/SKILL.md +1 -1
  88. package/src/orchestrator/skills/memory-merger/REFERENCE.md +20 -0
  89. package/src/orchestrator/skills/memory-merger/SKILL.md +29 -38
  90. package/src/orchestrator/skills/observability-logging/SKILL.md +5 -12
  91. package/src/orchestrator/skills/orchestration-protocols/REFERENCE.md +42 -0
  92. package/src/orchestrator/skills/orchestration-protocols/SKILL.md +54 -41
  93. package/src/orchestrator/skills/panel-majority-vote/REFERENCE.md +55 -0
  94. package/src/orchestrator/skills/panel-majority-vote/SKILL.md +30 -75
  95. package/src/orchestrator/skills/performance-optimization/SKILL.md +41 -1
  96. package/src/orchestrator/skills/project-consistency/SKILL.md +50 -89
  97. package/src/orchestrator/skills/project-consistency/TEMPLATES.md +39 -0
  98. package/src/orchestrator/skills/react-development/REFERENCE.md +7 -0
  99. package/src/orchestrator/skills/react-development/SKILL.md +50 -42
  100. package/src/orchestrator/skills/security-hardening/SKILL.md +88 -1
  101. package/src/orchestrator/skills/self-improvement/LESSON-CATEGORIES.md +36 -0
  102. package/src/orchestrator/skills/self-improvement/SKILL.md +19 -25
  103. package/src/orchestrator/skills/seo-patterns/REFERENCE.md +54 -0
  104. package/src/orchestrator/skills/seo-patterns/SKILL.md +20 -88
  105. package/src/orchestrator/skills/session-checkpoints/CHECKPOINT-TEMPLATE.md +58 -0
  106. package/src/orchestrator/skills/session-checkpoints/SKILL.md +34 -58
  107. package/src/orchestrator/skills/team-lead-reference/SKILL.md +37 -30
  108. package/src/orchestrator/skills/testing-workflow/SKILL.md +55 -2
  109. package/src/orchestrator/skills/validation-gates/REFERENCE.md +50 -0
  110. package/src/orchestrator/skills/validation-gates/SKILL.md +39 -35
package/README.md CHANGED
@@ -27,9 +27,9 @@
27
27
 
28
28
  Works with **[GitHub Copilot](https://github.com/features/copilot)**, **[Cursor](https://www.cursor.com/)**, **[Claude Code](https://docs.anthropic.com/en/docs/agents-and-tools/claude-code/overview)**, **[OpenCode](https://opencode.ai/)**, **[Windsurf](https://windsurf.com/)**, **[Codex CLI](https://github.com/openai/codex)**, and **[Antigravity](https://developers.google.com/)**.
29
29
 
30
- One command sets up specialized agents that decompose tasks, work in parallel, and verify each other's output.
30
+ One command sets up specialized agents that decompose tasks, work in parallel, and verify each other's output — interactively through IDE chat or automated via the Convoy Engine.
31
31
 
32
- One command. Any repo. Any IDE.
32
+ Use it live in your IDE. Run it overnight with the CLI.
33
33
 
34
34
  <br>
35
35
 
@@ -109,7 +109,7 @@ Add `--dry-run` to any command to preview what it would change without writing f
109
109
 
110
110
  **Specialist Agents.** Developer, UI/UX, Database, Security, Testing, Reviewer, and more.
111
111
 
112
- **On-Demand Skills.** Loaded on demand to keep context windows lean. Auto-selected during init based on your stack.
112
+ **On-Demand Skills.** Loaded on demand to keep context windows lean. Auto-selected during init based on your stack. All 51 skills and plugins scored 100% on the [tessl Skill Evaluator](https://tessl.io/registry/skills/submit).
113
113
 
114
114
  **Workflow Templates.** Features, bug fixes, data pipelines, security audits — reproducible execution templates.
115
115
 
@@ -119,6 +119,8 @@ Add `--dry-run` to any command to preview what it would change without writing f
119
119
 
120
120
  **Self-improving.** Agents capture lessons and graduate them into permanent instructions.
121
121
 
122
+ **Hybrid by design.** Use OpenCastle interactively through IDE chat for hands-on development, or run automated batch jobs overnight via the Convoy Engine.
123
+
122
124
  <br>
123
125
 
124
126
  ## Dashboard
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencastle",
3
- "version": "0.32.12",
3
+ "version": "0.32.13",
4
4
  "type": "module",
5
5
  "description": "Multi-agent orchestration framework for AI coding assistants",
6
6
  "bin": {
@@ -51,21 +51,21 @@
51
51
  "name": "docs/api-v2-contract.json",
52
52
  "type": "json",
53
53
  "task_id": "api-t1",
54
- "created_at": "2026-03-20T09:16:41.375Z"
54
+ "created_at": "2026-04-02T08:27:08.548Z"
55
55
  },
56
56
  {
57
57
  "id": "artifact-demo-api-v2-reports-security-gate-failure-md",
58
58
  "name": "reports/security-gate-failure.md",
59
59
  "type": "summary",
60
60
  "task_id": "api-t3",
61
- "created_at": "2026-03-20T09:16:41.375Z"
61
+ "created_at": "2026-04-02T08:27:08.548Z"
62
62
  },
63
63
  {
64
64
  "id": "artifact-demo-api-v2-src-api-rate-limiter-ts",
65
65
  "name": "src/api/rate-limiter.ts",
66
66
  "type": "file",
67
67
  "task_id": "api-t2",
68
- "created_at": "2026-03-20T09:16:41.375Z"
68
+ "created_at": "2026-04-02T08:27:08.548Z"
69
69
  }
70
70
  ],
71
71
  "has_more_events": false,
@@ -42,28 +42,28 @@
42
42
  "name": "libs/auth/src/jwt-middleware.ts",
43
43
  "type": "file",
44
44
  "task_id": "auth-t2",
45
- "created_at": "2026-03-20T09:16:41.374Z"
45
+ "created_at": "2026-04-02T08:27:08.547Z"
46
46
  },
47
47
  {
48
48
  "id": "artifact-demo-auth-revamp-libs-auth-src-rls-policies-sql",
49
49
  "name": "libs/auth/src/rls-policies.sql",
50
50
  "type": "file",
51
51
  "task_id": "auth-t3",
52
- "created_at": "2026-03-20T09:16:41.374Z"
52
+ "created_at": "2026-04-02T08:27:08.547Z"
53
53
  },
54
54
  {
55
55
  "id": "artifact-demo-auth-revamp-reports-auth-review-summary-md",
56
56
  "name": "reports/auth-review-summary.md",
57
57
  "type": "summary",
58
58
  "task_id": "auth-t5",
59
- "created_at": "2026-03-20T09:16:41.374Z"
59
+ "created_at": "2026-04-02T08:27:08.547Z"
60
60
  },
61
61
  {
62
62
  "id": "artifact-demo-auth-revamp-tests-auth-integration-test-ts",
63
63
  "name": "tests/auth/integration.test.ts",
64
64
  "type": "file",
65
65
  "task_id": "auth-t4",
66
- "created_at": "2026-03-20T09:16:41.374Z"
66
+ "created_at": "2026-04-02T08:27:08.547Z"
67
67
  }
68
68
  ],
69
69
  "has_more_events": false,
@@ -51,42 +51,42 @@
51
51
  "name": "reports/panel-review-dashboard.md",
52
52
  "type": "summary",
53
53
  "task_id": "ui-t7",
54
- "created_at": "2026-03-20T09:16:41.374Z"
54
+ "created_at": "2026-04-02T08:27:08.547Z"
55
55
  },
56
56
  {
57
57
  "id": "artifact-demo-dashboard-ui-reports-visual-regression-json",
58
58
  "name": "reports/visual-regression.json",
59
59
  "type": "json",
60
60
  "task_id": "ui-t6",
61
- "created_at": "2026-03-20T09:16:41.374Z"
61
+ "created_at": "2026-04-02T08:27:08.547Z"
62
62
  },
63
63
  {
64
64
  "id": "artifact-demo-dashboard-ui-src-components-DonutChart-tsx",
65
65
  "name": "src/components/DonutChart.tsx",
66
66
  "type": "file",
67
67
  "task_id": "ui-t3",
68
- "created_at": "2026-03-20T09:16:41.374Z"
68
+ "created_at": "2026-04-02T08:27:08.547Z"
69
69
  },
70
70
  {
71
71
  "id": "artifact-demo-dashboard-ui-src-components-KpiCard-tsx",
72
72
  "name": "src/components/KpiCard.tsx",
73
73
  "type": "file",
74
74
  "task_id": "ui-t2",
75
- "created_at": "2026-03-20T09:16:41.374Z"
75
+ "created_at": "2026-04-02T08:27:08.547Z"
76
76
  },
77
77
  {
78
78
  "id": "artifact-demo-dashboard-ui-src-components-design-tokens-ts",
79
79
  "name": "src/components/design-tokens.ts",
80
80
  "type": "file",
81
81
  "task_id": "ui-t1",
82
- "created_at": "2026-03-20T09:16:41.374Z"
82
+ "created_at": "2026-04-02T08:27:08.547Z"
83
83
  },
84
84
  {
85
85
  "id": "artifact-demo-dashboard-ui-src-styles-animations-css",
86
86
  "name": "src/styles/animations.css",
87
87
  "type": "file",
88
88
  "task_id": "ui-t4",
89
- "created_at": "2026-03-20T09:16:41.374Z"
89
+ "created_at": "2026-04-02T08:27:08.547Z"
90
90
  }
91
91
  ],
92
92
  "has_more_events": false,
@@ -42,21 +42,21 @@
42
42
  "name": "src/etl/pipeline.ts",
43
43
  "type": "file",
44
44
  "task_id": "etl-t2",
45
- "created_at": "2026-03-20T09:16:41.375Z"
45
+ "created_at": "2026-04-02T08:27:08.548Z"
46
46
  },
47
47
  {
48
48
  "id": "artifact-demo-data-pipeline-src-etl-schema-ts",
49
49
  "name": "src/etl/schema.ts",
50
50
  "type": "file",
51
51
  "task_id": "etl-t1",
52
- "created_at": "2026-03-20T09:16:41.375Z"
52
+ "created_at": "2026-04-02T08:27:08.548Z"
53
53
  },
54
54
  {
55
55
  "id": "artifact-demo-data-pipeline-tests-etl-pipeline-test-ts",
56
56
  "name": "tests/etl/pipeline.test.ts",
57
57
  "type": "file",
58
58
  "task_id": "etl-t3",
59
- "created_at": "2026-03-20T09:16:41.375Z"
59
+ "created_at": "2026-04-02T08:27:08.548Z"
60
60
  }
61
61
  ],
62
62
  "has_more_events": false,
@@ -51,7 +51,7 @@
51
51
  "name": ".github/workflows/ci.yml",
52
52
  "type": "file",
53
53
  "task_id": "ci-t1",
54
- "created_at": "2026-03-20T09:16:41.376Z"
54
+ "created_at": "2026-04-02T08:27:08.548Z"
55
55
  }
56
56
  ],
57
57
  "has_more_events": false,
@@ -38,25 +38,25 @@
38
38
  "artifact_count": 3,
39
39
  "artifacts": [
40
40
  {
41
- "id": "artifact-demo-docs-update-docs-README-md",
42
- "name": "docs/README.md",
41
+ "id": "artifact-demo-docs-update-docs-ARCHITECTURE-md",
42
+ "name": "docs/ARCHITECTURE.md",
43
43
  "type": "file",
44
44
  "task_id": "docs-t1",
45
- "created_at": "2026-03-20T09:16:41.375Z"
45
+ "created_at": "2026-04-02T08:27:08.548Z"
46
46
  },
47
47
  {
48
- "id": "artifact-demo-docs-update-docs-ARCHITECTURE-md",
49
- "name": "docs/ARCHITECTURE.md",
48
+ "id": "artifact-demo-docs-update-docs-README-md",
49
+ "name": "docs/README.md",
50
50
  "type": "file",
51
51
  "task_id": "docs-t1",
52
- "created_at": "2026-03-20T09:16:41.376Z"
52
+ "created_at": "2026-04-02T08:27:08.548Z"
53
53
  },
54
54
  {
55
55
  "id": "artifact-demo-docs-update-docs-api-reference-json",
56
56
  "name": "docs/api-reference.json",
57
57
  "type": "json",
58
58
  "task_id": "docs-t2",
59
- "created_at": "2026-03-20T09:16:41.376Z"
59
+ "created_at": "2026-04-02T08:27:08.548Z"
60
60
  }
61
61
  ],
62
62
  "has_more_events": false,
@@ -42,28 +42,28 @@
42
42
  "name": "reports/bundle-analysis.json",
43
43
  "type": "json",
44
44
  "task_id": "perf-t1",
45
- "created_at": "2026-03-20T09:16:41.375Z"
45
+ "created_at": "2026-04-02T08:27:08.548Z"
46
46
  },
47
47
  {
48
48
  "id": "artifact-demo-perf-opt-reports-web-vitals-improvement-md",
49
49
  "name": "reports/web-vitals-improvement.md",
50
50
  "type": "summary",
51
51
  "task_id": "perf-t4",
52
- "created_at": "2026-03-20T09:16:41.375Z"
52
+ "created_at": "2026-04-02T08:27:08.548Z"
53
53
  },
54
54
  {
55
55
  "id": "artifact-demo-perf-opt-src-charts-index-ts",
56
56
  "name": "src/charts/index.ts",
57
57
  "type": "file",
58
58
  "task_id": "perf-t2",
59
- "created_at": "2026-03-20T09:16:41.375Z"
59
+ "created_at": "2026-04-02T08:27:08.548Z"
60
60
  },
61
61
  {
62
62
  "id": "artifact-demo-perf-opt-src-utils-image-loader-ts",
63
63
  "name": "src/utils/image-loader.ts",
64
64
  "type": "file",
65
65
  "task_id": "perf-t3",
66
- "created_at": "2026-03-20T09:16:41.375Z"
66
+ "created_at": "2026-04-02T08:27:08.548Z"
67
67
  }
68
68
  ],
69
69
  "has_more_events": false,
@@ -1,25 +1,25 @@
1
1
  {
2
- "hash": "067541e3",
2
+ "hash": "1d5d6e66",
3
3
  "configHash": "30f8ea04",
4
- "lockfileHash": "9e5d2d20",
5
- "browserHash": "d3a90bc1",
4
+ "lockfileHash": "c05fce8f",
5
+ "browserHash": "2bcc812b",
6
6
  "optimized": {
7
7
  "astro > cssesc": {
8
8
  "src": "../../../../../node_modules/cssesc/cssesc.js",
9
9
  "file": "astro___cssesc.js",
10
- "fileHash": "dec33437",
10
+ "fileHash": "9aa2fadf",
11
11
  "needsInterop": true
12
12
  },
13
13
  "astro > aria-query": {
14
14
  "src": "../../../../../node_modules/aria-query/lib/index.js",
15
15
  "file": "astro___aria-query.js",
16
- "fileHash": "43620b94",
16
+ "fileHash": "cbf34818",
17
17
  "needsInterop": true
18
18
  },
19
19
  "astro > axobject-query": {
20
20
  "src": "../../../../../node_modules/axobject-query/lib/index.js",
21
21
  "file": "astro___axobject-query.js",
22
- "fileHash": "df8934d8",
22
+ "fileHash": "59ca6d79",
23
23
  "needsInterop": true
24
24
  }
25
25
  },
@@ -51,21 +51,21 @@
51
51
  "name": "docs/api-v2-contract.json",
52
52
  "type": "json",
53
53
  "task_id": "api-t1",
54
- "created_at": "2026-03-20T09:16:41.375Z"
54
+ "created_at": "2026-04-02T08:27:08.548Z"
55
55
  },
56
56
  {
57
57
  "id": "artifact-demo-api-v2-reports-security-gate-failure-md",
58
58
  "name": "reports/security-gate-failure.md",
59
59
  "type": "summary",
60
60
  "task_id": "api-t3",
61
- "created_at": "2026-03-20T09:16:41.375Z"
61
+ "created_at": "2026-04-02T08:27:08.548Z"
62
62
  },
63
63
  {
64
64
  "id": "artifact-demo-api-v2-src-api-rate-limiter-ts",
65
65
  "name": "src/api/rate-limiter.ts",
66
66
  "type": "file",
67
67
  "task_id": "api-t2",
68
- "created_at": "2026-03-20T09:16:41.375Z"
68
+ "created_at": "2026-04-02T08:27:08.548Z"
69
69
  }
70
70
  ],
71
71
  "has_more_events": false,
@@ -42,28 +42,28 @@
42
42
  "name": "libs/auth/src/jwt-middleware.ts",
43
43
  "type": "file",
44
44
  "task_id": "auth-t2",
45
- "created_at": "2026-03-20T09:16:41.374Z"
45
+ "created_at": "2026-04-02T08:27:08.547Z"
46
46
  },
47
47
  {
48
48
  "id": "artifact-demo-auth-revamp-libs-auth-src-rls-policies-sql",
49
49
  "name": "libs/auth/src/rls-policies.sql",
50
50
  "type": "file",
51
51
  "task_id": "auth-t3",
52
- "created_at": "2026-03-20T09:16:41.374Z"
52
+ "created_at": "2026-04-02T08:27:08.547Z"
53
53
  },
54
54
  {
55
55
  "id": "artifact-demo-auth-revamp-reports-auth-review-summary-md",
56
56
  "name": "reports/auth-review-summary.md",
57
57
  "type": "summary",
58
58
  "task_id": "auth-t5",
59
- "created_at": "2026-03-20T09:16:41.374Z"
59
+ "created_at": "2026-04-02T08:27:08.547Z"
60
60
  },
61
61
  {
62
62
  "id": "artifact-demo-auth-revamp-tests-auth-integration-test-ts",
63
63
  "name": "tests/auth/integration.test.ts",
64
64
  "type": "file",
65
65
  "task_id": "auth-t4",
66
- "created_at": "2026-03-20T09:16:41.374Z"
66
+ "created_at": "2026-04-02T08:27:08.547Z"
67
67
  }
68
68
  ],
69
69
  "has_more_events": false,
@@ -51,42 +51,42 @@
51
51
  "name": "reports/panel-review-dashboard.md",
52
52
  "type": "summary",
53
53
  "task_id": "ui-t7",
54
- "created_at": "2026-03-20T09:16:41.374Z"
54
+ "created_at": "2026-04-02T08:27:08.547Z"
55
55
  },
56
56
  {
57
57
  "id": "artifact-demo-dashboard-ui-reports-visual-regression-json",
58
58
  "name": "reports/visual-regression.json",
59
59
  "type": "json",
60
60
  "task_id": "ui-t6",
61
- "created_at": "2026-03-20T09:16:41.374Z"
61
+ "created_at": "2026-04-02T08:27:08.547Z"
62
62
  },
63
63
  {
64
64
  "id": "artifact-demo-dashboard-ui-src-components-DonutChart-tsx",
65
65
  "name": "src/components/DonutChart.tsx",
66
66
  "type": "file",
67
67
  "task_id": "ui-t3",
68
- "created_at": "2026-03-20T09:16:41.374Z"
68
+ "created_at": "2026-04-02T08:27:08.547Z"
69
69
  },
70
70
  {
71
71
  "id": "artifact-demo-dashboard-ui-src-components-KpiCard-tsx",
72
72
  "name": "src/components/KpiCard.tsx",
73
73
  "type": "file",
74
74
  "task_id": "ui-t2",
75
- "created_at": "2026-03-20T09:16:41.374Z"
75
+ "created_at": "2026-04-02T08:27:08.547Z"
76
76
  },
77
77
  {
78
78
  "id": "artifact-demo-dashboard-ui-src-components-design-tokens-ts",
79
79
  "name": "src/components/design-tokens.ts",
80
80
  "type": "file",
81
81
  "task_id": "ui-t1",
82
- "created_at": "2026-03-20T09:16:41.374Z"
82
+ "created_at": "2026-04-02T08:27:08.547Z"
83
83
  },
84
84
  {
85
85
  "id": "artifact-demo-dashboard-ui-src-styles-animations-css",
86
86
  "name": "src/styles/animations.css",
87
87
  "type": "file",
88
88
  "task_id": "ui-t4",
89
- "created_at": "2026-03-20T09:16:41.374Z"
89
+ "created_at": "2026-04-02T08:27:08.547Z"
90
90
  }
91
91
  ],
92
92
  "has_more_events": false,
@@ -42,21 +42,21 @@
42
42
  "name": "src/etl/pipeline.ts",
43
43
  "type": "file",
44
44
  "task_id": "etl-t2",
45
- "created_at": "2026-03-20T09:16:41.375Z"
45
+ "created_at": "2026-04-02T08:27:08.548Z"
46
46
  },
47
47
  {
48
48
  "id": "artifact-demo-data-pipeline-src-etl-schema-ts",
49
49
  "name": "src/etl/schema.ts",
50
50
  "type": "file",
51
51
  "task_id": "etl-t1",
52
- "created_at": "2026-03-20T09:16:41.375Z"
52
+ "created_at": "2026-04-02T08:27:08.548Z"
53
53
  },
54
54
  {
55
55
  "id": "artifact-demo-data-pipeline-tests-etl-pipeline-test-ts",
56
56
  "name": "tests/etl/pipeline.test.ts",
57
57
  "type": "file",
58
58
  "task_id": "etl-t3",
59
- "created_at": "2026-03-20T09:16:41.375Z"
59
+ "created_at": "2026-04-02T08:27:08.548Z"
60
60
  }
61
61
  ],
62
62
  "has_more_events": false,
@@ -51,7 +51,7 @@
51
51
  "name": ".github/workflows/ci.yml",
52
52
  "type": "file",
53
53
  "task_id": "ci-t1",
54
- "created_at": "2026-03-20T09:16:41.376Z"
54
+ "created_at": "2026-04-02T08:27:08.548Z"
55
55
  }
56
56
  ],
57
57
  "has_more_events": false,
@@ -38,25 +38,25 @@
38
38
  "artifact_count": 3,
39
39
  "artifacts": [
40
40
  {
41
- "id": "artifact-demo-docs-update-docs-README-md",
42
- "name": "docs/README.md",
41
+ "id": "artifact-demo-docs-update-docs-ARCHITECTURE-md",
42
+ "name": "docs/ARCHITECTURE.md",
43
43
  "type": "file",
44
44
  "task_id": "docs-t1",
45
- "created_at": "2026-03-20T09:16:41.375Z"
45
+ "created_at": "2026-04-02T08:27:08.548Z"
46
46
  },
47
47
  {
48
- "id": "artifact-demo-docs-update-docs-ARCHITECTURE-md",
49
- "name": "docs/ARCHITECTURE.md",
48
+ "id": "artifact-demo-docs-update-docs-README-md",
49
+ "name": "docs/README.md",
50
50
  "type": "file",
51
51
  "task_id": "docs-t1",
52
- "created_at": "2026-03-20T09:16:41.376Z"
52
+ "created_at": "2026-04-02T08:27:08.548Z"
53
53
  },
54
54
  {
55
55
  "id": "artifact-demo-docs-update-docs-api-reference-json",
56
56
  "name": "docs/api-reference.json",
57
57
  "type": "json",
58
58
  "task_id": "docs-t2",
59
- "created_at": "2026-03-20T09:16:41.376Z"
59
+ "created_at": "2026-04-02T08:27:08.548Z"
60
60
  }
61
61
  ],
62
62
  "has_more_events": false,
@@ -42,28 +42,28 @@
42
42
  "name": "reports/bundle-analysis.json",
43
43
  "type": "json",
44
44
  "task_id": "perf-t1",
45
- "created_at": "2026-03-20T09:16:41.375Z"
45
+ "created_at": "2026-04-02T08:27:08.548Z"
46
46
  },
47
47
  {
48
48
  "id": "artifact-demo-perf-opt-reports-web-vitals-improvement-md",
49
49
  "name": "reports/web-vitals-improvement.md",
50
50
  "type": "summary",
51
51
  "task_id": "perf-t4",
52
- "created_at": "2026-03-20T09:16:41.375Z"
52
+ "created_at": "2026-04-02T08:27:08.548Z"
53
53
  },
54
54
  {
55
55
  "id": "artifact-demo-perf-opt-src-charts-index-ts",
56
56
  "name": "src/charts/index.ts",
57
57
  "type": "file",
58
58
  "task_id": "perf-t2",
59
- "created_at": "2026-03-20T09:16:41.375Z"
59
+ "created_at": "2026-04-02T08:27:08.548Z"
60
60
  },
61
61
  {
62
62
  "id": "artifact-demo-perf-opt-src-utils-image-loader-ts",
63
63
  "name": "src/utils/image-loader.ts",
64
64
  "type": "file",
65
65
  "task_id": "perf-t3",
66
- "created_at": "2026-03-20T09:16:41.375Z"
66
+ "created_at": "2026-04-02T08:27:08.548Z"
67
67
  }
68
68
  ],
69
69
  "has_more_events": false,
@@ -0,0 +1,43 @@
1
+ # Sanity CMS Configuration
2
+
3
+ <!-- Populated by `opencastle init` based on detected Sanity project. -->
4
+
5
+ Project-specific Sanity CMS details referenced by the `sanity-cms` skill.
6
+
7
+ ## Configuration
8
+
9
+ <!-- Sanity project ID, dataset, API version, studio location. -->
10
+
11
+ | Setting | Value |
12
+ |---------|-------|
13
+ | Project ID | |
14
+ | Dataset | |
15
+ | API Version | |
16
+ | Studio Path | |
17
+
18
+ ## Plugins
19
+
20
+ <!-- List Sanity plugins and their purpose. -->
21
+
22
+ ## Document Types
23
+
24
+ <!-- List document types with key fields. -->
25
+
26
+ | Document Type | Key Fields | Description |
27
+ |--------------|------------|-------------|
28
+ | | | |
29
+
30
+ ## GROQ Examples
31
+
32
+ <!-- Provide representative GROQ query examples. -->
33
+
34
+ ```groq
35
+ // Example: fetch all published documents of a type
36
+ *[_type == "page" && !(_id in path("drafts.**"))]{
37
+ _id, title, slug
38
+ }
39
+ ```
40
+
41
+ ## Key Files
42
+
43
+ <!-- List key schema, config, and query files. -->
@@ -0,0 +1,53 @@
1
+ # Supabase Configuration
2
+
3
+ <!-- Populated by `opencastle init` based on detected Supabase project. -->
4
+
5
+ Project-specific Supabase details referenced by the `supabase-database` skill.
6
+
7
+ ## Configuration
8
+
9
+ <!-- Supabase project URL, anon key location, service role key location. -->
10
+
11
+ | Setting | Value |
12
+ |---------|-------|
13
+ | Project URL | |
14
+ | Anon Key Env | `NEXT_PUBLIC_SUPABASE_URL` |
15
+ | Service Role Env | `SUPABASE_SERVICE_ROLE_KEY` |
16
+
17
+ ## Database Schema
18
+
19
+ ### Core Tables
20
+
21
+ <!-- List tables with their purpose and RLS status. -->
22
+
23
+ | Table | Purpose | RLS |
24
+ |-------|---------|-----|
25
+ | | | |
26
+
27
+ ### Role System
28
+
29
+ <!-- Describe roles and their permissions. -->
30
+
31
+ | Role | Permissions |
32
+ |------|------------|
33
+ | | |
34
+
35
+ ## Auth Flow
36
+
37
+ <!-- Authentication pattern: email/password, OAuth providers, session management. -->
38
+
39
+ ## Migration History
40
+
41
+ <!-- List applied migrations in order. -->
42
+
43
+ | Migration | Date | Description |
44
+ |-----------|------|-------------|
45
+ | | | |
46
+
47
+ ## RLS Policies
48
+
49
+ <!-- Document key RLS policies and their purpose. -->
50
+
51
+ ## Key Files
52
+
53
+ <!-- List key config, migration, and type files. -->
@@ -0,0 +1,5 @@
1
+ > Parent: [SKILL.md](./SKILL.md)
2
+
3
+ Astro REFERENCE: SSR config examples, anti-patterns expanded, and content collection validation scripts.
4
+
5
+ Long-form examples and migration steps live here; `SKILL.md` keeps quick workflows and recommendations.