qualia-framework 2.4.5 → 2.4.9

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 (85) hide show
  1. package/README.md +1 -1
  2. package/bin/cli.js +1 -1
  3. package/framework/CLAUDE.md +14 -17
  4. package/framework/agents/backend-agent.md +1 -1
  5. package/framework/agents/frontend-agent.md +2 -2
  6. package/framework/agents/qualia-debugger.md +1 -1
  7. package/framework/agents/qualia-executor.md +4 -4
  8. package/framework/agents/qualia-plan-checker.md +2 -2
  9. package/framework/agents/qualia-roadmapper.md +2 -2
  10. package/framework/agents/qualia-verifier.md +1 -1
  11. package/framework/agents/test-agent.md +1 -1
  12. package/framework/hooks/auto-format.sh +2 -1
  13. package/framework/hooks/block-env-edit.sh +5 -1
  14. package/framework/hooks/migration-validate.sh +13 -10
  15. package/framework/hooks/notification-speak.sh +1 -0
  16. package/framework/hooks/pre-compact.sh +1 -0
  17. package/framework/hooks/pre-deploy-gate.sh +14 -12
  18. package/framework/hooks/qualia-colors.sh +4 -4
  19. package/framework/hooks/retention-cleanup.sh +10 -0
  20. package/framework/hooks/save-session-state.sh +2 -0
  21. package/framework/hooks/session-learn.sh +1 -0
  22. package/framework/qualia-framework/VERSION +1 -1
  23. package/framework/qualia-framework/bin/collect-metrics.sh +8 -12
  24. package/framework/qualia-framework/bin/qualia-tools.js +1 -1
  25. package/framework/qualia-framework/references/decimal-phase-calculation.md +4 -4
  26. package/framework/qualia-framework/references/model-profile-resolution.md +1 -1
  27. package/framework/qualia-framework/references/phase-argument-parsing.md +3 -3
  28. package/framework/qualia-framework/references/planning-config.md +5 -5
  29. package/framework/qualia-framework/references/verification-patterns.md +1 -1
  30. package/framework/qualia-framework/templates/codebase/structure.md +10 -10
  31. package/framework/qualia-framework/templates/phase-prompt.md +10 -10
  32. package/framework/qualia-framework/workflows/add-phase.md +2 -2
  33. package/framework/qualia-framework/workflows/add-todo.md +3 -3
  34. package/framework/qualia-framework/workflows/audit-milestone.md +3 -3
  35. package/framework/qualia-framework/workflows/check-todos.md +2 -2
  36. package/framework/qualia-framework/workflows/complete-milestone.md +4 -4
  37. package/framework/qualia-framework/workflows/diagnose-issues.md +1 -1
  38. package/framework/qualia-framework/workflows/discovery-phase.md +5 -5
  39. package/framework/qualia-framework/workflows/discuss-phase.md +4 -4
  40. package/framework/qualia-framework/workflows/execute-plan.md +8 -8
  41. package/framework/qualia-framework/workflows/help.md +2 -2
  42. package/framework/qualia-framework/workflows/insert-phase.md +3 -3
  43. package/framework/qualia-framework/workflows/map-codebase.md +2 -2
  44. package/framework/qualia-framework/workflows/new-milestone.md +6 -6
  45. package/framework/qualia-framework/workflows/pause-work.md +2 -2
  46. package/framework/qualia-framework/workflows/plan-milestone-gaps.md +2 -2
  47. package/framework/qualia-framework/workflows/plan-phase.md +5 -5
  48. package/framework/qualia-framework/workflows/quick.md +2 -2
  49. package/framework/qualia-framework/workflows/remove-phase.md +2 -2
  50. package/framework/qualia-framework/workflows/research-phase.md +4 -4
  51. package/framework/qualia-framework/workflows/resume-project.md +2 -2
  52. package/framework/qualia-framework/workflows/set-profile.md +2 -2
  53. package/framework/qualia-framework/workflows/settings.md +2 -2
  54. package/framework/qualia-framework/workflows/update.md +10 -10
  55. package/framework/qualia-framework/workflows/verify-phase.md +5 -5
  56. package/framework/qualia-framework/workflows/verify-work.md +4 -4
  57. package/framework/rules/context7.md +7 -4
  58. package/framework/rules/speed.md +2 -3
  59. package/framework/scripts/sync-to-framework.sh +1 -1
  60. package/framework/skills/animate/SKILL.md +3 -3
  61. package/framework/skills/bolder/SKILL.md +3 -3
  62. package/framework/skills/colorize/SKILL.md +3 -3
  63. package/framework/skills/delight/SKILL.md +3 -3
  64. package/framework/skills/design-quieter/SKILL.md +3 -3
  65. package/framework/skills/distill/SKILL.md +3 -3
  66. package/framework/skills/qualia-add-todo/SKILL.md +1 -1
  67. package/framework/skills/qualia-check-todos/SKILL.md +1 -1
  68. package/framework/skills/qualia-debug/SKILL.md +2 -2
  69. package/framework/skills/qualia-discuss-phase/SKILL.md +2 -2
  70. package/framework/skills/qualia-framework-audit/SKILL.md +1 -1
  71. package/framework/skills/qualia-list-phase-assumptions/SKILL.md +1 -1
  72. package/framework/skills/qualia-new-milestone/SKILL.md +4 -4
  73. package/framework/skills/qualia-optimize/SKILL.md +7 -7
  74. package/framework/skills/qualia-pause-work/SKILL.md +1 -1
  75. package/framework/skills/qualia-plan-milestone-gaps/SKILL.md +1 -1
  76. package/framework/skills/qualia-production-check/SKILL.md +0 -314
  77. package/framework/skills/qualia-progress/SKILL.md +1 -1
  78. package/framework/skills/qualia-quick/SKILL.md +1 -1
  79. package/framework/skills/qualia-research-phase/SKILL.md +2 -2
  80. package/framework/skills/qualia-resume-work/SKILL.md +1 -1
  81. package/framework/skills/qualia-review/SKILL.md +1 -1
  82. package/framework/teams/review-team.md +75 -0
  83. package/framework/teams/ship-team.md +86 -0
  84. package/package.json +1 -1
  85. package/framework/skills/qualia-workflow/SKILL.md +0 -130
@@ -1,314 +0,0 @@
1
- ---
2
- name: qualia-production-check
3
- description: "Final client-handoff production audit — spawns 5+ specialist agents to check EVERYTHING before handing a project to a client. Frontend, backend, auth, UX, Supabase, silent errors, misconfigs, SEO, performance, accessibility, legal pages, error handling — the works. Use this skill whenever the user says 'production check', 'client ready', 'is it ready', 'final check', 'handoff check', 'production audit', 'ready for client', 'qualia-production-check', 'final audit', 'pre-handoff', or wants to verify a project is truly ready to give to a client."
4
- ---
5
-
6
- # Qualia Production Check — Client-Handoff Audit
7
-
8
- This is THE final check before handing a project to a client. Not a code review — a **production readiness audit** that checks everything a real user will experience.
9
-
10
- Spawns 5 specialist agents in parallel, each checking a different dimension. Then synthesizes into a structured verdict with actionable next steps.
11
-
12
- ## Usage
13
-
14
- - `/qualia-production-check` — Full audit (all 5 dimensions)
15
-
16
- ## Process
17
-
18
- ### Step 1: Load Context
19
-
20
- ```bash
21
- cat .planning/PROJECT.md 2>/dev/null || echo "NO_PROJECT"
22
- cat .planning/REQUIREMENTS.md 2>/dev/null || echo "NO_REQUIREMENTS"
23
- cat .planning/ROADMAP.md 2>/dev/null || echo "NO_ROADMAP"
24
- ```
25
-
26
- ```bash
27
- node -e "try{const p=require('./package.json');console.log(JSON.stringify({name:p.name,deps:Object.keys(p.dependencies||{}),devDeps:Object.keys(p.devDependencies||{})}))}catch(e){console.log('{}')}" 2>/dev/null
28
- ```
29
-
30
- ```bash
31
- ls -d app/ src/ pages/ components/ lib/ supabase/ public/ 2>/dev/null
32
- ```
33
-
34
- Read `~/.claude/rules/security.md` and `~/.claude/rules/frontend.md`.
35
-
36
- Detect project type: website, AI agent, voice agent, web app, mobile.
37
-
38
- Store all content — inline into agent prompts.
39
-
40
- ### Step 2: Spawn 5 Agents (parallel, single message)
41
-
42
- All agents get PROJECT.md + REQUIREMENTS.md inlined. Every finding must include: **What** | **Where** (file:line) | **Impact on client/users** | **Fix** | **Severity** (BLOCKER / WARNING / INFO).
43
-
44
- BLOCKER = client will see this and it's bad. WARNING = should fix but won't break. INFO = nice to have.
45
-
46
- #### Agent 1: User Experience & Frontend
47
-
48
- ```
49
- Task(
50
- prompt="You are auditing the user experience of a production web app that will be handed to a client.
51
-
52
- <planning>{PROJECT.md + REQUIREMENTS.md}</planning>
53
- <rules>{frontend.md}</rules>
54
-
55
- Check EVERY page in app/ — open each page.tsx and layout.tsx:
56
-
57
- 1. **First impression** — Does the homepage look professional? Distinctive design or generic AI slop?
58
- 2. **Navigation** — Can users find everything? Are all nav links working? No dead links?
59
- 3. **Loading states** — Every async operation shows feedback (skeleton, spinner, progress)
60
- 4. **Error states** — What happens when API fails? Network disconnects? Wrong URL?
61
- 5. **Empty states** — What do lists/tables show when empty? Helpful message or just blank?
62
- 6. **Forms** — Validation on submit? Clear error messages? Success feedback? Disabled state while submitting?
63
- 7. **Mobile responsive** — Check for fixed widths, overflow, touch targets too small, text readable
64
- 8. **Typography** — Consistent fonts, readable sizes, proper hierarchy, no tiny gray text
65
- 9. **Images** — Using next/image? Alt text? Proper sizing? Not stretched or pixelated?
66
- 10. **404 page** — Does app/not-found.tsx exist? Is it styled? Does it help the user?
67
- 11. **Favicon & metadata** — Title, description, OG tags, favicon all set?
68
- 12. **Console errors** — Grep for console.log/console.error left in production code
69
- 13. **Accessibility** — Alt text, ARIA labels, keyboard navigation, color contrast
70
-
71
- For EVERY finding: What | Where (file:line) | Impact on client | Fix | Severity (BLOCKER/WARNING/INFO)",
72
- subagent_type="frontend-agent",
73
- description="UX & frontend production audit"
74
- )
75
- ```
76
-
77
- #### Agent 2: Auth, Security & Data Protection
78
-
79
- ```
80
- Task(
81
- prompt="You are auditing authentication and security for client handoff.
82
-
83
- <planning>{PROJECT.md + REQUIREMENTS.md}</planning>
84
- <rules>{security.md}</rules>
85
-
86
- Check:
87
-
88
- 1. **Auth flow completeness** — Login, signup, logout, password reset ALL work? Email verification?
89
- 2. **Protected routes** — Every dashboard/admin/settings page checks auth? What happens if unauthenticated user visits?
90
- 3. **RLS policies** — EVERY Supabase table has Row Level Security enabled WITH policies. No table left unprotected.
91
- 4. **Service role exposure** — Grep for service_role or SUPABASE_SERVICE_ROLE_KEY in ANY client-side file (app/, components/, src/). Must be ZERO.
92
- 5. **Server-side auth** — All mutations use supabase.auth.getUser() server-side. No client-side mutations with user-supplied IDs.
93
- 6. **Input validation** — All user inputs validated with Zod or equivalent. No raw req.body usage.
94
- 7. **XSS prevention** — No dangerouslySetInnerHTML. No eval(). No user content rendered unsanitized.
95
- 8. **CORS** — Properly restricted, not wildcard '*' in production.
96
- 9. **Rate limiting** — Auth endpoints (login, signup, reset) have rate limiting.
97
- 10. **Secrets in code** — No hardcoded API keys, passwords, tokens in source files.
98
- 11. **Environment variables** — All secrets in env vars. NEXT_PUBLIC_ only for client-safe values.
99
- 12. **Session management** — Tokens expire and refresh properly. Logout clears session.
100
-
101
- For EVERY finding: What | Where (file:line) | Impact | Fix | Severity (BLOCKER/WARNING/INFO)",
102
- subagent_type="backend-agent",
103
- description="Auth & security production audit"
104
- )
105
- ```
106
-
107
- #### Agent 3: Backend, Database & API
108
-
109
- ```
110
- Task(
111
- prompt="You are auditing the backend and database for production readiness.
112
-
113
- <planning>{PROJECT.md + REQUIREMENTS.md}</planning>
114
-
115
- Check:
116
-
117
- 1. **API error handling** — Every API route/server action has try/catch. Errors return proper HTTP status codes with meaningful messages. No stack traces exposed to client.
118
- 2. **Database queries** — N+1 queries (Supabase calls in loops)? Missing indexes on filtered columns? Sequential queries that could be parallel?
119
- 3. **Server actions** — All data mutations use 'use server' actions, not client-side Supabase calls? Each checks auth first?
120
- 4. **Supabase connection** — Using server.ts for mutations, client.ts for reads? Connection pooling configured?
121
- 5. **Migrations** — All migrations applied? Types generated and up to date? Schema matches what code expects?
122
- 6. **Edge functions** — If supabase/functions/ exists: error handling, CORS, timeout protection, proper responses.
123
- 7. **Caching** — revalidatePath/revalidateTag after mutations? SWR/React Query configured with sensible stale times?
124
- 8. **Pagination** — Large data sets paginated? Not loading 10,000 rows into memory?
125
- 9. **File uploads** — If any: size limits, type validation, virus scanning, proper storage?
126
- 10. **Webhooks** — If any: signature verification, idempotency, error handling, retry logic?
127
- 11. **Background jobs** — Long-running operations handled async? Not blocking API responses?
128
- 12. **Monitoring** — Error tracking configured (Sentry or similar)? Logging meaningful events?
129
-
130
- For EVERY finding: What | Where (file:line) | Impact | Fix | Severity (BLOCKER/WARNING/INFO)",
131
- subagent_type="backend-agent",
132
- description="Backend & database production audit"
133
- )
134
- ```
135
-
136
- #### Agent 4: Performance & SEO
137
-
138
- ```
139
- Task(
140
- prompt="You are auditing performance and SEO for a client-facing production site.
141
-
142
- Check:
143
-
144
- 1. **Build succeeds** — Run npm run build mentally (check for obvious build errors in imports, missing modules)
145
- 2. **Bundle size** — Large library imports without tree-shaking? Barrel exports? Missing dynamic imports for heavy components (charts, editors, maps)?
146
- 3. **Images** — All using next/image? WebP/AVIF format? Proper width/height? Lazy loading below fold?
147
- 4. **Fonts** — Using next/font? No render-blocking external font loads?
148
- 5. **Core Web Vitals** — Largest Contentful Paint risks? Cumulative Layout Shift risks? Large unoptimized images above fold?
149
- 6. **SEO metadata** — Every page has title, description. Root layout has proper metadata. Open Graph tags for social sharing?
150
- 7. **Sitemap** — public/sitemap.xml exists? Lists all public pages?
151
- 8. **Robots.txt** — public/robots.txt exists? Not blocking important pages?
152
- 9. **Structured data** — JSON-LD for business info, breadcrumbs, or relevant schema?
153
- 10. **Canonical URLs** — Proper canonical tags to avoid duplicate content?
154
- 11. **Lighthouse hints** — Server components used where possible? No unnecessary 'use client' directives?
155
- 12. **API latency** — Any obvious slow queries or waterfalls in the data fetching pattern?
156
-
157
- For EVERY finding: What | Where (file:line) | Impact | Fix | Severity (BLOCKER/WARNING/INFO)",
158
- subagent_type="performance-oracle",
159
- description="Performance & SEO production audit"
160
- )
161
- ```
162
-
163
- #### Agent 5: Completeness & Missing Features
164
-
165
- ```
166
- Task(
167
- prompt="You are checking if a project is COMPLETE — nothing missing that a client would expect.
168
-
169
- <planning>{PROJECT.md + REQUIREMENTS.md + ROADMAP.md}</planning>
170
-
171
- Check against requirements AND common expectations:
172
-
173
- 1. **Requirements coverage** — Every requirement in REQUIREMENTS.md marked complete: does the feature ACTUALLY work in code? Grep for routes, components, API endpoints that implement each requirement.
174
- 2. **Missing pages** — Common pages that clients expect: About, Contact, Privacy Policy, Terms of Service, 404, 500 error page. Which are missing?
175
- 3. **Missing functionality** — Based on project type:
176
- - Website: contact form works? Newsletter signup? Social links?
177
- - Web app: settings page? Profile management? Change password? Delete account?
178
- - AI agent: fallback responses? Rate limiting? Usage tracking?
179
- 4. **Email** — If the app sends emails: are they configured? Working? Proper templates? Not going to spam?
180
- 5. **Analytics** — Tracking configured? Google Analytics / Plausible / PostHog?
181
- 6. **Error boundaries** — app/error.tsx exists? Styled? Provides recovery action?
182
- 7. **Loading** — app/loading.tsx or Suspense boundaries on data-fetching pages?
183
- 8. **Favicon & branding** — Custom favicon (not Next.js default)? Proper app title? OG image?
184
- 9. **Legal compliance** — Cookie consent if in EU? Privacy policy if collecting data? Terms if SaaS?
185
- 10. **Mobile** — Site works on mobile? No horizontal scroll? Touch targets adequate?
186
- 11. **Cross-browser** — Any IE/Safari-specific CSS issues? Webkit prefixes needed?
187
- 12. **Deployment config** — Vercel configured? Environment variables set? Domain connected?
188
-
189
- For EVERY finding: What | Where | Impact on client | Fix | Severity (BLOCKER/WARNING/INFO)",
190
- subagent_type="general-purpose",
191
- description="Completeness & missing features audit"
192
- )
193
- ```
194
-
195
- ### Step 3: Collect & Score
196
-
197
- After all 5 agents return:
198
-
199
- 1. Deduplicate (same file:line from multiple agents)
200
- 2. Group by severity: BLOCKER → WARNING → INFO
201
- 3. Count totals
202
- 4. Determine verdict:
203
- - **READY** — 0 blockers, 0 warnings (or all warnings are cosmetic)
204
- - **ALMOST** — 0 blockers, some warnings
205
- - **NOT READY** — has blockers
206
-
207
- ### Step 4: Present Report
208
-
209
- Output as direct text (NOT via Bash):
210
-
211
- ```
212
- ◆ PRODUCTION CHECK — CLIENT HANDOFF AUDIT
213
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
214
-
215
- Project: {name}
216
- Date: {date}
217
- Verdict: {READY / ALMOST / NOT READY}
218
-
219
- BLOCKERS: {N} WARNINGS: {N} INFO: {N}
220
-
221
- ── BLOCKERS (must fix before handoff) ────────
222
- {If none: "None — no blockers found"}
223
-
224
- 1. [{dimension}] {finding}
225
- Location: {file:line}
226
- Client impact: {what the client/user will experience}
227
- Fix: {how to fix}
228
-
229
- 2. ...
230
-
231
- ── WARNINGS (should fix) ────────────────────
232
- {findings}
233
-
234
- ── INFO (nice to have) ──────────────────────
235
- {findings}
236
-
237
- ── DIMENSION SCORES ─────────────────────────
238
-
239
- UX & Frontend {PASS/ISSUES} ({N} findings)
240
- Auth & Security {PASS/ISSUES} ({N} findings)
241
- Backend & Data {PASS/ISSUES} ({N} findings)
242
- Performance & SEO {PASS/ISSUES} ({N} findings)
243
- Completeness {PASS/ISSUES} ({N} findings)
244
-
245
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
246
- ```
247
-
248
- ### Step 5: Save Report
249
-
250
- Write to `.planning/PRODUCTION-CHECK.md`:
251
-
252
- ```markdown
253
- ---
254
- date: YYYY-MM-DD HH:MM
255
- verdict: ready|almost|not_ready
256
- blockers: N
257
- warnings: N
258
- info: N
259
- dimensions:
260
- ux: {pass|issues}
261
- security: {pass|issues}
262
- backend: {pass|issues}
263
- performance: {pass|issues}
264
- completeness: {pass|issues}
265
- ---
266
-
267
- # Production Check — YYYY-MM-DD
268
-
269
- {Full report content}
270
- ```
271
-
272
- Commit:
273
- ```bash
274
- git add .planning/PRODUCTION-CHECK.md && git commit -m "docs: production check ({verdict}, {blockers} blockers)"
275
- ```
276
-
277
- ### Step 6: Actionable Next Steps
278
-
279
- Based on verdict:
280
-
281
- **If NOT READY (has blockers):**
282
- ```
283
- ## What's Next?
284
-
285
- This project has {N} blockers that clients WILL notice.
286
-
287
- 1. Fix blockers now — I'll fix them one by one with /qualia-quick
288
- 2. Create a fix milestone — /qualia-new-milestone to plan systematic fixes
289
- 3. See specific blocker — tell me which number to investigate
290
- ```
291
-
292
- **If ALMOST (warnings only):**
293
- ```
294
- ## What's Next?
295
-
296
- No blockers — the project works. {N} warnings to consider.
297
-
298
- 1. Fix warnings — I'll handle the quick ones now
299
- 2. Ship as-is — warnings won't break anything for the client
300
- 3. Run /qualia-design — polish the visual design before handoff
301
- ```
302
-
303
- **If READY:**
304
- ```
305
- ## What's Next?
306
-
307
- ✓ Production ready. No blockers, no warnings worth fixing.
308
-
309
- 1. Ship it — /ship
310
- 2. Run /qualia-design — final visual polish (optional)
311
- 3. Generate handoff docs — project summary for the client
312
- ```
313
-
314
- Wait for user to select. Act on their choice.
@@ -17,7 +17,7 @@ Check current progress, summarize state, and route to the most logical next acti
17
17
 
18
18
  Read `.planning/STATE.md`, `.planning/ROADMAP.md`, and check `git status --short`.
19
19
 
20
- Reference: `~/.claude/qualia-engine/workflows/progress.md`
20
+ Reference: `~/.claude/qualia-framework/workflows/progress.md`
21
21
 
22
22
  ### 2. Summarize Progress
23
23
 
@@ -19,7 +19,7 @@ Execute small tasks outside the normal phase workflow while maintaining Qualia q
19
19
 
20
20
  Read `.planning/STATE.md` for current project state.
21
21
 
22
- Reference: `~/.claude/qualia-engine/workflows/quick.md`
22
+ Reference: `~/.claude/qualia-framework/workflows/quick.md`
23
23
 
24
24
  ### 2. Complexity Check
25
25
 
@@ -27,7 +27,7 @@ Conduct structured research for a project phase, producing a RESEARCH.md that fe
27
27
 
28
28
  Use `qualia-tools.js` for state management:
29
29
  ```bash
30
- node ~/.claude/qualia-engine/bin/qualia-tools.js phase-op <phase>
30
+ node ~/.claude/qualia-framework/bin/qualia-tools.js phase-op <phase>
31
31
  ```
32
32
 
33
33
  Validate the phase exists in ROADMAP.md. Check if research already exists at `.planning/phases/{phase}-{slug}/{phase}-RESEARCH.md`.
@@ -47,7 +47,7 @@ Reference: `~/.claude/agents/qualia-phase-researcher.md`
47
47
 
48
48
  Model resolution:
49
49
  ```bash
50
- node ~/.claude/qualia-engine/bin/qualia-tools.js resolve-model qualia-phase-researcher
50
+ node ~/.claude/qualia-framework/bin/qualia-tools.js resolve-model qualia-phase-researcher
51
51
  ```
52
52
 
53
53
  ### 4. Research Output
@@ -15,7 +15,7 @@ Restore context from a previous session and route to the right next action.
15
15
 
16
16
  ### 1. Load State
17
17
 
18
- Reference: `~/.claude/qualia-engine/workflows/resume-project.md`
18
+ Reference: `~/.claude/qualia-framework/workflows/resume-project.md`
19
19
 
20
20
  Check for context sources in priority order:
21
21
 
@@ -211,7 +211,7 @@ Severity-scored findings with exact `file:line` references and fix recommendatio
211
211
 
212
212
  ## Shipping Checklist Scan
213
213
 
214
- After running all review agents, cross-reference findings against the relevant shipping checklist from `~/.claude/qualia-engine/references/completion-checklists.md`.
214
+ After running all review agents, cross-reference findings against the relevant shipping checklist from `~/.claude/qualia-framework/references/completion-checklists.md`.
215
215
 
216
216
  Detect project type and load the matching checklist:
217
217
  - **website** → "Website-Specific Checklist" + "Universal Checklist"
@@ -0,0 +1,75 @@
1
+ # Review Team
2
+
3
+ > Five specialist reviewers analyze code in parallel, results synthesized into unified report.
4
+
5
+ ## Agents
6
+
7
+ - **code-simplicity-reviewer**
8
+ - subagent_type: code-simplicity-reviewer
9
+ - role: Identify unnecessary complexity, premature abstractions, YAGNI violations, over-engineering
10
+ - focus: Code structure, abstractions, function complexity, dead code
11
+
12
+ - **performance-oracle**
13
+ - subagent_type: performance-oracle
14
+ - role: Identify performance bottlenecks, N+1 queries, memory leaks, missing indexes, bundle size issues
15
+ - focus: Database queries, API latency, rendering performance, caching opportunities
16
+
17
+ - **kieran-typescript-reviewer**
18
+ - subagent_type: kieran-typescript-reviewer
19
+ - role: TypeScript quality — strict types, naming conventions, pattern adherence, type safety gaps
20
+ - focus: Type definitions, generics usage, any/unknown, null handling, naming
21
+
22
+ - **security-auditor**
23
+ - subagent_type: security-auditor
24
+ - role: RLS policies, service_role exposure, auth patterns, input validation, secrets scanning, dependency vulnerabilities
25
+ - focus: Supabase security, auth flows, env var handling, XSS/injection prevention
26
+
27
+ - **red-team-qa** (optional — spawn when reviewing auth, payments, or user input)
28
+ - subagent_type: red-team-qa
29
+ - role: Adversarial QA — actively tries to break the implementation via edge cases, error paths, boundary conditions
30
+ - focus: Permission bypasses, unexpected inputs, race conditions, error handling gaps
31
+
32
+ ## Pattern
33
+
34
+ fan-out (all 5 parallel) → synthesize into REVIEW-REPORT.md
35
+
36
+ ## Shared Context
37
+
38
+ - .planning/STATE.md — what was built, current phase
39
+ - Recent git diff (last N commits relevant to the review scope)
40
+
41
+ ## Coordination Rules
42
+
43
+ - Each reviewer produces findings independently — no coordination needed
44
+ - Reviewers are read-only — they analyze and report, they don't fix
45
+ - Findings should include file:line references
46
+ - Each reviewer rates findings: CRITICAL / HIGH / MEDIUM / LOW
47
+
48
+ ## Output
49
+
50
+ REVIEW-REPORT.md in current directory with sections:
51
+
52
+ ```markdown
53
+ # Review Report
54
+
55
+ ## Summary
56
+ {Overall assessment — 1-2 sentences}
57
+
58
+ ## Simplicity Review
59
+ {From code-simplicity-reviewer}
60
+
61
+ ## Performance Review
62
+ {From performance-oracle}
63
+
64
+ ## TypeScript Quality Review
65
+ {From kieran-typescript-reviewer}
66
+
67
+ ## Security Review
68
+ {From security-auditor}
69
+
70
+ ## Action Items
71
+ | # | Severity | Finding | File:Line | Reviewer |
72
+ |---|----------|---------|-----------|----------|
73
+ | 1 | Critical | ... | ... | ... |
74
+ | 2 | Warning | ... | ... | ... |
75
+ ```
@@ -0,0 +1,86 @@
1
+ # Ship Team
2
+
3
+ > Quality gate → Deploy → Verify. Pipeline pattern — abort if any step fails.
4
+
5
+ ## Agents
6
+
7
+ - **quality-gate**
8
+ - subagent_type: test-agent
9
+ - role: Run tsc, eslint, build. Ensure no type errors, lint violations, or build failures.
10
+ - commands: |
11
+ npx tsc --noEmit
12
+ npx next lint (or eslint .)
13
+ npm run build (or next build)
14
+ - abort_on_fail: true
15
+
16
+ - **deploy**
17
+ - subagent_type: general-purpose
18
+ - role: Commit staged changes, push to remote, deploy to hosting platform
19
+ - commands: |
20
+ git add -A && git commit (if uncommitted changes)
21
+ git push origin {branch}
22
+ vercel --prod (default) OR wrangler deploy (if armenius)
23
+ - abort_on_fail: true
24
+
25
+ - **verify**
26
+ - subagent_type: test-agent
27
+ - role: Run 6-check post-deploy verification against production URL
28
+ - checks: |
29
+ 1. HTTP 200 — homepage loads
30
+ 2. Auth flow — login/signup endpoint responds
31
+ 3. Console errors — no critical JS errors
32
+ 4. API latency — key endpoints < 500ms
33
+ 5. SSL — valid certificate
34
+ 6. Build artifacts — no source maps exposed
35
+ - abort_on_fail: false (report issues but don't rollback)
36
+
37
+ ## Pattern
38
+
39
+ pipeline: quality-gate → deploy → verify
40
+
41
+ Each step must succeed before the next begins. If quality-gate fails, deployment is blocked. If deploy fails, verification is skipped.
42
+
43
+ ## Shared Context
44
+
45
+ - ~/.claude/knowledge/qualia-context.md — project inventory, deploy commands, Supabase refs
46
+ - .planning/STATE.md — current project state
47
+ - Project's local CLAUDE.md — project-specific deploy config
48
+
49
+ ## Coordination Rules
50
+
51
+ - quality-gate runs ALL checks before passing — partial pass is a fail
52
+ - deploy detects hosting platform from project context (Vercel default, Cloudflare for armenius)
53
+ - verify uses the production URL from deploy output
54
+ - If Supabase project: deploy also runs `supabase db push` if pending migrations exist
55
+
56
+ ## Output
57
+
58
+ SHIP-REPORT.md in current directory:
59
+
60
+ ```markdown
61
+ # Ship Report
62
+
63
+ **Date:** {date}
64
+ **Branch:** {branch}
65
+ **Deploy URL:** {url}
66
+
67
+ ## Quality Gate
68
+ - tsc: ✓ / ✗ ({error count})
69
+ - lint: ✓ / ✗ ({warning count})
70
+ - build: ✓ / ✗ ({duration})
71
+
72
+ ## Deployment
73
+ - Platform: Vercel / Cloudflare
74
+ - URL: {production url}
75
+ - Commit: {sha}
76
+
77
+ ## Verification
78
+ | Check | Status | Details |
79
+ |-------|--------|---------|
80
+ | HTTP 200 | ✓/✗ | {status code} |
81
+ | Auth flow | ✓/✗ | {details} |
82
+ | Console errors | ✓/✗ | {count} |
83
+ | API latency | ✓/✗ | {ms} |
84
+ | SSL | ✓/✗ | {expiry} |
85
+ | Source maps | ✓/✗ | {exposed?} |
86
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "qualia-framework",
3
- "version": "2.4.5",
3
+ "version": "2.4.9",
4
4
  "description": "Qualia Solutions — Claude Code Framework",
5
5
  "bin": {
6
6
  "qualia-framework": "./bin/cli.js"
@@ -1,130 +0,0 @@
1
- ---
2
- name: qualia-workflow
3
- description: Qualia Solutions project conventions - structure, patterns, deployment checklist. Use when starting or auditing Qualia client projects.
4
- tags: [qualia, workflow, nextjs, supabase, vercel]
5
- ---
6
-
7
- # Qualia Solutions Conventions
8
-
9
- Project conventions for Qualia Solutions client work. For specific tooling, use dedicated skills (`/supabase`, `/voice-agent`, `/deploy`, etc.).
10
-
11
- ## Standard Tech Stack
12
-
13
- | Layer | Technology | Notes |
14
- |-------|------------|-------|
15
- | Frontend | Next.js 16+ + React 19 + TypeScript | App Router, Server Components |
16
- | Styling | Tailwind CSS + shadcn/ui | Custom themes per client |
17
- | Backend | Supabase | Postgres, Auth, RLS, Edge Functions |
18
- | Deployment | Vercel | Preview on PR, Production on main |
19
- | Voice AI | Retell AI + ElevenLabs | Call orchestration + TTS/voice cloning |
20
- | AI Models | OpenRouter | Model-flexible (Claude, Mistral, etc.) |
21
- | Payments | Stripe / HyperPay | Region-dependent |
22
-
23
- ## Project Structure
24
-
25
- ```
26
- project/
27
- ├── app/ # Next.js App Router
28
- │ ├── (auth)/ # Auth-required routes
29
- │ ├── (marketing)/ # Public pages
30
- │ ├── api/ # API routes (minimal, prefer server actions)
31
- │ └── layout.tsx # Root layout
32
- ├── components/
33
- │ ├── ui/ # shadcn/ui components
34
- │ ├── forms/ # Form components
35
- │ └── [feature]/ # Feature-specific components
36
- ├── lib/
37
- │ ├── supabase/ # Supabase clients (server/client)
38
- │ ├── utils.ts # Utility functions
39
- │ └── constants.ts # App constants
40
- ├── types/
41
- │ ├── database.ts # Generated from Supabase
42
- │ └── index.ts # App types
43
- ├── supabase/
44
- │ ├── migrations/ # SQL migrations
45
- │ └── functions/ # Edge functions
46
- ├── hooks/ # Custom React hooks
47
- ├── actions/ # Server actions
48
- └── public/ # Static assets
49
- ```
50
-
51
- ## Key Patterns
52
-
53
- - **Server Components first** -- only add `'use client'` when interactivity is needed
54
- - **Server Actions for mutations** -- always auth check first (`supabase.auth.getUser()`)
55
- - **Prefer server actions over API routes** -- fewer files, same security
56
- - **Generate types** after every migration: `npx supabase gen types typescript`
57
-
58
- ## Server Action Template
59
-
60
- ```typescript
61
- 'use server'
62
-
63
- import { revalidatePath } from 'next/cache'
64
- import { createClient } from '@/lib/supabase/server'
65
-
66
- export async function createProduct(formData: FormData) {
67
- const supabase = await createClient()
68
-
69
- // Auth check first
70
- const { data: { user }, error: authError } = await supabase.auth.getUser()
71
- if (authError || !user) throw new Error('Unauthorized')
72
-
73
- const { error } = await supabase
74
- .from('products')
75
- .insert({ name: formData.get('name') })
76
-
77
- if (error) throw new Error('Failed to create product')
78
-
79
- revalidatePath('/products')
80
- }
81
- ```
82
-
83
- ## Deployment Checklist
84
-
85
- 1. **Environment Variables**
86
- - [ ] All secrets in Vercel (not in code)
87
- - [ ] Different keys for preview vs production
88
- - [ ] NEXT_PUBLIC_ prefix only for client-safe vars
89
-
90
- 2. **Database**
91
- - [ ] Migrations applied
92
- - [ ] RLS policies on all tables
93
- - [ ] Indexes on frequently queried columns
94
- - [ ] Types generated and committed
95
-
96
- 3. **Security**
97
- - [ ] No exposed API keys
98
- - [ ] CORS configured
99
- - [ ] Rate limiting on API routes
100
- - [ ] Input validation everywhere
101
-
102
- 4. **Performance**
103
- - [ ] Images optimized (next/image)
104
- - [ ] Fonts optimized (next/font)
105
- - [ ] Bundle analyzed
106
- - [ ] Core Web Vitals passing
107
-
108
- ## New Feature Workflow
109
-
110
- ```
111
- 1. Database schema first (if needed)
112
- 2. Supabase migration
113
- 3. Generate types: npx supabase gen types typescript
114
- 4. Server Components for data display
115
- 5. Server Actions for mutations
116
- 6. Client Components only for interactivity
117
- ```
118
-
119
- ## External Tools Available
120
-
121
- - **Supabase**: Use `/supabase` skill (CLI-first) or Supabase MCP plugin
122
- - **Context7 MCP**: Library documentation lookup
123
- - **Retell AI**: Voice agent call orchestration
124
- - **ElevenLabs MCP**: Voice synthesis and cloning
125
- - **Telnyx MCP**: Phone numbers, messaging, calls
126
- - **Playwright MCP**: Browser automation and testing
127
- - **Sentry MCP**: Error tracking and monitoring
128
- - **Firecrawl MCP**: Web scraping and search
129
- - **Google Calendar MCP**: Calendar operations
130
- - **GitHub CLI** (`gh`): PRs, issues, code review (NOT MCP — use Bash)