qualia-framework 2.1.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 (261) hide show
  1. package/README.md +50 -0
  2. package/bin/cli.js +519 -0
  3. package/framework/agents/architecture-strategist.md +53 -0
  4. package/framework/agents/backend-agent.md +150 -0
  5. package/framework/agents/code-simplicity-reviewer.md +86 -0
  6. package/framework/agents/frontend-agent.md +111 -0
  7. package/framework/agents/kieran-typescript-reviewer.md +96 -0
  8. package/framework/agents/performance-oracle.md +111 -0
  9. package/framework/agents/qualia-codebase-mapper.md +760 -0
  10. package/framework/agents/qualia-debugger.md +1203 -0
  11. package/framework/agents/qualia-executor.md +881 -0
  12. package/framework/agents/qualia-integration-checker.md +423 -0
  13. package/framework/agents/qualia-phase-researcher.md +453 -0
  14. package/framework/agents/qualia-plan-checker.md +699 -0
  15. package/framework/agents/qualia-planner.md +1241 -0
  16. package/framework/agents/qualia-project-researcher.md +602 -0
  17. package/framework/agents/qualia-research-synthesizer.md +236 -0
  18. package/framework/agents/qualia-roadmapper.md +605 -0
  19. package/framework/agents/qualia-verifier.md +685 -0
  20. package/framework/agents/team-orchestrator.md +228 -0
  21. package/framework/agents/teams/full-stack-team.md +48 -0
  22. package/framework/agents/teams/optimize-team.md +53 -0
  23. package/framework/agents/teams/review-team.md +62 -0
  24. package/framework/agents/teams/ship-team.md +86 -0
  25. package/framework/agents/test-agent.md +182 -0
  26. package/framework/askpass.sh +2 -0
  27. package/framework/commands/design.md +53 -0
  28. package/framework/commands/quick-db.md +22 -0
  29. package/framework/config/retention.json +35 -0
  30. package/framework/core/PRINCIPLES.md +77 -0
  31. package/framework/hooks/auto-format.sh +45 -0
  32. package/framework/hooks/block-env-edit.sh +42 -0
  33. package/framework/hooks/branch-guard.sh +46 -0
  34. package/framework/hooks/confirm-delete.sh +56 -0
  35. package/framework/hooks/migration-validate.sh +68 -0
  36. package/framework/hooks/notification-speak.sh +15 -0
  37. package/framework/hooks/pre-commit.sh +80 -0
  38. package/framework/hooks/pre-compact.sh +55 -0
  39. package/framework/hooks/pre-deploy-gate.sh +151 -0
  40. package/framework/hooks/qualia-colors.sh +32 -0
  41. package/framework/hooks/retention-cleanup.sh +43 -0
  42. package/framework/hooks/save-session-state.sh +153 -0
  43. package/framework/hooks/session-context-loader.sh +28 -0
  44. package/framework/hooks/session-learn.sh +30 -0
  45. package/framework/knowledge/claudecode-bible.md +1384 -0
  46. package/framework/knowledge/client-prefs.md +22 -0
  47. package/framework/knowledge/common-fixes.md +25 -0
  48. package/framework/knowledge/deployment-map.md +35 -0
  49. package/framework/knowledge/email-signature.html +1 -0
  50. package/framework/knowledge/employees.md +8 -0
  51. package/framework/knowledge/learned-patterns.md +51 -0
  52. package/framework/knowledge/optimization-research-2026.md +137 -0
  53. package/framework/knowledge/qualia-context.md +67 -0
  54. package/framework/knowledge/supabase-patterns.md +50 -0
  55. package/framework/knowledge/voice-agent-patterns.md +46 -0
  56. package/framework/qualia-engine/VERSION +1 -0
  57. package/framework/qualia-engine/bin/qualia-tools.js +2160 -0
  58. package/framework/qualia-engine/bin/qualia-tools.test.js +1054 -0
  59. package/framework/qualia-engine/references/checkpoints.md +775 -0
  60. package/framework/qualia-engine/references/continuation-format.md +249 -0
  61. package/framework/qualia-engine/references/decimal-phase-calculation.md +65 -0
  62. package/framework/qualia-engine/references/design-quality.md +56 -0
  63. package/framework/qualia-engine/references/git-integration.md +254 -0
  64. package/framework/qualia-engine/references/git-planning-commit.md +50 -0
  65. package/framework/qualia-engine/references/model-profile-resolution.md +32 -0
  66. package/framework/qualia-engine/references/model-profiles.md +73 -0
  67. package/framework/qualia-engine/references/phase-argument-parsing.md +61 -0
  68. package/framework/qualia-engine/references/planning-config.md +195 -0
  69. package/framework/qualia-engine/references/questioning.md +141 -0
  70. package/framework/qualia-engine/references/tdd.md +263 -0
  71. package/framework/qualia-engine/references/ui-brand.md +160 -0
  72. package/framework/qualia-engine/references/verification-patterns.md +612 -0
  73. package/framework/qualia-engine/templates/DEBUG.md +159 -0
  74. package/framework/qualia-engine/templates/DESIGN.md +81 -0
  75. package/framework/qualia-engine/templates/UAT.md +247 -0
  76. package/framework/qualia-engine/templates/codebase/architecture.md +255 -0
  77. package/framework/qualia-engine/templates/codebase/concerns.md +310 -0
  78. package/framework/qualia-engine/templates/codebase/conventions.md +307 -0
  79. package/framework/qualia-engine/templates/codebase/integrations.md +280 -0
  80. package/framework/qualia-engine/templates/codebase/stack.md +186 -0
  81. package/framework/qualia-engine/templates/codebase/structure.md +285 -0
  82. package/framework/qualia-engine/templates/codebase/testing.md +480 -0
  83. package/framework/qualia-engine/templates/config.json +35 -0
  84. package/framework/qualia-engine/templates/context.md +283 -0
  85. package/framework/qualia-engine/templates/continue-here.md +78 -0
  86. package/framework/qualia-engine/templates/debug-subagent-prompt.md +91 -0
  87. package/framework/qualia-engine/templates/discovery.md +146 -0
  88. package/framework/qualia-engine/templates/milestone-archive.md +123 -0
  89. package/framework/qualia-engine/templates/milestone.md +115 -0
  90. package/framework/qualia-engine/templates/phase-prompt.md +567 -0
  91. package/framework/qualia-engine/templates/planner-subagent-prompt.md +117 -0
  92. package/framework/qualia-engine/templates/project.md +184 -0
  93. package/framework/qualia-engine/templates/projects/ai-agent.md +156 -0
  94. package/framework/qualia-engine/templates/projects/mobile-app.md +181 -0
  95. package/framework/qualia-engine/templates/projects/voice-agent.md +134 -0
  96. package/framework/qualia-engine/templates/projects/website.md +137 -0
  97. package/framework/qualia-engine/templates/requirements.md +231 -0
  98. package/framework/qualia-engine/templates/research-project/ARCHITECTURE.md +204 -0
  99. package/framework/qualia-engine/templates/research-project/FEATURES.md +147 -0
  100. package/framework/qualia-engine/templates/research-project/PITFALLS.md +200 -0
  101. package/framework/qualia-engine/templates/research-project/STACK.md +120 -0
  102. package/framework/qualia-engine/templates/research-project/SUMMARY.md +170 -0
  103. package/framework/qualia-engine/templates/research.md +552 -0
  104. package/framework/qualia-engine/templates/roadmap.md +202 -0
  105. package/framework/qualia-engine/templates/state.md +176 -0
  106. package/framework/qualia-engine/templates/summary-complex.md +59 -0
  107. package/framework/qualia-engine/templates/summary-minimal.md +41 -0
  108. package/framework/qualia-engine/templates/summary-standard.md +48 -0
  109. package/framework/qualia-engine/templates/summary.md +246 -0
  110. package/framework/qualia-engine/templates/user-setup.md +311 -0
  111. package/framework/qualia-engine/templates/verification-report.md +322 -0
  112. package/framework/qualia-engine/workflows/add-phase.md +179 -0
  113. package/framework/qualia-engine/workflows/add-todo.md +157 -0
  114. package/framework/qualia-engine/workflows/audit-milestone.md +241 -0
  115. package/framework/qualia-engine/workflows/check-todos.md +176 -0
  116. package/framework/qualia-engine/workflows/complete-milestone.md +858 -0
  117. package/framework/qualia-engine/workflows/diagnose-issues.md +219 -0
  118. package/framework/qualia-engine/workflows/discovery-phase.md +289 -0
  119. package/framework/qualia-engine/workflows/discuss-phase.md +534 -0
  120. package/framework/qualia-engine/workflows/execute-phase.md +559 -0
  121. package/framework/qualia-engine/workflows/execute-plan.md +438 -0
  122. package/framework/qualia-engine/workflows/help.md +470 -0
  123. package/framework/qualia-engine/workflows/insert-phase.md +220 -0
  124. package/framework/qualia-engine/workflows/list-phase-assumptions.md +178 -0
  125. package/framework/qualia-engine/workflows/map-codebase.md +327 -0
  126. package/framework/qualia-engine/workflows/new-milestone.md +363 -0
  127. package/framework/qualia-engine/workflows/new-project.md +1037 -0
  128. package/framework/qualia-engine/workflows/pause-work.md +122 -0
  129. package/framework/qualia-engine/workflows/plan-milestone-gaps.md +256 -0
  130. package/framework/qualia-engine/workflows/plan-phase.md +422 -0
  131. package/framework/qualia-engine/workflows/progress.md +354 -0
  132. package/framework/qualia-engine/workflows/quick.md +252 -0
  133. package/framework/qualia-engine/workflows/remove-phase.md +326 -0
  134. package/framework/qualia-engine/workflows/research-phase.md +74 -0
  135. package/framework/qualia-engine/workflows/resume-project.md +306 -0
  136. package/framework/qualia-engine/workflows/set-profile.md +80 -0
  137. package/framework/qualia-engine/workflows/settings.md +145 -0
  138. package/framework/qualia-engine/workflows/transition.md +556 -0
  139. package/framework/qualia-engine/workflows/update.md +197 -0
  140. package/framework/qualia-engine/workflows/verify-phase.md +195 -0
  141. package/framework/qualia-engine/workflows/verify-work.md +625 -0
  142. package/framework/rules/context7.md +11 -0
  143. package/framework/rules/deployment.md +29 -0
  144. package/framework/rules/frontend.md +33 -0
  145. package/framework/rules/security.md +12 -0
  146. package/framework/rules/speed.md +20 -0
  147. package/framework/scripts/__pycache__/say.cpython-314.pyc +0 -0
  148. package/framework/scripts/apply-retention.sh +120 -0
  149. package/framework/scripts/bootstrap-pop-os.sh +354 -0
  150. package/framework/scripts/claude-voice +13 -0
  151. package/framework/scripts/cleanup.sh +131 -0
  152. package/framework/scripts/cowork-mode.sh +141 -0
  153. package/framework/scripts/generate-project-claude-md.sh +153 -0
  154. package/framework/scripts/load-test-webhook.js +172 -0
  155. package/framework/scripts/say.py +236 -0
  156. package/framework/scripts/showcase-video-recorder/ffmpeg-builder.js +167 -0
  157. package/framework/scripts/showcase-video-recorder/playwright-helpers.js +216 -0
  158. package/framework/scripts/speak.py +55 -0
  159. package/framework/scripts/speak.sh +18 -0
  160. package/framework/scripts/status.sh +138 -0
  161. package/framework/scripts/sync-to-framework.sh +65 -0
  162. package/framework/scripts/voice-hotkey.py +227 -0
  163. package/framework/scripts/voice-input.sh +51 -0
  164. package/framework/skills/animate/SKILL.md +202 -0
  165. package/framework/skills/bolder/SKILL.md +144 -0
  166. package/framework/skills/browser-qa/SKILL.md +536 -0
  167. package/framework/skills/clarify/SKILL.md +179 -0
  168. package/framework/skills/colorize/SKILL.md +170 -0
  169. package/framework/skills/critique/SKILL.md +126 -0
  170. package/framework/skills/deep-research/SKILL.md +271 -0
  171. package/framework/skills/delight/SKILL.md +329 -0
  172. package/framework/skills/deploy/SKILL.md +261 -0
  173. package/framework/skills/deploy-verify/SKILL.md +377 -0
  174. package/framework/skills/deploy-verify/scripts/canary-check.sh +206 -0
  175. package/framework/skills/deploy-verify/scripts/check-console-errors.js +147 -0
  176. package/framework/skills/deploy-verify/scripts/check-cwv.js +139 -0
  177. package/framework/skills/deploy-verify/scripts/project-detect.sh +84 -0
  178. package/framework/skills/deploy-verify/scripts/verify.sh +548 -0
  179. package/framework/skills/design-quieter/SKILL.md +130 -0
  180. package/framework/skills/distill/SKILL.md +149 -0
  181. package/framework/skills/docs-lookup/SKILL.md +78 -0
  182. package/framework/skills/fcm-notifications/SKILL.md +125 -0
  183. package/framework/skills/financial-ledger/SKILL.md +1039 -0
  184. package/framework/skills/frontend-master/NOTICE.md +4 -0
  185. package/framework/skills/frontend-master/SKILL.md +127 -0
  186. package/framework/skills/frontend-master/reference/color-and-contrast.md +132 -0
  187. package/framework/skills/frontend-master/reference/interaction-design.md +123 -0
  188. package/framework/skills/frontend-master/reference/motion-design.md +99 -0
  189. package/framework/skills/frontend-master/reference/responsive-design.md +114 -0
  190. package/framework/skills/frontend-master/reference/spatial-design.md +100 -0
  191. package/framework/skills/frontend-master/reference/typography.md +131 -0
  192. package/framework/skills/frontend-master/reference/ux-writing.md +107 -0
  193. package/framework/skills/harden/SKILL.md +357 -0
  194. package/framework/skills/i18n-rtl/SKILL.md +752 -0
  195. package/framework/skills/learn/SKILL.md +71 -0
  196. package/framework/skills/memory/SKILL.md +50 -0
  197. package/framework/skills/mobile-expo/SKILL.md +864 -0
  198. package/framework/skills/mobile-expo/references/store-checklist.md +550 -0
  199. package/framework/skills/nestjs-backend/README.md +73 -0
  200. package/framework/skills/nestjs-backend/SKILL.md +446 -0
  201. package/framework/skills/nestjs-backend/references/templates.md +1173 -0
  202. package/framework/skills/normalize/SKILL.md +79 -0
  203. package/framework/skills/onboard/SKILL.md +242 -0
  204. package/framework/skills/polish/SKILL.md +209 -0
  205. package/framework/skills/pr/SKILL.md +66 -0
  206. package/framework/skills/qualia/SKILL.md +153 -0
  207. package/framework/skills/qualia-add-todo/SKILL.md +68 -0
  208. package/framework/skills/qualia-audit-milestone/SKILL.md +92 -0
  209. package/framework/skills/qualia-check-todos/SKILL.md +55 -0
  210. package/framework/skills/qualia-complete-milestone/SKILL.md +108 -0
  211. package/framework/skills/qualia-debug/SKILL.md +149 -0
  212. package/framework/skills/qualia-design/SKILL.md +203 -0
  213. package/framework/skills/qualia-discuss-phase/SKILL.md +72 -0
  214. package/framework/skills/qualia-execute-phase/SKILL.md +86 -0
  215. package/framework/skills/qualia-help/SKILL.md +67 -0
  216. package/framework/skills/qualia-idk/SKILL.md +352 -0
  217. package/framework/skills/qualia-list-phase-assumptions/SKILL.md +67 -0
  218. package/framework/skills/qualia-new-milestone/SKILL.md +72 -0
  219. package/framework/skills/qualia-new-project/SKILL.md +92 -0
  220. package/framework/skills/qualia-optimize/SKILL.md +417 -0
  221. package/framework/skills/qualia-pause-work/SKILL.md +96 -0
  222. package/framework/skills/qualia-plan-milestone-gaps/SKILL.md +57 -0
  223. package/framework/skills/qualia-plan-phase/SKILL.md +101 -0
  224. package/framework/skills/qualia-progress/SKILL.md +53 -0
  225. package/framework/skills/qualia-quick/SKILL.md +89 -0
  226. package/framework/skills/qualia-research-phase/SKILL.md +88 -0
  227. package/framework/skills/qualia-resume-work/SKILL.md +62 -0
  228. package/framework/skills/qualia-review/SKILL.md +263 -0
  229. package/framework/skills/qualia-start/SKILL.md +182 -0
  230. package/framework/skills/qualia-verify-work/SKILL.md +105 -0
  231. package/framework/skills/qualia-workflow/SKILL.md +130 -0
  232. package/framework/skills/rag/SKILL.md +750 -0
  233. package/framework/skills/responsive/SKILL.md +231 -0
  234. package/framework/skills/retro/SKILL.md +284 -0
  235. package/framework/skills/sakani-conventions/SKILL.md +136 -0
  236. package/framework/skills/sakani-conventions/evals/evals.json +23 -0
  237. package/framework/skills/sakani-conventions/references/entities.md +365 -0
  238. package/framework/skills/sakani-conventions/references/error-codes.md +95 -0
  239. package/framework/skills/seo-master/SKILL.md +490 -0
  240. package/framework/skills/seo-master/references/checklist.md +199 -0
  241. package/framework/skills/seo-master/references/structured-data.md +609 -0
  242. package/framework/skills/ship/SKILL.md +202 -0
  243. package/framework/skills/stack-researcher/SKILL.md +215 -0
  244. package/framework/skills/status/SKILL.md +154 -0
  245. package/framework/skills/status/scripts/health-check.sh +562 -0
  246. package/framework/skills/subscription-payments/SKILL.md +250 -0
  247. package/framework/skills/supabase/SKILL.md +973 -0
  248. package/framework/skills/supabase/references/templates.md +159 -0
  249. package/framework/skills/team/SKILL.md +67 -0
  250. package/framework/skills/test-runner/SKILL.md +202 -0
  251. package/framework/skills/voice-agent/SKILL.md +407 -0
  252. package/framework/skills/zoho-workflow/SKILL.md +51 -0
  253. package/framework/statusline-command.sh +117 -0
  254. package/package.json +24 -0
  255. package/profiles/fawzi.json +16 -0
  256. package/profiles/hasan.json +16 -0
  257. package/profiles/moayad.json +16 -0
  258. package/templates/CLAUDE-owner.md +52 -0
  259. package/templates/CLAUDE.md.hbs +58 -0
  260. package/templates/env.claude.template +12 -0
  261. package/templates/settings.json +141 -0
@@ -0,0 +1,202 @@
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 VAPI/Retell/Telnyx/ElevenLabs imports, voice webhook handlers, `x-vapi-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 `~/Projects/qualia-erp/docs/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, stop on failure:
57
+
58
+ ```bash
59
+ npx tsc --noEmit # TypeScript check — skip if no tsconfig or pure edge functions
60
+ npx eslint . --max-warnings 0 # Lint check — skip if no eslint config
61
+ npm run build # Build verification — skip if pure edge functions
62
+ ```
63
+
64
+ ### 2a. Run Tests
65
+
66
+ If test infrastructure exists (per `~/.claude/skills/test-runner/SKILL.md` detection):
67
+
68
+ ```bash
69
+ npm test 2>&1 | tail -30 # Unit/Integration
70
+ npx playwright test 2>&1 # E2E (if configured)
71
+ ```
72
+
73
+ If tests fail: STOP. Report failures. Do not proceed to deploy.
74
+ If no test infrastructure: skip silently.
75
+
76
+ ### 2b. Review Gate
77
+
78
+ Check for review results:
79
+
80
+ 1. Read `.planning/REVIEW.md` or `.review/REVIEW.md`
81
+ 2. If `status: has_blockers`:
82
+ - List unresolved CRITICAL/HIGH findings
83
+ - Ask: "Fix these first, or deploy anyway?"
84
+ - If user says fix → stop
85
+ - If user says deploy anyway → continue with warning logged
86
+ 3. If `status: clean` or file not found → continue (advisory note if not found)
87
+
88
+ ### 3. Type-Specific Checks
89
+
90
+ Based on detected or specified type:
91
+
92
+ #### If agent (AI Agent):
93
+
94
+ - **AI safety quick-check** — Grep codebase for:
95
+ - `service_role` in client-side files (`app/`, `components/`, `src/`) — should be ZERO matches (FAIL = blocks deploy)
96
+ - Rate limiting middleware — grep for `rateLimit`, `rateLimiter` in API routes
97
+ - `maxTokens` on AI calls — grep for `maxTokens`, `max_tokens` in AI provider calls
98
+ - Report: PASS/FAIL per item
99
+ - **Webhook idempotency check** — Grep for deduplication logic (`dedup`, `idempotency`, `already_processed`, `messageId`). Report: PASS/WARN
100
+ - **Production resilience** — Check for timeout protection (`export const maxDuration`), circuit breakers, error monitoring (Sentry configured)
101
+
102
+ #### If voice (Voice Agent):
103
+
104
+ - **Webhook signature verification** — Grep for signature check (`x-vapi-signature`, `signature`, `hmac`, `verify`). Report: PASS/WARN
105
+ - **Edge function latency note** — First-response latency target: < 500ms. After deploy, test with: `curl -w "%{time_total}" -X POST <webhook-url>`
106
+
107
+ #### If website (Website):
108
+
109
+ - **SEO quick-check** — Grep for viewport meta, Open Graph tags (`og:title`, `og:description`), JSON-LD structured data. Report: PASS/WARN per item
110
+ - **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
111
+
112
+ ### 4. Git Workflow (Role-Aware Branching)
113
+
114
+ **First: detect role and branch.**
115
+
116
+ ```bash
117
+ ROLE=$(grep -m1 "^## Role:" ~/.claude/CLAUDE.md 2>/dev/null | sed 's/^## Role: *//')
118
+ BRANCH=$(git branch --show-current 2>/dev/null)
119
+ ```
120
+
121
+ **Branching logic:**
122
+
123
+ | Role | On main/master | On feature branch |
124
+ |------|---------------|-------------------|
125
+ | OWNER | Push directly | Push directly |
126
+ | DEVELOPER | Auto-create feature branch first | Push directly |
127
+
128
+ **If DEVELOPER on main/master:**
129
+
130
+ ```bash
131
+ # Auto-create a descriptive feature branch from the work done
132
+ # Use the commit message or task description for the branch name
133
+ git checkout -b feature/<descriptive-name>
134
+ # Stage, commit, push to the NEW branch
135
+ git push -u origin feature/<descriptive-name>
136
+ ```
137
+
138
+ Tell the user: "Created branch `feature/<name>` and pushed there. You can't push directly to main — create a PR when ready."
139
+
140
+ **If OWNER or already on feature branch:**
141
+
142
+ ```bash
143
+ git status
144
+ # Stage relevant files (NOT .env, NOT node_modules)
145
+ # Create descriptive commit
146
+ # Push to current branch
147
+ ```
148
+
149
+ ### 5. Preview Deploy
150
+
151
+ Deploy to preview first (if applicable):
152
+
153
+ ```bash
154
+ vercel # without --prod — gets preview URL
155
+ ```
156
+
157
+ Run post-deploy checks against the preview URL. If checks pass, proceed to production. If checks fail, fix issues and re-deploy to preview.
158
+
159
+ ### 6. Deploy
160
+
161
+ Based on project:
162
+
163
+ ```bash
164
+ vercel --prod # Vercel projects
165
+ supabase functions deploy # Edge functions
166
+ wrangler deploy # Cloudflare Workers
167
+ supabase db push --project-ref <ref> # If migrations pending — test on branch first
168
+ ```
169
+
170
+ ### 7. Post-Deploy Verification
171
+
172
+ #### All types:
173
+
174
+ ```bash
175
+ curl -s -o /dev/null -w "%{http_code}" <domain> # HTTP 200
176
+ # Key endpoints respond under 500ms
177
+ ```
178
+
179
+ #### Agent additions:
180
+ Auth flow, webhook test, console errors, load test, error monitoring
181
+
182
+ #### Voice additions:
183
+ Webhook test, latency test, edge function logs
184
+
185
+ #### Website additions:
186
+ Auth flow, console errors, SEO verify, Lighthouse hint
187
+
188
+ ### 8. Report
189
+
190
+ Summary of what was deployed, type-specific check results, latency measurements, deploy verification.
191
+
192
+ ### 9. Rollback Plan
193
+
194
+ If production issues detected:
195
+
196
+ - **Vercel**: `vercel rollback`
197
+ - **Cloudflare Workers**: `wrangler deploy` previous version
198
+ - **Edge functions**: `supabase functions deploy <name> --version <previous>`
199
+ - **Supabase migrations**: Create reverse migration
200
+ - **Emergency**: Vercel dashboard manual rollback
201
+
202
+ If ANY quality gate or safety check FAILS: stop, fix the issue, then re-run `/ship`.
@@ -0,0 +1,215 @@
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"
@@ -0,0 +1,154 @@
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.