qualia-framework 2.5.1 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +63 -0
- package/README.md +108 -30
- package/agents/builder.md +110 -0
- package/agents/planner.md +186 -0
- package/agents/qa-browser.md +186 -0
- package/agents/verifier.md +369 -0
- package/bin/cli.js +706 -417
- package/bin/install.js +622 -0
- package/bin/qualia-ui.js +284 -0
- package/bin/state.js +824 -0
- package/bin/statusline.js +252 -0
- package/docs/erp-contract.md +161 -0
- package/guide.md +63 -0
- package/hooks/auto-update.js +117 -0
- package/hooks/block-env-edit.js +52 -0
- package/hooks/branch-guard.js +68 -0
- package/hooks/migration-guard.js +83 -0
- package/hooks/pre-compact.js +52 -0
- package/hooks/pre-deploy-gate.js +149 -0
- package/hooks/pre-push.js +53 -0
- package/hooks/session-start.js +126 -0
- package/package.json +31 -17
- package/rules/design-reference.md +179 -0
- package/rules/frontend.md +126 -0
- package/rules/infrastructure.md +87 -0
- package/skills/qualia/SKILL.md +88 -0
- package/skills/qualia-build/SKILL.md +115 -0
- package/skills/qualia-debug/SKILL.md +87 -0
- package/skills/qualia-design/SKILL.md +99 -0
- package/skills/qualia-handoff/SKILL.md +66 -0
- package/skills/qualia-help/SKILL.md +60 -0
- package/skills/qualia-idk/SKILL.md +8 -0
- package/skills/qualia-learn/SKILL.md +111 -0
- package/skills/qualia-new/SKILL.md +323 -0
- package/skills/qualia-pause/SKILL.md +63 -0
- package/skills/qualia-plan/SKILL.md +101 -0
- package/skills/qualia-polish/SKILL.md +207 -0
- package/skills/qualia-quick/SKILL.md +37 -0
- package/skills/qualia-report/SKILL.md +114 -0
- package/skills/qualia-resume/SKILL.md +49 -0
- package/skills/qualia-review/SKILL.md +161 -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-test/SKILL.md +134 -0
- package/skills/qualia-verify/SKILL.md +113 -0
- package/templates/DESIGN.md +475 -0
- package/templates/help.html +476 -0
- package/templates/plan.md +42 -0
- package/templates/project.md +22 -0
- package/templates/state.md +27 -0
- package/templates/tracking.json +20 -0
- package/tests/bin.test.sh +687 -0
- package/tests/hooks.test.sh +384 -0
- package/tests/runner.js +1956 -0
- package/tests/state.test.sh +713 -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-optimize/SKILL.md +0 -417
- 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/{framework/rules → rules}/deployment.md +0 -0
- /package/{framework/rules → rules}/security.md +0 -0
|
@@ -1,359 +0,0 @@
|
|
|
1
|
-
# Qualia Project Completion Checklists
|
|
2
|
-
|
|
3
|
-
> **Every project must pass ALL items in its checklist before being considered complete.**
|
|
4
|
-
> Copy the relevant checklist into your project's root as `COMPLETION_CHECKLIST.md` and check items off as you go.
|
|
5
|
-
> Manager reviews the checklist before sign-off.
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Universal Checklist (ALL project types)
|
|
10
|
-
|
|
11
|
-
### 1. Client & Requirements
|
|
12
|
-
|
|
13
|
-
- [ ] All features from the project brief are implemented
|
|
14
|
-
- [ ] Client has reviewed and approved the work
|
|
15
|
-
- [ ] No outstanding client feedback unaddressed
|
|
16
|
-
- [ ] Project brief saved in `Knowledge Base/[client]/PROJECT_BRIEF.md`
|
|
17
|
-
|
|
18
|
-
### 2. Code Quality
|
|
19
|
-
|
|
20
|
-
- [ ] `npx tsc --noEmit` passes with zero errors
|
|
21
|
-
- [ ] `npm run lint` passes with zero warnings
|
|
22
|
-
- [ ] `npm run build` completes successfully
|
|
23
|
-
- [ ] No `console.log` statements left in production code
|
|
24
|
-
- [ ] No `TODO` or `FIXME` comments left unresolved
|
|
25
|
-
- [ ] No commented-out code blocks
|
|
26
|
-
- [ ] CLAUDE.md is complete and accurate (stack, structure, commands, env vars)
|
|
27
|
-
- [ ] README.md has setup instructions
|
|
28
|
-
|
|
29
|
-
### 3. Security
|
|
30
|
-
|
|
31
|
-
- [ ] No API keys or secrets hardcoded in source code
|
|
32
|
-
- [ ] No `.env` files committed to git (`git log --all --full-history -- "*.env*"` returns nothing)
|
|
33
|
-
- [ ] `.env.example` exists with all required variable names (no values)
|
|
34
|
-
- [ ] All environment variables set in deployment platform (Vercel/Cloudflare)
|
|
35
|
-
- [ ] No `eval()` or `dangerouslySetInnerHTML` used
|
|
36
|
-
- [ ] Server-side auth checks on all mutations (never trust client)
|
|
37
|
-
- [ ] CORS configured correctly (not `*` in production)
|
|
38
|
-
|
|
39
|
-
### 4. Database (if applicable)
|
|
40
|
-
|
|
41
|
-
- [ ] RLS (Row Level Security) enabled on EVERY table
|
|
42
|
-
- [ ] RLS policies written and tested for each table
|
|
43
|
-
- [ ] No `service_role` key used in client-side code
|
|
44
|
-
- [ ] Supabase client created from `lib/supabase/server.ts` for mutations
|
|
45
|
-
- [ ] TypeScript types generated from database schema
|
|
46
|
-
- [ ] Migrations committed to `supabase/migrations/`
|
|
47
|
-
- [ ] Indexes on frequently queried columns
|
|
48
|
-
|
|
49
|
-
### 5. Testing
|
|
50
|
-
|
|
51
|
-
- [ ] Manual testing of all features completed
|
|
52
|
-
- [ ] All forms validate correctly (invalid input rejected, valid input accepted)
|
|
53
|
-
- [ ] Error states tested (network failure, invalid data, unauthorized access)
|
|
54
|
-
- [ ] Mobile responsive tested on real device or DevTools
|
|
55
|
-
- [ ] Cross-browser tested (Chrome + Safari minimum)
|
|
56
|
-
|
|
57
|
-
### 6. Performance
|
|
58
|
-
|
|
59
|
-
- [ ] `npm run build` bundle size reasonable (no massive chunks)
|
|
60
|
-
- [ ] Images optimized (WebP/AVIF, proper sizing, lazy loading)
|
|
61
|
-
- [ ] No N+1 database queries
|
|
62
|
-
- [ ] API responses under 500ms for key endpoints
|
|
63
|
-
- [ ] Fonts loaded efficiently (next/font or font-display: swap)
|
|
64
|
-
|
|
65
|
-
### 7. Deployment
|
|
66
|
-
|
|
67
|
-
- [ ] Project deployed to production (`vercel --prod` or `wrangler deploy`)
|
|
68
|
-
- [ ] Custom domain configured (if applicable)
|
|
69
|
-
- [ ] SSL certificate active and valid
|
|
70
|
-
- [ ] **HTTP 200** — Homepage loads: `curl -s -o /dev/null -w "%{http_code}" <URL>`
|
|
71
|
-
- [ ] **Auth flow** — Login/signup works end-to-end
|
|
72
|
-
- [ ] **Console clean** — No JavaScript errors in browser DevTools
|
|
73
|
-
- [ ] **Latency** — Key pages load under 3 seconds on mobile
|
|
74
|
-
- [ ] Project added to UptimeRobot monitoring
|
|
75
|
-
|
|
76
|
-
### 8. Handoff
|
|
77
|
-
|
|
78
|
-
- [ ] Client walkthrough/demo completed
|
|
79
|
-
- [ ] Client has access to all necessary accounts
|
|
80
|
-
- [ ] Documentation provided (how to use, how to update)
|
|
81
|
-
- [ ] Project registered in Qualia ERP (portal.qualiasolutions.net)
|
|
82
|
-
- [ ] Qualia context file updated (`~/.claude/knowledge/qualia-context.md`)
|
|
83
|
-
|
|
84
|
-
---
|
|
85
|
-
|
|
86
|
-
## Website-Specific Checklist
|
|
87
|
-
|
|
88
|
-
> Applies to: Marketing websites, landing pages, portfolio sites
|
|
89
|
-
> Stack: React + Vite + Tailwind OR Next.js
|
|
90
|
-
|
|
91
|
-
### SEO
|
|
92
|
-
|
|
93
|
-
- [ ] Page titles set on every page (`<title>` or metadata)
|
|
94
|
-
- [ ] Meta descriptions set on every page (150-160 chars)
|
|
95
|
-
- [ ] Open Graph tags set (og:title, og:description, og:image)
|
|
96
|
-
- [ ] Favicon added (multiple sizes: 16x16, 32x32, apple-touch-icon)
|
|
97
|
-
- [ ] `robots.txt` exists and allows crawling
|
|
98
|
-
- [ ] `sitemap.xml` exists (or auto-generated)
|
|
99
|
-
- [ ] JSON-LD structured data on homepage (Organization or LocalBusiness)
|
|
100
|
-
- [ ] Heading hierarchy correct (single H1 per page, H2s, H3s in order)
|
|
101
|
-
- [ ] All images have `alt` text
|
|
102
|
-
- [ ] No broken links (test all navigation + footer links)
|
|
103
|
-
|
|
104
|
-
### Responsive Design
|
|
105
|
-
|
|
106
|
-
- [ ] Mobile (375px): All content readable, no horizontal scroll
|
|
107
|
-
- [ ] Tablet (768px): Layout adjusts properly
|
|
108
|
-
- [ ] Desktop (1280px): Content doesn't stretch beyond max-width
|
|
109
|
-
- [ ] Touch targets minimum 44x44px on mobile
|
|
110
|
-
- [ ] Font sizes readable without zooming on mobile (min 16px body)
|
|
111
|
-
|
|
112
|
-
### Visual Quality
|
|
113
|
-
|
|
114
|
-
- [ ] Distinctive fonts loaded (not Inter/Arial/system default)
|
|
115
|
-
- [ ] Brand colors applied consistently
|
|
116
|
-
- [ ] Hover effects on all interactive elements
|
|
117
|
-
- [ ] Animations are smooth (no jank, no layout shift)
|
|
118
|
-
- [ ] Dark mode works (if applicable)
|
|
119
|
-
- [ ] No orphaned text (single words on a line in headings)
|
|
120
|
-
|
|
121
|
-
### Accessibility
|
|
122
|
-
|
|
123
|
-
- [ ] Keyboard navigation works (Tab through all interactive elements)
|
|
124
|
-
- [ ] Focus indicators visible on all interactive elements
|
|
125
|
-
- [ ] Color contrast ratio minimum 4.5:1 for body text
|
|
126
|
-
- [ ] Forms have associated labels
|
|
127
|
-
- [ ] Skip-to-content link exists
|
|
128
|
-
|
|
129
|
-
---
|
|
130
|
-
|
|
131
|
-
## Platform with LLM Checklist
|
|
132
|
-
|
|
133
|
-
> Applies to: SaaS apps, dashboards, internal tools with AI/LLM integration
|
|
134
|
-
> Stack: Next.js + Supabase + AI SDK (Gemini/OpenAI/Anthropic)
|
|
135
|
-
|
|
136
|
-
### AI Safety & Prompt Security
|
|
137
|
-
|
|
138
|
-
- [ ] System prompt NOT exposed to users (not in client bundle, not in API response)
|
|
139
|
-
- [ ] User input sanitized before injection into prompts
|
|
140
|
-
- [ ] No `eval()` or dynamic code execution from AI output
|
|
141
|
-
- [ ] AI output validated/sanitized before rendering (no raw HTML)
|
|
142
|
-
- [ ] Token limits enforced on AI calls (`maxTokens` set)
|
|
143
|
-
- [ ] Rate limiting on AI endpoints (per-user, per-minute)
|
|
144
|
-
- [ ] Cost monitoring configured (track token usage, set alerts)
|
|
145
|
-
|
|
146
|
-
### AI Functionality
|
|
147
|
-
|
|
148
|
-
- [ ] AI responses stream correctly (no buffering, smooth display)
|
|
149
|
-
- [ ] Error handling for AI provider failures (timeout, rate limit, quota)
|
|
150
|
-
- [ ] Fallback behavior when AI is unavailable
|
|
151
|
-
- [ ] Conversation context managed properly (not exceeding window)
|
|
152
|
-
- [ ] AI tools/functions validated before execution
|
|
153
|
-
|
|
154
|
-
### Platform Features
|
|
155
|
-
|
|
156
|
-
- [ ] Authentication working (login, signup, logout, password reset)
|
|
157
|
-
- [ ] Authorization checked server-side on every mutation
|
|
158
|
-
- [ ] Multi-tenancy isolation (users can only see their own data)
|
|
159
|
-
- [ ] Server Actions return `ActionResult { success, error?, data? }`
|
|
160
|
-
- [ ] Zod validation on all server action inputs
|
|
161
|
-
- [ ] Cache invalidation after mutations
|
|
162
|
-
- [ ] Loading states on all async operations
|
|
163
|
-
- [ ] Error boundaries on all pages
|
|
164
|
-
- [ ] 404 page exists
|
|
165
|
-
|
|
166
|
-
---
|
|
167
|
-
|
|
168
|
-
## AI Agent Checklist
|
|
169
|
-
|
|
170
|
-
> Applies to: Chat agents, AI personas, WhatsApp bots, web chatbots
|
|
171
|
-
> Stack: Next.js + AI SDK + Supabase
|
|
172
|
-
|
|
173
|
-
### AI Configuration
|
|
174
|
-
|
|
175
|
-
- [ ] System prompt written and tested
|
|
176
|
-
- [ ] AI provider configured (API key server-side only)
|
|
177
|
-
- [ ] Chat endpoint working (`/api/chat` or similar)
|
|
178
|
-
- [ ] Streaming responses working
|
|
179
|
-
- [ ] Temperature and model settings appropriate for use case
|
|
180
|
-
|
|
181
|
-
### AI Safety (CRITICAL)
|
|
182
|
-
|
|
183
|
-
- [ ] System prompt not exposed in client-side code
|
|
184
|
-
- [ ] No prompt injection vulnerabilities (test with adversarial inputs)
|
|
185
|
-
- [ ] `service_role` key NOT imported in any client component: `grep -r "service_role" app/ components/ src/`
|
|
186
|
-
- [ ] AI output sanitized before display
|
|
187
|
-
- [ ] Rate limiting on chat endpoint (per-user)
|
|
188
|
-
- [ ] `maxTokens` set on all AI calls
|
|
189
|
-
- [ ] Token budget monitoring in place
|
|
190
|
-
|
|
191
|
-
### Conversation Quality
|
|
192
|
-
|
|
193
|
-
- [ ] Agent stays in character / on topic
|
|
194
|
-
- [ ] Graceful handling of off-topic inputs
|
|
195
|
-
- [ ] Clear fallback responses for edge cases ("I can't help with that")
|
|
196
|
-
- [ ] Context window management (conversation doesn't exceed limits)
|
|
197
|
-
- [ ] Conversation history stored (if required)
|
|
198
|
-
|
|
199
|
-
### Integrations (if applicable)
|
|
200
|
-
|
|
201
|
-
- [ ] WhatsApp webhook verified and secure
|
|
202
|
-
- [ ] Webhook idempotency (duplicate messages handled)
|
|
203
|
-
- [ ] External API calls have timeout protection
|
|
204
|
-
- [ ] Error handling for third-party API failures
|
|
205
|
-
|
|
206
|
-
### Monitoring
|
|
207
|
-
|
|
208
|
-
- [ ] Error tracking configured (Sentry or logging)
|
|
209
|
-
- [ ] Token usage tracked and alerted
|
|
210
|
-
- [ ] Conversation logs stored for debugging
|
|
211
|
-
- [ ] Uptime monitoring active
|
|
212
|
-
|
|
213
|
-
---
|
|
214
|
-
|
|
215
|
-
## Voice Agent Checklist
|
|
216
|
-
|
|
217
|
-
> Applies to: Phone bots, voice assistants, IVR systems
|
|
218
|
-
> Stack: VAPI/Retell + Cloudflare Workers/Vercel + Supabase
|
|
219
|
-
|
|
220
|
-
### Voice Configuration
|
|
221
|
-
|
|
222
|
-
- [ ] VAPI assistant created and configured
|
|
223
|
-
- [ ] Voice provider selected and tested (Cartesia/ElevenLabs)
|
|
224
|
-
- [ ] STT provider configured (Gladia/Deepgram)
|
|
225
|
-
- [ ] LLM provider configured (Gemini/Claude/OpenAI)
|
|
226
|
-
- [ ] System prompt written for voice (concise, conversational)
|
|
227
|
-
- [ ] First message configured and sounds natural
|
|
228
|
-
- [ ] End-call message configured
|
|
229
|
-
|
|
230
|
-
### Voice UX
|
|
231
|
-
|
|
232
|
-
- [ ] Responses are SHORT (1-2 sentences max per turn)
|
|
233
|
-
- [ ] Agent confirms important info back to caller (dates, names, numbers)
|
|
234
|
-
- [ ] Interruption handling works (caller can cut in)
|
|
235
|
-
- [ ] Silence detection and timeout configured
|
|
236
|
-
- [ ] Escape route available ("say 'operator' for a human")
|
|
237
|
-
- [ ] Agent handles "I don't understand" gracefully
|
|
238
|
-
|
|
239
|
-
### Webhook & Tools
|
|
240
|
-
|
|
241
|
-
- [ ] Webhook endpoint deployed and accessible
|
|
242
|
-
- [ ] Webhook signature verification implemented (`x-vapi-signature` check)
|
|
243
|
-
- [ ] All tools defined, implemented, and tested
|
|
244
|
-
- [ ] Tool input validation with Zod
|
|
245
|
-
- [ ] Error handling for each tool (graceful degradation)
|
|
246
|
-
- [ ] Call logs stored in database
|
|
247
|
-
|
|
248
|
-
### Testing
|
|
249
|
-
|
|
250
|
-
- [ ] Test call from VAPI dashboard successful
|
|
251
|
-
- [ ] Real phone call tested (if phone number configured)
|
|
252
|
-
- [ ] Edge cases tested (invalid dates, unavailable slots, etc.)
|
|
253
|
-
- [ ] Error scenarios tested (tool fails, API timeout)
|
|
254
|
-
- [ ] Multi-language tested (if applicable)
|
|
255
|
-
|
|
256
|
-
### Performance
|
|
257
|
-
|
|
258
|
-
- [ ] First response latency under 500ms
|
|
259
|
-
- [ ] Webhook response time under 300ms
|
|
260
|
-
- [ ] No audio gaps or awkward silences during tool execution
|
|
261
|
-
- [ ] Edge function cold start acceptable
|
|
262
|
-
|
|
263
|
-
### Deployment
|
|
264
|
-
|
|
265
|
-
- [ ] Cloudflare Worker deployed to production (or Vercel/Supabase)
|
|
266
|
-
- [ ] VAPI assistant updated with production webhook URL
|
|
267
|
-
- [ ] Phone number connected (if applicable)
|
|
268
|
-
- [ ] Webhook secrets set in production environment
|
|
269
|
-
- [ ] Final production test call successful
|
|
270
|
-
|
|
271
|
-
---
|
|
272
|
-
|
|
273
|
-
## Mobile App Checklist
|
|
274
|
-
|
|
275
|
-
> Applies to: iOS/Android apps
|
|
276
|
-
> Stack: React Native + Expo + Supabase
|
|
277
|
-
|
|
278
|
-
### App Basics
|
|
279
|
-
|
|
280
|
-
- [ ] App icon designed and configured (all required sizes)
|
|
281
|
-
- [ ] Splash screen configured
|
|
282
|
-
- [ ] App name and bundle identifier set
|
|
283
|
-
- [ ] Version number set correctly
|
|
284
|
-
|
|
285
|
-
### Functionality
|
|
286
|
-
|
|
287
|
-
- [ ] All screens implemented per requirements
|
|
288
|
-
- [ ] Navigation flows work correctly (forward, back, deep links)
|
|
289
|
-
- [ ] Forms validate correctly with error messages
|
|
290
|
-
- [ ] Pull-to-refresh on list screens
|
|
291
|
-
- [ ] Loading states on all async operations
|
|
292
|
-
- [ ] Empty states on all list screens
|
|
293
|
-
- [ ] Error handling with user-friendly messages
|
|
294
|
-
|
|
295
|
-
### Mobile-Specific
|
|
296
|
-
|
|
297
|
-
- [ ] Works on iOS (test on real device or simulator)
|
|
298
|
-
- [ ] Works on Android (test on real device or emulator)
|
|
299
|
-
- [ ] Keyboard handling correct (doesn't cover inputs)
|
|
300
|
-
- [ ] Safe area insets respected (notch, home indicator)
|
|
301
|
-
- [ ] Dark mode supported (if applicable)
|
|
302
|
-
- [ ] Orientation handling (portrait-only or both)
|
|
303
|
-
- [ ] Offline behavior defined (graceful degradation or offline-first)
|
|
304
|
-
|
|
305
|
-
### Push Notifications (if applicable)
|
|
306
|
-
|
|
307
|
-
- [ ] FCM configured for Android
|
|
308
|
-
- [ ] APNs configured for iOS
|
|
309
|
-
- [ ] Device token registration working
|
|
310
|
-
- [ ] Test notification received on real device
|
|
311
|
-
- [ ] Notification tap opens correct screen
|
|
312
|
-
|
|
313
|
-
### Security
|
|
314
|
-
|
|
315
|
-
- [ ] Sensitive data stored in SecureStore (not AsyncStorage)
|
|
316
|
-
- [ ] API keys not in client bundle
|
|
317
|
-
- [ ] Auth tokens have refresh logic
|
|
318
|
-
- [ ] Certificate pinning (if handling sensitive data)
|
|
319
|
-
|
|
320
|
-
### Store Submission
|
|
321
|
-
|
|
322
|
-
- [ ] App Store screenshots prepared (all required sizes)
|
|
323
|
-
- [ ] Play Store screenshots prepared
|
|
324
|
-
- [ ] App description written
|
|
325
|
-
- [ ] Privacy policy URL provided
|
|
326
|
-
- [ ] EAS Build configured and tested
|
|
327
|
-
- [ ] Test build distributed to client for approval
|
|
328
|
-
- [ ] Final build submitted to stores
|
|
329
|
-
|
|
330
|
-
### i18n & RTL (if applicable)
|
|
331
|
-
|
|
332
|
-
- [ ] All strings use message keys (no hardcoded text)
|
|
333
|
-
- [ ] Arabic text renders correctly (RTL layout)
|
|
334
|
-
- [ ] Icons flip correctly in RTL mode
|
|
335
|
-
- [ ] Western numerals (0-9) used everywhere (not Eastern Arabic)
|
|
336
|
-
- [ ] Date/time formatting locale-aware
|
|
337
|
-
|
|
338
|
-
---
|
|
339
|
-
|
|
340
|
-
## How to Use These Checklists
|
|
341
|
-
|
|
342
|
-
1. **At project start:** Copy the Universal Checklist + your project-type checklist into `COMPLETION_CHECKLIST.md` in your project root
|
|
343
|
-
2. **During development:** Check items off as you complete them
|
|
344
|
-
3. **Before shipping:** All items must be checked. Run `/review` for automated verification
|
|
345
|
-
4. **Manager review:** Fawzi reviews the checklist, signs off or returns with feedback
|
|
346
|
-
5. **After launch:** Keep the checklist in the repo as a record of what was verified
|
|
347
|
-
|
|
348
|
-
### Severity Guide
|
|
349
|
-
|
|
350
|
-
If an item can't be checked off, document WHY in the Notes section:
|
|
351
|
-
|
|
352
|
-
- **Blocker** — Must fix before launch (security, broken features)
|
|
353
|
-
- **Accepted Risk** — Acknowledged by Fawzi, documented, will fix later
|
|
354
|
-
- **N/A** — Doesn't apply to this project (e.g., no database = skip DB section)
|
|
355
|
-
|
|
356
|
-
---
|
|
357
|
-
|
|
358
|
-
_Last updated: 2026-03-23_
|
|
359
|
-
_Version: 1.0_
|
|
@@ -1,249 +0,0 @@
|
|
|
1
|
-
# Continuation Format
|
|
2
|
-
|
|
3
|
-
Standard format for presenting next steps after completing a command or workflow.
|
|
4
|
-
|
|
5
|
-
## Core Structure
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
## ▶ Next Up
|
|
11
|
-
|
|
12
|
-
**{identifier}: {name}** — {one-line description}
|
|
13
|
-
|
|
14
|
-
`{command to copy-paste}`
|
|
15
|
-
|
|
16
|
-
<sub>`/clear` first → fresh context window</sub>
|
|
17
|
-
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
**Also available:**
|
|
21
|
-
- `{alternative option 1}` — description
|
|
22
|
-
- `{alternative option 2}` — description
|
|
23
|
-
|
|
24
|
-
---
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
## Format Rules
|
|
28
|
-
|
|
29
|
-
1. **Always show what it is** — name + description, never just a command path
|
|
30
|
-
2. **Pull context from source** — ROADMAP.md for phases, PLAN.md `<objective>` for plans
|
|
31
|
-
3. **Command in inline code** — backticks, easy to copy-paste, renders as clickable link
|
|
32
|
-
4. **`/clear` explanation** — always include, keeps it concise but explains why
|
|
33
|
-
5. **"Also available" not "Other options"** — sounds more app-like
|
|
34
|
-
6. **Visual separators** — `---` above and below to make it stand out
|
|
35
|
-
|
|
36
|
-
## Variants
|
|
37
|
-
|
|
38
|
-
### Execute Next Plan
|
|
39
|
-
|
|
40
|
-
```
|
|
41
|
-
---
|
|
42
|
-
|
|
43
|
-
## ▶ Next Up
|
|
44
|
-
|
|
45
|
-
**02-03: Refresh Token Rotation** — Add /api/auth/refresh with sliding expiry
|
|
46
|
-
|
|
47
|
-
`/qualia:execute-phase 2`
|
|
48
|
-
|
|
49
|
-
<sub>`/clear` first → fresh context window</sub>
|
|
50
|
-
|
|
51
|
-
---
|
|
52
|
-
|
|
53
|
-
**Also available:**
|
|
54
|
-
- Review plan before executing
|
|
55
|
-
- `/qualia:list-phase-assumptions 2` — check assumptions
|
|
56
|
-
|
|
57
|
-
---
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
### Execute Final Plan in Phase
|
|
61
|
-
|
|
62
|
-
Add note that this is the last plan and what comes after:
|
|
63
|
-
|
|
64
|
-
```
|
|
65
|
-
---
|
|
66
|
-
|
|
67
|
-
## ▶ Next Up
|
|
68
|
-
|
|
69
|
-
**02-03: Refresh Token Rotation** — Add /api/auth/refresh with sliding expiry
|
|
70
|
-
<sub>Final plan in Phase 2</sub>
|
|
71
|
-
|
|
72
|
-
`/qualia:execute-phase 2`
|
|
73
|
-
|
|
74
|
-
<sub>`/clear` first → fresh context window</sub>
|
|
75
|
-
|
|
76
|
-
---
|
|
77
|
-
|
|
78
|
-
**After this completes:**
|
|
79
|
-
- Phase 2 → Phase 3 transition
|
|
80
|
-
- Next: **Phase 3: Core Features** — User dashboard and settings
|
|
81
|
-
|
|
82
|
-
---
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
### Plan a Phase
|
|
86
|
-
|
|
87
|
-
```
|
|
88
|
-
---
|
|
89
|
-
|
|
90
|
-
## ▶ Next Up
|
|
91
|
-
|
|
92
|
-
**Phase 2: Authentication** — JWT login flow with refresh tokens
|
|
93
|
-
|
|
94
|
-
`/qualia:plan-phase 2`
|
|
95
|
-
|
|
96
|
-
<sub>`/clear` first → fresh context window</sub>
|
|
97
|
-
|
|
98
|
-
---
|
|
99
|
-
|
|
100
|
-
**Also available:**
|
|
101
|
-
- `/qualia:discuss-phase 2` — gather context first
|
|
102
|
-
- `/qualia:research-phase 2` — investigate unknowns
|
|
103
|
-
- Review roadmap
|
|
104
|
-
|
|
105
|
-
---
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
### Phase Complete, Ready for Next
|
|
109
|
-
|
|
110
|
-
Show completion status before next action:
|
|
111
|
-
|
|
112
|
-
```
|
|
113
|
-
---
|
|
114
|
-
|
|
115
|
-
## ✓ Phase 2 Complete
|
|
116
|
-
|
|
117
|
-
3/3 plans executed
|
|
118
|
-
|
|
119
|
-
## ▶ Next Up
|
|
120
|
-
|
|
121
|
-
**Phase 3: Core Features** — User dashboard, settings, and data export
|
|
122
|
-
|
|
123
|
-
`/qualia:plan-phase 3`
|
|
124
|
-
|
|
125
|
-
<sub>`/clear` first → fresh context window</sub>
|
|
126
|
-
|
|
127
|
-
---
|
|
128
|
-
|
|
129
|
-
**Also available:**
|
|
130
|
-
- `/qualia:discuss-phase 3` — gather context first
|
|
131
|
-
- `/qualia:research-phase 3` — investigate unknowns
|
|
132
|
-
- Review what Phase 2 built
|
|
133
|
-
|
|
134
|
-
---
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
### Multiple Equal Options
|
|
138
|
-
|
|
139
|
-
When there's no clear primary action:
|
|
140
|
-
|
|
141
|
-
```
|
|
142
|
-
---
|
|
143
|
-
|
|
144
|
-
## ▶ Next Up
|
|
145
|
-
|
|
146
|
-
**Phase 3: Core Features** — User dashboard, settings, and data export
|
|
147
|
-
|
|
148
|
-
**To plan directly:** `/qualia:plan-phase 3`
|
|
149
|
-
|
|
150
|
-
**To discuss context first:** `/qualia:discuss-phase 3`
|
|
151
|
-
|
|
152
|
-
**To research unknowns:** `/qualia:research-phase 3`
|
|
153
|
-
|
|
154
|
-
<sub>`/clear` first → fresh context window</sub>
|
|
155
|
-
|
|
156
|
-
---
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
### Milestone Complete
|
|
160
|
-
|
|
161
|
-
```
|
|
162
|
-
---
|
|
163
|
-
|
|
164
|
-
## 🎉 Milestone v1.0 Complete
|
|
165
|
-
|
|
166
|
-
All 4 phases shipped
|
|
167
|
-
|
|
168
|
-
## ▶ Next Up
|
|
169
|
-
|
|
170
|
-
**Start v1.1** — questioning → research → requirements → roadmap
|
|
171
|
-
|
|
172
|
-
`/qualia:new-milestone`
|
|
173
|
-
|
|
174
|
-
<sub>`/clear` first → fresh context window</sub>
|
|
175
|
-
|
|
176
|
-
---
|
|
177
|
-
```
|
|
178
|
-
|
|
179
|
-
## Pulling Context
|
|
180
|
-
|
|
181
|
-
### For phases (from ROADMAP.md):
|
|
182
|
-
|
|
183
|
-
```markdown
|
|
184
|
-
### Phase 2: Authentication
|
|
185
|
-
**Goal**: JWT login flow with refresh tokens
|
|
186
|
-
```
|
|
187
|
-
|
|
188
|
-
Extract: `**Phase 2: Authentication** — JWT login flow with refresh tokens`
|
|
189
|
-
|
|
190
|
-
### For plans (from ROADMAP.md):
|
|
191
|
-
|
|
192
|
-
```markdown
|
|
193
|
-
Plans:
|
|
194
|
-
- [ ] 02-03: Add refresh token rotation
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
Or from PLAN.md `<objective>`:
|
|
198
|
-
|
|
199
|
-
```xml
|
|
200
|
-
<objective>
|
|
201
|
-
Add refresh token rotation with sliding expiry window.
|
|
202
|
-
|
|
203
|
-
Purpose: Extend session lifetime without compromising security.
|
|
204
|
-
</objective>
|
|
205
|
-
```
|
|
206
|
-
|
|
207
|
-
Extract: `**02-03: Refresh Token Rotation** — Add /api/auth/refresh with sliding expiry`
|
|
208
|
-
|
|
209
|
-
## Anti-Patterns
|
|
210
|
-
|
|
211
|
-
### Don't: Command-only (no context)
|
|
212
|
-
|
|
213
|
-
```
|
|
214
|
-
## To Continue
|
|
215
|
-
|
|
216
|
-
Run `/clear`, then paste:
|
|
217
|
-
/qualia:execute-phase 2
|
|
218
|
-
```
|
|
219
|
-
|
|
220
|
-
User has no idea what 02-03 is about.
|
|
221
|
-
|
|
222
|
-
### Don't: Missing /clear explanation
|
|
223
|
-
|
|
224
|
-
```
|
|
225
|
-
`/qualia:plan-phase 3`
|
|
226
|
-
|
|
227
|
-
Run /clear first.
|
|
228
|
-
```
|
|
229
|
-
|
|
230
|
-
Doesn't explain why. User might skip it.
|
|
231
|
-
|
|
232
|
-
### Don't: "Other options" language
|
|
233
|
-
|
|
234
|
-
```
|
|
235
|
-
Other options:
|
|
236
|
-
- Review roadmap
|
|
237
|
-
```
|
|
238
|
-
|
|
239
|
-
Sounds like an afterthought. Use "Also available:" instead.
|
|
240
|
-
|
|
241
|
-
### Don't: Fenced code blocks for commands
|
|
242
|
-
|
|
243
|
-
```
|
|
244
|
-
```
|
|
245
|
-
/qualia:plan-phase 3
|
|
246
|
-
```
|
|
247
|
-
```
|
|
248
|
-
|
|
249
|
-
Fenced blocks inside templates create nesting ambiguity. Use inline backticks instead.
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
# Checkpoint Continuation Prompt Template
|
|
2
|
-
|
|
3
|
-
Template for spawning a fresh agent to continue execution after a checkpoint pause.
|
|
4
|
-
|
|
5
|
-
**Why fresh agent:** Resume relies on internal serialization that breaks with parallel tool calls. Fresh agents with explicit state are more reliable.
|
|
6
|
-
|
|
7
|
-
## Template
|
|
8
|
-
|
|
9
|
-
```markdown
|
|
10
|
-
<objective>
|
|
11
|
-
Continue executing plan {plan_id} from task {resume_task_number}: {resume_task_name}.
|
|
12
|
-
Previous tasks are already committed. Do NOT re-execute them.
|
|
13
|
-
</objective>
|
|
14
|
-
|
|
15
|
-
<completed_work>
|
|
16
|
-
## Tasks Already Done
|
|
17
|
-
|
|
18
|
-
{completed_tasks_table}
|
|
19
|
-
|
|
20
|
-
These tasks have been committed. Verify their commits exist before continuing:
|
|
21
|
-
```bash
|
|
22
|
-
git log --oneline --all --grep="{plan_id}" | head -10
|
|
23
|
-
```
|
|
24
|
-
</completed_work>
|
|
25
|
-
|
|
26
|
-
<checkpoint_resolution>
|
|
27
|
-
## Checkpoint Resolution
|
|
28
|
-
|
|
29
|
-
**Checkpoint type:** {checkpoint_type}
|
|
30
|
-
**User response:** {user_response}
|
|
31
|
-
|
|
32
|
-
{resume_instructions}
|
|
33
|
-
</checkpoint_resolution>
|
|
34
|
-
|
|
35
|
-
<resume_from>
|
|
36
|
-
## Resume Point
|
|
37
|
-
|
|
38
|
-
**Task:** {resume_task_number} — {resume_task_name}
|
|
39
|
-
**Plan path:** {plan_path}
|
|
40
|
-
|
|
41
|
-
Read the full plan for context, but only execute from task {resume_task_number} onward.
|
|
42
|
-
Follow the same execution rules: per-task commits, deviation handling, verification.
|
|
43
|
-
</resume_from>
|
|
44
|
-
|
|
45
|
-
<context>
|
|
46
|
-
{state_content}
|
|
47
|
-
{config_content}
|
|
48
|
-
</context>
|
|
49
|
-
|
|
50
|
-
<success_criteria>
|
|
51
|
-
- [ ] Previous commits verified (not re-executed)
|
|
52
|
-
- [ ] Remaining tasks executed from task {resume_task_number}
|
|
53
|
-
- [ ] Each task committed individually
|
|
54
|
-
- [ ] SUMMARY.md created covering ALL tasks (including pre-checkpoint)
|
|
55
|
-
- [ ] STATE.md updated with final position
|
|
56
|
-
</success_criteria>
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
## Resume Instructions by Checkpoint Type
|
|
60
|
-
|
|
61
|
-
### checkpoint:human-verify
|
|
62
|
-
```
|
|
63
|
-
The user has verified the previous work.
|
|
64
|
-
- "approved" → Continue to next task normally.
|
|
65
|
-
- Issue description → Fix the reported issue in the current task context before proceeding.
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
### checkpoint:decision
|
|
69
|
-
```
|
|
70
|
-
The user selected an option for the decision point.
|
|
71
|
-
- Apply the user's choice: {user_response}
|
|
72
|
-
- This may affect how remaining tasks are implemented.
|
|
73
|
-
- Document the decision in SUMMARY.md under "Decisions Made".
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
### checkpoint:human-action
|
|
77
|
-
```
|
|
78
|
-
The user completed a manual action (e.g., authentication, external config).
|
|
79
|
-
- "done" → Verify the action succeeded (run verification command if specified).
|
|
80
|
-
- If verification fails, inform user and wait for retry.
|
|
81
|
-
- If verification passes, continue to next task.
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
## Variables
|
|
85
|
-
|
|
86
|
-
| Variable | Source | Description |
|
|
87
|
-
|----------|--------|-------------|
|
|
88
|
-
| `{plan_id}` | Plan frontmatter | e.g., "03-02" |
|
|
89
|
-
| `{resume_task_number}` | Checkpoint return | Task number to resume from |
|
|
90
|
-
| `{resume_task_name}` | Checkpoint return | Name of the resume task |
|
|
91
|
-
| `{completed_tasks_table}` | Checkpoint return | Markdown table of done tasks with commit hashes |
|
|
92
|
-
| `{checkpoint_type}` | Plan XML | human-verify, decision, or human-action |
|
|
93
|
-
| `{user_response}` | User input | What the user provided at the checkpoint |
|
|
94
|
-
| `{resume_instructions}` | This template | Type-specific instructions from above |
|
|
95
|
-
| `{plan_path}` | Phase directory | Path to the PLAN.md file |
|
|
96
|
-
| `{state_content}` | STATE.md | Inlined project state |
|
|
97
|
-
| `{config_content}` | config.json | Inlined project config |
|