qualia-framework 2.2.1 → 2.4.1
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/bin/collect-metrics.sh +62 -0
- package/framework/agents/qualia-phase-researcher.md +6 -3
- package/framework/agents/qualia-planner.md +10 -7
- package/framework/agents/qualia-research-synthesizer.md +110 -147
- package/framework/agents/red-team-qa.md +130 -0
- package/framework/hooks/auto-format.sh +9 -1
- package/framework/hooks/confirm-delete.sh +2 -2
- package/framework/hooks/migration-validate.sh +21 -16
- package/framework/hooks/pre-commit.sh +17 -9
- package/framework/hooks/pre-deploy-gate.sh +22 -15
- package/framework/hooks/retention-cleanup.sh +4 -4
- package/framework/hooks/save-session-state.sh +18 -10
- package/framework/hooks/session-context-loader.sh +21 -0
- package/framework/hooks/skill-announce.sh +2 -0
- package/framework/install.sh +9 -4
- package/framework/qualia-engine/VERSION +1 -1
- package/framework/qualia-engine/bin/collect-metrics.sh +71 -0
- package/framework/qualia-engine/bin/qualia-tools.js +104 -63
- package/framework/qualia-engine/references/continuation-prompt.md +97 -0
- package/framework/qualia-engine/references/employee-guide.md +167 -0
- package/framework/qualia-engine/templates/lab-notes.md +16 -0
- package/framework/qualia-engine/templates/projects/ai-agent.md +1 -1
- package/framework/qualia-engine/templates/projects/voice-agent.md +4 -4
- package/framework/qualia-engine/templates/roadmap.md +4 -0
- package/framework/qualia-engine/templates/state.md +3 -0
- package/framework/qualia-engine/workflows/execute-phase.md +17 -17
- package/framework/qualia-engine/workflows/new-project.md +54 -130
- package/framework/qualia-engine/workflows/progress.md +63 -28
- package/framework/skills/client-handoff/SKILL.md +135 -0
- package/framework/skills/collab-onboard/SKILL.md +111 -0
- package/framework/skills/deep-research/SKILL.md +34 -71
- package/framework/skills/docs-lookup/SKILL.md +4 -3
- package/framework/skills/learn/SKILL.md +30 -6
- package/framework/skills/mobile-expo/SKILL.md +117 -4
- package/framework/skills/openrouter-agent/SKILL.md +922 -0
- package/framework/skills/qualia/SKILL.md +65 -19
- package/framework/skills/qualia-audit-milestone/SKILL.md +5 -2
- package/framework/skills/qualia-complete-milestone/SKILL.md +34 -8
- package/framework/skills/qualia-evolve/SKILL.md +200 -0
- package/framework/skills/qualia-execute-phase/SKILL.md +5 -2
- package/framework/skills/qualia-guide/SKILL.md +32 -0
- package/framework/skills/qualia-help/SKILL.md +100 -64
- package/framework/skills/qualia-new-project/SKILL.md +186 -62
- package/framework/skills/qualia-plan-phase/SKILL.md +5 -2
- package/framework/skills/qualia-report/SKILL.md +217 -0
- package/framework/skills/qualia-start/SKILL.md +31 -59
- package/framework/skills/qualia-verify-work/SKILL.md +33 -6
- package/framework/skills/qualia-workflow/SKILL.md +5 -5
- package/framework/skills/ship/SKILL.md +32 -6
- package/framework/skills/voice-agent/SKILL.md +1174 -269
- package/package.json +1 -1
|
@@ -16,7 +16,7 @@ Read STATE.md before any operation to load project context.
|
|
|
16
16
|
Load all context in one call:
|
|
17
17
|
|
|
18
18
|
```bash
|
|
19
|
-
INIT=$(node /home/qualia/.claude/qualia-
|
|
19
|
+
INIT=$(node /home/qualia/.claude/qualia-framework/bin/qualia-tools.js init execute-phase "${PHASE_ARG}")
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
Parse JSON for: `executor_model`, `verifier_model`, `commit_docs`, `parallelization`, `branching_strategy`, `branch_name`, `phase_found`, `phase_dir`, `phase_number`, `phase_name`, `phase_slug`, `plans`, `incomplete_plans`, `plan_count`, `incomplete_count`, `state_exists`, `roadmap_exists`.
|
|
@@ -61,7 +61,7 @@ This is a suggestion only — execution continues normally regardless. The user
|
|
|
61
61
|
Load plan inventory with wave grouping in one call:
|
|
62
62
|
|
|
63
63
|
```bash
|
|
64
|
-
PLAN_INDEX=$(node /home/qualia/.claude/qualia-
|
|
64
|
+
PLAN_INDEX=$(node /home/qualia/.claude/qualia-framework/bin/qualia-tools.js phase-plan-index "${PHASE_NUMBER}")
|
|
65
65
|
```
|
|
66
66
|
|
|
67
67
|
Parse JSON for: `phase`, `plans[]` (each with `id`, `wave`, `autonomous`, `objective`, `files_modified`, `task_count`, `has_summary`), `waves` (map of wave number → plan IDs), `incomplete`, `has_checkpoints`.
|
|
@@ -113,14 +113,14 @@ Execute each wave in sequence. Within a wave: parallel if `PARALLELIZATION=true`
|
|
|
113
113
|
STATE_CONTENT=$(cat .planning/STATE.md)
|
|
114
114
|
CONFIG_CONTENT=$(cat .planning/config.json 2>/dev/null)
|
|
115
115
|
# Content must be inlined — @ syntax doesn't work across Task() boundaries
|
|
116
|
-
EXECUTE_PLAN_WF=$(cat /home/qualia/.claude/qualia-
|
|
117
|
-
SUMMARY_TMPL=$(cat /home/qualia/.claude/qualia-
|
|
118
|
-
CHECKPOINTS_REF=$(cat /home/qualia/.claude/qualia-
|
|
119
|
-
TDD_REF=$(cat /home/qualia/.claude/qualia-
|
|
116
|
+
EXECUTE_PLAN_WF=$(cat /home/qualia/.claude/qualia-framework/workflows/execute-plan.md)
|
|
117
|
+
SUMMARY_TMPL=$(cat /home/qualia/.claude/qualia-framework/templates/summary.md)
|
|
118
|
+
CHECKPOINTS_REF=$(cat /home/qualia/.claude/qualia-framework/references/checkpoints.md)
|
|
119
|
+
TDD_REF=$(cat /home/qualia/.claude/qualia-framework/references/tdd.md)
|
|
120
120
|
# Detect if plan involves frontend work
|
|
121
121
|
IS_FRONTEND=$(echo "$PLAN_CONTENT" | grep -qiE '\.(tsx|jsx|css|scss)|frontend|ui|component|page|layout|dashboard|form|modal' && echo "true" || echo "false")
|
|
122
122
|
if [ "$IS_FRONTEND" = "true" ]; then
|
|
123
|
-
DESIGN_CONTEXT=$(cat /home/qualia/.claude/qualia-
|
|
123
|
+
DESIGN_CONTEXT=$(cat /home/qualia/.claude/qualia-framework/references/design-quality.md 2>/dev/null)
|
|
124
124
|
FRONTEND_SKILL=$(cat /home/qualia/.claude/skills/frontend-master/SKILL.md 2>/dev/null)
|
|
125
125
|
fi
|
|
126
126
|
```
|
|
@@ -257,7 +257,7 @@ Plans with `autonomous: false` require user interaction.
|
|
|
257
257
|
[Awaiting section from agent return]
|
|
258
258
|
```
|
|
259
259
|
5. User responds: "approved"/"done" | issue description | decision selection
|
|
260
|
-
6. **Spawn continuation agent (NOT resume)** using continuation-prompt.md template:
|
|
260
|
+
6. **Spawn continuation agent (NOT resume)** using `/home/qualia/.claude/qualia-framework/references/continuation-prompt.md` template:
|
|
261
261
|
- `{completed_tasks_table}`: From checkpoint return
|
|
262
262
|
- `{resume_task_number}` + `{resume_task_name}`: Current task
|
|
263
263
|
- `{user_response}`: What user provided
|
|
@@ -460,7 +460,7 @@ grep "^status:" "$PHASE_DIR"/*-VERIFICATION.md | cut -d: -f2 | tr -d ' '
|
|
|
460
460
|
|--------|--------|
|
|
461
461
|
| `passed` | → update_roadmap |
|
|
462
462
|
| `human_needed` | Present items for human testing, get approval or feedback |
|
|
463
|
-
| `gaps_found` | Present gap summary, offer `/qualia
|
|
463
|
+
| `gaps_found` | Present gap summary, offer `/qualia-plan-phase {phase} --gaps` |
|
|
464
464
|
|
|
465
465
|
**If human_needed:**
|
|
466
466
|
```
|
|
@@ -486,15 +486,15 @@ All automated checks passed. {N} items need human testing:
|
|
|
486
486
|
---
|
|
487
487
|
## ▶ Next Up
|
|
488
488
|
|
|
489
|
-
`/qualia
|
|
489
|
+
`/qualia-plan-phase {X} --gaps`
|
|
490
490
|
|
|
491
491
|
<sub>`/clear` first → fresh context window</sub>
|
|
492
492
|
|
|
493
493
|
Also: `cat {phase_dir}/{phase}-VERIFICATION.md` — full report
|
|
494
|
-
Also: `/qualia
|
|
494
|
+
Also: `/qualia-verify-work {X}` — manual testing first
|
|
495
495
|
```
|
|
496
496
|
|
|
497
|
-
Gap closure cycle: `/qualia
|
|
497
|
+
Gap closure cycle: `/qualia-plan-phase {X} --gaps` reads VERIFICATION.md → creates gap plans with `gap_closure: true` → user runs `/qualia-execute-phase {X} --gaps-only` → verifier re-runs automatically (see below).
|
|
498
498
|
|
|
499
499
|
**Mandatory re-verification after gap closure:**
|
|
500
500
|
|
|
@@ -504,7 +504,7 @@ When executing with `--gaps-only`, after all gap plans complete (aggregate_resul
|
|
|
504
504
|
2. aggregate_results reports completion
|
|
505
505
|
3. verify_phase_goal re-runs (spawn qualia-verifier again)
|
|
506
506
|
4. **If `passed`:** → update_roadmap (phase complete)
|
|
507
|
-
5. **If `gaps_found` again:** Present new gaps, offer another `/qualia
|
|
507
|
+
5. **If `gaps_found` again:** Present new gaps, offer another `/qualia-plan-phase {X} --gaps` cycle. **Never mark phase complete with gaps.**
|
|
508
508
|
6. **If `human_needed`:** Present for manual testing as usual
|
|
509
509
|
|
|
510
510
|
A phase MUST NOT be marked complete in ROADMAP.md until verification returns `passed` or the user explicitly approves after `human_needed`. There is no bypass.
|
|
@@ -514,7 +514,7 @@ A phase MUST NOT be marked complete in ROADMAP.md until verification returns `pa
|
|
|
514
514
|
Mark phase complete in ROADMAP.md (date, status). **Only reachable when verification status is `passed` or user approved `human_needed` items.**
|
|
515
515
|
|
|
516
516
|
```bash
|
|
517
|
-
node /home/qualia/.claude/qualia-
|
|
517
|
+
node /home/qualia/.claude/qualia-framework/bin/qualia-tools.js commit "docs(phase-{X}): complete phase execution" --files .planning/ROADMAP.md .planning/STATE.md .planning/phases/{phase_dir}/*-VERIFICATION.md .planning/REQUIREMENTS.md
|
|
518
518
|
```
|
|
519
519
|
</step>
|
|
520
520
|
|
|
@@ -526,7 +526,7 @@ node /home/qualia/.claude/qualia-engine/bin/qualia-tools.js commit "docs(phase-{
|
|
|
526
526
|
|
|
527
527
|
**Phase {X+1}: {Name}** — {Goal}
|
|
528
528
|
|
|
529
|
-
`/clear` then `/qualia
|
|
529
|
+
`/clear` then `/qualia-plan-phase {X+1}`
|
|
530
530
|
```
|
|
531
531
|
|
|
532
532
|
**If milestone complete:**
|
|
@@ -535,7 +535,7 @@ MILESTONE COMPLETE!
|
|
|
535
535
|
|
|
536
536
|
All {N} phases executed.
|
|
537
537
|
|
|
538
|
-
`/clear` then `/qualia
|
|
538
|
+
`/clear` then `/qualia-complete-milestone`
|
|
539
539
|
```
|
|
540
540
|
</step>
|
|
541
541
|
|
|
@@ -553,7 +553,7 @@ Orchestrator: ~10-15% context. Subagents: fresh 200k each. No polling (Task bloc
|
|
|
553
553
|
</failure_handling>
|
|
554
554
|
|
|
555
555
|
<resumption>
|
|
556
|
-
Re-run `/qualia
|
|
556
|
+
Re-run `/qualia-execute-phase {phase}` → discover_plans finds completed SUMMARYs → skips them → resumes from first incomplete plan → continues wave execution.
|
|
557
557
|
|
|
558
558
|
STATE.md tracks: last completed plan, current wave, pending checkpoints.
|
|
559
559
|
</resumption>
|
|
@@ -13,12 +13,12 @@ Read all files referenced by the invoking prompt's execution_context before star
|
|
|
13
13
|
**MANDATORY FIRST STEP — Execute these checks before ANY user interaction:**
|
|
14
14
|
|
|
15
15
|
```bash
|
|
16
|
-
INIT=$(node /home/qualia/.claude/qualia-
|
|
16
|
+
INIT=$(node /home/qualia/.claude/qualia-framework/bin/qualia-tools.js init new-project)
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
Parse JSON for: `researcher_model`, `synthesizer_model`, `roadmapper_model`, `commit_docs`, `project_exists`, `has_codebase_map`, `planning_exists`, `has_existing_code`, `has_package_file`, `is_brownfield`, `needs_codebase_map`, `has_git`.
|
|
20
20
|
|
|
21
|
-
**If `project_exists` is true:** Error — project already initialized. Use `/qualia
|
|
21
|
+
**If `project_exists` is true:** Error — project already initialized. Use `/qualia-progress`.
|
|
22
22
|
|
|
23
23
|
**If `has_git` is false:** Initialize git:
|
|
24
24
|
```bash
|
|
@@ -54,14 +54,12 @@ Use AskUserQuestion:
|
|
|
54
54
|
- header: "Existing Code"
|
|
55
55
|
- question: "I detected existing code in this directory. Would you like to map the codebase first?"
|
|
56
56
|
- options:
|
|
57
|
-
- "Map codebase first" — Run /qualia
|
|
57
|
+
- "Map codebase first" — Run /qualia-map-codebase to understand existing architecture (Recommended)
|
|
58
58
|
- "Skip mapping" — Proceed with project initialization
|
|
59
59
|
|
|
60
60
|
**If "Map codebase first":**
|
|
61
|
-
|
|
62
|
-
Run `/qualia
|
|
63
|
-
```
|
|
64
|
-
Exit command.
|
|
61
|
+
|
|
62
|
+
Run the codebase mapping INLINE — invoke the `/qualia-map-codebase` skill directly, wait for it to complete, then continue to Step 3. Do NOT exit the flow and tell the user to re-run — that breaks the experience.
|
|
65
63
|
|
|
66
64
|
**If "Skip mapping" OR `needs_codebase_map` is false:** Continue to Step 3.
|
|
67
65
|
|
|
@@ -137,7 +135,7 @@ Use AskUserQuestion:
|
|
|
137
135
|
- "Skip template" — Build roadmap from scratch through full questioning
|
|
138
136
|
|
|
139
137
|
**If "Use template":**
|
|
140
|
-
1. Read the template: `~/.claude/qualia-
|
|
138
|
+
1. Read the template: `~/.claude/qualia-framework/templates/projects/{type}.md`
|
|
141
139
|
2. Store template choice in memory for Step 8 (roadmap creation)
|
|
142
140
|
3. Set `template_type` = detected type
|
|
143
141
|
4. Set `template_phases` = phases from template file
|
|
@@ -225,100 +223,40 @@ Do not compress. Capture everything gathered.
|
|
|
225
223
|
|
|
226
224
|
```bash
|
|
227
225
|
mkdir -p .planning
|
|
228
|
-
node /home/qualia/.claude/qualia-
|
|
226
|
+
node /home/qualia/.claude/qualia-framework/bin/qualia-tools.js commit "docs: initialize project" --files .planning/PROJECT.md
|
|
229
227
|
```
|
|
230
228
|
|
|
231
229
|
## 5. Workflow Preferences
|
|
232
230
|
|
|
233
|
-
**
|
|
231
|
+
**Use sensible defaults. Ask ONE question:**
|
|
234
232
|
|
|
235
233
|
```
|
|
236
234
|
questions: [
|
|
237
235
|
{
|
|
238
|
-
header: "
|
|
239
|
-
question: "
|
|
240
|
-
multiSelect: false,
|
|
241
|
-
options: [
|
|
242
|
-
{ label: "YOLO (Recommended)", description: "Auto-approve, just execute" },
|
|
243
|
-
{ label: "Interactive", description: "Confirm at each step" }
|
|
244
|
-
]
|
|
245
|
-
},
|
|
246
|
-
{
|
|
247
|
-
header: "Depth",
|
|
248
|
-
question: "How thorough should planning be?",
|
|
249
|
-
multiSelect: false,
|
|
250
|
-
options: [
|
|
251
|
-
{ label: "Quick", description: "Ship fast (3-5 phases, 1-3 plans each)" },
|
|
252
|
-
{ label: "Standard", description: "Balanced scope and speed (5-8 phases, 3-5 plans each)" },
|
|
253
|
-
{ label: "Comprehensive", description: "Thorough coverage (8-12 phases, 5-10 plans each)" }
|
|
254
|
-
]
|
|
255
|
-
},
|
|
256
|
-
{
|
|
257
|
-
header: "Execution",
|
|
258
|
-
question: "Run plans in parallel?",
|
|
236
|
+
header: "Settings",
|
|
237
|
+
question: "Use recommended settings? (Interactive, standard depth, all quality agents, balanced models)",
|
|
259
238
|
multiSelect: false,
|
|
260
239
|
options: [
|
|
261
|
-
{ label: "
|
|
262
|
-
{ label: "
|
|
240
|
+
{ label: "Yes (Recommended)", description: "Best for client projects — all quality gates enabled" },
|
|
241
|
+
{ label: "Quick mode", description: "Faster: skip research, fewer phases (3-5), budget models" },
|
|
242
|
+
{ label: "Customize", description: "Choose each setting individually" }
|
|
263
243
|
]
|
|
264
|
-
}
|
|
265
|
-
// Git Tracking: always committed. Removed as a question — .planning/ must be in git for team collaboration and portal sync.
|
|
244
|
+
}
|
|
266
245
|
]
|
|
267
246
|
```
|
|
268
247
|
|
|
269
|
-
**
|
|
248
|
+
**If "Yes (Recommended)":** Use all defaults below.
|
|
249
|
+
**If "Quick mode":** Use quick defaults (depth: quick, research: false, plan_check: false, model_profile: budget).
|
|
250
|
+
**If "Customize":** Show individual options for mode, depth, execution, research, plan_check, verifier, model_profile as separate AskUserQuestion calls.
|
|
270
251
|
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
All recommended for important projects. Skip for quick experiments.
|
|
280
|
-
|
|
281
|
-
```
|
|
282
|
-
questions: [
|
|
283
|
-
{
|
|
284
|
-
header: "Research",
|
|
285
|
-
question: "Research before planning each phase? (adds tokens/time)",
|
|
286
|
-
multiSelect: false,
|
|
287
|
-
options: [
|
|
288
|
-
{ label: "Yes (Recommended)", description: "Investigate domain, find patterns, surface gotchas" },
|
|
289
|
-
{ label: "No", description: "Plan directly from requirements" }
|
|
290
|
-
]
|
|
291
|
-
},
|
|
292
|
-
{
|
|
293
|
-
header: "Plan Check",
|
|
294
|
-
question: "Verify plans will achieve their goals? (adds tokens/time)",
|
|
295
|
-
multiSelect: false,
|
|
296
|
-
options: [
|
|
297
|
-
{ label: "Yes (Recommended)", description: "Catch gaps before execution starts" },
|
|
298
|
-
{ label: "No", description: "Execute plans without verification" }
|
|
299
|
-
]
|
|
300
|
-
},
|
|
301
|
-
{
|
|
302
|
-
header: "Verifier",
|
|
303
|
-
question: "Verify work satisfies requirements after each phase? (adds tokens/time)",
|
|
304
|
-
multiSelect: false,
|
|
305
|
-
options: [
|
|
306
|
-
{ label: "Yes (Recommended)", description: "Confirm deliverables match phase goals" },
|
|
307
|
-
{ label: "No", description: "Trust execution, skip verification" }
|
|
308
|
-
]
|
|
309
|
-
},
|
|
310
|
-
{
|
|
311
|
-
header: "Model Profile",
|
|
312
|
-
question: "Which AI models for planning agents?",
|
|
313
|
-
multiSelect: false,
|
|
314
|
-
options: [
|
|
315
|
-
{ label: "Balanced (Recommended)", description: "Sonnet for most agents — good quality/cost ratio" },
|
|
316
|
-
{ label: "Quality", description: "Opus for research/roadmap — higher cost, deeper analysis" },
|
|
317
|
-
{ label: "Budget", description: "Haiku where possible — fastest, lowest cost" }
|
|
318
|
-
]
|
|
319
|
-
}
|
|
320
|
-
]
|
|
321
|
-
```
|
|
252
|
+
**Defaults (Recommended):**
|
|
253
|
+
- mode: interactive
|
|
254
|
+
- depth: standard (5-8 phases)
|
|
255
|
+
- parallelization: true
|
|
256
|
+
- model_profile: balanced
|
|
257
|
+
- workflow.research: true
|
|
258
|
+
- workflow.plan_check: true
|
|
259
|
+
- workflow.verifier: true
|
|
322
260
|
|
|
323
261
|
Create `.planning/config.json` with all settings:
|
|
324
262
|
|
|
@@ -342,25 +280,22 @@ Create `.planning/config.json` with all settings:
|
|
|
342
280
|
**Commit config.json:**
|
|
343
281
|
|
|
344
282
|
```bash
|
|
345
|
-
node /home/qualia/.claude/qualia-
|
|
283
|
+
node /home/qualia/.claude/qualia-framework/bin/qualia-tools.js commit "chore: add project config" --files .planning/config.json
|
|
346
284
|
```
|
|
347
285
|
|
|
348
|
-
**Note:** Run `/qualia
|
|
286
|
+
**Note:** Run `/qualia-settings` anytime to update these preferences.
|
|
349
287
|
|
|
350
288
|
## 5.5. Resolve Model Profile
|
|
351
289
|
|
|
352
290
|
Use models from init: `researcher_model`, `synthesizer_model`, `roadmapper_model`.
|
|
353
291
|
|
|
354
|
-
## 6. Research
|
|
292
|
+
## 6. Research Phase
|
|
355
293
|
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
- options:
|
|
360
|
-
- "Research first (Recommended)" — Discover standard stacks, expected features, architecture patterns
|
|
361
|
-
- "Skip research" — I know this domain well, go straight to requirements
|
|
294
|
+
Check `config.json` → `workflow.research`. If true, run research. If false, skip to step 7.
|
|
295
|
+
|
|
296
|
+
Do NOT ask the user again — this was already decided in step 5 (workflow preferences).
|
|
362
297
|
|
|
363
|
-
**If
|
|
298
|
+
**If research is enabled:**
|
|
364
299
|
|
|
365
300
|
Display stage banner:
|
|
366
301
|
```
|
|
@@ -430,7 +365,7 @@ Your STACK.md feeds into roadmap creation. Be prescriptive:
|
|
|
430
365
|
|
|
431
366
|
<output>
|
|
432
367
|
Write to: .planning/research/STACK.md
|
|
433
|
-
Use template: /home/qualia/.claude/qualia-
|
|
368
|
+
Use template: /home/qualia/.claude/qualia-framework/templates/research-project/STACK.md
|
|
434
369
|
</output>
|
|
435
370
|
", subagent_type="general-purpose", model="{researcher_model}", description="Stack research")
|
|
436
371
|
|
|
@@ -470,7 +405,7 @@ Your FEATURES.md feeds into requirements definition. Categorize clearly:
|
|
|
470
405
|
|
|
471
406
|
<output>
|
|
472
407
|
Write to: .planning/research/FEATURES.md
|
|
473
|
-
Use template: /home/qualia/.claude/qualia-
|
|
408
|
+
Use template: /home/qualia/.claude/qualia-framework/templates/research-project/FEATURES.md
|
|
474
409
|
</output>
|
|
475
410
|
", subagent_type="general-purpose", model="{researcher_model}", description="Features research")
|
|
476
411
|
|
|
@@ -510,7 +445,7 @@ Your ARCHITECTURE.md informs phase structure in roadmap. Include:
|
|
|
510
445
|
|
|
511
446
|
<output>
|
|
512
447
|
Write to: .planning/research/ARCHITECTURE.md
|
|
513
|
-
Use template: /home/qualia/.claude/qualia-
|
|
448
|
+
Use template: /home/qualia/.claude/qualia-framework/templates/research-project/ARCHITECTURE.md
|
|
514
449
|
</output>
|
|
515
450
|
", subagent_type="general-purpose", model="{researcher_model}", description="Architecture research")
|
|
516
451
|
|
|
@@ -550,7 +485,7 @@ Your PITFALLS.md prevents mistakes in roadmap/planning. For each pitfall:
|
|
|
550
485
|
|
|
551
486
|
<output>
|
|
552
487
|
Write to: .planning/research/PITFALLS.md
|
|
553
|
-
Use template: /home/qualia/.claude/qualia-
|
|
488
|
+
Use template: /home/qualia/.claude/qualia-framework/templates/research-project/PITFALLS.md
|
|
554
489
|
</output>
|
|
555
490
|
", subagent_type="general-purpose", model="{researcher_model}", description="Pitfalls research")
|
|
556
491
|
```
|
|
@@ -573,7 +508,7 @@ Read these files:
|
|
|
573
508
|
|
|
574
509
|
<output>
|
|
575
510
|
Write to: .planning/research/SUMMARY.md
|
|
576
|
-
Use template: /home/qualia/.claude/qualia-
|
|
511
|
+
Use template: /home/qualia/.claude/qualia-framework/templates/research-project/SUMMARY.md
|
|
577
512
|
Commit after writing.
|
|
578
513
|
</output>
|
|
579
514
|
", subagent_type="qualia-research-synthesizer", model="{synthesizer_model}", description="Synthesize research")
|
|
@@ -729,7 +664,7 @@ If "adjust": Return to scoping.
|
|
|
729
664
|
**Commit requirements:**
|
|
730
665
|
|
|
731
666
|
```bash
|
|
732
|
-
node /home/qualia/.claude/qualia-
|
|
667
|
+
node /home/qualia/.claude/qualia-framework/bin/qualia-tools.js commit "docs: define v1 requirements" --files .planning/REQUIREMENTS.md
|
|
733
668
|
```
|
|
734
669
|
|
|
735
670
|
## 8. Create Roadmap
|
|
@@ -765,7 +700,7 @@ Task(prompt="
|
|
|
765
700
|
|
|
766
701
|
<template_context>
|
|
767
702
|
Template type: {template_type or 'none'}
|
|
768
|
-
{If template_type is set, inline the full template file content from ~/.claude/qualia-
|
|
703
|
+
{If template_type is set, inline the full template file content from ~/.claude/qualia-framework/templates/projects/{template_type}.md}
|
|
769
704
|
</template_context>
|
|
770
705
|
|
|
771
706
|
<instructions>
|
|
@@ -775,8 +710,9 @@ Create roadmap:
|
|
|
775
710
|
3. Map every v1 requirement to exactly one phase
|
|
776
711
|
4. Derive 2-5 success criteria per phase (observable user behaviors)
|
|
777
712
|
5. Validate 100% coverage
|
|
778
|
-
6.
|
|
779
|
-
7.
|
|
713
|
+
6. **FEATURE PHASES ONLY.** Do NOT add review, deploy, or handoff phases. The finish line system (/qualia-complete-milestone → polish → review → PR → deploy → handoff) handles the 70%-to-100% journey automatically after all feature phases are done. Adding them to the roadmap causes duplication.
|
|
714
|
+
7. Write files immediately (ROADMAP.md, STATE.md, update REQUIREMENTS.md traceability)
|
|
715
|
+
8. Return ROADMAP CREATED with summary
|
|
780
716
|
|
|
781
717
|
Write files first, then return. This ensures artifacts persist even if context is lost.
|
|
782
718
|
</instructions>
|
|
@@ -866,7 +802,7 @@ Use AskUserQuestion:
|
|
|
866
802
|
**Commit roadmap (after approval):**
|
|
867
803
|
|
|
868
804
|
```bash
|
|
869
|
-
node /home/qualia/.claude/qualia-
|
|
805
|
+
node /home/qualia/.claude/qualia-framework/bin/qualia-tools.js commit "docs: create roadmap ([N] phases)" --files .planning/ROADMAP.md .planning/STATE.md .planning/REQUIREMENTS.md
|
|
870
806
|
```
|
|
871
807
|
|
|
872
808
|
## 9. Environment Setup
|
|
@@ -945,31 +881,23 @@ Note in STATE.md: `env_setup: pending` so future commands can warn.
|
|
|
945
881
|
**Check if project involves frontend work:**
|
|
946
882
|
|
|
947
883
|
```bash
|
|
948
|
-
# Detect from roadmap, requirements, or project type
|
|
949
884
|
HAS_FRONTEND=$(grep -qiE 'website|landing|dashboard|ui|frontend|page|component|SaaS|web app' .planning/PROJECT.md .planning/ROADMAP.md 2>/dev/null && echo "true" || echo "false")
|
|
950
885
|
```
|
|
951
886
|
|
|
952
|
-
**If `HAS_FRONTEND` is true:** Run `/critique` to
|
|
887
|
+
**If `HAS_FRONTEND` is true:** Run a brief design consultation (NOT `/critique` — there's no code to critique yet).
|
|
953
888
|
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
959
|
-
```
|
|
960
|
-
|
|
961
|
-
Execute the critique skill:
|
|
962
|
-
1. Read `/home/qualia/.claude/skills/critique/SKILL.md`
|
|
963
|
-
2. Follow its process: scan codebase for existing design patterns, ask UX-focused questions, write Design Context section
|
|
964
|
-
3. The skill persists design context to the project's CLAUDE.md (or `.claude/` config)
|
|
889
|
+
Ask the employee 3 questions using AskUserQuestion:
|
|
890
|
+
1. **Aesthetic direction** — "What feel should this project have?" (options: Clean/minimal, Bold/striking, Warm/friendly, Corporate/professional)
|
|
891
|
+
2. **Color palette** — "Any brand colors or preferences?" (freeform — or offer to pick based on aesthetic)
|
|
892
|
+
3. **Reference sites** — "Any websites you'd like it to look/feel like?" (freeform)
|
|
965
893
|
|
|
966
|
-
|
|
894
|
+
Write `.planning/DESIGN.md` with the answers structured as a design brief. This is read by the frontend guard before any UI work starts.
|
|
967
895
|
|
|
968
896
|
**If `HAS_FRONTEND` is false:** Skip silently.
|
|
969
897
|
|
|
970
898
|
**Commit setup:**
|
|
971
899
|
```bash
|
|
972
|
-
node /home/qualia/.claude/qualia-
|
|
900
|
+
node /home/qualia/.claude/qualia-framework/bin/qualia-tools.js commit "chore: environment setup" --files .env.local supabase/config.toml
|
|
973
901
|
```
|
|
974
902
|
|
|
975
903
|
Ensure `.env.local` is in `.gitignore` (create/append if needed).
|
|
@@ -1002,14 +930,10 @@ Present completion with next steps:
|
|
|
1002
930
|
|
|
1003
931
|
**Phase 1: [Phase Name]** — [Goal from ROADMAP.md]
|
|
1004
932
|
|
|
1005
|
-
/qualia
|
|
1006
|
-
|
|
1007
|
-
<sub>/clear first → fresh context window</sub>
|
|
1008
|
-
|
|
1009
|
-
---
|
|
933
|
+
/qualia-plan-phase 1 — plan the first phase
|
|
1010
934
|
|
|
1011
935
|
**Also available:**
|
|
1012
|
-
- /qualia
|
|
936
|
+
- /qualia-discuss-phase 1 — discuss approach before planning
|
|
1013
937
|
|
|
1014
938
|
───────────────────────────────────────────────────────────────
|
|
1015
939
|
```
|
|
@@ -1050,8 +974,8 @@ Present completion with next steps:
|
|
|
1050
974
|
- [ ] ROADMAP.md created with phases, requirement mappings, success criteria
|
|
1051
975
|
- [ ] STATE.md initialized
|
|
1052
976
|
- [ ] REQUIREMENTS.md traceability updated
|
|
1053
|
-
- [ ] If frontend project:
|
|
1054
|
-
- [ ] User knows next step is `/qualia
|
|
977
|
+
- [ ] If frontend project: DESIGN.md created with design brief
|
|
978
|
+
- [ ] User knows next step is `/qualia-discuss-phase 1`
|
|
1055
979
|
|
|
1056
980
|
**Atomic commits:** Each phase commits its artifacts immediately. If context is lost, artifacts persist.
|
|
1057
981
|
|