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.
- package/CLAUDE.md +64 -0
- package/README.md +103 -30
- package/agents/builder.md +110 -0
- package/agents/planner.md +134 -0
- package/agents/qa-browser.md +186 -0
- package/agents/verifier.md +221 -0
- package/bin/cli.js +336 -531
- package/bin/install.js +570 -0
- package/bin/qualia-ui.js +299 -0
- package/bin/state.js +630 -0
- package/bin/statusline.js +252 -0
- package/guide.md +63 -0
- package/hooks/auto-update.js +139 -0
- package/hooks/branch-guard.js +47 -0
- package/hooks/migration-guard.js +60 -0
- package/hooks/pre-compact.js +32 -0
- package/hooks/pre-deploy-gate.js +110 -0
- package/hooks/pre-push.js +33 -0
- package/hooks/session-start.js +170 -0
- package/package.json +29 -20
- package/rules/design-reference.md +179 -0
- package/rules/frontend.md +126 -0
- package/skills/qualia/SKILL.md +87 -0
- package/skills/qualia-build/SKILL.md +97 -0
- package/skills/qualia-debug/SKILL.md +87 -0
- package/skills/qualia-design/SKILL.md +93 -0
- package/skills/qualia-handoff/SKILL.md +66 -0
- package/skills/qualia-idk/SKILL.md +8 -0
- package/skills/qualia-learn/SKILL.md +88 -0
- package/skills/qualia-new/SKILL.md +323 -0
- package/{framework/skills → skills}/qualia-optimize/SKILL.md +1 -1
- package/skills/qualia-pause/SKILL.md +63 -0
- package/skills/qualia-plan/SKILL.md +101 -0
- package/skills/qualia-polish/SKILL.md +157 -0
- package/skills/qualia-quick/SKILL.md +37 -0
- package/skills/qualia-report/SKILL.md +105 -0
- package/skills/qualia-resume/SKILL.md +49 -0
- package/skills/qualia-review/SKILL.md +76 -0
- package/skills/qualia-ship/SKILL.md +90 -0
- package/skills/qualia-skill-new/SKILL.md +167 -0
- package/skills/qualia-task/SKILL.md +91 -0
- package/skills/qualia-verify/SKILL.md +113 -0
- package/templates/DESIGN.md +137 -0
- package/templates/plan.md +28 -0
- package/templates/project.md +22 -0
- package/templates/state.md +27 -0
- package/templates/tracking.json +20 -0
- package/tests/bin.test.sh +673 -0
- package/tests/hooks.test.sh +315 -0
- package/tests/state.test.sh +535 -0
- package/tests/statusline.test.sh +243 -0
- package/bin/collect-metrics.sh +0 -62
- package/framework/.claudeignore +0 -51
- package/framework/CLAUDE.md +0 -51
- package/framework/MCP_SETUP.md +0 -229
- package/framework/agents/architecture-strategist.md +0 -53
- package/framework/agents/backend-agent.md +0 -150
- package/framework/agents/code-simplicity-reviewer.md +0 -86
- package/framework/agents/frontend-agent.md +0 -111
- package/framework/agents/kieran-typescript-reviewer.md +0 -96
- package/framework/agents/performance-oracle.md +0 -111
- package/framework/agents/qualia-codebase-mapper.md +0 -761
- package/framework/agents/qualia-debugger.md +0 -1204
- package/framework/agents/qualia-executor.md +0 -882
- package/framework/agents/qualia-integration-checker.md +0 -424
- package/framework/agents/qualia-phase-researcher.md +0 -457
- package/framework/agents/qualia-plan-checker.md +0 -700
- package/framework/agents/qualia-planner.md +0 -1245
- package/framework/agents/qualia-project-researcher.md +0 -603
- package/framework/agents/qualia-research-synthesizer.md +0 -200
- package/framework/agents/qualia-roadmapper.md +0 -606
- package/framework/agents/qualia-verifier.md +0 -686
- package/framework/agents/red-team-qa.md +0 -130
- package/framework/agents/security-auditor.md +0 -72
- package/framework/agents/team-orchestrator.md +0 -229
- package/framework/agents/teams/framework-audit-team.md +0 -66
- package/framework/agents/teams/full-stack-team.md +0 -48
- package/framework/agents/teams/optimize-team.md +0 -53
- package/framework/agents/teams/review-team.md +0 -70
- package/framework/agents/teams/ship-team.md +0 -86
- package/framework/agents/test-agent.md +0 -182
- package/framework/hooks/auto-format.sh +0 -54
- package/framework/hooks/block-env-edit.sh +0 -42
- package/framework/hooks/branch-guard.sh +0 -43
- package/framework/hooks/confirm-delete.sh +0 -59
- package/framework/hooks/migration-validate.sh +0 -77
- package/framework/hooks/notification-speak.sh +0 -16
- package/framework/hooks/pre-commit.sh +0 -100
- package/framework/hooks/pre-compact.sh +0 -56
- package/framework/hooks/pre-deploy-gate.sh +0 -160
- package/framework/hooks/qualia-colors.sh +0 -32
- package/framework/hooks/retention-cleanup.sh +0 -62
- package/framework/hooks/save-session-state.sh +0 -185
- package/framework/hooks/session-context-loader.sh +0 -96
- package/framework/hooks/session-learn.sh +0 -32
- package/framework/hooks/skill-announce.sh +0 -123
- package/framework/hooks/tool-error-announce.sh +0 -27
- package/framework/install.ps1 +0 -323
- package/framework/install.sh +0 -313
- package/framework/qualia-framework/VERSION +0 -1
- package/framework/qualia-framework/assets/qualia-logo.png +0 -0
- package/framework/qualia-framework/bin/collect-metrics.sh +0 -67
- package/framework/qualia-framework/bin/generate-report-docx.py +0 -429
- package/framework/qualia-framework/bin/qualia-tools.js +0 -2201
- package/framework/qualia-framework/bin/qualia-tools.test.js +0 -1054
- package/framework/qualia-framework/references/checkpoints.md +0 -775
- package/framework/qualia-framework/references/completion-checklists.md +0 -359
- package/framework/qualia-framework/references/continuation-format.md +0 -249
- package/framework/qualia-framework/references/continuation-prompt.md +0 -97
- package/framework/qualia-framework/references/decimal-phase-calculation.md +0 -65
- package/framework/qualia-framework/references/design-quality.md +0 -56
- package/framework/qualia-framework/references/employee-guide.md +0 -167
- package/framework/qualia-framework/references/git-integration.md +0 -254
- package/framework/qualia-framework/references/git-planning-commit.md +0 -50
- package/framework/qualia-framework/references/model-profile-resolution.md +0 -32
- package/framework/qualia-framework/references/model-profiles.md +0 -73
- package/framework/qualia-framework/references/phase-argument-parsing.md +0 -61
- package/framework/qualia-framework/references/planning-config.md +0 -195
- package/framework/qualia-framework/references/questioning.md +0 -141
- package/framework/qualia-framework/references/tdd.md +0 -263
- package/framework/qualia-framework/references/ui-brand.md +0 -160
- package/framework/qualia-framework/references/verification-patterns.md +0 -612
- package/framework/qualia-framework/templates/DEBUG.md +0 -159
- package/framework/qualia-framework/templates/DESIGN.md +0 -81
- package/framework/qualia-framework/templates/UAT.md +0 -247
- package/framework/qualia-framework/templates/codebase/architecture.md +0 -255
- package/framework/qualia-framework/templates/codebase/concerns.md +0 -310
- package/framework/qualia-framework/templates/codebase/conventions.md +0 -307
- package/framework/qualia-framework/templates/codebase/integrations.md +0 -280
- package/framework/qualia-framework/templates/codebase/stack.md +0 -186
- package/framework/qualia-framework/templates/codebase/structure.md +0 -285
- package/framework/qualia-framework/templates/codebase/testing.md +0 -480
- package/framework/qualia-framework/templates/config.json +0 -35
- package/framework/qualia-framework/templates/context.md +0 -283
- package/framework/qualia-framework/templates/continue-here.md +0 -78
- package/framework/qualia-framework/templates/debug-subagent-prompt.md +0 -91
- package/framework/qualia-framework/templates/discovery.md +0 -146
- package/framework/qualia-framework/templates/lab-notes.md +0 -16
- package/framework/qualia-framework/templates/milestone-archive.md +0 -123
- package/framework/qualia-framework/templates/milestone.md +0 -115
- package/framework/qualia-framework/templates/phase-prompt.md +0 -567
- package/framework/qualia-framework/templates/planner-subagent-prompt.md +0 -117
- package/framework/qualia-framework/templates/project.md +0 -184
- package/framework/qualia-framework/templates/projects/ai-agent.md +0 -156
- package/framework/qualia-framework/templates/projects/mobile-app.md +0 -181
- package/framework/qualia-framework/templates/projects/voice-agent.md +0 -134
- package/framework/qualia-framework/templates/projects/website.md +0 -137
- package/framework/qualia-framework/templates/requirements.md +0 -231
- package/framework/qualia-framework/templates/research-project/ARCHITECTURE.md +0 -204
- package/framework/qualia-framework/templates/research-project/FEATURES.md +0 -147
- package/framework/qualia-framework/templates/research-project/PITFALLS.md +0 -200
- package/framework/qualia-framework/templates/research-project/STACK.md +0 -120
- package/framework/qualia-framework/templates/research-project/SUMMARY.md +0 -170
- package/framework/qualia-framework/templates/research.md +0 -552
- package/framework/qualia-framework/templates/roadmap.md +0 -206
- package/framework/qualia-framework/templates/state.md +0 -179
- package/framework/qualia-framework/templates/summary-complex.md +0 -59
- package/framework/qualia-framework/templates/summary-minimal.md +0 -41
- package/framework/qualia-framework/templates/summary-standard.md +0 -48
- package/framework/qualia-framework/templates/summary.md +0 -246
- package/framework/qualia-framework/templates/user-setup.md +0 -311
- package/framework/qualia-framework/templates/verification-report.md +0 -322
- package/framework/qualia-framework/workflows/add-phase.md +0 -179
- package/framework/qualia-framework/workflows/add-todo.md +0 -157
- package/framework/qualia-framework/workflows/audit-milestone.md +0 -241
- package/framework/qualia-framework/workflows/check-todos.md +0 -176
- package/framework/qualia-framework/workflows/complete-milestone.md +0 -858
- package/framework/qualia-framework/workflows/diagnose-issues.md +0 -219
- package/framework/qualia-framework/workflows/discovery-phase.md +0 -289
- package/framework/qualia-framework/workflows/discuss-phase.md +0 -534
- package/framework/qualia-framework/workflows/execute-phase.md +0 -559
- package/framework/qualia-framework/workflows/execute-plan.md +0 -438
- package/framework/qualia-framework/workflows/help.md +0 -470
- package/framework/qualia-framework/workflows/insert-phase.md +0 -220
- package/framework/qualia-framework/workflows/list-phase-assumptions.md +0 -178
- package/framework/qualia-framework/workflows/map-codebase.md +0 -327
- package/framework/qualia-framework/workflows/new-milestone.md +0 -363
- package/framework/qualia-framework/workflows/new-project.md +0 -982
- package/framework/qualia-framework/workflows/pause-work.md +0 -122
- package/framework/qualia-framework/workflows/plan-milestone-gaps.md +0 -256
- package/framework/qualia-framework/workflows/plan-phase.md +0 -422
- package/framework/qualia-framework/workflows/progress.md +0 -389
- package/framework/qualia-framework/workflows/quick.md +0 -252
- package/framework/qualia-framework/workflows/remove-phase.md +0 -326
- package/framework/qualia-framework/workflows/research-phase.md +0 -74
- package/framework/qualia-framework/workflows/resume-project.md +0 -306
- package/framework/qualia-framework/workflows/set-profile.md +0 -80
- package/framework/qualia-framework/workflows/settings.md +0 -145
- package/framework/qualia-framework/workflows/transition.md +0 -556
- package/framework/qualia-framework/workflows/update.md +0 -197
- package/framework/qualia-framework/workflows/verify-phase.md +0 -195
- package/framework/qualia-framework/workflows/verify-work.md +0 -625
- package/framework/rules/context7.md +0 -14
- package/framework/rules/frontend.md +0 -33
- package/framework/rules/speed.md +0 -23
- package/framework/scripts/__pycache__/say.cpython-314.pyc +0 -0
- package/framework/scripts/apply-retention.sh +0 -120
- package/framework/scripts/bootstrap-pop-os.sh +0 -354
- package/framework/scripts/claude-voice +0 -13
- package/framework/scripts/cleanup.sh +0 -131
- package/framework/scripts/cowork-mode.sh +0 -141
- package/framework/scripts/generate-project-claude-md.sh +0 -153
- package/framework/scripts/load-test-webhook.js +0 -172
- package/framework/scripts/say.py +0 -236
- package/framework/scripts/showcase-video-recorder/ffmpeg-builder.js +0 -167
- package/framework/scripts/showcase-video-recorder/playwright-helpers.js +0 -216
- package/framework/scripts/speak.py +0 -55
- package/framework/scripts/speak.sh +0 -18
- package/framework/scripts/status.sh +0 -138
- package/framework/scripts/sync-to-framework.sh +0 -65
- package/framework/scripts/voice-hotkey.py +0 -227
- package/framework/scripts/voice-input.sh +0 -51
- package/framework/skills/animate/SKILL.md +0 -202
- package/framework/skills/bolder/SKILL.md +0 -144
- package/framework/skills/browser-qa/SKILL.md +0 -536
- package/framework/skills/clarify/SKILL.md +0 -179
- package/framework/skills/client-handoff/SKILL.md +0 -135
- package/framework/skills/collab-onboard/SKILL.md +0 -111
- package/framework/skills/colorize/SKILL.md +0 -170
- package/framework/skills/critique/SKILL.md +0 -126
- package/framework/skills/deep-research/SKILL.md +0 -240
- package/framework/skills/delight/SKILL.md +0 -329
- package/framework/skills/deploy/SKILL.md +0 -261
- package/framework/skills/deploy-verify/SKILL.md +0 -377
- package/framework/skills/deploy-verify/scripts/canary-check.sh +0 -206
- package/framework/skills/deploy-verify/scripts/check-console-errors.js +0 -147
- package/framework/skills/deploy-verify/scripts/check-cwv.js +0 -139
- package/framework/skills/deploy-verify/scripts/project-detect.sh +0 -84
- package/framework/skills/deploy-verify/scripts/verify.sh +0 -548
- package/framework/skills/design-quieter/SKILL.md +0 -130
- package/framework/skills/distill/SKILL.md +0 -149
- package/framework/skills/docs-lookup/SKILL.md +0 -79
- package/framework/skills/fcm-notifications/SKILL.md +0 -125
- package/framework/skills/financial-ledger/SKILL.md +0 -1039
- package/framework/skills/frontend-master/NOTICE.md +0 -4
- package/framework/skills/frontend-master/SKILL.md +0 -127
- package/framework/skills/frontend-master/reference/color-and-contrast.md +0 -132
- package/framework/skills/frontend-master/reference/interaction-design.md +0 -123
- package/framework/skills/frontend-master/reference/motion-design.md +0 -99
- package/framework/skills/frontend-master/reference/responsive-design.md +0 -114
- package/framework/skills/frontend-master/reference/spatial-design.md +0 -100
- package/framework/skills/frontend-master/reference/typography.md +0 -131
- package/framework/skills/frontend-master/reference/ux-writing.md +0 -107
- package/framework/skills/harden/SKILL.md +0 -357
- package/framework/skills/i18n-rtl/SKILL.md +0 -752
- package/framework/skills/learn/SKILL.md +0 -95
- package/framework/skills/memory/SKILL.md +0 -50
- package/framework/skills/mobile-expo/SKILL.md +0 -977
- package/framework/skills/mobile-expo/references/store-checklist.md +0 -550
- package/framework/skills/nestjs-backend/README.md +0 -73
- package/framework/skills/nestjs-backend/SKILL.md +0 -446
- package/framework/skills/nestjs-backend/references/templates.md +0 -1173
- package/framework/skills/normalize/SKILL.md +0 -79
- package/framework/skills/onboard/SKILL.md +0 -242
- package/framework/skills/openrouter-agent/SKILL.md +0 -922
- package/framework/skills/polish/SKILL.md +0 -209
- package/framework/skills/pr/SKILL.md +0 -66
- package/framework/skills/qualia/SKILL.md +0 -199
- package/framework/skills/qualia-add-todo/SKILL.md +0 -68
- package/framework/skills/qualia-audit-milestone/SKILL.md +0 -95
- package/framework/skills/qualia-check-todos/SKILL.md +0 -55
- package/framework/skills/qualia-complete-milestone/SKILL.md +0 -134
- package/framework/skills/qualia-debug/SKILL.md +0 -149
- package/framework/skills/qualia-design/SKILL.md +0 -203
- package/framework/skills/qualia-discuss-phase/SKILL.md +0 -72
- package/framework/skills/qualia-evolve/SKILL.md +0 -200
- package/framework/skills/qualia-execute-phase/SKILL.md +0 -89
- package/framework/skills/qualia-framework-audit/SKILL.md +0 -604
- package/framework/skills/qualia-guide/SKILL.md +0 -32
- package/framework/skills/qualia-help/SKILL.md +0 -114
- package/framework/skills/qualia-idk/SKILL.md +0 -352
- package/framework/skills/qualia-list-phase-assumptions/SKILL.md +0 -67
- package/framework/skills/qualia-new-milestone/SKILL.md +0 -72
- package/framework/skills/qualia-new-project/SKILL.md +0 -232
- package/framework/skills/qualia-pause-work/SKILL.md +0 -96
- package/framework/skills/qualia-plan-milestone-gaps/SKILL.md +0 -57
- package/framework/skills/qualia-plan-phase/SKILL.md +0 -104
- package/framework/skills/qualia-production-check/SKILL.md +0 -0
- package/framework/skills/qualia-progress/SKILL.md +0 -53
- package/framework/skills/qualia-quick/SKILL.md +0 -89
- package/framework/skills/qualia-report/SKILL.md +0 -166
- package/framework/skills/qualia-research-phase/SKILL.md +0 -88
- package/framework/skills/qualia-resume-work/SKILL.md +0 -62
- package/framework/skills/qualia-review/SKILL.md +0 -263
- package/framework/skills/qualia-start/SKILL.md +0 -161
- package/framework/skills/qualia-verify-work/SKILL.md +0 -132
- package/framework/skills/rag/SKILL.md +0 -750
- package/framework/skills/responsive/SKILL.md +0 -231
- package/framework/skills/retro/SKILL.md +0 -284
- package/framework/skills/sakani-conventions/SKILL.md +0 -136
- package/framework/skills/sakani-conventions/evals/evals.json +0 -23
- package/framework/skills/sakani-conventions/references/entities.md +0 -365
- package/framework/skills/sakani-conventions/references/error-codes.md +0 -95
- package/framework/skills/seo-master/SKILL.md +0 -490
- package/framework/skills/seo-master/references/checklist.md +0 -199
- package/framework/skills/seo-master/references/structured-data.md +0 -609
- package/framework/skills/ship/SKILL.md +0 -239
- package/framework/skills/stack-researcher/SKILL.md +0 -215
- package/framework/skills/status/SKILL.md +0 -154
- package/framework/skills/status/scripts/health-check.sh +0 -562
- package/framework/skills/subscription-payments/SKILL.md +0 -250
- package/framework/skills/supabase/SKILL.md +0 -973
- package/framework/skills/supabase/references/templates.md +0 -159
- package/framework/skills/team/SKILL.md +0 -67
- package/framework/skills/test-runner/SKILL.md +0 -202
- package/framework/skills/voice-agent/SKILL.md +0 -1312
- package/framework/skills/zoho-workflow/SKILL.md +0 -51
- package/framework/statusline-command.sh +0 -117
- package/framework/teams/default/inboxes/plan-04.json +0 -9
- package/framework/teams/review-team.md +0 -75
- package/framework/teams/ship-team.md +0 -86
- package/profiles/fawzi.json +0 -16
- package/profiles/hasan.json +0 -16
- package/profiles/moayad.json +0 -16
- package/templates/CLAUDE-owner.md +0 -52
- package/templates/CLAUDE.md.hbs +0 -58
- package/templates/env.claude.template +0 -12
- package/templates/settings.json +0 -172
- package/uninstall.sh +0 -90
- /package/{framework/rules → rules}/deployment.md +0 -0
- /package/{framework/rules → rules}/security.md +0 -0
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qualia
|
|
3
|
+
description: "Smart router — reads project state, classifies your situation, tells you the exact next command. Use whenever you type /qualia, 'what next', 'next', 'idk', 'what now', 'what should I do', 'I'm stuck', 'help me decide', 'lost', 'confused', or are unsure about your next step."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /qualia — What's Next?
|
|
7
|
+
|
|
8
|
+
Read project state. Classify your situation. Tell you the exact next command.
|
|
9
|
+
|
|
10
|
+
## Process
|
|
11
|
+
|
|
12
|
+
### 1. Get State
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
node ~/.claude/bin/state.js check 2>/dev/null
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Also gather context:
|
|
19
|
+
```bash
|
|
20
|
+
test -f .continue-here.md && echo "HANDOFF_EXISTS" && head -20 .continue-here.md || echo "NO_HANDOFF"
|
|
21
|
+
git status --short 2>/dev/null | head -10
|
|
22
|
+
git log --oneline -3 2>/dev/null
|
|
23
|
+
ls .planning/phase-*-plan.md 2>/dev/null || echo "NO_PLANS"
|
|
24
|
+
ls .planning/phase-*-verification.md 2>/dev/null || echo "NO_VERIFICATIONS"
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Read conversation context — what has the user been doing, what errors occurred.
|
|
28
|
+
|
|
29
|
+
### 2. Classify and Route
|
|
30
|
+
|
|
31
|
+
Use the state.js JSON output plus gathered context:
|
|
32
|
+
|
|
33
|
+
| Situation | Detection | Route |
|
|
34
|
+
|-----------|-----------|-------|
|
|
35
|
+
| `no-project` | state.js returns NO_PROJECT | → `/qualia-new` |
|
|
36
|
+
| `handoff` | `.continue-here.md` exists | → Read it, summarize, route to next step |
|
|
37
|
+
| `mid-work` | Uncommitted changes + phase in progress | → Continue or `/qualia-pause` |
|
|
38
|
+
| `ready-to-plan` | status == "setup" | → `/qualia-plan {N}` |
|
|
39
|
+
| `ready-to-build` | status == "planned" | → `/qualia-build {N}` |
|
|
40
|
+
| `ready-to-verify` | status == "built" | → `/qualia-verify {N}` |
|
|
41
|
+
| `gaps-found` | status == "verified", verification == "fail", gap_cycles < 2 | → `/qualia-plan {N} --gaps` |
|
|
42
|
+
| `gap-limit` | status == "verified", verification == "fail", gap_cycles >= 2 | → Escalate to Fawzi or re-plan from scratch |
|
|
43
|
+
| `phase-complete` | state.js auto-advanced (status == "setup", phase > 1) | → `/qualia-plan {N}` |
|
|
44
|
+
| `all-verified` | last phase verified pass, status == "verified" | → `/qualia-polish` |
|
|
45
|
+
| `polished` | status == "polished" | → `/qualia-ship` |
|
|
46
|
+
| `shipped` | status == "shipped" | → `/qualia-handoff` |
|
|
47
|
+
| `handed-off` | status == "handed_off" | → `/qualia-report` then done |
|
|
48
|
+
| `blocked` | STATE.md lists blockers or same error 3+ times | → Analyze, suggest `/qualia-debug` |
|
|
49
|
+
| `bug-loop` | Same files edited 3+ times, user frustrated | → Different approach, `/qualia-debug` |
|
|
50
|
+
|
|
51
|
+
**Employee escalation:** If role is EMPLOYEE and situation is `gap-limit` or `bug-loop`, suggest: "Want to flag this for Fawzi?"
|
|
52
|
+
|
|
53
|
+
### 3. Display
|
|
54
|
+
|
|
55
|
+
**Clear next step** (use the UI helper — it reads state.js itself):
|
|
56
|
+
```bash
|
|
57
|
+
node ~/.claude/bin/qualia-ui.js banner router
|
|
58
|
+
node ~/.claude/bin/qualia-ui.js next "{next_command from state.js}"
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
**Ambiguous situation (multiple options):**
|
|
62
|
+
Print the banner first, then use plain markdown for the options:
|
|
63
|
+
```bash
|
|
64
|
+
node ~/.claude/bin/qualia-ui.js banner router
|
|
65
|
+
```
|
|
66
|
+
```
|
|
67
|
+
## Where You Are
|
|
68
|
+
{1-2 sentences}
|
|
69
|
+
|
|
70
|
+
## I Recommend
|
|
71
|
+
**{action}** — {why}
|
|
72
|
+
{command}
|
|
73
|
+
|
|
74
|
+
## Other Options
|
|
75
|
+
1. **{option}** — {what}
|
|
76
|
+
2. **{option}** — {what}
|
|
77
|
+
3. **{option}** — {what}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
**Blocker detected** (gap-limit, bug-loop, employee escalation):
|
|
81
|
+
```bash
|
|
82
|
+
node ~/.claude/bin/qualia-ui.js banner router
|
|
83
|
+
node ~/.claude/bin/qualia-ui.js fail "{blocker description}"
|
|
84
|
+
node ~/.claude/bin/qualia-ui.js warn "Escalate to Fawzi or re-plan from scratch"
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
User can respond with a number, "just do it", or natural language.
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qualia-build
|
|
3
|
+
description: "Execute the current phase — spawns builder subagents per task with wave-based parallelization. Fresh context per task."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /qualia-build — Build a Phase
|
|
7
|
+
|
|
8
|
+
Execute the phase plan. Each task runs in a fresh subagent context. Independent tasks run in parallel.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
`/qualia-build` — build the current planned phase
|
|
12
|
+
`/qualia-build {N}` — build specific phase
|
|
13
|
+
|
|
14
|
+
## Process
|
|
15
|
+
|
|
16
|
+
### 1. Load Plan
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
cat .planning/phase-{N}-plan.md
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Parse: tasks, waves, file references.
|
|
23
|
+
|
|
24
|
+
### 2. Execute Waves
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
node ~/.claude/bin/qualia-ui.js banner build {N} "{phase name}"
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
**For each wave (sequential):**
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
node ~/.claude/bin/qualia-ui.js wave {W} {total_waves} {tasks_in_wave}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**For each task in the wave (parallel if multiple):**
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
node ~/.claude/bin/qualia-ui.js task {task_num} "{task title}"
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Spawn a fresh builder subagent:
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
Agent(prompt="
|
|
46
|
+
Read your role: @agents/builder.md
|
|
47
|
+
|
|
48
|
+
Project context:
|
|
49
|
+
@.planning/PROJECT.md
|
|
50
|
+
|
|
51
|
+
YOUR TASK:
|
|
52
|
+
{paste the single task block from the plan — title, files, action, context refs, done-when}
|
|
53
|
+
|
|
54
|
+
Execute this task. Read all @file references before writing. Commit when done.
|
|
55
|
+
", subagent_type="qualia-builder", description="Task {N}: {title}")
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
**After each task completes:**
|
|
59
|
+
- Verify the commit exists: `git log --oneline -1`
|
|
60
|
+
- Show result:
|
|
61
|
+
```bash
|
|
62
|
+
node ~/.claude/bin/qualia-ui.js done {task_num} "{title}" {commit_hash}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
**After each wave completes:**
|
|
66
|
+
- Move to next wave
|
|
67
|
+
- Show wave summary
|
|
68
|
+
|
|
69
|
+
### 3. Wave Completion
|
|
70
|
+
|
|
71
|
+
After all waves complete:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
node ~/.claude/bin/qualia-ui.js divider
|
|
75
|
+
node ~/.claude/bin/qualia-ui.js ok "Tasks: {done}/{total}"
|
|
76
|
+
node ~/.claude/bin/qualia-ui.js ok "Commits: {count}"
|
|
77
|
+
node ~/.claude/bin/qualia-ui.js ok "Waves: {count}"
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### 4. Handle Failures
|
|
81
|
+
|
|
82
|
+
If a builder subagent returns a deviation or blocker:
|
|
83
|
+
- **Minor deviation:** Log it, continue
|
|
84
|
+
- **Major deviation:** Show to employee, ask how to proceed
|
|
85
|
+
- **Blocker:** Show the blocker, suggest fix or escalation
|
|
86
|
+
|
|
87
|
+
### 5. Update State
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
node ~/.claude/bin/state.js transition --to built --phase {N} --tasks-done {done} --tasks-total {total} --wave {wave}
|
|
91
|
+
```
|
|
92
|
+
If state.js returns an error, show it to the employee and stop.
|
|
93
|
+
Do NOT manually edit STATE.md or tracking.json — state.js handles both.
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
node ~/.claude/bin/qualia-ui.js end "PHASE {N} BUILT" "/qualia-verify {N}"
|
|
97
|
+
```
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qualia-debug
|
|
3
|
+
description: "Structured debugging — symptom gathering, diagnosis confirmation, root cause analysis. Trigger on 'debug', 'find bug', 'fix error', 'something is broken', 'not working', 'weird behavior', 'layout broken', 'CSS issue', 'slow page', 'performance'."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /qualia-debug — Structured Debugging
|
|
7
|
+
|
|
8
|
+
Systematic debugging. Don't guess — gather symptoms, confirm diagnosis, then fix.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
- `/qualia-debug` — Interactive (gather symptoms, diagnose, fix)
|
|
13
|
+
- `/qualia-debug --frontend` — CSS/layout/visual issues
|
|
14
|
+
- `/qualia-debug --perf` — Performance issues
|
|
15
|
+
|
|
16
|
+
## Interactive Mode (Default)
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
node ~/.claude/bin/qualia-ui.js banner debug
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### 0. Check Known Fixes First
|
|
23
|
+
|
|
24
|
+
Before gathering symptoms, check if we've seen this before:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
cat ~/.claude/knowledge/common-fixes.md 2>/dev/null
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
If the user's description matches a known fix, suggest it first: *"I've seen this before — check {fix title}. Want to try that before we dig deeper?"* Only proceed to full investigation if the known fix doesn't apply.
|
|
31
|
+
|
|
32
|
+
### 1. Gather Symptoms
|
|
33
|
+
|
|
34
|
+
Ask:
|
|
35
|
+
- What's happening? (exact error or behavior)
|
|
36
|
+
- What should happen instead?
|
|
37
|
+
- When did it start? (after what change?)
|
|
38
|
+
- What have you tried?
|
|
39
|
+
|
|
40
|
+
### 2. Confirm Diagnosis
|
|
41
|
+
|
|
42
|
+
Before ANY code changes, present your diagnosis:
|
|
43
|
+
|
|
44
|
+
> "Based on the symptoms, I think: [diagnosis]. I'll investigate [specific area]. Does that match what you're seeing?"
|
|
45
|
+
|
|
46
|
+
Wait for confirmation. If user corrects → adjust. Never proceed on a wrong diagnosis.
|
|
47
|
+
|
|
48
|
+
### 3. Investigate and Fix
|
|
49
|
+
|
|
50
|
+
1. Reproduce the issue
|
|
51
|
+
2. Isolate the cause (binary search: which file, which function, which line)
|
|
52
|
+
3. Identify root cause (not symptoms)
|
|
53
|
+
4. Implement minimal fix
|
|
54
|
+
5. Verify fix works
|
|
55
|
+
6. Check for related issues
|
|
56
|
+
|
|
57
|
+
### 4. Commit
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
git add {specific files}
|
|
61
|
+
git commit -m "fix: {what was broken and why}"
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Frontend Mode (`--frontend`)
|
|
65
|
+
|
|
66
|
+
For layout breaks, z-index issues, overflow, animation glitches.
|
|
67
|
+
|
|
68
|
+
**Quick diagnostics:**
|
|
69
|
+
- Z-index not working → element needs `position: relative/absolute/fixed`, check parent stacking contexts
|
|
70
|
+
- Horizontal scroll → use `width: 100%` not `100vw`, find overflowing element
|
|
71
|
+
- Flex overflow → add `min-width: 0`
|
|
72
|
+
- Grid blowout → use `minmax(0, 1fr)`
|
|
73
|
+
- Janky animations → only animate `transform` and `opacity`
|
|
74
|
+
- Safari → `-webkit-backdrop-filter`, `100dvh` not `100vh`
|
|
75
|
+
|
|
76
|
+
## Performance Mode (`--perf`)
|
|
77
|
+
|
|
78
|
+
### Investigate
|
|
79
|
+
1. Profile the bottleneck (network, render, compute, database)
|
|
80
|
+
2. Measure baseline
|
|
81
|
+
3. Identify the hot path
|
|
82
|
+
|
|
83
|
+
### Common fixes
|
|
84
|
+
- Slow queries → check indexes, `EXPLAIN ANALYZE`, optimize joins
|
|
85
|
+
- Large bundles → code split, lazy load, tree shake
|
|
86
|
+
- Slow renders → memoize, virtualize long lists
|
|
87
|
+
- API latency → cache, reduce payload, parallelize requests
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qualia-design
|
|
3
|
+
description: "One-shot design transformation — critiques, fixes, polishes, hardens, makes responsive. No reports, no choices, just makes it professional. Trigger on 'fix the design', 'make it look better', 'redesign', 'design pass', 'make it modern', 'it looks ugly', 'fix the UI'."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /qualia-design — One-Shot Design Transformation
|
|
7
|
+
|
|
8
|
+
Read the code, understand what's wrong, fix everything, move on. No reports, no choices.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
- `/qualia-design` — Full transformation on all frontend files
|
|
13
|
+
- `/qualia-design app/page.tsx` — Specific file(s)
|
|
14
|
+
- `/qualia-design --scope=dashboard` — Transform a section
|
|
15
|
+
|
|
16
|
+
## Process
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
node ~/.claude/bin/qualia-ui.js banner design
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### 1. Read Brand Context
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
cat .planning/DESIGN.md 2>/dev/null || echo "NO_DESIGN"
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
If DESIGN.md exists → use it. If not → use Qualia defaults: distinctive fonts, sharp accents, layered backgrounds, no card grids, no blue-purple gradients, full-width layouts.
|
|
29
|
+
|
|
30
|
+
### 2. Find Target Files
|
|
31
|
+
|
|
32
|
+
- If specific files given: use those
|
|
33
|
+
- If `--scope`: grep for matching files in `app/` and `components/`
|
|
34
|
+
- If none: find all `page.tsx`, `layout.tsx`, and component files
|
|
35
|
+
|
|
36
|
+
Read EVERY target file before modifying.
|
|
37
|
+
|
|
38
|
+
### 3. Critique (internal — don't output)
|
|
39
|
+
|
|
40
|
+
Evaluate each file on: AI slop detection, visual hierarchy, typography, color, states (loading/error/empty), motion, spacing, responsiveness, microcopy.
|
|
41
|
+
|
|
42
|
+
### 4. Fix Everything
|
|
43
|
+
|
|
44
|
+
**Typography:** Replace generic fonts (Inter, Arial) with distinctive ones. Proper type scale, line-height 1.5-1.7 body.
|
|
45
|
+
|
|
46
|
+
**Color:** Cohesive palette from DESIGN.md or brand. Sharp accent for CTAs. WCAG AA contrast.
|
|
47
|
+
|
|
48
|
+
**Layout:** Full-width with fluid padding `clamp(1rem, 5vw, 4rem)`. NO hardcoded max-width caps. Prose gets `max-width: 65ch`.
|
|
49
|
+
|
|
50
|
+
**Spacing:** Consistent scale (8px grid). Generous whitespace between sections, tight within groups.
|
|
51
|
+
|
|
52
|
+
**Motion:** CSS transitions 200-300ms on hover/focus. Staggered entrance animations. `prefers-reduced-motion` respected.
|
|
53
|
+
|
|
54
|
+
**States:** Loading skeleton/spinner on async ops. Error states on data fetches. Empty states on lists. Hover/focus/active/disabled on interactive elements.
|
|
55
|
+
|
|
56
|
+
**Responsive:** Mobile-first. Touch targets 44x44px min. Stack on mobile, expand on desktop. No horizontal scroll.
|
|
57
|
+
|
|
58
|
+
**Kill:** Card grids → varied layouts. Generic heroes → distinctive. Blue-purple gradients → brand colors. Static pages → purposeful motion. Fixed widths → fluid.
|
|
59
|
+
|
|
60
|
+
### 5. Verify
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
npx tsc --noEmit 2>&1 | head -20
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Fix any TypeScript errors before committing.
|
|
67
|
+
|
|
68
|
+
### 6. Commit
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
git add {modified files}
|
|
72
|
+
git commit -m "style: design transformation"
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
⬢ Design Transformation Complete
|
|
77
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
78
|
+
Files: {N}
|
|
79
|
+
Changes:
|
|
80
|
+
- {key change 1}
|
|
81
|
+
- {key change 2}
|
|
82
|
+
- {key change 3}
|
|
83
|
+
|
|
84
|
+
Fine-tune: /bolder, /design-quieter, /colorize, /animate
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## Rules
|
|
88
|
+
|
|
89
|
+
- Read before write — understand every file before changing it
|
|
90
|
+
- Don't ask — just fix
|
|
91
|
+
- Respect DESIGN.md decisions
|
|
92
|
+
- Don't break functionality — only change styling, never logic
|
|
93
|
+
- TypeScript must pass after changes
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qualia-handoff
|
|
3
|
+
description: "Client delivery — credentials, handover doc, final update. Use after shipping."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /qualia-handoff — Client Delivery
|
|
7
|
+
|
|
8
|
+
Prepare and deliver the finished project to the client.
|
|
9
|
+
|
|
10
|
+
## Process
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
node ~/.claude/bin/qualia-ui.js banner handoff
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
### 1. Generate Handover Doc
|
|
17
|
+
|
|
18
|
+
Create `.planning/HANDOFF.md`:
|
|
19
|
+
|
|
20
|
+
```markdown
|
|
21
|
+
# {Project Name} — Handover
|
|
22
|
+
|
|
23
|
+
## What Was Built
|
|
24
|
+
{3-5 bullet summary of delivered features}
|
|
25
|
+
|
|
26
|
+
## Access
|
|
27
|
+
- **URL:** {production URL}
|
|
28
|
+
- **Admin login:** {credentials or where to find them}
|
|
29
|
+
- **Supabase:** {project ref}
|
|
30
|
+
- **GitHub:** {repo URL}
|
|
31
|
+
- **Vercel:** {project URL}
|
|
32
|
+
|
|
33
|
+
## How to Use
|
|
34
|
+
{Brief walkthrough of the main user flows}
|
|
35
|
+
|
|
36
|
+
## Known Limitations
|
|
37
|
+
{Anything not in scope or deferred}
|
|
38
|
+
|
|
39
|
+
## Maintenance
|
|
40
|
+
- Hosting: Vercel (auto-deploys from main branch)
|
|
41
|
+
- Database: Supabase ({region})
|
|
42
|
+
- Domain: {domain provider if applicable}
|
|
43
|
+
|
|
44
|
+
## Support
|
|
45
|
+
Contact: Fawzi Goussous — fawzi@qualiasolutions.net
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### 2. Commit
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
git add .planning/HANDOFF.md
|
|
52
|
+
git commit -m "docs: client handoff document"
|
|
53
|
+
git push
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### 3. Update State
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
node ~/.claude/bin/state.js transition --to handed_off
|
|
60
|
+
```
|
|
61
|
+
Do NOT manually edit STATE.md or tracking.json — state.js handles both.
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
node ~/.claude/bin/qualia-ui.js ok "{Project Name} handed off to {client}"
|
|
65
|
+
node ~/.claude/bin/qualia-ui.js end "DELIVERED" "/qualia-report"
|
|
66
|
+
```
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qualia-learn
|
|
3
|
+
description: "Save a learning, pattern, fix, or client preference to the knowledge base. Persists across projects and sessions. Trigger on 'remember this', 'save this pattern', 'learned something', 'note for future', 'client prefers', 'qualia-learn'."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /qualia-learn — Save Knowledge
|
|
7
|
+
|
|
8
|
+
Persist learnings across projects and sessions. Saved to `~/.claude/knowledge/`.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
- `/qualia-learn` — Interactively save a learning
|
|
13
|
+
- `/qualia-learn {description}` — Save directly
|
|
14
|
+
|
|
15
|
+
## Knowledge Types
|
|
16
|
+
|
|
17
|
+
### Patterns (`learned-patterns.md`)
|
|
18
|
+
Recurring approaches that work (or don't). Architecture decisions, library choices, prompt patterns.
|
|
19
|
+
|
|
20
|
+
**Example:** "Supabase RLS policies need to be added in the same migration as the table — adding them later causes a window where data is unprotected."
|
|
21
|
+
|
|
22
|
+
### Fixes (`common-fixes.md`)
|
|
23
|
+
Problems you've solved before. Error messages and their solutions.
|
|
24
|
+
|
|
25
|
+
**Example:** "`next/font` crash on Vercel: caused by importing font in a client component that's also used server-side. Fix: move font import to layout.tsx."
|
|
26
|
+
|
|
27
|
+
### Client Prefs (`client-prefs.md`)
|
|
28
|
+
Client-specific preferences, design choices, requirements.
|
|
29
|
+
|
|
30
|
+
**Example:** "Acme Corp: prefers dark mode, hates rounded corners, logo must be SVG not PNG, primary color #FF6B00."
|
|
31
|
+
|
|
32
|
+
## Process
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
node ~/.claude/bin/qualia-ui.js banner learn
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### 1. Classify
|
|
39
|
+
|
|
40
|
+
If description given, classify automatically. Otherwise ask:
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
What did you learn?
|
|
44
|
+
1. Pattern — approach that works (or doesn't)
|
|
45
|
+
2. Fix — problem and its solution
|
|
46
|
+
3. Client preference — client-specific requirement
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### 2. Format Entry
|
|
50
|
+
|
|
51
|
+
```markdown
|
|
52
|
+
### {Title} ({date})
|
|
53
|
+
**Project:** {current project name or "general"}
|
|
54
|
+
**Context:** {brief context — what you were building when you learned this}
|
|
55
|
+
|
|
56
|
+
{The learning — be specific enough that future-you understands without context}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### 3. Append to Knowledge File
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
# Append to the right file
|
|
63
|
+
echo "{formatted entry}" >> ~/.claude/knowledge/{type}.md
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
- Pattern → `~/.claude/knowledge/learned-patterns.md`
|
|
67
|
+
- Fix → `~/.claude/knowledge/common-fixes.md`
|
|
68
|
+
- Client pref → `~/.claude/knowledge/client-prefs.md`
|
|
69
|
+
|
|
70
|
+
### 4. Confirm
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
⬢ Saved to {file}
|
|
74
|
+
"{title}"
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Reading Knowledge
|
|
78
|
+
|
|
79
|
+
Skills can read knowledge files for context:
|
|
80
|
+
```bash
|
|
81
|
+
cat ~/.claude/knowledge/learned-patterns.md 2>/dev/null
|
|
82
|
+
cat ~/.claude/knowledge/common-fixes.md 2>/dev/null
|
|
83
|
+
cat ~/.claude/knowledge/client-prefs.md 2>/dev/null
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
The `/qualia-debug` skill should check `common-fixes.md` before investigating.
|
|
87
|
+
The `/qualia-new` skill should check `client-prefs.md` when setting up client projects.
|
|
88
|
+
The `/qualia-plan` skill should check `learned-patterns.md` when planning phases.
|