qualia-framework 4.5.0 → 5.3.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 (66) hide show
  1. package/AGENTS.md +24 -0
  2. package/CLAUDE.md +12 -75
  3. package/README.md +23 -16
  4. package/agents/builder.md +9 -21
  5. package/agents/planner.md +8 -0
  6. package/agents/verifier.md +8 -0
  7. package/agents/visual-evaluator.md +132 -0
  8. package/bin/cli.js +54 -18
  9. package/bin/install.js +369 -29
  10. package/bin/qualia-ui.js +208 -1
  11. package/bin/slop-detect.mjs +5 -0
  12. package/bin/state.js +34 -1
  13. package/docs/install-redesign-builder-prompt.md +290 -0
  14. package/docs/install-redesign-pilot.md +234 -0
  15. package/docs/playwright-loop-builder-prompt.md +185 -0
  16. package/docs/playwright-loop-design-notes.md +108 -0
  17. package/docs/playwright-loop-pilot-results.md +170 -0
  18. package/docs/playwright-loop-tester-prompt.md +213 -0
  19. package/docs/polish-loop-supervised-run.md +111 -0
  20. package/docs/reviews/matt-pocock-skills-analysis.md +300 -0
  21. package/guide.md +9 -5
  22. package/hooks/env-empty-guard.js +74 -0
  23. package/hooks/pre-compact.js +19 -9
  24. package/hooks/pre-deploy-gate.js +8 -2
  25. package/hooks/pre-push.js +26 -12
  26. package/hooks/supabase-destructive-guard.js +62 -0
  27. package/hooks/vercel-account-guard.js +91 -0
  28. package/package.json +2 -1
  29. package/rules/design-brand.md +4 -0
  30. package/rules/design-laws.md +4 -0
  31. package/rules/design-product.md +4 -0
  32. package/rules/design-rubric.md +4 -0
  33. package/rules/grounding.md +4 -0
  34. package/skills/qualia-build/SKILL.md +40 -46
  35. package/skills/qualia-discuss/SKILL.md +51 -68
  36. package/skills/qualia-handoff/SKILL.md +1 -0
  37. package/skills/qualia-hook-gen/SKILL.md +206 -0
  38. package/skills/qualia-issues/SKILL.md +151 -0
  39. package/skills/qualia-map/SKILL.md +78 -35
  40. package/skills/qualia-new/REFERENCE.md +139 -0
  41. package/skills/qualia-new/SKILL.md +45 -121
  42. package/skills/qualia-optimize/REFERENCE.md +265 -0
  43. package/skills/qualia-optimize/SKILL.md +92 -232
  44. package/skills/qualia-plan/SKILL.md +58 -65
  45. package/skills/qualia-polish-loop/REFERENCE.md +265 -0
  46. package/skills/qualia-polish-loop/SKILL.md +201 -0
  47. package/skills/qualia-polish-loop/fixtures/broken.html +117 -0
  48. package/skills/qualia-polish-loop/fixtures/clean.html +196 -0
  49. package/skills/qualia-polish-loop/scripts/loop.mjs +323 -0
  50. package/skills/qualia-polish-loop/scripts/playwright-capture.mjs +206 -0
  51. package/skills/qualia-polish-loop/scripts/score.mjs +176 -0
  52. package/skills/qualia-prd/SKILL.md +199 -0
  53. package/skills/qualia-report/SKILL.md +141 -200
  54. package/skills/qualia-research/SKILL.md +28 -33
  55. package/skills/qualia-road/SKILL.md +103 -0
  56. package/skills/qualia-ship/SKILL.md +1 -0
  57. package/skills/qualia-task/SKILL.md +1 -1
  58. package/skills/qualia-test/SKILL.md +50 -2
  59. package/skills/qualia-triage/SKILL.md +152 -0
  60. package/skills/qualia-verify/SKILL.md +63 -104
  61. package/skills/qualia-zoom/SKILL.md +51 -0
  62. package/skills/zoho-workflow/SKILL.md +1 -1
  63. package/templates/CONTEXT.md +36 -0
  64. package/templates/decisions/ADR-template.md +30 -0
  65. package/tests/bin.test.sh +598 -7
  66. package/tests/state.test.sh +58 -0
@@ -0,0 +1,51 @@
1
+ ---
2
+ name: qualia-zoom
3
+ description: "Zoom out and map an unfamiliar code area in domain-glossary terms — list the modules, who calls them, what they hide, and the smallest safe edit window. User-fired only (never auto). Use when you don't know an area of code well, before editing an unfamiliar file, or when the user says 'zoom out', 'map this area', 'show me the bigger picture', 'I don't know this code'."
4
+ disable-model-invocation: true
5
+ allowed-tools:
6
+ - Read
7
+ - Grep
8
+ - Glob
9
+ ---
10
+
11
+ # /qualia-zoom — Map an Unfamiliar Area
12
+
13
+ I don't know this area of code well. Go up a layer of abstraction.
14
+
15
+ Give me a map of:
16
+
17
+ 1. **Modules** in this area — what they expose, what they hide
18
+ 2. **Callers** — who uses these modules and from where
19
+ 3. **Dependencies** — what these modules pull in
20
+ 4. **Domain terms involved** — quoted from `.planning/CONTEXT.md` if it exists
21
+
22
+ Use the **vocabulary in `.planning/CONTEXT.md`** wherever applicable. If a term in this code conflicts with the glossary, flag it for `/qualia-discuss` (which now grills + updates CONTEXT.md inline).
23
+
24
+ ## Output format
25
+
26
+ ```
27
+ ## Where you are
28
+ {file or path being zoomed out from}
29
+
30
+ ## Module map
31
+ - {module/file} — exposes: {x} — hides: {y}
32
+ - ...
33
+
34
+ ## Caller map
35
+ - {caller} → {module} (used for {purpose})
36
+ - ...
37
+
38
+ ## Domain terms
39
+ - {term from glossary} — appears in {files}
40
+ - {term NOT in glossary but present in code} — flag for /qualia-discuss
41
+
42
+ ## Smallest safe edit window
43
+ {which files form the natural unit for this change}
44
+ ```
45
+
46
+ ## Rules
47
+
48
+ - Keep the report under **50 lines**. Orient, don't refactor.
49
+ - **Don't propose changes** — that's the next skill's job.
50
+ - Read `.planning/CONTEXT.md` first if it exists. Use its language.
51
+ - If the area is huge, pick the entry point the user named and zoom from there.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: zoho-workflow
3
- description: Zoho Invoice and Mail operations - create invoices, send emails, manage contacts. Use when Fawzi mentions invoicing, email, or Zoho.
3
+ description: "Zoho Invoice and Mail operations via ERP-first routing. Creates invoices from templates, sends cover emails, manages contacts, reads inbox, and handles payment reminders. Use when the user says 'invoice this client', 'send an email', 'check inbox', 'create a Zoho contact', 'send payment reminder', or mentions invoicing, billing, or Zoho."
4
4
  tags: [zoho, invoice, email, billing, crm]
5
5
  ---
6
6
 
@@ -0,0 +1,36 @@
1
+ # {{PROJECT_NAME}} — Domain Glossary
2
+
3
+ <!-- Domain glossary. Loaded by every road agent. Update via /qualia-discuss. Keep entries terse (1 sentence + Avoid line). -->
4
+
5
+ ## Language
6
+
7
+ ### Term Name
8
+ One-sentence definition. Use the term consistently in code, comments, commits, and conversation.
9
+ **Avoid:** alternative terms that mean the same thing but aren't this one.
10
+
11
+ ### {{Add terms as the project clarifies them. Examples below.}}
12
+
13
+ ### User
14
+ **Avoid until disambiguated.** Currently overloaded — see "Flagged ambiguities" below.
15
+
16
+ ### Phase
17
+ A unit of work inside a milestone. 2–5 tasks. Ends in a verification gate.
18
+ **Avoid:** epic, story, ticket, sprint.
19
+
20
+ ### Task
21
+ A single commit-sized unit with one verification contract.
22
+ **Avoid:** subtask, chore, todo.
23
+
24
+ ## Relationships
25
+ - Project holds many Milestones
26
+ - Milestone holds many Phases
27
+ - Phase holds many Tasks
28
+ - Task carries one Verification Contract
29
+ - {{add domain-specific relationships, e.g. "Customer holds many Orders"}}
30
+
31
+ ## Flagged ambiguities
32
+
33
+ ### "User" → AuthUser vs Customer
34
+ - **AuthUser** = the row in `auth.users` (Supabase)
35
+ - **Customer** = the profile row owned by an AuthUser (1:1)
36
+ - {{replace with real ambiguities as they appear}}
@@ -0,0 +1,30 @@
1
+ # ADR-{{NNNN}} — {{Decision title in present tense}}
2
+
3
+ - **Date:** {{YYYY-MM-DD}}
4
+ - **Phase:** {{N}} — {{phase name}}
5
+ - **Status:** Proposed | Accepted | Superseded by ADR-XXXX
6
+ - **Domain terms:** {{any new/affected terms — also update CONTEXT.md}}
7
+
8
+ ## Context
9
+ What is the situation that requires a decision? Why are we deciding this now? What constraints apply (regulatory, performance, team skill, deadlines)?
10
+
11
+ ## Decision
12
+ What we are doing. State it as a single declarative sentence first, then expand.
13
+
14
+ ## Consequences
15
+ - **What becomes easier:** ...
16
+ - **What becomes harder:** ...
17
+ - **What is now load-bearing on this decision:** ...
18
+
19
+ ## Alternatives considered
20
+ Why each alternative was rejected — keep this honest. Future-you will read it.
21
+
22
+ - **Alt A** — {{rejected because…}}
23
+ - **Alt B** — {{rejected because…}}
24
+
25
+ ## Notes
26
+ Any non-obvious context, links to discussion threads, related issues. Optional.
27
+
28
+ ---
29
+
30
+ **When to write an ADR (per Matt Pocock's rule):** only when the decision is hard-to-reverse, surprising-without-context, AND involves real trade-offs. If any of those three is missing, just put it in CONTEXT.md or a phase plan instead. ADRs are scarce on purpose.