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
@@ -1,149 +0,0 @@
1
- ---
2
- name: distill
3
- description: Strip designs to their essence by removing unnecessary complexity. Great design is simple, powerful, and clean.
4
- user-invokable: true
5
- args:
6
- - name: target
7
- description: The feature or component to distill (optional)
8
- required: false
9
- ---
10
-
11
- Remove unnecessary complexity from designs, revealing the essential elements and creating clarity through ruthless simplification.
12
-
13
- ## MANDATORY PREPARATION
14
-
15
- ### Read DESIGN.md (Authoritative Source)
16
-
17
- Before any context gathering, check for the project's design decisions file:
18
-
19
- ```bash
20
- cat .planning/DESIGN.md 2>/dev/null
21
- ```
22
-
23
- **If DESIGN.md exists:** This is the authoritative source for all design decisions in this project. Use its palette, typography, spacing, component, and motion decisions as your foundation. Do NOT override these decisions unless the user explicitly asks. Reference specific DESIGN.md decisions in your output (e.g., "Per DESIGN.md, the primary color is...").
24
-
25
- **If DESIGN.md does not exist:** Proceed with normal context gathering below. Consider suggesting the user run `/qualia-discuss-phase` to establish design decisions.
26
-
27
- ### Context Gathering (Do This First)
28
-
29
- You cannot do a great job without having necessary context, such as target audience (critical), desired use-cases (critical), and understanding what's truly essential vs nice-to-have for this product.
30
-
31
- Attempt to gather these from the current thread or codebase.
32
-
33
- 1. If you don't find *exact* information and have to infer from existing design and functionality, you MUST STOP and STOP and ask the user directly to clarify. whether you got it right.
34
- 2. Otherwise, if you can't fully infer or your level of confidence is medium or lower, you MUST STOP and ask the user directly to clarify. clarifying questions first to complete your context.
35
-
36
- Do NOT proceed until you have answers. Simplifying the wrong things destroys usability.
37
-
38
- ### Use frontend-master skill
39
-
40
- Use the frontend-master skill for design principles and anti-patterns. Do NOT proceed until it has executed and you know all DO's and DON'Ts.
41
-
42
- ---
43
-
44
- ## Assess Current State
45
-
46
- Analyze what makes the design feel complex or cluttered:
47
-
48
- 1. **Identify complexity sources**:
49
- - **Too many elements**: Competing buttons, redundant information, visual clutter
50
- - **Excessive variation**: Too many colors, fonts, sizes, styles without purpose
51
- - **Information overload**: Everything visible at once, no progressive disclosure
52
- - **Visual noise**: Unnecessary borders, shadows, backgrounds, decorations
53
- - **Confusing hierarchy**: Unclear what matters most
54
- - **Feature creep**: Too many options, actions, or paths forward
55
-
56
- 2. **Find the essence**:
57
- - What's the primary user goal? (There should be ONE)
58
- - What's actually necessary vs nice-to-have?
59
- - What can be removed, hidden, or combined?
60
- - What's the 20% that delivers 80% of value?
61
-
62
- If any of these are unclear from the codebase, STOP and ask the user directly to clarify.
63
-
64
- **CRITICAL**: Simplicity is not about removing features - it's about removing obstacles between users and their goals. Every element should justify its existence.
65
-
66
- ## Plan Simplification
67
-
68
- Create a ruthless editing strategy:
69
-
70
- - **Core purpose**: What's the ONE thing this should accomplish?
71
- - **Essential elements**: What's truly necessary to achieve that purpose?
72
- - **Progressive disclosure**: What can be hidden until needed?
73
- - **Consolidation opportunities**: What can be combined or integrated?
74
-
75
- **IMPORTANT**: Simplification is hard. It requires saying no to good ideas to make room for great execution. Be ruthless.
76
-
77
- ## Simplify the Design
78
-
79
- Systematically remove complexity across these dimensions:
80
-
81
- ### Information Architecture
82
- - **Reduce scope**: Remove secondary actions, optional features, redundant information
83
- - **Progressive disclosure**: Hide complexity behind clear entry points (accordions, modals, step-through flows)
84
- - **Combine related actions**: Merge similar buttons, consolidate forms, group related content
85
- - **Clear hierarchy**: ONE primary action, few secondary actions, everything else tertiary or hidden
86
- - **Remove redundancy**: If it's said elsewhere, don't repeat it here
87
-
88
- ### Visual Simplification
89
- - **Reduce color palette**: Use 1-2 colors plus neutrals, not 5-7 colors
90
- - **Limit typography**: One font family, 3-4 sizes maximum, 2-3 weights
91
- - **Remove decorations**: Eliminate borders, shadows, backgrounds that don't serve hierarchy or function
92
- - **Flatten structure**: Reduce nesting, remove unnecessary containers—never nest cards inside cards
93
- - **Remove unnecessary cards**: Cards aren't needed for basic layout; use spacing and alignment instead
94
- - **Consistent spacing**: Use one spacing scale, remove arbitrary gaps
95
-
96
- ### Layout Simplification
97
- - **Linear flow**: Replace complex grids with simple vertical flow where possible
98
- - **Remove sidebars**: Move secondary content inline or hide it
99
- - **Full-width**: Use available space generously instead of complex multi-column layouts
100
- - **Consistent alignment**: Pick left or center, stick with it
101
- - **Generous white space**: Let content breathe, don't pack everything tight
102
-
103
- ### Interaction Simplification
104
- - **Reduce choices**: Fewer buttons, fewer options, clearer path forward (paradox of choice is real)
105
- - **Smart defaults**: Make common choices automatic, only ask when necessary
106
- - **Inline actions**: Replace modal flows with inline editing where possible
107
- - **Remove steps**: Can signup be one step instead of three? Can checkout be simplified?
108
- - **Clear CTAs**: ONE obvious next step, not five competing actions
109
-
110
- ### Content Simplification
111
- - **Shorter copy**: Cut every sentence in half, then do it again
112
- - **Active voice**: "Save changes" not "Changes will be saved"
113
- - **Remove jargon**: Plain language always wins
114
- - **Scannable structure**: Short paragraphs, bullet points, clear headings
115
- - **Essential information only**: Remove marketing fluff, legalese, hedging
116
- - **Remove redundant copy**: No headers restating intros, no repeated explanations, say it once
117
-
118
- ### Code Simplification
119
- - **Remove unused code**: Dead CSS, unused components, orphaned files
120
- - **Flatten component trees**: Reduce nesting depth
121
- - **Consolidate styles**: Merge similar styles, use utilities consistently
122
- - **Reduce variants**: Does that component need 12 variations, or can 3 cover 90% of cases?
123
-
124
- **NEVER**:
125
- - Remove necessary functionality (simplicity ≠ feature-less)
126
- - Sacrifice accessibility for simplicity (clear labels and ARIA still required)
127
- - Make things so simple they're unclear (mystery ≠ minimalism)
128
- - Remove information users need to make decisions
129
- - Eliminate hierarchy completely (some things should stand out)
130
- - Oversimplify complex domains (match complexity to actual task complexity)
131
-
132
- ## Verify Simplification
133
-
134
- Ensure simplification improves usability:
135
-
136
- - **Faster task completion**: Can users accomplish goals more quickly?
137
- - **Reduced cognitive load**: Is it easier to understand what to do?
138
- - **Still complete**: Are all necessary features still accessible?
139
- - **Clearer hierarchy**: Is it obvious what matters most?
140
- - **Better performance**: Does simpler design load faster?
141
-
142
- ## Document Removed Complexity
143
-
144
- If you removed features or options:
145
- - Document why they were removed
146
- - Consider if they need alternative access points
147
- - Note any user feedback to monitor
148
-
149
- Remember: You have great taste and judgment. Simplification is an act of confidence - knowing what to keep and courage to remove the rest. As Antoine de Saint-Exupéry said: "Perfection is achieved not when there is nothing more to add, but when there is nothing left to take away."
@@ -1,79 +0,0 @@
1
- ---
2
- name: docs-lookup
3
- description: Fetch up-to-date library and framework documentation on demand. Supplements Context7 MCP with zero context overhead. Activates automatically when working with external libraries.
4
- tags: [documentation, libraries, frameworks, reference]
5
- ---
6
-
7
- # Docs Lookup (Supplements Context7 MCP)
8
-
9
- When you need library/framework documentation, fetch it on demand instead of loading MCP tools every session.
10
-
11
- ## How to Fetch Docs
12
-
13
- Use these methods in order of preference:
14
-
15
- ### 1. LLMs.txt (Best for major frameworks)
16
-
17
- Many frameworks publish LLM-optimized docs. Fetch directly:
18
-
19
- ```
20
- WebFetch: https://supabase.com/llms/cli.txt — Supabase CLI
21
- WebFetch: https://nextjs.org/llms.txt — Next.js
22
- WebFetch: https://ui.shadcn.com/llms.txt — shadcn/ui
23
- WebFetch: https://tailwindcss.com/llms.txt — Tailwind CSS
24
- WebFetch: https://vercel.com/llms.txt — Vercel
25
- WebFetch: https://docs.stripe.com/llms.txt — Stripe
26
- ```
27
-
28
- ### 2. WebSearch (Best for specific questions)
29
-
30
- ```
31
- WebSearch: "Next.js 16 server actions authentication 2026"
32
- WebSearch: "supabase realtime subscription React hook"
33
- WebSearch: "Retell AI agent webhook configuration"
34
- ```
35
-
36
- ### 3. Official Docs via WebFetch
37
-
38
- ```
39
- WebFetch: https://react.dev/reference/react/use
40
- WebFetch: https://supabase.com/docs/guides/auth
41
- WebFetch: https://docs.retellai.com/api-references/create-agent
42
- ```
43
-
44
- ### 4. Package README (npm)
45
-
46
- ```
47
- WebFetch: https://www.npmjs.com/package/[package-name]
48
- ```
49
-
50
- ## When to Activate
51
-
52
- This skill triggers when you:
53
- - Write code using external libraries or frameworks
54
- - Need to check API signatures or method parameters
55
- - See unfamiliar library patterns in existing code
56
- - Need version-specific behavior (breaking changes, new APIs)
57
- - Are about to suggest an API call and aren't 100% sure of the signature
58
-
59
- ## IMPORTANT
60
-
61
- - DO NOT hallucinate API signatures. If unsure, look it up first.
62
- - Prefer llms.txt endpoints — they're concise and LLM-optimized
63
- - Use WebSearch for the latest (training data may be stale)
64
- - Fetch BEFORE writing code, not after getting errors
65
-
66
- ## Fawzi's Stack Quick Reference
67
-
68
- | Tech | Docs |
69
- |------|------|
70
- | Next.js | `nextjs.org/llms.txt` |
71
- | React | `react.dev/reference` |
72
- | Supabase | `supabase.com/llms/cli.txt` |
73
- | Tailwind | `tailwindcss.com/llms.txt` |
74
- | shadcn/ui | `ui.shadcn.com/llms.txt` |
75
- | Vercel | `vercel.com/llms.txt` |
76
- | Retell AI | `docs.retellai.com` |
77
- | OpenRouter | `openrouter.ai/docs` |
78
- | ElevenLabs | `elevenlabs.io/docs` |
79
- | Telnyx | `developers.telnyx.com` |
@@ -1,125 +0,0 @@
1
- ---
2
- name: fcm-notifications
3
- description: "Firebase Cloud Messaging (FCM) push notifications — device token management, topic subscriptions, notification payloads, background handlers, in-app notification system, and notification preferences. Use whenever implementing push notifications, device registration, notification sending from backend, in-app notification feeds, or notification preferences. Triggers on: push notification, FCM, Firebase Cloud Messaging, notification, device token, notification feed, alert, in-app notification, notification preferences."
4
- tags: [notifications, fcm, firebase, push]
5
- ---
6
-
7
- ## Architecture
8
-
9
- ```
10
- Mobile App Backend (NestJS) Firebase
11
- ───────── ──────────────── ────────
12
- 1. Request permission
13
- 2. Get device token ──→ 3. Store token in DB
14
- 4. On event (dues, ticket)
15
- 5. Build notification ──→ 6. FCM sends push
16
- 7. Receive push
17
- 8. Show/handle
18
- ```
19
-
20
- ## Device Token Management (Backend)
21
-
22
- - Store device tokens per user (user can have multiple devices)
23
- - Table: `device_token` (user_id, token, platform, created_at, last_used_at)
24
- - Update token on every app launch (tokens can change)
25
- - Clean up stale tokens (FCM returns errors for invalid tokens)
26
- - Delete tokens on logout
27
-
28
- ## Sending Notifications (Backend - NestJS)
29
-
30
- ```typescript
31
- @Injectable()
32
- export class NotificationService {
33
- async send(userId: string, notification: NotificationPayload) {
34
- const tokens = await this.getActiveTokens(userId);
35
- if (tokens.length === 0) return;
36
-
37
- // Store in-app notification regardless of push
38
- await this.createInAppNotification(userId, notification);
39
-
40
- // Send push via FCM
41
- const message = {
42
- tokens: tokens.map(t => t.token),
43
- notification: {
44
- title: this.i18n.resolve(notification.titleKey, userId),
45
- body: this.i18n.resolve(notification.bodyKey, userId),
46
- },
47
- data: notification.data, // Custom payload for app handling
48
- };
49
-
50
- const response = await this.fcm.sendEachForMulticast(message);
51
- await this.handleFailedTokens(response, tokens);
52
- }
53
- }
54
- ```
55
-
56
- ## Notification Payload Structure
57
-
58
- ```typescript
59
- interface NotificationPayload {
60
- titleKey: string; // i18n message key
61
- bodyKey: string; // i18n message key
62
- type: NotificationType; // For routing in-app
63
- data: {
64
- entityType: string; // 'ticket', 'dues', 'guard_task', etc.
65
- entityId: string;
66
- buildingId?: string;
67
- unitId?: string;
68
- };
69
- }
70
- ```
71
-
72
- - Use message_keys for title/body (resolved to user's locale before sending)
73
- - Include routing data so app can navigate to relevant screen on tap
74
-
75
- ## Topic Subscriptions
76
-
77
- - Subscribe users to building-level topics: `building_{buildingId}`
78
- - Use for building-wide announcements
79
- - Subscribe on building join, unsubscribe on leave
80
- - Alternative to fetching all member tokens for broadcast
81
-
82
- ## In-App Notification System
83
-
84
- - `notification` table: user_id, type, title_key, body_key, data, read_at, created_at
85
- - Separate from push — push is delivery mechanism, in-app is persistence
86
- - Unread count badge
87
- - Mark as read (individual or bulk)
88
- - Notification feed screen with infinite scroll
89
-
90
- ## Notification Types (by domain)
91
-
92
- - DUES_GENERATED — new dues cycle obligation
93
- - DUES_LATE — obligation transitioned to late
94
- - CREDIT_TOPUP_APPROVED/REJECTED — BM reviewed top-up
95
- - TICKET_CREATED/UPDATED/ASSIGNED — ticket state changes
96
- - GUARD_TASK_REMINDER — T-15m before scheduled task
97
- - GUARD_TASK_ASSIGNED — new task assigned
98
- - GUARD_INVITE — invitation to be building guard
99
- - SUBSCRIPTION_EXPIRING — trial/subscription about to expire
100
- - DOCUMENT_APPROVED/REJECTED — document review outcome
101
- - CLAIM_APPROVED/REJECTED — unit claim review outcome
102
-
103
- ## Mobile Integration (React Native Expo)
104
-
105
- - `expo-notifications` for handling both push and local
106
- - Request permission on first relevant action (not on app launch)
107
- - Register device token with backend after permission granted
108
- - Handle notification tap: navigate to relevant screen using data payload
109
- - Background notification handler for silent updates
110
- - Notification categories for actionable notifications (approve/reject)
111
-
112
- ## Preferences
113
-
114
- - User can toggle notification types on/off
115
- - Store in user_notification_preferences table
116
- - Backend checks preferences before sending
117
- - Some notifications are mandatory (security alerts, subscription changes)
118
-
119
- ## Testing
120
-
121
- - Use FCM test mode for development
122
- - Mock NotificationService in unit tests
123
- - Test token cleanup on invalid responses
124
- - Test preference filtering
125
- - Test i18n resolution for different locales