qualia-framework 2.6.0 → 3.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 (328) hide show
  1. package/CLAUDE.md +63 -0
  2. package/README.md +108 -30
  3. package/agents/builder.md +110 -0
  4. package/agents/planner.md +186 -0
  5. package/agents/qa-browser.md +186 -0
  6. package/agents/verifier.md +369 -0
  7. package/bin/cli.js +691 -492
  8. package/bin/install.js +622 -0
  9. package/bin/qualia-ui.js +284 -0
  10. package/bin/state.js +824 -0
  11. package/bin/statusline.js +252 -0
  12. package/docs/erp-contract.md +161 -0
  13. package/guide.md +63 -0
  14. package/hooks/auto-update.js +117 -0
  15. package/hooks/block-env-edit.js +52 -0
  16. package/hooks/branch-guard.js +68 -0
  17. package/hooks/migration-guard.js +83 -0
  18. package/hooks/pre-compact.js +52 -0
  19. package/hooks/pre-deploy-gate.js +149 -0
  20. package/hooks/pre-push.js +53 -0
  21. package/hooks/session-start.js +126 -0
  22. package/package.json +30 -20
  23. package/rules/design-reference.md +179 -0
  24. package/rules/frontend.md +126 -0
  25. package/rules/infrastructure.md +87 -0
  26. package/skills/qualia/SKILL.md +88 -0
  27. package/skills/qualia-build/SKILL.md +115 -0
  28. package/skills/qualia-debug/SKILL.md +87 -0
  29. package/skills/qualia-design/SKILL.md +99 -0
  30. package/skills/qualia-handoff/SKILL.md +66 -0
  31. package/skills/qualia-help/SKILL.md +60 -0
  32. package/skills/qualia-idk/SKILL.md +8 -0
  33. package/skills/qualia-learn/SKILL.md +111 -0
  34. package/skills/qualia-new/SKILL.md +323 -0
  35. package/skills/qualia-pause/SKILL.md +63 -0
  36. package/skills/qualia-plan/SKILL.md +101 -0
  37. package/skills/qualia-polish/SKILL.md +207 -0
  38. package/skills/qualia-quick/SKILL.md +37 -0
  39. package/skills/qualia-report/SKILL.md +114 -0
  40. package/skills/qualia-resume/SKILL.md +49 -0
  41. package/skills/qualia-review/SKILL.md +161 -0
  42. package/skills/qualia-ship/SKILL.md +90 -0
  43. package/skills/qualia-skill-new/SKILL.md +167 -0
  44. package/skills/qualia-task/SKILL.md +91 -0
  45. package/skills/qualia-test/SKILL.md +134 -0
  46. package/skills/qualia-verify/SKILL.md +113 -0
  47. package/templates/DESIGN.md +475 -0
  48. package/templates/help.html +476 -0
  49. package/templates/plan.md +42 -0
  50. package/templates/project.md +22 -0
  51. package/templates/state.md +27 -0
  52. package/templates/tracking.json +20 -0
  53. package/tests/bin.test.sh +687 -0
  54. package/tests/hooks.test.sh +384 -0
  55. package/tests/runner.js +1956 -0
  56. package/tests/state.test.sh +713 -0
  57. package/tests/statusline.test.sh +243 -0
  58. package/bin/collect-metrics.sh +0 -62
  59. package/framework/.claudeignore +0 -51
  60. package/framework/CLAUDE.md +0 -51
  61. package/framework/MCP_SETUP.md +0 -229
  62. package/framework/agents/architecture-strategist.md +0 -53
  63. package/framework/agents/backend-agent.md +0 -150
  64. package/framework/agents/code-simplicity-reviewer.md +0 -86
  65. package/framework/agents/frontend-agent.md +0 -111
  66. package/framework/agents/kieran-typescript-reviewer.md +0 -96
  67. package/framework/agents/performance-oracle.md +0 -111
  68. package/framework/agents/qualia-codebase-mapper.md +0 -761
  69. package/framework/agents/qualia-debugger.md +0 -1204
  70. package/framework/agents/qualia-executor.md +0 -882
  71. package/framework/agents/qualia-integration-checker.md +0 -424
  72. package/framework/agents/qualia-phase-researcher.md +0 -457
  73. package/framework/agents/qualia-plan-checker.md +0 -700
  74. package/framework/agents/qualia-planner.md +0 -1245
  75. package/framework/agents/qualia-project-researcher.md +0 -603
  76. package/framework/agents/qualia-research-synthesizer.md +0 -200
  77. package/framework/agents/qualia-roadmapper.md +0 -606
  78. package/framework/agents/qualia-verifier.md +0 -686
  79. package/framework/agents/red-team-qa.md +0 -130
  80. package/framework/agents/security-auditor.md +0 -72
  81. package/framework/agents/team-orchestrator.md +0 -229
  82. package/framework/agents/teams/framework-audit-team.md +0 -66
  83. package/framework/agents/teams/full-stack-team.md +0 -48
  84. package/framework/agents/teams/optimize-team.md +0 -53
  85. package/framework/agents/teams/review-team.md +0 -70
  86. package/framework/agents/teams/ship-team.md +0 -86
  87. package/framework/agents/test-agent.md +0 -182
  88. package/framework/hooks/auto-format.sh +0 -54
  89. package/framework/hooks/block-env-edit.sh +0 -42
  90. package/framework/hooks/branch-guard.sh +0 -43
  91. package/framework/hooks/confirm-delete.sh +0 -59
  92. package/framework/hooks/migration-validate.sh +0 -77
  93. package/framework/hooks/notification-speak.sh +0 -16
  94. package/framework/hooks/pre-commit.sh +0 -100
  95. package/framework/hooks/pre-compact.sh +0 -56
  96. package/framework/hooks/pre-deploy-gate.sh +0 -160
  97. package/framework/hooks/qualia-colors.sh +0 -32
  98. package/framework/hooks/retention-cleanup.sh +0 -62
  99. package/framework/hooks/save-session-state.sh +0 -185
  100. package/framework/hooks/session-context-loader.sh +0 -96
  101. package/framework/hooks/session-learn.sh +0 -32
  102. package/framework/hooks/skill-announce.sh +0 -123
  103. package/framework/hooks/tool-error-announce.sh +0 -27
  104. package/framework/install.ps1 +0 -323
  105. package/framework/install.sh +0 -313
  106. package/framework/qualia-framework/VERSION +0 -1
  107. package/framework/qualia-framework/assets/qualia-logo.png +0 -0
  108. package/framework/qualia-framework/bin/collect-metrics.sh +0 -67
  109. package/framework/qualia-framework/bin/generate-report-docx.py +0 -429
  110. package/framework/qualia-framework/bin/qualia-tools.js +0 -2201
  111. package/framework/qualia-framework/bin/qualia-tools.test.js +0 -1054
  112. package/framework/qualia-framework/references/checkpoints.md +0 -775
  113. package/framework/qualia-framework/references/completion-checklists.md +0 -359
  114. package/framework/qualia-framework/references/continuation-format.md +0 -249
  115. package/framework/qualia-framework/references/continuation-prompt.md +0 -97
  116. package/framework/qualia-framework/references/decimal-phase-calculation.md +0 -65
  117. package/framework/qualia-framework/references/design-quality.md +0 -56
  118. package/framework/qualia-framework/references/employee-guide.md +0 -167
  119. package/framework/qualia-framework/references/git-integration.md +0 -254
  120. package/framework/qualia-framework/references/git-planning-commit.md +0 -50
  121. package/framework/qualia-framework/references/model-profile-resolution.md +0 -32
  122. package/framework/qualia-framework/references/model-profiles.md +0 -73
  123. package/framework/qualia-framework/references/phase-argument-parsing.md +0 -61
  124. package/framework/qualia-framework/references/planning-config.md +0 -195
  125. package/framework/qualia-framework/references/questioning.md +0 -141
  126. package/framework/qualia-framework/references/tdd.md +0 -263
  127. package/framework/qualia-framework/references/ui-brand.md +0 -160
  128. package/framework/qualia-framework/references/verification-patterns.md +0 -612
  129. package/framework/qualia-framework/templates/DEBUG.md +0 -159
  130. package/framework/qualia-framework/templates/DESIGN.md +0 -81
  131. package/framework/qualia-framework/templates/UAT.md +0 -247
  132. package/framework/qualia-framework/templates/codebase/architecture.md +0 -255
  133. package/framework/qualia-framework/templates/codebase/concerns.md +0 -310
  134. package/framework/qualia-framework/templates/codebase/conventions.md +0 -307
  135. package/framework/qualia-framework/templates/codebase/integrations.md +0 -280
  136. package/framework/qualia-framework/templates/codebase/stack.md +0 -186
  137. package/framework/qualia-framework/templates/codebase/structure.md +0 -285
  138. package/framework/qualia-framework/templates/codebase/testing.md +0 -480
  139. package/framework/qualia-framework/templates/config.json +0 -35
  140. package/framework/qualia-framework/templates/context.md +0 -283
  141. package/framework/qualia-framework/templates/continue-here.md +0 -78
  142. package/framework/qualia-framework/templates/debug-subagent-prompt.md +0 -91
  143. package/framework/qualia-framework/templates/discovery.md +0 -146
  144. package/framework/qualia-framework/templates/lab-notes.md +0 -16
  145. package/framework/qualia-framework/templates/milestone-archive.md +0 -123
  146. package/framework/qualia-framework/templates/milestone.md +0 -115
  147. package/framework/qualia-framework/templates/phase-prompt.md +0 -567
  148. package/framework/qualia-framework/templates/planner-subagent-prompt.md +0 -117
  149. package/framework/qualia-framework/templates/project.md +0 -184
  150. package/framework/qualia-framework/templates/projects/ai-agent.md +0 -156
  151. package/framework/qualia-framework/templates/projects/mobile-app.md +0 -181
  152. package/framework/qualia-framework/templates/projects/voice-agent.md +0 -134
  153. package/framework/qualia-framework/templates/projects/website.md +0 -137
  154. package/framework/qualia-framework/templates/requirements.md +0 -231
  155. package/framework/qualia-framework/templates/research-project/ARCHITECTURE.md +0 -204
  156. package/framework/qualia-framework/templates/research-project/FEATURES.md +0 -147
  157. package/framework/qualia-framework/templates/research-project/PITFALLS.md +0 -200
  158. package/framework/qualia-framework/templates/research-project/STACK.md +0 -120
  159. package/framework/qualia-framework/templates/research-project/SUMMARY.md +0 -170
  160. package/framework/qualia-framework/templates/research.md +0 -552
  161. package/framework/qualia-framework/templates/roadmap.md +0 -206
  162. package/framework/qualia-framework/templates/state.md +0 -179
  163. package/framework/qualia-framework/templates/summary-complex.md +0 -59
  164. package/framework/qualia-framework/templates/summary-minimal.md +0 -41
  165. package/framework/qualia-framework/templates/summary-standard.md +0 -48
  166. package/framework/qualia-framework/templates/summary.md +0 -246
  167. package/framework/qualia-framework/templates/user-setup.md +0 -311
  168. package/framework/qualia-framework/templates/verification-report.md +0 -322
  169. package/framework/qualia-framework/workflows/add-phase.md +0 -179
  170. package/framework/qualia-framework/workflows/add-todo.md +0 -157
  171. package/framework/qualia-framework/workflows/audit-milestone.md +0 -241
  172. package/framework/qualia-framework/workflows/check-todos.md +0 -176
  173. package/framework/qualia-framework/workflows/complete-milestone.md +0 -858
  174. package/framework/qualia-framework/workflows/diagnose-issues.md +0 -219
  175. package/framework/qualia-framework/workflows/discovery-phase.md +0 -289
  176. package/framework/qualia-framework/workflows/discuss-phase.md +0 -534
  177. package/framework/qualia-framework/workflows/execute-phase.md +0 -559
  178. package/framework/qualia-framework/workflows/execute-plan.md +0 -438
  179. package/framework/qualia-framework/workflows/help.md +0 -470
  180. package/framework/qualia-framework/workflows/insert-phase.md +0 -220
  181. package/framework/qualia-framework/workflows/list-phase-assumptions.md +0 -178
  182. package/framework/qualia-framework/workflows/map-codebase.md +0 -327
  183. package/framework/qualia-framework/workflows/new-milestone.md +0 -363
  184. package/framework/qualia-framework/workflows/new-project.md +0 -982
  185. package/framework/qualia-framework/workflows/pause-work.md +0 -122
  186. package/framework/qualia-framework/workflows/plan-milestone-gaps.md +0 -256
  187. package/framework/qualia-framework/workflows/plan-phase.md +0 -422
  188. package/framework/qualia-framework/workflows/progress.md +0 -389
  189. package/framework/qualia-framework/workflows/quick.md +0 -252
  190. package/framework/qualia-framework/workflows/remove-phase.md +0 -326
  191. package/framework/qualia-framework/workflows/research-phase.md +0 -74
  192. package/framework/qualia-framework/workflows/resume-project.md +0 -306
  193. package/framework/qualia-framework/workflows/set-profile.md +0 -80
  194. package/framework/qualia-framework/workflows/settings.md +0 -145
  195. package/framework/qualia-framework/workflows/transition.md +0 -556
  196. package/framework/qualia-framework/workflows/update.md +0 -197
  197. package/framework/qualia-framework/workflows/verify-phase.md +0 -195
  198. package/framework/qualia-framework/workflows/verify-work.md +0 -625
  199. package/framework/rules/context7.md +0 -14
  200. package/framework/rules/frontend.md +0 -33
  201. package/framework/rules/speed.md +0 -23
  202. package/framework/scripts/__pycache__/say.cpython-314.pyc +0 -0
  203. package/framework/scripts/apply-retention.sh +0 -120
  204. package/framework/scripts/bootstrap-pop-os.sh +0 -354
  205. package/framework/scripts/claude-voice +0 -13
  206. package/framework/scripts/cleanup.sh +0 -131
  207. package/framework/scripts/cowork-mode.sh +0 -141
  208. package/framework/scripts/generate-project-claude-md.sh +0 -153
  209. package/framework/scripts/load-test-webhook.js +0 -172
  210. package/framework/scripts/say.py +0 -236
  211. package/framework/scripts/showcase-video-recorder/ffmpeg-builder.js +0 -167
  212. package/framework/scripts/showcase-video-recorder/playwright-helpers.js +0 -216
  213. package/framework/scripts/speak.py +0 -55
  214. package/framework/scripts/speak.sh +0 -18
  215. package/framework/scripts/status.sh +0 -138
  216. package/framework/scripts/sync-to-framework.sh +0 -65
  217. package/framework/scripts/voice-hotkey.py +0 -227
  218. package/framework/scripts/voice-input.sh +0 -51
  219. package/framework/skills/animate/SKILL.md +0 -202
  220. package/framework/skills/bolder/SKILL.md +0 -144
  221. package/framework/skills/browser-qa/SKILL.md +0 -536
  222. package/framework/skills/clarify/SKILL.md +0 -179
  223. package/framework/skills/client-handoff/SKILL.md +0 -135
  224. package/framework/skills/collab-onboard/SKILL.md +0 -111
  225. package/framework/skills/colorize/SKILL.md +0 -170
  226. package/framework/skills/critique/SKILL.md +0 -126
  227. package/framework/skills/deep-research/SKILL.md +0 -240
  228. package/framework/skills/delight/SKILL.md +0 -329
  229. package/framework/skills/deploy/SKILL.md +0 -261
  230. package/framework/skills/deploy-verify/SKILL.md +0 -377
  231. package/framework/skills/deploy-verify/scripts/canary-check.sh +0 -206
  232. package/framework/skills/deploy-verify/scripts/check-console-errors.js +0 -147
  233. package/framework/skills/deploy-verify/scripts/check-cwv.js +0 -139
  234. package/framework/skills/deploy-verify/scripts/project-detect.sh +0 -84
  235. package/framework/skills/deploy-verify/scripts/verify.sh +0 -548
  236. package/framework/skills/design-quieter/SKILL.md +0 -130
  237. package/framework/skills/distill/SKILL.md +0 -149
  238. package/framework/skills/docs-lookup/SKILL.md +0 -79
  239. package/framework/skills/fcm-notifications/SKILL.md +0 -125
  240. package/framework/skills/financial-ledger/SKILL.md +0 -1039
  241. package/framework/skills/frontend-master/NOTICE.md +0 -4
  242. package/framework/skills/frontend-master/SKILL.md +0 -127
  243. package/framework/skills/frontend-master/reference/color-and-contrast.md +0 -132
  244. package/framework/skills/frontend-master/reference/interaction-design.md +0 -123
  245. package/framework/skills/frontend-master/reference/motion-design.md +0 -99
  246. package/framework/skills/frontend-master/reference/responsive-design.md +0 -114
  247. package/framework/skills/frontend-master/reference/spatial-design.md +0 -100
  248. package/framework/skills/frontend-master/reference/typography.md +0 -131
  249. package/framework/skills/frontend-master/reference/ux-writing.md +0 -107
  250. package/framework/skills/harden/SKILL.md +0 -357
  251. package/framework/skills/i18n-rtl/SKILL.md +0 -752
  252. package/framework/skills/learn/SKILL.md +0 -95
  253. package/framework/skills/memory/SKILL.md +0 -50
  254. package/framework/skills/mobile-expo/SKILL.md +0 -977
  255. package/framework/skills/mobile-expo/references/store-checklist.md +0 -550
  256. package/framework/skills/nestjs-backend/README.md +0 -73
  257. package/framework/skills/nestjs-backend/SKILL.md +0 -446
  258. package/framework/skills/nestjs-backend/references/templates.md +0 -1173
  259. package/framework/skills/normalize/SKILL.md +0 -79
  260. package/framework/skills/onboard/SKILL.md +0 -242
  261. package/framework/skills/openrouter-agent/SKILL.md +0 -922
  262. package/framework/skills/polish/SKILL.md +0 -209
  263. package/framework/skills/pr/SKILL.md +0 -66
  264. package/framework/skills/qualia/SKILL.md +0 -199
  265. package/framework/skills/qualia-add-todo/SKILL.md +0 -68
  266. package/framework/skills/qualia-audit-milestone/SKILL.md +0 -95
  267. package/framework/skills/qualia-check-todos/SKILL.md +0 -55
  268. package/framework/skills/qualia-complete-milestone/SKILL.md +0 -134
  269. package/framework/skills/qualia-debug/SKILL.md +0 -149
  270. package/framework/skills/qualia-design/SKILL.md +0 -203
  271. package/framework/skills/qualia-discuss-phase/SKILL.md +0 -72
  272. package/framework/skills/qualia-evolve/SKILL.md +0 -200
  273. package/framework/skills/qualia-execute-phase/SKILL.md +0 -89
  274. package/framework/skills/qualia-framework-audit/SKILL.md +0 -604
  275. package/framework/skills/qualia-guide/SKILL.md +0 -32
  276. package/framework/skills/qualia-help/SKILL.md +0 -114
  277. package/framework/skills/qualia-idk/SKILL.md +0 -352
  278. package/framework/skills/qualia-list-phase-assumptions/SKILL.md +0 -67
  279. package/framework/skills/qualia-new-milestone/SKILL.md +0 -72
  280. package/framework/skills/qualia-new-project/SKILL.md +0 -232
  281. package/framework/skills/qualia-optimize/SKILL.md +0 -417
  282. package/framework/skills/qualia-pause-work/SKILL.md +0 -96
  283. package/framework/skills/qualia-plan-milestone-gaps/SKILL.md +0 -57
  284. package/framework/skills/qualia-plan-phase/SKILL.md +0 -104
  285. package/framework/skills/qualia-production-check/SKILL.md +0 -0
  286. package/framework/skills/qualia-progress/SKILL.md +0 -53
  287. package/framework/skills/qualia-quick/SKILL.md +0 -89
  288. package/framework/skills/qualia-report/SKILL.md +0 -166
  289. package/framework/skills/qualia-research-phase/SKILL.md +0 -88
  290. package/framework/skills/qualia-resume-work/SKILL.md +0 -62
  291. package/framework/skills/qualia-review/SKILL.md +0 -263
  292. package/framework/skills/qualia-start/SKILL.md +0 -161
  293. package/framework/skills/qualia-verify-work/SKILL.md +0 -132
  294. package/framework/skills/rag/SKILL.md +0 -750
  295. package/framework/skills/responsive/SKILL.md +0 -231
  296. package/framework/skills/retro/SKILL.md +0 -284
  297. package/framework/skills/sakani-conventions/SKILL.md +0 -136
  298. package/framework/skills/sakani-conventions/evals/evals.json +0 -23
  299. package/framework/skills/sakani-conventions/references/entities.md +0 -365
  300. package/framework/skills/sakani-conventions/references/error-codes.md +0 -95
  301. package/framework/skills/seo-master/SKILL.md +0 -490
  302. package/framework/skills/seo-master/references/checklist.md +0 -199
  303. package/framework/skills/seo-master/references/structured-data.md +0 -609
  304. package/framework/skills/ship/SKILL.md +0 -239
  305. package/framework/skills/stack-researcher/SKILL.md +0 -215
  306. package/framework/skills/status/SKILL.md +0 -154
  307. package/framework/skills/status/scripts/health-check.sh +0 -562
  308. package/framework/skills/subscription-payments/SKILL.md +0 -250
  309. package/framework/skills/supabase/SKILL.md +0 -973
  310. package/framework/skills/supabase/references/templates.md +0 -159
  311. package/framework/skills/team/SKILL.md +0 -67
  312. package/framework/skills/test-runner/SKILL.md +0 -202
  313. package/framework/skills/voice-agent/SKILL.md +0 -1312
  314. package/framework/skills/zoho-workflow/SKILL.md +0 -51
  315. package/framework/statusline-command.sh +0 -117
  316. package/framework/teams/default/inboxes/plan-04.json +0 -9
  317. package/framework/teams/review-team.md +0 -75
  318. package/framework/teams/ship-team.md +0 -86
  319. package/profiles/fawzi.json +0 -16
  320. package/profiles/hasan.json +0 -16
  321. package/profiles/moayad.json +0 -16
  322. package/templates/CLAUDE-owner.md +0 -52
  323. package/templates/CLAUDE.md.hbs +0 -58
  324. package/templates/env.claude.template +0 -12
  325. package/templates/settings.json +0 -172
  326. package/uninstall.sh +0 -90
  327. /package/{framework/rules → rules}/deployment.md +0 -0
  328. /package/{framework/rules → rules}/security.md +0 -0
@@ -0,0 +1,99 @@
1
+ ---
2
+ name: qualia-design
3
+ description: "One-shot design transformation — critiques, fixes, polishes, hardens, makes responsive. No reports, no choices, just makes it professional. Trigger on 'fix the design', 'make it look better', 'redesign', 'design pass', 'make it modern', 'it looks ugly', 'fix the UI'."
4
+ ---
5
+
6
+ # /qualia-design — One-Shot Design Transformation
7
+
8
+ Read the code, understand what's wrong, fix everything, move on. No reports, no choices.
9
+
10
+ ## Usage
11
+
12
+ - `/qualia-design` — Full transformation on all frontend files
13
+ - `/qualia-design app/page.tsx` — Specific file(s)
14
+ - `/qualia-design --scope=dashboard` — Transform a section
15
+
16
+ ## Process
17
+
18
+ ```bash
19
+ node ~/.claude/bin/qualia-ui.js banner design
20
+ ```
21
+
22
+ ### 1. Read Brand Context
23
+
24
+ ```bash
25
+ cat .planning/DESIGN.md 2>/dev/null || echo "NO_DESIGN"
26
+ ```
27
+
28
+ If DESIGN.md exists → it is law. Use exact values from sections 1-9 (Visual Theme, Color Palette, Typography, Components, Layout, Depth, Do's/Don'ts, Responsive, Agent Prompt Guide). If not → use Qualia defaults from `rules/frontend.md`: distinctive fonts, sharp accents, layered backgrounds, no card grids, no blue-purple gradients, full-width layouts.
29
+
30
+ ### 2. Find Target Files
31
+
32
+ - If specific files given: use those
33
+ - If `--scope`: grep for matching files in `app/` and `components/`
34
+ - If none: find all `page.tsx`, `layout.tsx`, and component files
35
+
36
+ Read EVERY target file before modifying.
37
+
38
+ ### 3. Critique (internal — don't output)
39
+
40
+ Evaluate each file on: AI slop detection, visual hierarchy, typography, color, states (loading/error/empty), motion, spacing, responsiveness, microcopy.
41
+
42
+ ### 4. Fix Everything
43
+
44
+ Use exact values from DESIGN.md when available. Sections map to fixes:
45
+
46
+ **Typography (§3):** Apply fonts from hierarchy table. Replace any generic fonts (Inter, Arial) with project fonts. Use exact weights, sizes, letter-spacing from the table. Body line-height 1.5-1.7.
47
+
48
+ **Color (§2):** Apply palette from CSS variables. Replace scattered hex values with `var(--color-*)`. Verify contrast ratios listed in DESIGN.md.
49
+
50
+ **Components (§4):** Match button, card, input, badge specs exactly — padding, radius, shadow, hover states.
51
+
52
+ **Layout (§5):** Full-width with fluid padding `clamp(1rem, 5vw, 4rem)`. Apply spacing scale. NO hardcoded max-width caps. Prose gets `max-width: 65ch`.
53
+
54
+ **Depth (§6):** Apply shadow levels from elevation table. Use brand-tinted shadows, not neutral gray.
55
+
56
+ **Motion (§Motion):** CSS transitions 200-300ms on hover/focus. Staggered entrance animations. `prefers-reduced-motion` respected.
57
+
58
+ **States:** Loading skeleton/spinner on async ops. Error states on data fetches. Empty states on lists. Hover/focus/active/disabled on every interactive element.
59
+
60
+ **Responsive (§8):** Apply collapsing strategy from table. Mobile-first. Touch targets 44x44px min. No horizontal scroll.
61
+
62
+ **Anti-Slop (§12):** Run grep patterns from the detection table. Every match = mandatory fix.
63
+
64
+ **Kill:** Card grids → varied layouts. Generic heroes → distinctive. Blue-purple gradients → brand colors. Static pages → purposeful motion. Fixed widths → fluid.
65
+
66
+ ### 5. Verify
67
+
68
+ ```bash
69
+ npx tsc --noEmit 2>&1 | head -20
70
+ ```
71
+
72
+ Fix any TypeScript errors before committing.
73
+
74
+ ### 6. Commit
75
+
76
+ ```bash
77
+ git add {modified files}
78
+ git commit -m "style: design transformation"
79
+ ```
80
+
81
+ ```
82
+ ⬢ Design Transformation Complete
83
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
84
+ Files: {N}
85
+ Changes:
86
+ - {key change 1}
87
+ - {key change 2}
88
+ - {key change 3}
89
+
90
+ Fine-tune: /bolder, /design-quieter, /colorize, /animate
91
+ ```
92
+
93
+ ## Rules
94
+
95
+ - Read before write — understand every file before changing it
96
+ - Don't ask — just fix
97
+ - Respect DESIGN.md decisions
98
+ - Don't break functionality — only change styling, never logic
99
+ - TypeScript must pass after changes
@@ -0,0 +1,66 @@
1
+ ---
2
+ name: qualia-handoff
3
+ description: "Client delivery — credentials, handover doc, final update. Use after shipping."
4
+ ---
5
+
6
+ # /qualia-handoff — Client Delivery
7
+
8
+ Prepare and deliver the finished project to the client.
9
+
10
+ ## Process
11
+
12
+ ```bash
13
+ node ~/.claude/bin/qualia-ui.js banner handoff
14
+ ```
15
+
16
+ ### 1. Generate Handover Doc
17
+
18
+ Create `.planning/HANDOFF.md`:
19
+
20
+ ```markdown
21
+ # {Project Name} — Handover
22
+
23
+ ## What Was Built
24
+ {3-5 bullet summary of delivered features}
25
+
26
+ ## Access
27
+ - **URL:** {production URL}
28
+ - **Admin login:** {credentials or where to find them}
29
+ - **Supabase:** {project ref}
30
+ - **GitHub:** {repo URL}
31
+ - **Vercel:** {project URL}
32
+
33
+ ## How to Use
34
+ {Brief walkthrough of the main user flows}
35
+
36
+ ## Known Limitations
37
+ {Anything not in scope or deferred}
38
+
39
+ ## Maintenance
40
+ - Hosting: Vercel (auto-deploys from main branch)
41
+ - Database: Supabase ({region})
42
+ - Domain: {domain provider if applicable}
43
+
44
+ ## Support
45
+ Contact: Fawzi Goussous — fawzi@qualiasolutions.net
46
+ ```
47
+
48
+ ### 2. Commit
49
+
50
+ ```bash
51
+ git add .planning/HANDOFF.md
52
+ git commit -m "docs: client handoff document"
53
+ git push
54
+ ```
55
+
56
+ ### 3. Update State
57
+
58
+ ```bash
59
+ node ~/.claude/bin/state.js transition --to handed_off
60
+ ```
61
+ Do NOT manually edit STATE.md or tracking.json — state.js handles both.
62
+
63
+ ```bash
64
+ node ~/.claude/bin/qualia-ui.js ok "{Project Name} handed off to {client}"
65
+ node ~/.claude/bin/qualia-ui.js end "DELIVERED" "/qualia-report"
66
+ ```
@@ -0,0 +1,60 @@
1
+ ---
2
+ name: qualia-help
3
+ description: "Open the Qualia Framework reference guide in the browser. A beautiful themed HTML page with all commands, rules, services, and the road. Trigger on 'help', 'how does this work', 'show me the commands', 'qualia help', 'reference'."
4
+ ---
5
+
6
+ # /qualia-help — Framework Reference
7
+
8
+ Opens a Qualia-themed HTML reference guide in your default browser.
9
+
10
+ ## Process
11
+
12
+ ### 1. Generate the HTML
13
+
14
+ ```bash
15
+ # Read the template and inject the current version
16
+ VERSION=$(node -e "console.log(require(require('os').homedir() + '/.claude/.qualia-config.json').version || 'v3')" 2>/dev/null || echo "v3")
17
+ TEMPLATE="$HOME/.claude/qualia-templates/help.html"
18
+ OUTPUT="/tmp/qualia-help.html"
19
+
20
+ # If template doesn't exist, check the framework install
21
+ if [ ! -f "$TEMPLATE" ]; then
22
+ TEMPLATE="$(dirname "$(dirname "$(which qualia-framework 2>/dev/null || echo '')")")/templates/help.html"
23
+ fi
24
+ ```
25
+
26
+ ### 2. Inject version and open
27
+
28
+ ```bash
29
+ # Replace {{VERSION}} placeholder with actual version
30
+ sed "s/{{VERSION}}/$VERSION/g" "$TEMPLATE" > "$OUTPUT"
31
+
32
+ # Open in default browser (cross-platform)
33
+ if command -v xdg-open &>/dev/null; then
34
+ xdg-open "$OUTPUT" # Linux
35
+ elif command -v open &>/dev/null; then
36
+ open "$OUTPUT" # macOS
37
+ elif command -v start &>/dev/null; then
38
+ start "$OUTPUT" # Windows (Git Bash)
39
+ else
40
+ echo "Open this file in your browser: $OUTPUT"
41
+ fi
42
+ ```
43
+
44
+ ### 3. Confirm
45
+
46
+ ```bash
47
+ node ~/.claude/bin/qualia-ui.js banner router
48
+ node ~/.claude/bin/qualia-ui.js ok "Reference guide opened in browser"
49
+ node ~/.claude/bin/qualia-ui.js info "File: /tmp/qualia-help.html"
50
+ ```
51
+
52
+ If the browser does not open automatically, tell the user the file path so they can open it manually.
53
+
54
+ ## Notes
55
+
56
+ - The HTML file is self-contained — no external dependencies except Google Fonts
57
+ - Works offline after first load (fonts cache)
58
+ - Qualia-themed: dark background, teal accents, Outfit + Inter fonts
59
+ - Shows: The Road, all commands grouped, verification scoring, rules, stack, GitHub orgs
60
+ - Version is injected dynamically from .qualia-config.json
@@ -0,0 +1,8 @@
1
+ ---
2
+ name: qualia-idk
3
+ description: "Alias for /qualia. The smart router handles all 'idk', 'what now', 'I'm stuck' situations."
4
+ ---
5
+
6
+ # /qualia-idk
7
+
8
+ This is an alias for `/qualia`. Run `/qualia` — it now handles all situation classification and routing.
@@ -0,0 +1,111 @@
1
+ ---
2
+ name: qualia-learn
3
+ description: "Save a learning, pattern, fix, or client preference to the knowledge base. Persists across projects and sessions. Trigger on 'remember this', 'save this pattern', 'learned something', 'note for future', 'client prefers', 'qualia-learn'."
4
+ ---
5
+
6
+ # /qualia-learn — Save Knowledge
7
+
8
+ Persist learnings across projects and sessions. Saved to `~/.claude/knowledge/`.
9
+
10
+ ## Usage
11
+
12
+ - `/qualia-learn` — Interactively save a learning
13
+ - `/qualia-learn {description}` — Save directly
14
+
15
+ ## Knowledge Types
16
+
17
+ ### Patterns (`learned-patterns.md`)
18
+ Recurring approaches that work (or don't). Architecture decisions, library choices, prompt patterns.
19
+
20
+ **Example:** "Supabase RLS policies need to be added in the same migration as the table — adding them later causes a window where data is unprotected."
21
+
22
+ ### Fixes (`common-fixes.md`)
23
+ Problems you've solved before. Error messages and their solutions.
24
+
25
+ **Example:** "`next/font` crash on Vercel: caused by importing font in a client component that's also used server-side. Fix: move font import to layout.tsx."
26
+
27
+ ### Client Prefs (`client-prefs.md`)
28
+ Client-specific preferences, design choices, requirements.
29
+
30
+ **Example:** "Acme Corp: prefers dark mode, hates rounded corners, logo must be SVG not PNG, primary color #FF6B00."
31
+
32
+ ## Process
33
+
34
+ ```bash
35
+ node ~/.claude/bin/qualia-ui.js banner learn
36
+ ```
37
+
38
+ ### 1. Classify
39
+
40
+ If description given, classify automatically. Otherwise ask:
41
+
42
+ ```
43
+ What did you learn?
44
+ 1. Pattern — approach that works (or doesn't)
45
+ 2. Fix — problem and its solution
46
+ 3. Client preference — client-specific requirement
47
+ ```
48
+
49
+ ### 2. Check for Duplicates
50
+
51
+ Before saving, check if a similar entry already exists:
52
+
53
+ ```bash
54
+ # Search for the title (case-insensitive substring match)
55
+ grep -i "{title keywords}" ~/.claude/knowledge/{type}.md 2>/dev/null
56
+ ```
57
+
58
+ If a near-match exists (title is similar to an existing entry):
59
+ - Show the existing entry to the user
60
+ - Ask: "A similar entry exists. Update it, create a new one, or skip?"
61
+ - If update: replace the existing entry. If new: append. If skip: done.
62
+
63
+ ### 3. Format Entry
64
+
65
+ Each entry gets a unique ID and ISO timestamp for dedup and ordering:
66
+
67
+ ```markdown
68
+
69
+ ---
70
+
71
+ ### {Title}
72
+ **ID:** {random 8-char hex, e.g. a3f7c1e9}
73
+ **Date:** {ISO 8601, e.g. 2026-04-11}
74
+ **Project:** {current project name or "general"}
75
+ **Context:** {brief context — what you were building when you learned this}
76
+
77
+ {The learning — be specific enough that future-you understands without context}
78
+ ```
79
+
80
+ ### 4. Append to Knowledge File
81
+
82
+ Append-only — never overwrite the file, always add at the end:
83
+
84
+ ```bash
85
+ # Append to the right file
86
+ echo "{formatted entry}" >> ~/.claude/knowledge/{type}.md
87
+ ```
88
+
89
+ - Pattern → `~/.claude/knowledge/learned-patterns.md`
90
+ - Fix → `~/.claude/knowledge/common-fixes.md`
91
+ - Client pref → `~/.claude/knowledge/client-prefs.md`
92
+
93
+ ### 5. Confirm
94
+
95
+ ```
96
+ ⬢ Saved to {file}
97
+ "{title}"
98
+ ```
99
+
100
+ ## Reading Knowledge
101
+
102
+ Skills can read knowledge files for context:
103
+ ```bash
104
+ cat ~/.claude/knowledge/learned-patterns.md 2>/dev/null
105
+ cat ~/.claude/knowledge/common-fixes.md 2>/dev/null
106
+ cat ~/.claude/knowledge/client-prefs.md 2>/dev/null
107
+ ```
108
+
109
+ The `/qualia-debug` skill should check `common-fixes.md` before investigating.
110
+ The `/qualia-new` skill should check `client-prefs.md` when setting up client projects.
111
+ The `/qualia-plan` skill should check `learned-patterns.md` when planning phases.
@@ -0,0 +1,323 @@
1
+ ---
2
+ name: qualia-new
3
+ description: "Set up a new project from scratch — interactive wizard with step-by-step questioning. Use when starting any new client project."
4
+ ---
5
+
6
+ # /qualia-new — New Project Wizard
7
+
8
+ Interactive project setup. Ask one step at a time using AskUserQuestion. Never dump all questions at once.
9
+
10
+ ## Process
11
+
12
+ ### Step 0. Banner
13
+
14
+ Print this FIRST, before anything else:
15
+
16
+ ```bash
17
+ node ~/.claude/bin/qualia-ui.js banner new
18
+ ```
19
+
20
+ Then say: **"Let's build something. Tell me what you're making."**
21
+
22
+ Wait for the user's free-text answer. Do NOT use AskUserQuestion here — let them talk naturally.
23
+
24
+ ### Step 1. Project Type
25
+
26
+ After they describe what they want, use AskUserQuestion:
27
+
28
+ ```
29
+ question: "What type of project is this?"
30
+ header: "Type"
31
+ options:
32
+ - label: "Website / Web App"
33
+ description: "Landing page, SaaS, dashboard, marketing site, portal"
34
+ - label: "AI Agent"
35
+ description: "Chatbot, AI assistant, tool-calling agent, RAG system"
36
+ - label: "Voice Agent"
37
+ description: "Phone agent, VAPI, Retell AI, ElevenLabs call bot"
38
+ - label: "Mobile App"
39
+ description: "iOS, Android, React Native, Expo"
40
+ ```
41
+
42
+ ### Step 2. Core Features
43
+
44
+ Based on their description, use AskUserQuestion with multiSelect: true:
45
+
46
+ ```
47
+ question: "Which features do you need?"
48
+ header: "Features"
49
+ multiSelect: true
50
+ options (pick 4 most relevant from):
51
+ - "Auth & accounts" — Login, signup, user management
52
+ - "Database & CRUD" — Data storage, tables, admin panel
53
+ - "Payments" — Stripe, subscriptions, checkout
54
+ - "AI / LLM" — Chat, completions, embeddings, RAG
55
+ - "Voice calls" — Inbound/outbound calls, IVR, telephony
56
+ - "Email / notifications" — Transactional email, SMS, push
57
+ - "File uploads" — Images, documents, S3/storage
58
+ - "Admin dashboard" — Internal tools, analytics, reporting
59
+ - "API / integrations" — Third-party APIs, webhooks, CRM sync
60
+ - "Real-time" — WebSockets, live updates, presence
61
+ ```
62
+
63
+ Pick the 4 options most relevant to what they described. Always offer the most likely ones.
64
+
65
+ ### Step 3. Design Direction
66
+
67
+ Use AskUserQuestion with previews:
68
+
69
+ ```
70
+ question: "What's the design vibe?"
71
+ header: "Design"
72
+ options:
73
+ - label: "Dark & Bold"
74
+ description: "Dark backgrounds, neon accents, strong contrast"
75
+ preview: |
76
+ ┌──────────────────────────────┐
77
+ │ ██████████████████████████ │
78
+ │ ██ DARK BG + TEAL GLOW ██ │
79
+ │ ██████████████████████████ │
80
+ │ │
81
+ │ ░░░░░░░░░░░░░░░░░░░░░░░░ │
82
+ │ Sharp cards, glass effects │
83
+ │ Neon borders, deep shadows │
84
+ └──────────────────────────────┘
85
+
86
+ - label: "Clean & Minimal"
87
+ description: "White space, subtle shadows, refined typography"
88
+ preview: |
89
+ ┌──────────────────────────────┐
90
+ │ │
91
+ │ Clean & Minimal │
92
+ │ ───────────── │
93
+ │ │
94
+ │ Generous whitespace │
95
+ │ Subtle borders │
96
+ │ Light, airy feel │
97
+ └──────────────────────────────┘
98
+
99
+ - label: "Colorful & Playful"
100
+ description: "Gradients, rounded shapes, vibrant palette"
101
+ preview: |
102
+ ┌──────────────────────────────┐
103
+ │ ⬢ ● ▲ ■ COLORFUL │
104
+ │ │
105
+ │ ╭──────╮ ╭──────╮ │
106
+ │ │ Card │ │ Card │ │
107
+ │ ╰──────╯ ╰──────╯ │
108
+ │ Rounded, gradient fills │
109
+ │ Fun, approachable │
110
+ └──────────────────────────────┘
111
+
112
+ - label: "Corporate / Professional"
113
+ description: "Structured layouts, trust signals, enterprise feel"
114
+ preview: |
115
+ ┌──────────────────────────────┐
116
+ │ LOGO Nav Nav [CTA] │
117
+ │ ──────────────────────── │
118
+ │ ┌────┐ ┌────┐ ┌────┐ │
119
+ │ │Feat│ │Feat│ │Feat│ │
120
+ │ └────┘ └────┘ └────┘ │
121
+ │ Structured, trustworthy │
122
+ │ Clear hierarchy │
123
+ └──────────────────────────────┘
124
+ ```
125
+
126
+ ### Step 4. Stack Confirmation
127
+
128
+ Use AskUserQuestion:
129
+
130
+ ```
131
+ question: "Stack — go with the Qualia default?"
132
+ header: "Stack"
133
+ options:
134
+ - label: "Qualia Stack (Recommended)"
135
+ description: "Next.js 16 + React 19 + TypeScript + Supabase + Vercel"
136
+ - label: "Qualia + extras"
137
+ description: "Default stack plus additional integrations (Stripe, VAPI, etc.)"
138
+ - label: "Custom stack"
139
+ description: "I have specific tech requirements"
140
+ ```
141
+
142
+ If "Custom stack" — ask what they need.
143
+ If "Qualia + extras" — ask which integrations.
144
+
145
+ ### Step 5. Scope & Client
146
+
147
+ Use AskUserQuestion:
148
+
149
+ ```
150
+ question: "Is this a client project or internal?"
151
+ header: "Client"
152
+ options:
153
+ - label: "Client project"
154
+ description: "External client — will need handoff and credentials"
155
+ - label: "Internal / Qualia"
156
+ description: "Our own product or tool"
157
+ - label: "Personal / Side project"
158
+ description: "No formal client"
159
+ ```
160
+
161
+ If client project, ask: **"What's the client's name?"** (free text, no AskUserQuestion)
162
+
163
+ After capturing the client name, check for saved preferences:
164
+
165
+ ```bash
166
+ cat ~/.claude/knowledge/client-prefs.md 2>/dev/null
167
+ ```
168
+
169
+ If there's an entry for this client, show it to the user: *"I have notes on {client} — {preferences summary}. Applying these to the project defaults unless you say otherwise."* Then use those preferences in Step 8a (Design System) and Step 9 (Roadmap).
170
+
171
+ ### Step 6. Confirm & Scaffold
172
+
173
+ Present a summary:
174
+
175
+ ```
176
+ ⬢ QUALIA ▸ PROJECT SUMMARY
177
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
178
+
179
+ Project {name}
180
+ Type {type}
181
+ Client {client}
182
+ Stack {stack}
183
+ Features {feature list}
184
+ Design {design direction}
185
+ ```
186
+
187
+ Use AskUserQuestion:
188
+
189
+ ```
190
+ question: "Ready to scaffold?"
191
+ header: "Confirm"
192
+ options:
193
+ - label: "Let's go"
194
+ description: "Create the project now"
195
+ - label: "Change something"
196
+ description: "Go back and adjust"
197
+ ```
198
+
199
+ ### Step 7. Execute Scaffold
200
+
201
+ On confirmation, scaffold:
202
+
203
+ ```bash
204
+ mkdir -p .planning
205
+
206
+ # Initialize git if needed
207
+ git init 2>/dev/null
208
+
209
+ # Create Next.js project (if website/ai-agent)
210
+ npx create-next-app@latest . --typescript --tailwind --eslint --app --src-dir=false --import-alias="@/*" --no-git
211
+
212
+ # Or Expo project (if mobile-app)
213
+ # npx create-expo-app . --template blank-typescript
214
+ ```
215
+
216
+ Create GitHub repo:
217
+ ```bash
218
+ gh repo create {project-name} --private --source=. --push
219
+ ```
220
+
221
+ Link Vercel:
222
+ ```bash
223
+ vercel link
224
+ ```
225
+
226
+ Create Supabase project (via MCP or manual).
227
+
228
+ ### Step 8. Create Planning Files
229
+
230
+ **`.planning/PROJECT.md`** — use template, fill from answers:
231
+ - Client, description, requirements (from features), out of scope, stack, design direction, decisions
232
+
233
+ ### Step 8a. Create Design System
234
+
235
+ Generate **`.planning/DESIGN.md`** using `~/.claude/qualia-templates/DESIGN.md` as the template.
236
+
237
+ Fill in based on the design direction chosen in Step 3:
238
+
239
+ **Dark & Bold:**
240
+ - Palette: dark backgrounds (#0a0a0a, #141414), vibrant accent (teal #00d4aa, amber #f59e0b, etc.)
241
+ - Typography: bold display font + clean body font (e.g., "Plus Jakarta Sans" + "DM Sans")
242
+ - Effects: glass morphism, noise textures, glow effects
243
+ - Motion: expressive — staggered fades, parallax hints
244
+
245
+ **Clean & Minimal:**
246
+ - Palette: light backgrounds (#fafafa, #ffffff), single muted accent
247
+ - Typography: refined serif or geometric sans (e.g., "Outfit" + "Source Serif 4")
248
+ - Effects: subtle shadows, thin borders
249
+ - Motion: minimal — fades only, no stagger
250
+
251
+ **Colorful & Playful:**
252
+ - Palette: vibrant multi-color, warm backgrounds
253
+ - Typography: rounded friendly fonts (e.g., "Nunito" + "Quicksand")
254
+ - Effects: gradients, rounded shapes, illustrations
255
+ - Motion: expressive — bouncy spring easing, scale on hover
256
+
257
+ **Corporate / Professional:**
258
+ - Palette: navy/charcoal base, conservative accent (blue, green)
259
+ - Typography: trustworthy geometric (e.g., "Manrope" + "IBM Plex Sans")
260
+ - Effects: clean borders, subtle shadows, structured grids
261
+ - Motion: subtle — smooth fades, no bounce
262
+
263
+ **Always include in DESIGN.md:**
264
+ - Concrete CSS variable values (not placeholders)
265
+ - Google Fonts import URL
266
+ - Spacing scale (8px grid)
267
+ - Component patterns (buttons, inputs, cards)
268
+ - Responsive approach
269
+ - Anti-patterns to avoid
270
+
271
+ ### Step 8b. Initialize State
272
+
273
+ ```bash
274
+ node ~/.claude/bin/state.js init --project "{name}" --client "{client}" --type "{type}" --assigned-to "{employee}" --phases '[{phases JSON array from roadmap}]'
275
+ ```
276
+ This creates both STATE.md and tracking.json with consistent formatting.
277
+ Do NOT manually edit these files — state.js handles both.
278
+
279
+ ### Step 9. Create Roadmap
280
+
281
+ Based on project type and features, create phases in STATE.md:
282
+
283
+ **Typical website:**
284
+ 1. Foundation — Auth, database schema, base layout
285
+ 2. Core — Main features
286
+ 3. Content — Pages, copy, media
287
+ 4. Polish — Design, animations, responsive
288
+
289
+ **Typical AI agent:**
290
+ 1. Foundation — Auth, database, API routes
291
+ 2. Agent — AI logic, prompts, tool calling
292
+ 3. Interface — Chat UI, streaming, history
293
+ 4. Polish — Error handling, rate limiting, monitoring
294
+
295
+ **Typical voice agent:**
296
+ 1. Foundation — Webhook handler, Supabase, auth
297
+ 2. Voice — VAPI/Retell config, call flow, prompts
298
+ 3. Integration — CRM sync, logging, analytics
299
+ 4. Polish — Latency optimization, error handling
300
+
301
+ Present the roadmap. Use AskUserQuestion:
302
+
303
+ ```
304
+ question: "Does this roadmap look right?"
305
+ header: "Roadmap"
306
+ options:
307
+ - label: "Looks good"
308
+ description: "Lock it in and start planning Phase 1"
309
+ - label: "Adjust phases"
310
+ description: "I want to change the phase breakdown"
311
+ ```
312
+
313
+ ### Step 10. Commit & Output
314
+
315
+ ```bash
316
+ git add .planning/
317
+ git commit -m "init: project setup with planning files"
318
+ git push -u origin main
319
+ ```
320
+
321
+ ```bash
322
+ node ~/.claude/bin/qualia-ui.js end "PROJECT READY" "/qualia-plan 1"
323
+ ```