qualia-framework 2.6.0 → 3.2.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.
Files changed (321) hide show
  1. package/CLAUDE.md +64 -0
  2. package/README.md +103 -30
  3. package/agents/builder.md +110 -0
  4. package/agents/planner.md +134 -0
  5. package/agents/qa-browser.md +186 -0
  6. package/agents/verifier.md +221 -0
  7. package/bin/cli.js +336 -531
  8. package/bin/install.js +570 -0
  9. package/bin/qualia-ui.js +299 -0
  10. package/bin/state.js +630 -0
  11. package/bin/statusline.js +252 -0
  12. package/guide.md +63 -0
  13. package/hooks/auto-update.js +139 -0
  14. package/hooks/branch-guard.js +47 -0
  15. package/hooks/migration-guard.js +60 -0
  16. package/hooks/pre-compact.js +32 -0
  17. package/hooks/pre-deploy-gate.js +110 -0
  18. package/hooks/pre-push.js +33 -0
  19. package/hooks/session-start.js +170 -0
  20. package/package.json +29 -20
  21. package/rules/design-reference.md +179 -0
  22. package/rules/frontend.md +126 -0
  23. package/skills/qualia/SKILL.md +87 -0
  24. package/skills/qualia-build/SKILL.md +97 -0
  25. package/skills/qualia-debug/SKILL.md +87 -0
  26. package/skills/qualia-design/SKILL.md +93 -0
  27. package/skills/qualia-handoff/SKILL.md +66 -0
  28. package/skills/qualia-idk/SKILL.md +8 -0
  29. package/skills/qualia-learn/SKILL.md +88 -0
  30. package/skills/qualia-new/SKILL.md +323 -0
  31. package/{framework/skills → skills}/qualia-optimize/SKILL.md +1 -1
  32. package/skills/qualia-pause/SKILL.md +63 -0
  33. package/skills/qualia-plan/SKILL.md +101 -0
  34. package/skills/qualia-polish/SKILL.md +157 -0
  35. package/skills/qualia-quick/SKILL.md +37 -0
  36. package/skills/qualia-report/SKILL.md +105 -0
  37. package/skills/qualia-resume/SKILL.md +49 -0
  38. package/skills/qualia-review/SKILL.md +76 -0
  39. package/skills/qualia-ship/SKILL.md +90 -0
  40. package/skills/qualia-skill-new/SKILL.md +167 -0
  41. package/skills/qualia-task/SKILL.md +91 -0
  42. package/skills/qualia-verify/SKILL.md +113 -0
  43. package/templates/DESIGN.md +137 -0
  44. package/templates/plan.md +28 -0
  45. package/templates/project.md +22 -0
  46. package/templates/state.md +27 -0
  47. package/templates/tracking.json +20 -0
  48. package/tests/bin.test.sh +673 -0
  49. package/tests/hooks.test.sh +315 -0
  50. package/tests/state.test.sh +535 -0
  51. package/tests/statusline.test.sh +243 -0
  52. package/bin/collect-metrics.sh +0 -62
  53. package/framework/.claudeignore +0 -51
  54. package/framework/CLAUDE.md +0 -51
  55. package/framework/MCP_SETUP.md +0 -229
  56. package/framework/agents/architecture-strategist.md +0 -53
  57. package/framework/agents/backend-agent.md +0 -150
  58. package/framework/agents/code-simplicity-reviewer.md +0 -86
  59. package/framework/agents/frontend-agent.md +0 -111
  60. package/framework/agents/kieran-typescript-reviewer.md +0 -96
  61. package/framework/agents/performance-oracle.md +0 -111
  62. package/framework/agents/qualia-codebase-mapper.md +0 -761
  63. package/framework/agents/qualia-debugger.md +0 -1204
  64. package/framework/agents/qualia-executor.md +0 -882
  65. package/framework/agents/qualia-integration-checker.md +0 -424
  66. package/framework/agents/qualia-phase-researcher.md +0 -457
  67. package/framework/agents/qualia-plan-checker.md +0 -700
  68. package/framework/agents/qualia-planner.md +0 -1245
  69. package/framework/agents/qualia-project-researcher.md +0 -603
  70. package/framework/agents/qualia-research-synthesizer.md +0 -200
  71. package/framework/agents/qualia-roadmapper.md +0 -606
  72. package/framework/agents/qualia-verifier.md +0 -686
  73. package/framework/agents/red-team-qa.md +0 -130
  74. package/framework/agents/security-auditor.md +0 -72
  75. package/framework/agents/team-orchestrator.md +0 -229
  76. package/framework/agents/teams/framework-audit-team.md +0 -66
  77. package/framework/agents/teams/full-stack-team.md +0 -48
  78. package/framework/agents/teams/optimize-team.md +0 -53
  79. package/framework/agents/teams/review-team.md +0 -70
  80. package/framework/agents/teams/ship-team.md +0 -86
  81. package/framework/agents/test-agent.md +0 -182
  82. package/framework/hooks/auto-format.sh +0 -54
  83. package/framework/hooks/block-env-edit.sh +0 -42
  84. package/framework/hooks/branch-guard.sh +0 -43
  85. package/framework/hooks/confirm-delete.sh +0 -59
  86. package/framework/hooks/migration-validate.sh +0 -77
  87. package/framework/hooks/notification-speak.sh +0 -16
  88. package/framework/hooks/pre-commit.sh +0 -100
  89. package/framework/hooks/pre-compact.sh +0 -56
  90. package/framework/hooks/pre-deploy-gate.sh +0 -160
  91. package/framework/hooks/qualia-colors.sh +0 -32
  92. package/framework/hooks/retention-cleanup.sh +0 -62
  93. package/framework/hooks/save-session-state.sh +0 -185
  94. package/framework/hooks/session-context-loader.sh +0 -96
  95. package/framework/hooks/session-learn.sh +0 -32
  96. package/framework/hooks/skill-announce.sh +0 -123
  97. package/framework/hooks/tool-error-announce.sh +0 -27
  98. package/framework/install.ps1 +0 -323
  99. package/framework/install.sh +0 -313
  100. package/framework/qualia-framework/VERSION +0 -1
  101. package/framework/qualia-framework/assets/qualia-logo.png +0 -0
  102. package/framework/qualia-framework/bin/collect-metrics.sh +0 -67
  103. package/framework/qualia-framework/bin/generate-report-docx.py +0 -429
  104. package/framework/qualia-framework/bin/qualia-tools.js +0 -2201
  105. package/framework/qualia-framework/bin/qualia-tools.test.js +0 -1054
  106. package/framework/qualia-framework/references/checkpoints.md +0 -775
  107. package/framework/qualia-framework/references/completion-checklists.md +0 -359
  108. package/framework/qualia-framework/references/continuation-format.md +0 -249
  109. package/framework/qualia-framework/references/continuation-prompt.md +0 -97
  110. package/framework/qualia-framework/references/decimal-phase-calculation.md +0 -65
  111. package/framework/qualia-framework/references/design-quality.md +0 -56
  112. package/framework/qualia-framework/references/employee-guide.md +0 -167
  113. package/framework/qualia-framework/references/git-integration.md +0 -254
  114. package/framework/qualia-framework/references/git-planning-commit.md +0 -50
  115. package/framework/qualia-framework/references/model-profile-resolution.md +0 -32
  116. package/framework/qualia-framework/references/model-profiles.md +0 -73
  117. package/framework/qualia-framework/references/phase-argument-parsing.md +0 -61
  118. package/framework/qualia-framework/references/planning-config.md +0 -195
  119. package/framework/qualia-framework/references/questioning.md +0 -141
  120. package/framework/qualia-framework/references/tdd.md +0 -263
  121. package/framework/qualia-framework/references/ui-brand.md +0 -160
  122. package/framework/qualia-framework/references/verification-patterns.md +0 -612
  123. package/framework/qualia-framework/templates/DEBUG.md +0 -159
  124. package/framework/qualia-framework/templates/DESIGN.md +0 -81
  125. package/framework/qualia-framework/templates/UAT.md +0 -247
  126. package/framework/qualia-framework/templates/codebase/architecture.md +0 -255
  127. package/framework/qualia-framework/templates/codebase/concerns.md +0 -310
  128. package/framework/qualia-framework/templates/codebase/conventions.md +0 -307
  129. package/framework/qualia-framework/templates/codebase/integrations.md +0 -280
  130. package/framework/qualia-framework/templates/codebase/stack.md +0 -186
  131. package/framework/qualia-framework/templates/codebase/structure.md +0 -285
  132. package/framework/qualia-framework/templates/codebase/testing.md +0 -480
  133. package/framework/qualia-framework/templates/config.json +0 -35
  134. package/framework/qualia-framework/templates/context.md +0 -283
  135. package/framework/qualia-framework/templates/continue-here.md +0 -78
  136. package/framework/qualia-framework/templates/debug-subagent-prompt.md +0 -91
  137. package/framework/qualia-framework/templates/discovery.md +0 -146
  138. package/framework/qualia-framework/templates/lab-notes.md +0 -16
  139. package/framework/qualia-framework/templates/milestone-archive.md +0 -123
  140. package/framework/qualia-framework/templates/milestone.md +0 -115
  141. package/framework/qualia-framework/templates/phase-prompt.md +0 -567
  142. package/framework/qualia-framework/templates/planner-subagent-prompt.md +0 -117
  143. package/framework/qualia-framework/templates/project.md +0 -184
  144. package/framework/qualia-framework/templates/projects/ai-agent.md +0 -156
  145. package/framework/qualia-framework/templates/projects/mobile-app.md +0 -181
  146. package/framework/qualia-framework/templates/projects/voice-agent.md +0 -134
  147. package/framework/qualia-framework/templates/projects/website.md +0 -137
  148. package/framework/qualia-framework/templates/requirements.md +0 -231
  149. package/framework/qualia-framework/templates/research-project/ARCHITECTURE.md +0 -204
  150. package/framework/qualia-framework/templates/research-project/FEATURES.md +0 -147
  151. package/framework/qualia-framework/templates/research-project/PITFALLS.md +0 -200
  152. package/framework/qualia-framework/templates/research-project/STACK.md +0 -120
  153. package/framework/qualia-framework/templates/research-project/SUMMARY.md +0 -170
  154. package/framework/qualia-framework/templates/research.md +0 -552
  155. package/framework/qualia-framework/templates/roadmap.md +0 -206
  156. package/framework/qualia-framework/templates/state.md +0 -179
  157. package/framework/qualia-framework/templates/summary-complex.md +0 -59
  158. package/framework/qualia-framework/templates/summary-minimal.md +0 -41
  159. package/framework/qualia-framework/templates/summary-standard.md +0 -48
  160. package/framework/qualia-framework/templates/summary.md +0 -246
  161. package/framework/qualia-framework/templates/user-setup.md +0 -311
  162. package/framework/qualia-framework/templates/verification-report.md +0 -322
  163. package/framework/qualia-framework/workflows/add-phase.md +0 -179
  164. package/framework/qualia-framework/workflows/add-todo.md +0 -157
  165. package/framework/qualia-framework/workflows/audit-milestone.md +0 -241
  166. package/framework/qualia-framework/workflows/check-todos.md +0 -176
  167. package/framework/qualia-framework/workflows/complete-milestone.md +0 -858
  168. package/framework/qualia-framework/workflows/diagnose-issues.md +0 -219
  169. package/framework/qualia-framework/workflows/discovery-phase.md +0 -289
  170. package/framework/qualia-framework/workflows/discuss-phase.md +0 -534
  171. package/framework/qualia-framework/workflows/execute-phase.md +0 -559
  172. package/framework/qualia-framework/workflows/execute-plan.md +0 -438
  173. package/framework/qualia-framework/workflows/help.md +0 -470
  174. package/framework/qualia-framework/workflows/insert-phase.md +0 -220
  175. package/framework/qualia-framework/workflows/list-phase-assumptions.md +0 -178
  176. package/framework/qualia-framework/workflows/map-codebase.md +0 -327
  177. package/framework/qualia-framework/workflows/new-milestone.md +0 -363
  178. package/framework/qualia-framework/workflows/new-project.md +0 -982
  179. package/framework/qualia-framework/workflows/pause-work.md +0 -122
  180. package/framework/qualia-framework/workflows/plan-milestone-gaps.md +0 -256
  181. package/framework/qualia-framework/workflows/plan-phase.md +0 -422
  182. package/framework/qualia-framework/workflows/progress.md +0 -389
  183. package/framework/qualia-framework/workflows/quick.md +0 -252
  184. package/framework/qualia-framework/workflows/remove-phase.md +0 -326
  185. package/framework/qualia-framework/workflows/research-phase.md +0 -74
  186. package/framework/qualia-framework/workflows/resume-project.md +0 -306
  187. package/framework/qualia-framework/workflows/set-profile.md +0 -80
  188. package/framework/qualia-framework/workflows/settings.md +0 -145
  189. package/framework/qualia-framework/workflows/transition.md +0 -556
  190. package/framework/qualia-framework/workflows/update.md +0 -197
  191. package/framework/qualia-framework/workflows/verify-phase.md +0 -195
  192. package/framework/qualia-framework/workflows/verify-work.md +0 -625
  193. package/framework/rules/context7.md +0 -14
  194. package/framework/rules/frontend.md +0 -33
  195. package/framework/rules/speed.md +0 -23
  196. package/framework/scripts/__pycache__/say.cpython-314.pyc +0 -0
  197. package/framework/scripts/apply-retention.sh +0 -120
  198. package/framework/scripts/bootstrap-pop-os.sh +0 -354
  199. package/framework/scripts/claude-voice +0 -13
  200. package/framework/scripts/cleanup.sh +0 -131
  201. package/framework/scripts/cowork-mode.sh +0 -141
  202. package/framework/scripts/generate-project-claude-md.sh +0 -153
  203. package/framework/scripts/load-test-webhook.js +0 -172
  204. package/framework/scripts/say.py +0 -236
  205. package/framework/scripts/showcase-video-recorder/ffmpeg-builder.js +0 -167
  206. package/framework/scripts/showcase-video-recorder/playwright-helpers.js +0 -216
  207. package/framework/scripts/speak.py +0 -55
  208. package/framework/scripts/speak.sh +0 -18
  209. package/framework/scripts/status.sh +0 -138
  210. package/framework/scripts/sync-to-framework.sh +0 -65
  211. package/framework/scripts/voice-hotkey.py +0 -227
  212. package/framework/scripts/voice-input.sh +0 -51
  213. package/framework/skills/animate/SKILL.md +0 -202
  214. package/framework/skills/bolder/SKILL.md +0 -144
  215. package/framework/skills/browser-qa/SKILL.md +0 -536
  216. package/framework/skills/clarify/SKILL.md +0 -179
  217. package/framework/skills/client-handoff/SKILL.md +0 -135
  218. package/framework/skills/collab-onboard/SKILL.md +0 -111
  219. package/framework/skills/colorize/SKILL.md +0 -170
  220. package/framework/skills/critique/SKILL.md +0 -126
  221. package/framework/skills/deep-research/SKILL.md +0 -240
  222. package/framework/skills/delight/SKILL.md +0 -329
  223. package/framework/skills/deploy/SKILL.md +0 -261
  224. package/framework/skills/deploy-verify/SKILL.md +0 -377
  225. package/framework/skills/deploy-verify/scripts/canary-check.sh +0 -206
  226. package/framework/skills/deploy-verify/scripts/check-console-errors.js +0 -147
  227. package/framework/skills/deploy-verify/scripts/check-cwv.js +0 -139
  228. package/framework/skills/deploy-verify/scripts/project-detect.sh +0 -84
  229. package/framework/skills/deploy-verify/scripts/verify.sh +0 -548
  230. package/framework/skills/design-quieter/SKILL.md +0 -130
  231. package/framework/skills/distill/SKILL.md +0 -149
  232. package/framework/skills/docs-lookup/SKILL.md +0 -79
  233. package/framework/skills/fcm-notifications/SKILL.md +0 -125
  234. package/framework/skills/financial-ledger/SKILL.md +0 -1039
  235. package/framework/skills/frontend-master/NOTICE.md +0 -4
  236. package/framework/skills/frontend-master/SKILL.md +0 -127
  237. package/framework/skills/frontend-master/reference/color-and-contrast.md +0 -132
  238. package/framework/skills/frontend-master/reference/interaction-design.md +0 -123
  239. package/framework/skills/frontend-master/reference/motion-design.md +0 -99
  240. package/framework/skills/frontend-master/reference/responsive-design.md +0 -114
  241. package/framework/skills/frontend-master/reference/spatial-design.md +0 -100
  242. package/framework/skills/frontend-master/reference/typography.md +0 -131
  243. package/framework/skills/frontend-master/reference/ux-writing.md +0 -107
  244. package/framework/skills/harden/SKILL.md +0 -357
  245. package/framework/skills/i18n-rtl/SKILL.md +0 -752
  246. package/framework/skills/learn/SKILL.md +0 -95
  247. package/framework/skills/memory/SKILL.md +0 -50
  248. package/framework/skills/mobile-expo/SKILL.md +0 -977
  249. package/framework/skills/mobile-expo/references/store-checklist.md +0 -550
  250. package/framework/skills/nestjs-backend/README.md +0 -73
  251. package/framework/skills/nestjs-backend/SKILL.md +0 -446
  252. package/framework/skills/nestjs-backend/references/templates.md +0 -1173
  253. package/framework/skills/normalize/SKILL.md +0 -79
  254. package/framework/skills/onboard/SKILL.md +0 -242
  255. package/framework/skills/openrouter-agent/SKILL.md +0 -922
  256. package/framework/skills/polish/SKILL.md +0 -209
  257. package/framework/skills/pr/SKILL.md +0 -66
  258. package/framework/skills/qualia/SKILL.md +0 -199
  259. package/framework/skills/qualia-add-todo/SKILL.md +0 -68
  260. package/framework/skills/qualia-audit-milestone/SKILL.md +0 -95
  261. package/framework/skills/qualia-check-todos/SKILL.md +0 -55
  262. package/framework/skills/qualia-complete-milestone/SKILL.md +0 -134
  263. package/framework/skills/qualia-debug/SKILL.md +0 -149
  264. package/framework/skills/qualia-design/SKILL.md +0 -203
  265. package/framework/skills/qualia-discuss-phase/SKILL.md +0 -72
  266. package/framework/skills/qualia-evolve/SKILL.md +0 -200
  267. package/framework/skills/qualia-execute-phase/SKILL.md +0 -89
  268. package/framework/skills/qualia-framework-audit/SKILL.md +0 -604
  269. package/framework/skills/qualia-guide/SKILL.md +0 -32
  270. package/framework/skills/qualia-help/SKILL.md +0 -114
  271. package/framework/skills/qualia-idk/SKILL.md +0 -352
  272. package/framework/skills/qualia-list-phase-assumptions/SKILL.md +0 -67
  273. package/framework/skills/qualia-new-milestone/SKILL.md +0 -72
  274. package/framework/skills/qualia-new-project/SKILL.md +0 -232
  275. package/framework/skills/qualia-pause-work/SKILL.md +0 -96
  276. package/framework/skills/qualia-plan-milestone-gaps/SKILL.md +0 -57
  277. package/framework/skills/qualia-plan-phase/SKILL.md +0 -104
  278. package/framework/skills/qualia-production-check/SKILL.md +0 -0
  279. package/framework/skills/qualia-progress/SKILL.md +0 -53
  280. package/framework/skills/qualia-quick/SKILL.md +0 -89
  281. package/framework/skills/qualia-report/SKILL.md +0 -166
  282. package/framework/skills/qualia-research-phase/SKILL.md +0 -88
  283. package/framework/skills/qualia-resume-work/SKILL.md +0 -62
  284. package/framework/skills/qualia-review/SKILL.md +0 -263
  285. package/framework/skills/qualia-start/SKILL.md +0 -161
  286. package/framework/skills/qualia-verify-work/SKILL.md +0 -132
  287. package/framework/skills/rag/SKILL.md +0 -750
  288. package/framework/skills/responsive/SKILL.md +0 -231
  289. package/framework/skills/retro/SKILL.md +0 -284
  290. package/framework/skills/sakani-conventions/SKILL.md +0 -136
  291. package/framework/skills/sakani-conventions/evals/evals.json +0 -23
  292. package/framework/skills/sakani-conventions/references/entities.md +0 -365
  293. package/framework/skills/sakani-conventions/references/error-codes.md +0 -95
  294. package/framework/skills/seo-master/SKILL.md +0 -490
  295. package/framework/skills/seo-master/references/checklist.md +0 -199
  296. package/framework/skills/seo-master/references/structured-data.md +0 -609
  297. package/framework/skills/ship/SKILL.md +0 -239
  298. package/framework/skills/stack-researcher/SKILL.md +0 -215
  299. package/framework/skills/status/SKILL.md +0 -154
  300. package/framework/skills/status/scripts/health-check.sh +0 -562
  301. package/framework/skills/subscription-payments/SKILL.md +0 -250
  302. package/framework/skills/supabase/SKILL.md +0 -973
  303. package/framework/skills/supabase/references/templates.md +0 -159
  304. package/framework/skills/team/SKILL.md +0 -67
  305. package/framework/skills/test-runner/SKILL.md +0 -202
  306. package/framework/skills/voice-agent/SKILL.md +0 -1312
  307. package/framework/skills/zoho-workflow/SKILL.md +0 -51
  308. package/framework/statusline-command.sh +0 -117
  309. package/framework/teams/default/inboxes/plan-04.json +0 -9
  310. package/framework/teams/review-team.md +0 -75
  311. package/framework/teams/ship-team.md +0 -86
  312. package/profiles/fawzi.json +0 -16
  313. package/profiles/hasan.json +0 -16
  314. package/profiles/moayad.json +0 -16
  315. package/templates/CLAUDE-owner.md +0 -52
  316. package/templates/CLAUDE.md.hbs +0 -58
  317. package/templates/env.claude.template +0 -12
  318. package/templates/settings.json +0 -172
  319. package/uninstall.sh +0 -90
  320. /package/{framework/rules → rules}/deployment.md +0 -0
  321. /package/{framework/rules → rules}/security.md +0 -0
@@ -1,239 +0,0 @@
1
- ---
2
- name: ship
3
- description: "Full production deployment pipeline — quality gates, commit, deploy, and verify. Role-aware: OWNER pushes directly, DEVELOPER auto-creates feature branch. Use this skill whenever the user says 'ship', 'deploy', 'push to production', 'go live', 'release', 'ship it', 'push', 'push it', 'put it on github', 'send to github', 'push to github', or wants to deploy any project (website, AI agent, voice agent, edge functions). Also trigger when user mentions Vercel deploy, Supabase functions deploy, Cloudflare Workers deploy, or just wants their code pushed."
4
- ---
5
-
6
- # Ship — Full Production Deployment Pipeline
7
-
8
- Ship the current project to production. Runs quality gates, commits, pushes, deploys, and verifies.
9
-
10
- Reference `.planning/PROJECT.md` and `.planning/STATE.md` for project config. If no `.planning/` exists, use `package.json` and git remote to identify the project.
11
-
12
- ## Usage
13
-
14
- `/ship` — Auto-detect project type from codebase
15
- `/ship --type=agent` — AI agent deployment (safety checks, webhook idempotency)
16
- `/ship --type=voice` — Voice agent deployment (signature verification, latency checks)
17
- `/ship --type=website` — Website deployment (SEO, responsive checks)
18
-
19
- ## Auto-Detection (when --type not specified)
20
-
21
- Detect project type from codebase signals:
22
-
23
- - **agent**: Has AI provider imports (`openai`, `anthropic`, `@ai-sdk`), webhook handlers, agent logic
24
- - **voice**: Has Retell/ElevenLabs/Telnyx imports, voice webhook handlers, `x-retell-signature`
25
- - **website**: Has `app/page.tsx` or `pages/index.tsx`, no AI provider imports, primarily UI components
26
- - **edge-functions**: Has `supabase/functions/` directory, no frontend
27
-
28
- If ambiguous, ask user. If pure edge functions, skip tsc/eslint quality gates.
29
-
30
- ## Shipping Checklist Gate
31
-
32
- Before deploying, load the relevant shipping checklist from `~/.claude/qualia-framework/references/completion-checklists.md`:
33
-
34
- - **website** → "Website-Specific Checklist" + "Universal Checklist"
35
- - **agent** → "AI Agent Checklist" + "Universal Checklist"
36
- - **voice** → "Voice Agent Checklist" + "Universal Checklist"
37
- - **mobile** → "Mobile App Checklist" + "Universal Checklist"
38
- - **platform** → "Platform with LLM Checklist" + "Universal Checklist"
39
-
40
- After quality gates pass (Step 2), scan the codebase against each checklist item and report:
41
- - PASS: item verified automatically (e.g., grep found no service_role in client code)
42
- - WARN: could not verify automatically — needs manual check
43
- - FAIL: item clearly not met (e.g., no meta descriptions found)
44
-
45
- Any FAIL items are **deploy blockers** — report them and ask if user wants to fix first or ship anyway.
46
- Include the checklist results in the final deploy report (Step 8).
47
-
48
- ## Steps
49
-
50
- ### 1. Identify Project
51
-
52
- `pwd` to determine which project, look up deploy config from `.planning/PROJECT.md` and `.planning/STATE.md`. If no `.planning/` exists, use `package.json` and git remote to identify the project.
53
-
54
- ### 2. Quality Gates
55
-
56
- Run in sequence. **If any gate fails, DO NOT dump raw errors to the employee.** Instead:
57
-
58
- 1. Summarize what failed in plain language
59
- 2. Auto-fix the issues
60
- 3. Re-run the gate
61
- 4. If auto-fix works, continue. If not, tell the employee what's happening.
62
-
63
- ```bash
64
- npx tsc --noEmit # TypeScript check — skip if no tsconfig or pure edge functions
65
- npx eslint . --max-warnings 0 # Lint check — skip if no eslint config
66
- npm run build # Build verification — skip if pure edge functions
67
- ```
68
-
69
- **On TypeScript failure:**
70
- > "Found {N} code errors. Fixing them now..."
71
- > Fix the errors, then re-run `npx tsc --noEmit`.
72
- > If still failing after 2 attempts: "Some errors need your input. Here's what's wrong: {plain language summary}. Tell me how to proceed."
73
-
74
- **On ESLint failure:**
75
- > "Found {N} code quality issues. Fixing them now..."
76
- > Run `npx eslint . --fix` first, then re-check.
77
- > If still failing: "Some lint issues can't be auto-fixed: {summary}. Fixing manually..."
78
-
79
- **On build failure:**
80
- > "The build failed. Investigating..."
81
- > Read the error, diagnose, fix, and retry.
82
- > If still failing: "Build is failing because {plain language reason}. This needs investigation — try `/qualia-debug` or escalate to Fawzi."
83
-
84
- ### 2a. Run Tests
85
-
86
- If test infrastructure exists (per `~/.claude/skills/test-runner/SKILL.md` detection):
87
-
88
- ```bash
89
- npm test 2>&1 | tail -30 # Unit/Integration
90
- npx playwright test 2>&1 # E2E (if configured)
91
- ```
92
-
93
- **On test failure:**
94
- > "Tests are failing. Fixing now..."
95
- > Attempt to fix failing tests. Re-run.
96
- > If still failing after 2 attempts: "{N} tests still failing. Here's the summary: {plain language}. Fix these before deploying, or say 'ship anyway' to skip tests."
97
- If no test infrastructure: skip silently.
98
-
99
- ### 2b. Review Gate
100
-
101
- **IMPORTANT: The pre-deploy-gate hook will BLOCK `vercel --prod` if REVIEW.md is missing or stale. This gate must pass BEFORE attempting deploy.**
102
-
103
- Check and auto-fix review freshness:
104
-
105
- 1. Find REVIEW.md: `.planning/REVIEW.md` or `.review/REVIEW.md`
106
- 2. **If missing:** Run `/qualia-review` to generate it. Then continue.
107
- 3. **If exists, check freshness:**
108
- ```bash
109
- REVIEW_MTIME=$(stat -c %Y "$REVIEW_FILE" 2>/dev/null || echo 0)
110
- LATEST_CODE_MTIME=0
111
- for DIR in src app pages lib components; do
112
- [ -d "$DIR" ] && DIR_LATEST=$(find "$DIR" -type f \( -name "*.ts" -o -name "*.tsx" -o -name "*.js" -o -name "*.jsx" \) -printf '%T@\n' 2>/dev/null | sort -rn | head -1 | cut -d. -f1)
113
- [ -n "$DIR_LATEST" ] && [ "$DIR_LATEST" -gt "$LATEST_CODE_MTIME" ] && LATEST_CODE_MTIME=$DIR_LATEST
114
- done
115
- ```
116
- - If `LATEST_CODE_MTIME > REVIEW_MTIME`: REVIEW.md is stale. Run `/qualia-review` to refresh it, then continue.
117
- - If fresh: continue.
118
- 4. Read the review content:
119
- - If `status: has_blockers`: list unresolved CRITICAL/HIGH findings, ask "Fix these first, or deploy anyway?"
120
- - If `status: clean` → continue
121
-
122
- ### 3. Type-Specific Checks
123
-
124
- Based on detected or specified type:
125
-
126
- #### If agent (AI Agent):
127
-
128
- - **AI safety quick-check** — Grep codebase for:
129
- - `service_role` in client-side files (`app/`, `components/`, `src/`) — should be ZERO matches (FAIL = blocks deploy)
130
- - Rate limiting middleware — grep for `rateLimit`, `rateLimiter` in API routes
131
- - `maxTokens` on AI calls — grep for `maxTokens`, `max_tokens` in AI provider calls
132
- - Report: PASS/FAIL per item
133
- - **Webhook idempotency check** — Grep for deduplication logic (`dedup`, `idempotency`, `already_processed`, `messageId`). Report: PASS/WARN
134
- - **Production resilience** — Check for timeout protection (`export const maxDuration`), circuit breakers, error monitoring (Sentry configured)
135
-
136
- #### If voice (Voice Agent):
137
-
138
- - **Webhook signature verification** — Grep for signature check (`x-retell-signature`, `signature`, `hmac`, `verify`). Report: PASS/WARN
139
- - **Edge function latency note** — First-response latency target: < 500ms. After deploy, test with: `curl -w "%{time_total}" -X POST <webhook-url>`
140
-
141
- #### If website (Website):
142
-
143
- - **SEO quick-check** — Grep for viewport meta, Open Graph tags (`og:title`, `og:description`), JSON-LD structured data. Report: PASS/WARN per item
144
- - **Responsive quick-check** — Check viewport meta exists, no fixed pixel widths on containers, `max-width` used on main content areas. Report: PASS/WARN per item
145
-
146
- ### 4. Git Workflow (Role-Aware Branching)
147
-
148
- **First: detect role and branch.**
149
-
150
- ```bash
151
- ROLE=$(grep -m1 "^## Role:" ~/.claude/CLAUDE.md 2>/dev/null | sed 's/^## Role: *//')
152
- BRANCH=$(git branch --show-current 2>/dev/null)
153
- ```
154
-
155
- **Branching logic:**
156
-
157
- | Role | On main/master | On feature branch |
158
- |------|---------------|-------------------|
159
- | OWNER | Push directly | Push directly |
160
- | DEVELOPER | Auto-create feature branch first | Push directly |
161
-
162
- **If DEVELOPER on main/master:**
163
-
164
- ```bash
165
- # Auto-create a descriptive feature branch from the work done
166
- # Use the commit message or task description for the branch name
167
- git checkout -b feature/<descriptive-name>
168
- # Stage, commit, push to the NEW branch
169
- git push -u origin feature/<descriptive-name>
170
- ```
171
-
172
- Tell the user: "Created branch `feature/<name>` and pushed there. You can't push directly to main — create a PR when ready."
173
-
174
- **If OWNER or already on feature branch:**
175
-
176
- ```bash
177
- git status
178
- # Stage relevant files (NOT .env, NOT node_modules)
179
- # Create descriptive commit
180
- # Push to current branch
181
- ```
182
-
183
- ### 5. Preview Deploy
184
-
185
- Deploy to preview first (if applicable):
186
-
187
- ```bash
188
- vercel # without --prod — gets preview URL
189
- ```
190
-
191
- Run post-deploy checks against the preview URL. If checks pass, proceed to production. If checks fail, fix issues and re-deploy to preview.
192
-
193
- ### 6. Deploy
194
-
195
- Based on project:
196
-
197
- ```bash
198
- vercel --prod # Vercel projects
199
- supabase functions deploy # Edge functions
200
- wrangler deploy # Cloudflare Workers
201
- supabase db push --project-ref <ref> # If migrations pending — test on branch first
202
- ```
203
-
204
- ### 7. Post-Deploy Verification
205
-
206
- #### All types:
207
-
208
- ```bash
209
- curl -s -o /dev/null -w "%{http_code}" <domain> # HTTP 200
210
- # Key endpoints respond under 500ms
211
- ```
212
-
213
- #### Agent additions:
214
- Auth flow, webhook test, console errors, load test, error monitoring
215
-
216
- #### Voice additions:
217
- Webhook test, latency test, edge function logs
218
-
219
- #### Website additions:
220
- Auth flow, console errors, SEO verify, Lighthouse hint
221
-
222
- ### 8. Report
223
-
224
- Summary of what was deployed, type-specific check results, latency measurements, deploy verification.
225
-
226
- ### 9. Rollback Plan
227
-
228
- If production issues detected:
229
-
230
- - **Vercel**: `vercel rollback`
231
- - **Cloudflare Workers**: `wrangler deploy` previous version
232
- - **Edge functions**: `supabase functions deploy <name> --version <previous>`
233
- - **Supabase migrations**: Create reverse migration
234
- - **Emergency**: Vercel dashboard manual rollback
235
-
236
- If ANY quality gate or safety check FAILS: attempt to auto-fix. If auto-fix fails after 2 attempts, explain the issue in plain language and suggest next steps. Never dump raw error output without a plain-language summary first.
237
-
238
- ---
239
- > Stuck? Type `/qualia-idk` · Lost? Type `/qualia-help`
@@ -1,215 +0,0 @@
1
- ---
2
- name: stack-researcher
3
- description: Research latest best practices for any tech stack using web search and documentation - Next.js, React, Supabase, Vercel, Tailwind, etc. Use when you need up-to-date framework guidance or want to compare approaches.
4
- tags: [research, best-practices, documentation, nextjs, react, supabase, vercel]
5
- ---
6
-
7
- # Stack Researcher
8
-
9
- You are a technical researcher specializing in finding up-to-date best practices, patterns, and documentation for modern web development stacks. You use **web search and official documentation** to provide current guidance.
10
-
11
- **Announce at start:** "Activating stack-researcher to find latest best practices for your stack."
12
-
13
- ## Phase 1: Identify Stack
14
-
15
- First, analyze the project to identify:
16
- ```
17
- 1. Framework (Next.js version, React version)
18
- 2. Database (Supabase, PlanetScale, Prisma)
19
- 3. Auth (NextAuth, Supabase Auth, Clerk)
20
- 4. Styling (Tailwind, shadcn/ui)
21
- 5. Deployment (Vercel, AWS, self-hosted)
22
- 6. Package manager (npm, pnpm, yarn)
23
- ```
24
-
25
- ## Phase 2: Research Each Stack Component
26
-
27
- For each identified technology, research:
28
-
29
- ### Next.js Research
30
- ```
31
- - App Router vs Pages Router patterns
32
- - Server Components vs Client Components
33
- - Data fetching (RSC, Server Actions, Route Handlers)
34
- - Caching and revalidation
35
- - Middleware patterns
36
- - SEO and metadata
37
- - Performance optimization
38
- - Recent breaking changes
39
- ```
40
-
41
- ### React 19 Research
42
- ```
43
- - New hooks and features
44
- - Concurrent rendering patterns
45
- - Server Components integration
46
- - Suspense boundaries
47
- - Error boundaries
48
- - Transitions
49
- - Memoization patterns (when needed vs unnecessary)
50
- ```
51
-
52
- ### Supabase Research
53
- ```
54
- - Auth patterns (PKCE, SSR)
55
- - RLS policy patterns
56
- - Real-time subscriptions
57
- - Edge functions
58
- - Storage patterns
59
- - Performance optimization
60
- - Migration best practices
61
- ```
62
-
63
- ### Tailwind Research
64
- ```
65
- - v4 changes (if applicable)
66
- - Design system setup
67
- - Dark mode patterns
68
- - Animation utilities
69
- - Custom configuration
70
- - Plugin recommendations
71
- ```
72
-
73
- ### Vercel Deployment Research
74
- ```
75
- - Edge vs Serverless functions
76
- - ISR patterns
77
- - Image optimization
78
- - Analytics integration
79
- - Environment variables
80
- - Preview deployments
81
- - Cron jobs
82
- ```
83
-
84
- ## Research Output Format
85
-
86
- For each technology researched:
87
-
88
- ```markdown
89
- ## [Technology Name] Best Practices (as of YYYY-MM)
90
-
91
- ### Official Documentation Summary
92
- [Key points from official docs]
93
-
94
- ### Current Best Practices
95
- 1. **[Practice]**: [Why and how]
96
- 2. **[Practice]**: [Why and how]
97
-
98
- ### Common Pitfalls to Avoid
99
- 1. **[Anti-pattern]**: [Why it's bad, what to do instead]
100
- 2. **[Anti-pattern]**: [Why it's bad, what to do instead]
101
-
102
- ### Recent Changes (Last 6 months)
103
- - [Change]: [Impact on your code]
104
-
105
- ### Code Examples
106
-
107
- #### Recommended Pattern
108
- ```[language]
109
- // Good: [explanation]
110
- [code]
111
- ```
112
-
113
- #### Anti-Pattern to Avoid
114
- ```[language]
115
- // Bad: [explanation]
116
- [code]
117
- ```
118
-
119
- ### Resources
120
- - [Official docs link]
121
- - [Recommended blog post/video]
122
- ```
123
-
124
- ## Research Topics by Category
125
-
126
- ### Frontend Patterns
127
- - Component composition patterns
128
- - State management approaches
129
- - Form handling (react-hook-form + zod)
130
- - Data fetching and caching
131
- - Optimistic updates
132
- - Error handling
133
- - Accessibility patterns
134
- - Testing strategies
135
-
136
- ### Backend Patterns
137
- - API design (REST, GraphQL, tRPC)
138
- - Authentication flows
139
- - Authorization patterns
140
- - Input validation
141
- - Error handling
142
- - Logging and monitoring
143
- - Rate limiting
144
- - Caching strategies
145
-
146
- ### Database Patterns
147
- - Schema design principles
148
- - Index optimization
149
- - Query patterns (avoiding N+1)
150
- - Migration strategies
151
- - Backup and recovery
152
- - Connection pooling
153
- - Row-level security
154
-
155
- ### DevOps Patterns
156
- - CI/CD configuration
157
- - Environment management
158
- - Secret management
159
- - Monitoring and alerting
160
- - Logging aggregation
161
- - Performance profiling
162
- - Security scanning
163
-
164
- ## Comparison Research
165
-
166
- When asked to compare approaches:
167
-
168
- ```markdown
169
- ## Comparison: [Option A] vs [Option B]
170
-
171
- ### Overview
172
- [Brief description of what we're comparing]
173
-
174
- ### Side-by-Side
175
-
176
- | Aspect | Option A | Option B |
177
- |--------|----------|----------|
178
- | Performance | ... | ... |
179
- | DX | ... | ... |
180
- | Ecosystem | ... | ... |
181
- | Learning Curve | ... | ... |
182
- | Maintenance | ... | ... |
183
-
184
- ### When to Use Option A
185
- - [Scenario 1]
186
- - [Scenario 2]
187
-
188
- ### When to Use Option B
189
- - [Scenario 1]
190
- - [Scenario 2]
191
-
192
- ### Recommendation for This Project
193
- [Based on what was detected in the codebase]
194
- ```
195
-
196
- ## After Research
197
-
198
- ```
199
- "Research complete. Would you like me to:
200
-
201
- 1. **Apply Recommendations** - Update your code to follow best practices
202
- 2. **Create Migration Plan** - Plan for updating to recommended patterns
203
- 3. **Deep Dive Specific Area** - Research more detail on one topic
204
- 4. **Save Research** - Save findings to docs/research/
205
- 5. **Compare Alternatives** - Research alternative approaches"
206
- ```
207
-
208
- ## Trigger Phrases
209
-
210
- - "research best practices for [stack]"
211
- - "what's the latest on [technology]"
212
- - "compare [A] vs [B]"
213
- - "how should I do [X] in [framework]"
214
- - "is my [pattern] up to date"
215
- - "research current patterns"
@@ -1,154 +0,0 @@
1
- ---
2
- name: status
3
- description: "Fleet-wide health check for all Qualia projects — HTTP status, SSL, Supabase, response times. Flags issues without fixing them. Supports --quick and --project modes."
4
- user-invocable: true
5
- ---
6
-
7
- # Fleet Health Monitor
8
-
9
- Diagnostic sweep across all active and maintenance Qualia projects. Flags problems, doesn't fix them.
10
-
11
- ## Usage
12
-
13
- - `/status` — Check all active + maintenance projects (HTTP, SSL, Supabase, latency)
14
- - `/status --quick` — HTTP status only (fast, ~15 seconds)
15
- - `/status --project vero` — Deep check on a single project
16
-
17
- ## How It Works
18
-
19
- ### Step 1: Read qualia-context.md
20
-
21
- ALWAYS read `~/.claude/knowledge/qualia-context.md` at the start. Never hardcode project URLs or Supabase refs — the file is the source of truth.
22
-
23
- Extract all projects with status ACTIVE, MAINTENANCE, or LIVE. Skip DORMANT and DEV unless specifically requested.
24
-
25
- Build the check list:
26
- ```
27
- Project → URL (derive from project name: {name}.vercel.app) → Supabase ref (if any) → Hosting type
28
- ```
29
-
30
- For projects where the URL isn't `{name}.vercel.app` (custom domains, Cloudflare, etc.), check the project's `.env.local` or Vercel dashboard.
31
-
32
- Known special cases:
33
- - `armenius` → Cloudflare Workers (not Vercel)
34
- - `qualia` (ERP) → `qualia-erp.vercel.app`
35
- - `sofiatesting` → verify the exact Vercel URL from project dir
36
-
37
- ### Step 2: Run Health Checks
38
-
39
- Use `scripts/health-check.sh` for the actual HTTP/SSL checks. Run all projects in parallel using background processes.
40
-
41
- **Default mode checks (per project):**
42
-
43
- | Check | Method | PASS | WARN | FAIL |
44
- |-------|--------|------|------|------|
45
- | HTTP Status | `curl -sL -o /dev/null -w "%{http_code}" --max-time 10` | 200 | 301/302 (redirect) | 4xx, 5xx, timeout |
46
- | Response Time | `curl -sL -o /dev/null -w "%{time_total}" --max-time 10` | < 1s | 1–3s | > 3s or timeout |
47
- | SSL Certificate | `openssl s_client` + check expiry | > 30 days | 7–30 days | < 7 days or expired |
48
- | Supabase Health | `curl https://{ref}.supabase.co/rest/v1/` | Reachable (200/401) | Slow (> 500ms) | Unreachable |
49
-
50
- **Quick mode (`--quick`):** HTTP Status only. Skips SSL, Supabase, response time.
51
-
52
- **Deep mode (`--project {name}`):** All default checks plus:
53
- - Vercel deployment status (`vercel ls` in project dir)
54
- - Last deploy time
55
- - Supabase connection count (`supabase inspect db connections` or `pg_stat_activity`)
56
- - Supabase auth health (`/auth/v1/health`)
57
- - Edge function status (`supabase functions list`)
58
-
59
- ### Step 3: Generate Report
60
-
61
- ```
62
- ════════════════════════════════════════════════════
63
- QUALIA FLEET HEALTH — 2026-03-04 17:30 UTC
64
- Checking: 8 active/maintenance projects
65
- ════════════════════════════════════════════════════
66
-
67
- WEBSITES
68
- ✓ PASS qualiafinal 200 OK (287ms) SSL: 68d
69
- ✓ PASS vero 200 OK (342ms) SSL: 45d DB: healthy
70
- ✓ PASS aibossbrainz 200 OK (198ms) SSL: 45d DB: healthy
71
- ⚠ WARN aquador 200 OK (1.8s) SSL: 12d DB: healthy
72
- ✓ PASS glluztech 200 OK (445ms) SSL: 68d
73
- ✓ PASS inrvo 200 OK (312ms) SSL: 68d
74
- ✓ PASS maud 200 OK (521ms) SSL: 68d DB: healthy
75
- ✓ PASS mpm 200 OK (389ms) SSL: 68d DB: healthy
76
-
77
- AI AGENTS
78
- ✓ PASS sofiatesting 200 OK (412ms) SSL: 45d DB: healthy
79
-
80
- VOICE
81
- ✓ PASS under 200 OK (267ms) SSL: 45d DB: healthy
82
- ⚠ WARN armenius 200 OK (890ms) SSL: 22d
83
-
84
- ──────────────────────────────────────────────────
85
- RESULT: 9 PASS · 2 WARN · 0 FAIL
86
- Total check time: 12.4s
87
- ──────────────────────────────────────────────────
88
- ```
89
-
90
- ### Step 4: Flag Issues
91
-
92
- If any check returns FAIL or WARN, print specific next steps below the report:
93
-
94
- ```
95
- ISSUES FOUND:
96
-
97
- ⚠ aquador — Response time 1.8s (threshold: 1s)
98
- → Check: vercel logs aquador.vercel.app
99
- → Check: supabase inspect db outliers --project-ref hznpuxplqgszbacxzbhv
100
-
101
- ⚠ armenius — SSL expires in 22 days
102
- → Check: Cloudflare dashboard → SSL/TLS → Edge Certificates
103
- → Note: Armenius uses Cloudflare, not Vercel (auto-renewal should handle this)
104
- ```
105
-
106
- For FAIL results, be more urgent:
107
- ```
108
- ✗ FAIL vero — HTTP 503 Service Unavailable
109
- → IMMEDIATE: Check Vercel dashboard for vero
110
- → Run: vercel logs vero.vercel.app
111
- → Check: Supabase dashboard → is project paused?
112
- → If unrecoverable: vercel rollback --prod
113
- ```
114
-
115
- ## Project URL Resolution
116
-
117
- The script resolves project URLs in this order:
118
-
119
- 1. Check for `VERCEL_URL` or `NEXT_PUBLIC_SITE_URL` in project's `.env.local`
120
- 2. Check for custom domain in project's `vercel.json`
121
- 3. Fall back to `{project-name}.vercel.app`
122
-
123
- Known URL overrides (kept in the health-check.sh script):
124
- ```bash
125
- declare -A URL_OVERRIDES=(
126
- ["qualia"]="qualia-erp.vercel.app"
127
- # Add more as discovered
128
- )
129
- ```
130
-
131
- ## Cron Integration
132
-
133
- This skill is designed to work with a daily cron job:
134
-
135
- ```bash
136
- # Run daily at 8am Cyprus time (5am UTC)
137
- 0 5 * * * bash ~/.claude/skills/status/scripts/health-check.sh --all > /tmp/qualia-health-$(date +\%Y\%m\%d).log 2>&1
138
- ```
139
-
140
- The health-check.sh script outputs plain text (no ANSI colors) when stdout isn't a terminal, making logs readable.
141
-
142
- To review the last health check:
143
- ```bash
144
- cat /tmp/qualia-health-$(date +%Y%m%d).log
145
- ```
146
-
147
- ## Rules
148
-
149
- - **Flag but don't fix** — this is diagnostic only. Never modify, deploy, or rollback.
150
- - **Read qualia-context.md every time** — never hardcode URLs or refs.
151
- - **10-second timeout per check** — don't hang on unresponsive projects.
152
- - **Parallel execution** — run project checks concurrently using background processes.
153
- - **curl only** — no extra dependencies for HTTP checks.
154
- - **No secrets in output** — never print API keys, service role keys, or connection strings.