qualia-framework 2.6.0 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. package/CLAUDE.md +64 -0
  2. package/README.md +103 -30
  3. package/agents/builder.md +110 -0
  4. package/agents/planner.md +134 -0
  5. package/agents/qa-browser.md +186 -0
  6. package/agents/verifier.md +221 -0
  7. package/bin/cli.js +336 -531
  8. package/bin/install.js +570 -0
  9. package/bin/qualia-ui.js +299 -0
  10. package/bin/state.js +630 -0
  11. package/bin/statusline.js +252 -0
  12. package/guide.md +63 -0
  13. package/hooks/auto-update.js +139 -0
  14. package/hooks/branch-guard.js +47 -0
  15. package/hooks/migration-guard.js +60 -0
  16. package/hooks/pre-compact.js +32 -0
  17. package/hooks/pre-deploy-gate.js +110 -0
  18. package/hooks/pre-push.js +33 -0
  19. package/hooks/session-start.js +170 -0
  20. package/package.json +29 -20
  21. package/rules/design-reference.md +179 -0
  22. package/rules/frontend.md +126 -0
  23. package/skills/qualia/SKILL.md +87 -0
  24. package/skills/qualia-build/SKILL.md +97 -0
  25. package/skills/qualia-debug/SKILL.md +87 -0
  26. package/skills/qualia-design/SKILL.md +93 -0
  27. package/skills/qualia-handoff/SKILL.md +66 -0
  28. package/skills/qualia-idk/SKILL.md +8 -0
  29. package/skills/qualia-learn/SKILL.md +88 -0
  30. package/skills/qualia-new/SKILL.md +323 -0
  31. package/{framework/skills → skills}/qualia-optimize/SKILL.md +1 -1
  32. package/skills/qualia-pause/SKILL.md +63 -0
  33. package/skills/qualia-plan/SKILL.md +101 -0
  34. package/skills/qualia-polish/SKILL.md +157 -0
  35. package/skills/qualia-quick/SKILL.md +37 -0
  36. package/skills/qualia-report/SKILL.md +105 -0
  37. package/skills/qualia-resume/SKILL.md +49 -0
  38. package/skills/qualia-review/SKILL.md +76 -0
  39. package/skills/qualia-ship/SKILL.md +90 -0
  40. package/skills/qualia-skill-new/SKILL.md +167 -0
  41. package/skills/qualia-task/SKILL.md +91 -0
  42. package/skills/qualia-verify/SKILL.md +113 -0
  43. package/templates/DESIGN.md +137 -0
  44. package/templates/plan.md +28 -0
  45. package/templates/project.md +22 -0
  46. package/templates/state.md +27 -0
  47. package/templates/tracking.json +20 -0
  48. package/tests/bin.test.sh +673 -0
  49. package/tests/hooks.test.sh +315 -0
  50. package/tests/state.test.sh +535 -0
  51. package/tests/statusline.test.sh +243 -0
  52. package/bin/collect-metrics.sh +0 -62
  53. package/framework/.claudeignore +0 -51
  54. package/framework/CLAUDE.md +0 -51
  55. package/framework/MCP_SETUP.md +0 -229
  56. package/framework/agents/architecture-strategist.md +0 -53
  57. package/framework/agents/backend-agent.md +0 -150
  58. package/framework/agents/code-simplicity-reviewer.md +0 -86
  59. package/framework/agents/frontend-agent.md +0 -111
  60. package/framework/agents/kieran-typescript-reviewer.md +0 -96
  61. package/framework/agents/performance-oracle.md +0 -111
  62. package/framework/agents/qualia-codebase-mapper.md +0 -761
  63. package/framework/agents/qualia-debugger.md +0 -1204
  64. package/framework/agents/qualia-executor.md +0 -882
  65. package/framework/agents/qualia-integration-checker.md +0 -424
  66. package/framework/agents/qualia-phase-researcher.md +0 -457
  67. package/framework/agents/qualia-plan-checker.md +0 -700
  68. package/framework/agents/qualia-planner.md +0 -1245
  69. package/framework/agents/qualia-project-researcher.md +0 -603
  70. package/framework/agents/qualia-research-synthesizer.md +0 -200
  71. package/framework/agents/qualia-roadmapper.md +0 -606
  72. package/framework/agents/qualia-verifier.md +0 -686
  73. package/framework/agents/red-team-qa.md +0 -130
  74. package/framework/agents/security-auditor.md +0 -72
  75. package/framework/agents/team-orchestrator.md +0 -229
  76. package/framework/agents/teams/framework-audit-team.md +0 -66
  77. package/framework/agents/teams/full-stack-team.md +0 -48
  78. package/framework/agents/teams/optimize-team.md +0 -53
  79. package/framework/agents/teams/review-team.md +0 -70
  80. package/framework/agents/teams/ship-team.md +0 -86
  81. package/framework/agents/test-agent.md +0 -182
  82. package/framework/hooks/auto-format.sh +0 -54
  83. package/framework/hooks/block-env-edit.sh +0 -42
  84. package/framework/hooks/branch-guard.sh +0 -43
  85. package/framework/hooks/confirm-delete.sh +0 -59
  86. package/framework/hooks/migration-validate.sh +0 -77
  87. package/framework/hooks/notification-speak.sh +0 -16
  88. package/framework/hooks/pre-commit.sh +0 -100
  89. package/framework/hooks/pre-compact.sh +0 -56
  90. package/framework/hooks/pre-deploy-gate.sh +0 -160
  91. package/framework/hooks/qualia-colors.sh +0 -32
  92. package/framework/hooks/retention-cleanup.sh +0 -62
  93. package/framework/hooks/save-session-state.sh +0 -185
  94. package/framework/hooks/session-context-loader.sh +0 -96
  95. package/framework/hooks/session-learn.sh +0 -32
  96. package/framework/hooks/skill-announce.sh +0 -123
  97. package/framework/hooks/tool-error-announce.sh +0 -27
  98. package/framework/install.ps1 +0 -323
  99. package/framework/install.sh +0 -313
  100. package/framework/qualia-framework/VERSION +0 -1
  101. package/framework/qualia-framework/assets/qualia-logo.png +0 -0
  102. package/framework/qualia-framework/bin/collect-metrics.sh +0 -67
  103. package/framework/qualia-framework/bin/generate-report-docx.py +0 -429
  104. package/framework/qualia-framework/bin/qualia-tools.js +0 -2201
  105. package/framework/qualia-framework/bin/qualia-tools.test.js +0 -1054
  106. package/framework/qualia-framework/references/checkpoints.md +0 -775
  107. package/framework/qualia-framework/references/completion-checklists.md +0 -359
  108. package/framework/qualia-framework/references/continuation-format.md +0 -249
  109. package/framework/qualia-framework/references/continuation-prompt.md +0 -97
  110. package/framework/qualia-framework/references/decimal-phase-calculation.md +0 -65
  111. package/framework/qualia-framework/references/design-quality.md +0 -56
  112. package/framework/qualia-framework/references/employee-guide.md +0 -167
  113. package/framework/qualia-framework/references/git-integration.md +0 -254
  114. package/framework/qualia-framework/references/git-planning-commit.md +0 -50
  115. package/framework/qualia-framework/references/model-profile-resolution.md +0 -32
  116. package/framework/qualia-framework/references/model-profiles.md +0 -73
  117. package/framework/qualia-framework/references/phase-argument-parsing.md +0 -61
  118. package/framework/qualia-framework/references/planning-config.md +0 -195
  119. package/framework/qualia-framework/references/questioning.md +0 -141
  120. package/framework/qualia-framework/references/tdd.md +0 -263
  121. package/framework/qualia-framework/references/ui-brand.md +0 -160
  122. package/framework/qualia-framework/references/verification-patterns.md +0 -612
  123. package/framework/qualia-framework/templates/DEBUG.md +0 -159
  124. package/framework/qualia-framework/templates/DESIGN.md +0 -81
  125. package/framework/qualia-framework/templates/UAT.md +0 -247
  126. package/framework/qualia-framework/templates/codebase/architecture.md +0 -255
  127. package/framework/qualia-framework/templates/codebase/concerns.md +0 -310
  128. package/framework/qualia-framework/templates/codebase/conventions.md +0 -307
  129. package/framework/qualia-framework/templates/codebase/integrations.md +0 -280
  130. package/framework/qualia-framework/templates/codebase/stack.md +0 -186
  131. package/framework/qualia-framework/templates/codebase/structure.md +0 -285
  132. package/framework/qualia-framework/templates/codebase/testing.md +0 -480
  133. package/framework/qualia-framework/templates/config.json +0 -35
  134. package/framework/qualia-framework/templates/context.md +0 -283
  135. package/framework/qualia-framework/templates/continue-here.md +0 -78
  136. package/framework/qualia-framework/templates/debug-subagent-prompt.md +0 -91
  137. package/framework/qualia-framework/templates/discovery.md +0 -146
  138. package/framework/qualia-framework/templates/lab-notes.md +0 -16
  139. package/framework/qualia-framework/templates/milestone-archive.md +0 -123
  140. package/framework/qualia-framework/templates/milestone.md +0 -115
  141. package/framework/qualia-framework/templates/phase-prompt.md +0 -567
  142. package/framework/qualia-framework/templates/planner-subagent-prompt.md +0 -117
  143. package/framework/qualia-framework/templates/project.md +0 -184
  144. package/framework/qualia-framework/templates/projects/ai-agent.md +0 -156
  145. package/framework/qualia-framework/templates/projects/mobile-app.md +0 -181
  146. package/framework/qualia-framework/templates/projects/voice-agent.md +0 -134
  147. package/framework/qualia-framework/templates/projects/website.md +0 -137
  148. package/framework/qualia-framework/templates/requirements.md +0 -231
  149. package/framework/qualia-framework/templates/research-project/ARCHITECTURE.md +0 -204
  150. package/framework/qualia-framework/templates/research-project/FEATURES.md +0 -147
  151. package/framework/qualia-framework/templates/research-project/PITFALLS.md +0 -200
  152. package/framework/qualia-framework/templates/research-project/STACK.md +0 -120
  153. package/framework/qualia-framework/templates/research-project/SUMMARY.md +0 -170
  154. package/framework/qualia-framework/templates/research.md +0 -552
  155. package/framework/qualia-framework/templates/roadmap.md +0 -206
  156. package/framework/qualia-framework/templates/state.md +0 -179
  157. package/framework/qualia-framework/templates/summary-complex.md +0 -59
  158. package/framework/qualia-framework/templates/summary-minimal.md +0 -41
  159. package/framework/qualia-framework/templates/summary-standard.md +0 -48
  160. package/framework/qualia-framework/templates/summary.md +0 -246
  161. package/framework/qualia-framework/templates/user-setup.md +0 -311
  162. package/framework/qualia-framework/templates/verification-report.md +0 -322
  163. package/framework/qualia-framework/workflows/add-phase.md +0 -179
  164. package/framework/qualia-framework/workflows/add-todo.md +0 -157
  165. package/framework/qualia-framework/workflows/audit-milestone.md +0 -241
  166. package/framework/qualia-framework/workflows/check-todos.md +0 -176
  167. package/framework/qualia-framework/workflows/complete-milestone.md +0 -858
  168. package/framework/qualia-framework/workflows/diagnose-issues.md +0 -219
  169. package/framework/qualia-framework/workflows/discovery-phase.md +0 -289
  170. package/framework/qualia-framework/workflows/discuss-phase.md +0 -534
  171. package/framework/qualia-framework/workflows/execute-phase.md +0 -559
  172. package/framework/qualia-framework/workflows/execute-plan.md +0 -438
  173. package/framework/qualia-framework/workflows/help.md +0 -470
  174. package/framework/qualia-framework/workflows/insert-phase.md +0 -220
  175. package/framework/qualia-framework/workflows/list-phase-assumptions.md +0 -178
  176. package/framework/qualia-framework/workflows/map-codebase.md +0 -327
  177. package/framework/qualia-framework/workflows/new-milestone.md +0 -363
  178. package/framework/qualia-framework/workflows/new-project.md +0 -982
  179. package/framework/qualia-framework/workflows/pause-work.md +0 -122
  180. package/framework/qualia-framework/workflows/plan-milestone-gaps.md +0 -256
  181. package/framework/qualia-framework/workflows/plan-phase.md +0 -422
  182. package/framework/qualia-framework/workflows/progress.md +0 -389
  183. package/framework/qualia-framework/workflows/quick.md +0 -252
  184. package/framework/qualia-framework/workflows/remove-phase.md +0 -326
  185. package/framework/qualia-framework/workflows/research-phase.md +0 -74
  186. package/framework/qualia-framework/workflows/resume-project.md +0 -306
  187. package/framework/qualia-framework/workflows/set-profile.md +0 -80
  188. package/framework/qualia-framework/workflows/settings.md +0 -145
  189. package/framework/qualia-framework/workflows/transition.md +0 -556
  190. package/framework/qualia-framework/workflows/update.md +0 -197
  191. package/framework/qualia-framework/workflows/verify-phase.md +0 -195
  192. package/framework/qualia-framework/workflows/verify-work.md +0 -625
  193. package/framework/rules/context7.md +0 -14
  194. package/framework/rules/frontend.md +0 -33
  195. package/framework/rules/speed.md +0 -23
  196. package/framework/scripts/__pycache__/say.cpython-314.pyc +0 -0
  197. package/framework/scripts/apply-retention.sh +0 -120
  198. package/framework/scripts/bootstrap-pop-os.sh +0 -354
  199. package/framework/scripts/claude-voice +0 -13
  200. package/framework/scripts/cleanup.sh +0 -131
  201. package/framework/scripts/cowork-mode.sh +0 -141
  202. package/framework/scripts/generate-project-claude-md.sh +0 -153
  203. package/framework/scripts/load-test-webhook.js +0 -172
  204. package/framework/scripts/say.py +0 -236
  205. package/framework/scripts/showcase-video-recorder/ffmpeg-builder.js +0 -167
  206. package/framework/scripts/showcase-video-recorder/playwright-helpers.js +0 -216
  207. package/framework/scripts/speak.py +0 -55
  208. package/framework/scripts/speak.sh +0 -18
  209. package/framework/scripts/status.sh +0 -138
  210. package/framework/scripts/sync-to-framework.sh +0 -65
  211. package/framework/scripts/voice-hotkey.py +0 -227
  212. package/framework/scripts/voice-input.sh +0 -51
  213. package/framework/skills/animate/SKILL.md +0 -202
  214. package/framework/skills/bolder/SKILL.md +0 -144
  215. package/framework/skills/browser-qa/SKILL.md +0 -536
  216. package/framework/skills/clarify/SKILL.md +0 -179
  217. package/framework/skills/client-handoff/SKILL.md +0 -135
  218. package/framework/skills/collab-onboard/SKILL.md +0 -111
  219. package/framework/skills/colorize/SKILL.md +0 -170
  220. package/framework/skills/critique/SKILL.md +0 -126
  221. package/framework/skills/deep-research/SKILL.md +0 -240
  222. package/framework/skills/delight/SKILL.md +0 -329
  223. package/framework/skills/deploy/SKILL.md +0 -261
  224. package/framework/skills/deploy-verify/SKILL.md +0 -377
  225. package/framework/skills/deploy-verify/scripts/canary-check.sh +0 -206
  226. package/framework/skills/deploy-verify/scripts/check-console-errors.js +0 -147
  227. package/framework/skills/deploy-verify/scripts/check-cwv.js +0 -139
  228. package/framework/skills/deploy-verify/scripts/project-detect.sh +0 -84
  229. package/framework/skills/deploy-verify/scripts/verify.sh +0 -548
  230. package/framework/skills/design-quieter/SKILL.md +0 -130
  231. package/framework/skills/distill/SKILL.md +0 -149
  232. package/framework/skills/docs-lookup/SKILL.md +0 -79
  233. package/framework/skills/fcm-notifications/SKILL.md +0 -125
  234. package/framework/skills/financial-ledger/SKILL.md +0 -1039
  235. package/framework/skills/frontend-master/NOTICE.md +0 -4
  236. package/framework/skills/frontend-master/SKILL.md +0 -127
  237. package/framework/skills/frontend-master/reference/color-and-contrast.md +0 -132
  238. package/framework/skills/frontend-master/reference/interaction-design.md +0 -123
  239. package/framework/skills/frontend-master/reference/motion-design.md +0 -99
  240. package/framework/skills/frontend-master/reference/responsive-design.md +0 -114
  241. package/framework/skills/frontend-master/reference/spatial-design.md +0 -100
  242. package/framework/skills/frontend-master/reference/typography.md +0 -131
  243. package/framework/skills/frontend-master/reference/ux-writing.md +0 -107
  244. package/framework/skills/harden/SKILL.md +0 -357
  245. package/framework/skills/i18n-rtl/SKILL.md +0 -752
  246. package/framework/skills/learn/SKILL.md +0 -95
  247. package/framework/skills/memory/SKILL.md +0 -50
  248. package/framework/skills/mobile-expo/SKILL.md +0 -977
  249. package/framework/skills/mobile-expo/references/store-checklist.md +0 -550
  250. package/framework/skills/nestjs-backend/README.md +0 -73
  251. package/framework/skills/nestjs-backend/SKILL.md +0 -446
  252. package/framework/skills/nestjs-backend/references/templates.md +0 -1173
  253. package/framework/skills/normalize/SKILL.md +0 -79
  254. package/framework/skills/onboard/SKILL.md +0 -242
  255. package/framework/skills/openrouter-agent/SKILL.md +0 -922
  256. package/framework/skills/polish/SKILL.md +0 -209
  257. package/framework/skills/pr/SKILL.md +0 -66
  258. package/framework/skills/qualia/SKILL.md +0 -199
  259. package/framework/skills/qualia-add-todo/SKILL.md +0 -68
  260. package/framework/skills/qualia-audit-milestone/SKILL.md +0 -95
  261. package/framework/skills/qualia-check-todos/SKILL.md +0 -55
  262. package/framework/skills/qualia-complete-milestone/SKILL.md +0 -134
  263. package/framework/skills/qualia-debug/SKILL.md +0 -149
  264. package/framework/skills/qualia-design/SKILL.md +0 -203
  265. package/framework/skills/qualia-discuss-phase/SKILL.md +0 -72
  266. package/framework/skills/qualia-evolve/SKILL.md +0 -200
  267. package/framework/skills/qualia-execute-phase/SKILL.md +0 -89
  268. package/framework/skills/qualia-framework-audit/SKILL.md +0 -604
  269. package/framework/skills/qualia-guide/SKILL.md +0 -32
  270. package/framework/skills/qualia-help/SKILL.md +0 -114
  271. package/framework/skills/qualia-idk/SKILL.md +0 -352
  272. package/framework/skills/qualia-list-phase-assumptions/SKILL.md +0 -67
  273. package/framework/skills/qualia-new-milestone/SKILL.md +0 -72
  274. package/framework/skills/qualia-new-project/SKILL.md +0 -232
  275. package/framework/skills/qualia-pause-work/SKILL.md +0 -96
  276. package/framework/skills/qualia-plan-milestone-gaps/SKILL.md +0 -57
  277. package/framework/skills/qualia-plan-phase/SKILL.md +0 -104
  278. package/framework/skills/qualia-production-check/SKILL.md +0 -0
  279. package/framework/skills/qualia-progress/SKILL.md +0 -53
  280. package/framework/skills/qualia-quick/SKILL.md +0 -89
  281. package/framework/skills/qualia-report/SKILL.md +0 -166
  282. package/framework/skills/qualia-research-phase/SKILL.md +0 -88
  283. package/framework/skills/qualia-resume-work/SKILL.md +0 -62
  284. package/framework/skills/qualia-review/SKILL.md +0 -263
  285. package/framework/skills/qualia-start/SKILL.md +0 -161
  286. package/framework/skills/qualia-verify-work/SKILL.md +0 -132
  287. package/framework/skills/rag/SKILL.md +0 -750
  288. package/framework/skills/responsive/SKILL.md +0 -231
  289. package/framework/skills/retro/SKILL.md +0 -284
  290. package/framework/skills/sakani-conventions/SKILL.md +0 -136
  291. package/framework/skills/sakani-conventions/evals/evals.json +0 -23
  292. package/framework/skills/sakani-conventions/references/entities.md +0 -365
  293. package/framework/skills/sakani-conventions/references/error-codes.md +0 -95
  294. package/framework/skills/seo-master/SKILL.md +0 -490
  295. package/framework/skills/seo-master/references/checklist.md +0 -199
  296. package/framework/skills/seo-master/references/structured-data.md +0 -609
  297. package/framework/skills/ship/SKILL.md +0 -239
  298. package/framework/skills/stack-researcher/SKILL.md +0 -215
  299. package/framework/skills/status/SKILL.md +0 -154
  300. package/framework/skills/status/scripts/health-check.sh +0 -562
  301. package/framework/skills/subscription-payments/SKILL.md +0 -250
  302. package/framework/skills/supabase/SKILL.md +0 -973
  303. package/framework/skills/supabase/references/templates.md +0 -159
  304. package/framework/skills/team/SKILL.md +0 -67
  305. package/framework/skills/test-runner/SKILL.md +0 -202
  306. package/framework/skills/voice-agent/SKILL.md +0 -1312
  307. package/framework/skills/zoho-workflow/SKILL.md +0 -51
  308. package/framework/statusline-command.sh +0 -117
  309. package/framework/teams/default/inboxes/plan-04.json +0 -9
  310. package/framework/teams/review-team.md +0 -75
  311. package/framework/teams/ship-team.md +0 -86
  312. package/profiles/fawzi.json +0 -16
  313. package/profiles/hasan.json +0 -16
  314. package/profiles/moayad.json +0 -16
  315. package/templates/CLAUDE-owner.md +0 -52
  316. package/templates/CLAUDE.md.hbs +0 -58
  317. package/templates/env.claude.template +0 -12
  318. package/templates/settings.json +0 -172
  319. package/uninstall.sh +0 -90
  320. /package/{framework/rules → rules}/deployment.md +0 -0
  321. /package/{framework/rules → rules}/security.md +0 -0
@@ -1,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