qualia-framework 2.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/README.md +50 -0
- package/bin/cli.js +519 -0
- package/framework/agents/architecture-strategist.md +53 -0
- package/framework/agents/backend-agent.md +150 -0
- package/framework/agents/code-simplicity-reviewer.md +86 -0
- package/framework/agents/frontend-agent.md +111 -0
- package/framework/agents/kieran-typescript-reviewer.md +96 -0
- package/framework/agents/performance-oracle.md +111 -0
- package/framework/agents/qualia-codebase-mapper.md +760 -0
- package/framework/agents/qualia-debugger.md +1203 -0
- package/framework/agents/qualia-executor.md +881 -0
- package/framework/agents/qualia-integration-checker.md +423 -0
- package/framework/agents/qualia-phase-researcher.md +453 -0
- package/framework/agents/qualia-plan-checker.md +699 -0
- package/framework/agents/qualia-planner.md +1241 -0
- package/framework/agents/qualia-project-researcher.md +602 -0
- package/framework/agents/qualia-research-synthesizer.md +236 -0
- package/framework/agents/qualia-roadmapper.md +605 -0
- package/framework/agents/qualia-verifier.md +685 -0
- package/framework/agents/team-orchestrator.md +228 -0
- package/framework/agents/teams/full-stack-team.md +48 -0
- package/framework/agents/teams/optimize-team.md +53 -0
- package/framework/agents/teams/review-team.md +62 -0
- package/framework/agents/teams/ship-team.md +86 -0
- package/framework/agents/test-agent.md +182 -0
- package/framework/askpass.sh +2 -0
- package/framework/commands/design.md +53 -0
- package/framework/commands/quick-db.md +22 -0
- package/framework/config/retention.json +35 -0
- package/framework/core/PRINCIPLES.md +77 -0
- package/framework/hooks/auto-format.sh +45 -0
- package/framework/hooks/block-env-edit.sh +42 -0
- package/framework/hooks/branch-guard.sh +46 -0
- package/framework/hooks/confirm-delete.sh +56 -0
- package/framework/hooks/migration-validate.sh +68 -0
- package/framework/hooks/notification-speak.sh +15 -0
- package/framework/hooks/pre-commit.sh +80 -0
- package/framework/hooks/pre-compact.sh +55 -0
- package/framework/hooks/pre-deploy-gate.sh +151 -0
- package/framework/hooks/qualia-colors.sh +32 -0
- package/framework/hooks/retention-cleanup.sh +43 -0
- package/framework/hooks/save-session-state.sh +153 -0
- package/framework/hooks/session-context-loader.sh +28 -0
- package/framework/hooks/session-learn.sh +30 -0
- package/framework/knowledge/claudecode-bible.md +1384 -0
- package/framework/knowledge/client-prefs.md +22 -0
- package/framework/knowledge/common-fixes.md +25 -0
- package/framework/knowledge/deployment-map.md +35 -0
- package/framework/knowledge/email-signature.html +1 -0
- package/framework/knowledge/employees.md +8 -0
- package/framework/knowledge/learned-patterns.md +51 -0
- package/framework/knowledge/optimization-research-2026.md +137 -0
- package/framework/knowledge/qualia-context.md +67 -0
- package/framework/knowledge/supabase-patterns.md +50 -0
- package/framework/knowledge/voice-agent-patterns.md +46 -0
- package/framework/qualia-engine/VERSION +1 -0
- package/framework/qualia-engine/bin/qualia-tools.js +2160 -0
- package/framework/qualia-engine/bin/qualia-tools.test.js +1054 -0
- package/framework/qualia-engine/references/checkpoints.md +775 -0
- package/framework/qualia-engine/references/continuation-format.md +249 -0
- package/framework/qualia-engine/references/decimal-phase-calculation.md +65 -0
- package/framework/qualia-engine/references/design-quality.md +56 -0
- package/framework/qualia-engine/references/git-integration.md +254 -0
- package/framework/qualia-engine/references/git-planning-commit.md +50 -0
- package/framework/qualia-engine/references/model-profile-resolution.md +32 -0
- package/framework/qualia-engine/references/model-profiles.md +73 -0
- package/framework/qualia-engine/references/phase-argument-parsing.md +61 -0
- package/framework/qualia-engine/references/planning-config.md +195 -0
- package/framework/qualia-engine/references/questioning.md +141 -0
- package/framework/qualia-engine/references/tdd.md +263 -0
- package/framework/qualia-engine/references/ui-brand.md +160 -0
- package/framework/qualia-engine/references/verification-patterns.md +612 -0
- package/framework/qualia-engine/templates/DEBUG.md +159 -0
- package/framework/qualia-engine/templates/DESIGN.md +81 -0
- package/framework/qualia-engine/templates/UAT.md +247 -0
- package/framework/qualia-engine/templates/codebase/architecture.md +255 -0
- package/framework/qualia-engine/templates/codebase/concerns.md +310 -0
- package/framework/qualia-engine/templates/codebase/conventions.md +307 -0
- package/framework/qualia-engine/templates/codebase/integrations.md +280 -0
- package/framework/qualia-engine/templates/codebase/stack.md +186 -0
- package/framework/qualia-engine/templates/codebase/structure.md +285 -0
- package/framework/qualia-engine/templates/codebase/testing.md +480 -0
- package/framework/qualia-engine/templates/config.json +35 -0
- package/framework/qualia-engine/templates/context.md +283 -0
- package/framework/qualia-engine/templates/continue-here.md +78 -0
- package/framework/qualia-engine/templates/debug-subagent-prompt.md +91 -0
- package/framework/qualia-engine/templates/discovery.md +146 -0
- package/framework/qualia-engine/templates/milestone-archive.md +123 -0
- package/framework/qualia-engine/templates/milestone.md +115 -0
- package/framework/qualia-engine/templates/phase-prompt.md +567 -0
- package/framework/qualia-engine/templates/planner-subagent-prompt.md +117 -0
- package/framework/qualia-engine/templates/project.md +184 -0
- package/framework/qualia-engine/templates/projects/ai-agent.md +156 -0
- package/framework/qualia-engine/templates/projects/mobile-app.md +181 -0
- package/framework/qualia-engine/templates/projects/voice-agent.md +134 -0
- package/framework/qualia-engine/templates/projects/website.md +137 -0
- package/framework/qualia-engine/templates/requirements.md +231 -0
- package/framework/qualia-engine/templates/research-project/ARCHITECTURE.md +204 -0
- package/framework/qualia-engine/templates/research-project/FEATURES.md +147 -0
- package/framework/qualia-engine/templates/research-project/PITFALLS.md +200 -0
- package/framework/qualia-engine/templates/research-project/STACK.md +120 -0
- package/framework/qualia-engine/templates/research-project/SUMMARY.md +170 -0
- package/framework/qualia-engine/templates/research.md +552 -0
- package/framework/qualia-engine/templates/roadmap.md +202 -0
- package/framework/qualia-engine/templates/state.md +176 -0
- package/framework/qualia-engine/templates/summary-complex.md +59 -0
- package/framework/qualia-engine/templates/summary-minimal.md +41 -0
- package/framework/qualia-engine/templates/summary-standard.md +48 -0
- package/framework/qualia-engine/templates/summary.md +246 -0
- package/framework/qualia-engine/templates/user-setup.md +311 -0
- package/framework/qualia-engine/templates/verification-report.md +322 -0
- package/framework/qualia-engine/workflows/add-phase.md +179 -0
- package/framework/qualia-engine/workflows/add-todo.md +157 -0
- package/framework/qualia-engine/workflows/audit-milestone.md +241 -0
- package/framework/qualia-engine/workflows/check-todos.md +176 -0
- package/framework/qualia-engine/workflows/complete-milestone.md +858 -0
- package/framework/qualia-engine/workflows/diagnose-issues.md +219 -0
- package/framework/qualia-engine/workflows/discovery-phase.md +289 -0
- package/framework/qualia-engine/workflows/discuss-phase.md +534 -0
- package/framework/qualia-engine/workflows/execute-phase.md +559 -0
- package/framework/qualia-engine/workflows/execute-plan.md +438 -0
- package/framework/qualia-engine/workflows/help.md +470 -0
- package/framework/qualia-engine/workflows/insert-phase.md +220 -0
- package/framework/qualia-engine/workflows/list-phase-assumptions.md +178 -0
- package/framework/qualia-engine/workflows/map-codebase.md +327 -0
- package/framework/qualia-engine/workflows/new-milestone.md +363 -0
- package/framework/qualia-engine/workflows/new-project.md +1037 -0
- package/framework/qualia-engine/workflows/pause-work.md +122 -0
- package/framework/qualia-engine/workflows/plan-milestone-gaps.md +256 -0
- package/framework/qualia-engine/workflows/plan-phase.md +422 -0
- package/framework/qualia-engine/workflows/progress.md +354 -0
- package/framework/qualia-engine/workflows/quick.md +252 -0
- package/framework/qualia-engine/workflows/remove-phase.md +326 -0
- package/framework/qualia-engine/workflows/research-phase.md +74 -0
- package/framework/qualia-engine/workflows/resume-project.md +306 -0
- package/framework/qualia-engine/workflows/set-profile.md +80 -0
- package/framework/qualia-engine/workflows/settings.md +145 -0
- package/framework/qualia-engine/workflows/transition.md +556 -0
- package/framework/qualia-engine/workflows/update.md +197 -0
- package/framework/qualia-engine/workflows/verify-phase.md +195 -0
- package/framework/qualia-engine/workflows/verify-work.md +625 -0
- package/framework/rules/context7.md +11 -0
- package/framework/rules/deployment.md +29 -0
- package/framework/rules/frontend.md +33 -0
- package/framework/rules/security.md +12 -0
- package/framework/rules/speed.md +20 -0
- package/framework/scripts/__pycache__/say.cpython-314.pyc +0 -0
- package/framework/scripts/apply-retention.sh +120 -0
- package/framework/scripts/bootstrap-pop-os.sh +354 -0
- package/framework/scripts/claude-voice +13 -0
- package/framework/scripts/cleanup.sh +131 -0
- package/framework/scripts/cowork-mode.sh +141 -0
- package/framework/scripts/generate-project-claude-md.sh +153 -0
- package/framework/scripts/load-test-webhook.js +172 -0
- package/framework/scripts/say.py +236 -0
- package/framework/scripts/showcase-video-recorder/ffmpeg-builder.js +167 -0
- package/framework/scripts/showcase-video-recorder/playwright-helpers.js +216 -0
- package/framework/scripts/speak.py +55 -0
- package/framework/scripts/speak.sh +18 -0
- package/framework/scripts/status.sh +138 -0
- package/framework/scripts/sync-to-framework.sh +65 -0
- package/framework/scripts/voice-hotkey.py +227 -0
- package/framework/scripts/voice-input.sh +51 -0
- package/framework/skills/animate/SKILL.md +202 -0
- package/framework/skills/bolder/SKILL.md +144 -0
- package/framework/skills/browser-qa/SKILL.md +536 -0
- package/framework/skills/clarify/SKILL.md +179 -0
- package/framework/skills/colorize/SKILL.md +170 -0
- package/framework/skills/critique/SKILL.md +126 -0
- package/framework/skills/deep-research/SKILL.md +271 -0
- package/framework/skills/delight/SKILL.md +329 -0
- package/framework/skills/deploy/SKILL.md +261 -0
- package/framework/skills/deploy-verify/SKILL.md +377 -0
- package/framework/skills/deploy-verify/scripts/canary-check.sh +206 -0
- package/framework/skills/deploy-verify/scripts/check-console-errors.js +147 -0
- package/framework/skills/deploy-verify/scripts/check-cwv.js +139 -0
- package/framework/skills/deploy-verify/scripts/project-detect.sh +84 -0
- package/framework/skills/deploy-verify/scripts/verify.sh +548 -0
- package/framework/skills/design-quieter/SKILL.md +130 -0
- package/framework/skills/distill/SKILL.md +149 -0
- package/framework/skills/docs-lookup/SKILL.md +78 -0
- package/framework/skills/fcm-notifications/SKILL.md +125 -0
- package/framework/skills/financial-ledger/SKILL.md +1039 -0
- package/framework/skills/frontend-master/NOTICE.md +4 -0
- package/framework/skills/frontend-master/SKILL.md +127 -0
- package/framework/skills/frontend-master/reference/color-and-contrast.md +132 -0
- package/framework/skills/frontend-master/reference/interaction-design.md +123 -0
- package/framework/skills/frontend-master/reference/motion-design.md +99 -0
- package/framework/skills/frontend-master/reference/responsive-design.md +114 -0
- package/framework/skills/frontend-master/reference/spatial-design.md +100 -0
- package/framework/skills/frontend-master/reference/typography.md +131 -0
- package/framework/skills/frontend-master/reference/ux-writing.md +107 -0
- package/framework/skills/harden/SKILL.md +357 -0
- package/framework/skills/i18n-rtl/SKILL.md +752 -0
- package/framework/skills/learn/SKILL.md +71 -0
- package/framework/skills/memory/SKILL.md +50 -0
- package/framework/skills/mobile-expo/SKILL.md +864 -0
- package/framework/skills/mobile-expo/references/store-checklist.md +550 -0
- package/framework/skills/nestjs-backend/README.md +73 -0
- package/framework/skills/nestjs-backend/SKILL.md +446 -0
- package/framework/skills/nestjs-backend/references/templates.md +1173 -0
- package/framework/skills/normalize/SKILL.md +79 -0
- package/framework/skills/onboard/SKILL.md +242 -0
- package/framework/skills/polish/SKILL.md +209 -0
- package/framework/skills/pr/SKILL.md +66 -0
- package/framework/skills/qualia/SKILL.md +153 -0
- package/framework/skills/qualia-add-todo/SKILL.md +68 -0
- package/framework/skills/qualia-audit-milestone/SKILL.md +92 -0
- package/framework/skills/qualia-check-todos/SKILL.md +55 -0
- package/framework/skills/qualia-complete-milestone/SKILL.md +108 -0
- package/framework/skills/qualia-debug/SKILL.md +149 -0
- package/framework/skills/qualia-design/SKILL.md +203 -0
- package/framework/skills/qualia-discuss-phase/SKILL.md +72 -0
- package/framework/skills/qualia-execute-phase/SKILL.md +86 -0
- package/framework/skills/qualia-help/SKILL.md +67 -0
- package/framework/skills/qualia-idk/SKILL.md +352 -0
- package/framework/skills/qualia-list-phase-assumptions/SKILL.md +67 -0
- package/framework/skills/qualia-new-milestone/SKILL.md +72 -0
- package/framework/skills/qualia-new-project/SKILL.md +92 -0
- package/framework/skills/qualia-optimize/SKILL.md +417 -0
- package/framework/skills/qualia-pause-work/SKILL.md +96 -0
- package/framework/skills/qualia-plan-milestone-gaps/SKILL.md +57 -0
- package/framework/skills/qualia-plan-phase/SKILL.md +101 -0
- package/framework/skills/qualia-progress/SKILL.md +53 -0
- package/framework/skills/qualia-quick/SKILL.md +89 -0
- package/framework/skills/qualia-research-phase/SKILL.md +88 -0
- package/framework/skills/qualia-resume-work/SKILL.md +62 -0
- package/framework/skills/qualia-review/SKILL.md +263 -0
- package/framework/skills/qualia-start/SKILL.md +182 -0
- package/framework/skills/qualia-verify-work/SKILL.md +105 -0
- package/framework/skills/qualia-workflow/SKILL.md +130 -0
- package/framework/skills/rag/SKILL.md +750 -0
- package/framework/skills/responsive/SKILL.md +231 -0
- package/framework/skills/retro/SKILL.md +284 -0
- package/framework/skills/sakani-conventions/SKILL.md +136 -0
- package/framework/skills/sakani-conventions/evals/evals.json +23 -0
- package/framework/skills/sakani-conventions/references/entities.md +365 -0
- package/framework/skills/sakani-conventions/references/error-codes.md +95 -0
- package/framework/skills/seo-master/SKILL.md +490 -0
- package/framework/skills/seo-master/references/checklist.md +199 -0
- package/framework/skills/seo-master/references/structured-data.md +609 -0
- package/framework/skills/ship/SKILL.md +202 -0
- package/framework/skills/stack-researcher/SKILL.md +215 -0
- package/framework/skills/status/SKILL.md +154 -0
- package/framework/skills/status/scripts/health-check.sh +562 -0
- package/framework/skills/subscription-payments/SKILL.md +250 -0
- package/framework/skills/supabase/SKILL.md +973 -0
- package/framework/skills/supabase/references/templates.md +159 -0
- package/framework/skills/team/SKILL.md +67 -0
- package/framework/skills/test-runner/SKILL.md +202 -0
- package/framework/skills/voice-agent/SKILL.md +407 -0
- package/framework/skills/zoho-workflow/SKILL.md +51 -0
- package/framework/statusline-command.sh +117 -0
- package/package.json +24 -0
- package/profiles/fawzi.json +16 -0
- package/profiles/hasan.json +16 -0
- package/profiles/moayad.json +16 -0
- package/templates/CLAUDE-owner.md +52 -0
- package/templates/CLAUDE.md.hbs +58 -0
- package/templates/env.claude.template +12 -0
- package/templates/settings.json +141 -0
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qualia-start
|
|
3
|
+
description: "Activate Qualia mode for the entire session. Auto-invoked on SessionStart. Detects project type, gathers cross-session context, runs system health checks, loads relevant skills and patterns, enables all quality gates. Use when starting any work session to get full framework intelligence on every interaction."
|
|
4
|
+
user-invocable: true
|
|
5
|
+
args: []
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Qualia Mode — Teal Activation Dashboard
|
|
9
|
+
|
|
10
|
+
Activate all framework intelligence. Gather session context, run diagnostics, render branded teal dashboard.
|
|
11
|
+
|
|
12
|
+
**Auto-invoked on SessionStart and /clear.** Also callable manually with `/qualia-start`.
|
|
13
|
+
|
|
14
|
+
## How This Works
|
|
15
|
+
|
|
16
|
+
You will:
|
|
17
|
+
1. Run bash commands to gather project data + session context
|
|
18
|
+
2. Format everything into a teal-branded dashboard yourself (not raw bash output)
|
|
19
|
+
3. Activate behavioral rules for the session
|
|
20
|
+
|
|
21
|
+
**CRITICAL**: Do NOT dump raw bash output. YOU format the dashboard as styled text output.
|
|
22
|
+
|
|
23
|
+
## Step 1: Gather Project Data
|
|
24
|
+
|
|
25
|
+
Run these bash commands to collect info (combine where possible):
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
pwd
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
node -e "try{const p=require('./package.json');console.log(p.name||'')}catch(e){console.log('')}" 2>/dev/null
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
git branch --show-current 2>/dev/null || echo ""
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
git status --porcelain 2>/dev/null | wc -l
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
node -v 2>/dev/null || echo "none"
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
test -f tsconfig.json && echo "yes" || echo "no"
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
test -d supabase && echo "supabase:yes" || echo "supabase:no"; test -d .planning && echo "planning:yes" || echo "planning:no"; ls next.config.* 2>/dev/null | head -1; ls app.json expo.json 2>/dev/null | head -1; ls app.py main.py 2>/dev/null | head -1
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
HOOKS_OK=0; HOOKS_TOTAL=0; for h in branch-guard pre-commit confirm-delete migration-validate pre-deploy-gate block-env-edit auto-format session-context-loader retention-cleanup pre-compact save-session-state session-learn notification-speak qualia-colors; do HOOKS_TOTAL=$((HOOKS_TOTAL+1)); test -f "$HOME/.claude/hooks/${h}.sh" && HOOKS_OK=$((HOOKS_OK+1)); done; echo "${HOOKS_OK}/${HOOKS_TOTAL}"
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
If `.planning/STATE.md` exists, read it. If `.planning/ROADMAP.md` exists, read it.
|
|
60
|
+
|
|
61
|
+
Classify project type from signals: `web` | `voice` | `mobile` | `python-agent` | `edge-functions` | `framework` | `unknown`
|
|
62
|
+
|
|
63
|
+
## Step 2: Gather Session Context
|
|
64
|
+
|
|
65
|
+
This replaces the old session-context-loader. Run these:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
# Cross-project session digest (last 5 sessions)
|
|
69
|
+
tail -n +4 ~/.claude/knowledge/session-digest.md 2>/dev/null | head -5
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
# Stale knowledge detection (>30 days) — only top-level .md files
|
|
74
|
+
NOW=$(date +%s); find ~/.claude/knowledge -maxdepth 1 -name "*.md" -type f | while read f; do B=$(basename "$f"); [ "$B" = "session-digest.md" ] && continue; AGE=$(( (NOW - $(stat -c %Y "$f" 2>/dev/null || echo $NOW)) / 86400 )); [ "$AGE" -gt 30 ] && echo "STALE: ${B} (${AGE}d)"; done
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
# Project pulse (git activity in last 7 days)
|
|
79
|
+
for DIR in ~/Projects/*/; do [ -d "$DIR/.git" ] || continue; LAST=$(git -C "$DIR" log --oneline -1 --since="7 days ago" --format="%ar" 2>/dev/null); [ -n "$LAST" ] && echo "$(basename "$DIR")(${LAST})"; done | head -10
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
# Check for .continue-here.md (auto-handoff from previous session)
|
|
84
|
+
test -f .continue-here.md && echo "HANDOFF: .continue-here.md exists" || echo ""
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## Step 3: Render the Dashboard
|
|
88
|
+
|
|
89
|
+
**CRITICAL RENDERING RULE**: Output the dashboard as plain text directly from your response — do NOT use Bash, printf, or echo to render it. Write it as regular markdown text output. ANSI escape codes do NOT work in Claude Code text output — they show as raw garbage. Use markdown formatting instead.
|
|
90
|
+
|
|
91
|
+
**Use this format** (plain text with unicode symbols, no ANSI codes):
|
|
92
|
+
|
|
93
|
+
**Dashboard example** (adapt with real data, output as plain markdown text):
|
|
94
|
+
|
|
95
|
+
```
|
|
96
|
+
◆ Q U A L I A M O D E
|
|
97
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
98
|
+
|
|
99
|
+
Project underdogsales
|
|
100
|
+
Type web
|
|
101
|
+
Branch fix/header-nav
|
|
102
|
+
Git clean (0 changes)
|
|
103
|
+
|
|
104
|
+
── SYSTEM ──────────────────────────────
|
|
105
|
+
✓ Hooks 14/14
|
|
106
|
+
✓ Node v22.x TS: yes
|
|
107
|
+
✓ Supabase linked
|
|
108
|
+
|
|
109
|
+
── SESSION ─────────────────────────────
|
|
110
|
+
Recent under(3h) giulio-agent(5h)
|
|
111
|
+
Pulse qualia-erp underdogsales vero
|
|
112
|
+
▲ Stale: employees.md (5d)
|
|
113
|
+
|
|
114
|
+
── PROJECT ─────────────────────────────
|
|
115
|
+
Phase 3/6 — Auth Integration
|
|
116
|
+
Status executed
|
|
117
|
+
DESIGN.md ✓ REVIEW.md ▲ stale
|
|
118
|
+
|
|
119
|
+
── GATES ───────────────────────────────
|
|
120
|
+
✓ Frontend guard ✓ Deploy guard
|
|
121
|
+
✓ Intent verify ✓ Security rules
|
|
122
|
+
✓ TypeScript ✓ .env protection
|
|
123
|
+
|
|
124
|
+
── PATTERNS ────────────────────────────
|
|
125
|
+
frontend-master responsive seo-master ship
|
|
126
|
+
|
|
127
|
+
── NEXT ────────────────────────────────
|
|
128
|
+
→ /qualia-verify-work 3
|
|
129
|
+
|
|
130
|
+
Session armed. All quality gates active.
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### Rules:
|
|
134
|
+
- Output this as **plain text** in your response, NOT via Bash/printf
|
|
135
|
+
- Use `✓` for pass, `✗` for fail, `▲` for warning, `·` for skipped
|
|
136
|
+
- If no `.planning/` → show "ad-hoc mode" in PROJECT section
|
|
137
|
+
- If no git → show "no git"
|
|
138
|
+
- If no package.json → use directory name as project
|
|
139
|
+
- If .continue-here.md exists → show "▲ Handoff: read .continue-here.md" in SESSION
|
|
140
|
+
- Omit sections that have no data (e.g., no SESSION section if no digest/pulse)
|
|
141
|
+
|
|
142
|
+
## Step 4: Route to Next Action
|
|
143
|
+
|
|
144
|
+
The NEXT section shows one routing suggestion:
|
|
145
|
+
- Phase needs planning → `Run /qualia-plan-phase N`
|
|
146
|
+
- Phase planned → `Run /qualia-execute-phase N`
|
|
147
|
+
- Phase executed → `Run /qualia-verify-work N`
|
|
148
|
+
- Gaps found → `Run /qualia-plan-phase N --gaps`
|
|
149
|
+
- All phases done → `Run /qualia-audit-milestone`
|
|
150
|
+
- No .planning → `Start with /qualia-new-project or work ad-hoc`
|
|
151
|
+
- .continue-here.md exists → `Read .continue-here.md and resume`
|
|
152
|
+
|
|
153
|
+
## Step 5: Activate Behavioral Rules
|
|
154
|
+
|
|
155
|
+
After rendering the dashboard, activate these for the rest of the session:
|
|
156
|
+
|
|
157
|
+
1. **Frontend guard**: Before writing *.tsx, *.jsx, *.css — read DESIGN.md first
|
|
158
|
+
2. **Deploy guard**: Before vercel --prod — check REVIEW.md freshness
|
|
159
|
+
3. **Intent verification**: When 3+ files will change — list and confirm
|
|
160
|
+
4. **Quality defaults**: Security rules, tsc checks, RLS consideration
|
|
161
|
+
|
|
162
|
+
## Step 6: Load Patterns
|
|
163
|
+
|
|
164
|
+
Note relevant skills for the session (do NOT read them now):
|
|
165
|
+
|
|
166
|
+
| Project Type | Active Patterns |
|
|
167
|
+
|-------------|-----------------|
|
|
168
|
+
| web | frontend-master, responsive, seo-master, qualia-review, ship, deploy-verify |
|
|
169
|
+
| voice | voice-agent, ship, deploy-verify |
|
|
170
|
+
| mobile | mobile-expo, i18n-rtl, fcm-notifications |
|
|
171
|
+
| python-agent | test-runner |
|
|
172
|
+
| edge-functions | supabase, ship |
|
|
173
|
+
| framework | test-runner |
|
|
174
|
+
|
|
175
|
+
If Sakani detected: also load sakani-conventions, i18n-rtl, nestjs-backend, financial-ledger, subscription-payments.
|
|
176
|
+
|
|
177
|
+
## Persistence
|
|
178
|
+
|
|
179
|
+
Qualia mode persists through the session via:
|
|
180
|
+
1. CLAUDE.md "Qualia Mode" section describes always-on behaviors
|
|
181
|
+
2. Compaction rules preserve "Qualia mode: active" state
|
|
182
|
+
3. If `/compact` is needed, compacted context includes "Qualia mode is active"
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qualia-verify-work
|
|
3
|
+
description: "Conversational UAT testing for a completed phase — verify work meets requirements with persistent test tracking. Use this skill whenever the user says 'verify', 'test phase', 'check work', 'UAT', 'verify work', or wants to validate that a completed phase meets its acceptance criteria. Also trigger when user mentions 'quality check', 'does this work', or needs to run through verification of implemented features."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Qualia Verify Work — Phase UAT Testing
|
|
7
|
+
|
|
8
|
+
Run conversational UAT (User Acceptance Testing) for a completed phase with persistent state tracking.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
`/qualia-verify-work 3` — Verify phase 3
|
|
13
|
+
`/qualia-verify-work` — Auto-detect phase needing verification
|
|
14
|
+
|
|
15
|
+
## Process
|
|
16
|
+
|
|
17
|
+
### 1. Load Context
|
|
18
|
+
|
|
19
|
+
Read:
|
|
20
|
+
- `.planning/STATE.md`
|
|
21
|
+
- `.planning/ROADMAP.md`
|
|
22
|
+
- Phase PLAN.md — for acceptance criteria
|
|
23
|
+
- Phase SUMMARY.md — for what was implemented
|
|
24
|
+
|
|
25
|
+
Reference: `~/.claude/qualia-engine/workflows/verify-work.md`
|
|
26
|
+
|
|
27
|
+
### 2. Create UAT Tracking
|
|
28
|
+
|
|
29
|
+
Create `{phase}-UAT.md` using template from `~/.claude/qualia-engine/templates/UAT.md`:
|
|
30
|
+
|
|
31
|
+
```markdown
|
|
32
|
+
# Phase {N}: {Name} — UAT Results
|
|
33
|
+
|
|
34
|
+
## Test Results
|
|
35
|
+
|
|
36
|
+
| # | Test | Status | Notes |
|
|
37
|
+
|---|------|--------|-------|
|
|
38
|
+
| 1 | [from acceptance criteria] | ⏳ | |
|
|
39
|
+
| 2 | ... | ⏳ | |
|
|
40
|
+
|
|
41
|
+
## Issues Found
|
|
42
|
+
(none yet)
|
|
43
|
+
|
|
44
|
+
## Overall: ⏳ In Progress
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### 3. Conversational Testing
|
|
48
|
+
|
|
49
|
+
Walk through each acceptance criterion from the PLAN.md:
|
|
50
|
+
- Test the feature/behavior
|
|
51
|
+
- Record pass (✅) or fail (❌) in the UAT table
|
|
52
|
+
- For failures, document what went wrong
|
|
53
|
+
|
|
54
|
+
This is interactive — discuss findings with the user as you go.
|
|
55
|
+
|
|
56
|
+
### 4. Handle Results
|
|
57
|
+
|
|
58
|
+
#### All tests pass:
|
|
59
|
+
Update UAT.md overall status to ✅ PASSED. Update STATE.md phase status to `verified`.
|
|
60
|
+
> "Phase {N} verified! Run `/qualia-progress` for next steps."
|
|
61
|
+
|
|
62
|
+
#### Issues found:
|
|
63
|
+
Document gaps in UAT.md. For each gap:
|
|
64
|
+
- What's wrong
|
|
65
|
+
- Severity (blocker, major, minor)
|
|
66
|
+
- Suggested fix approach
|
|
67
|
+
|
|
68
|
+
Then offer:
|
|
69
|
+
> "Found {N} issues. Run `/qualia-plan-phase {phase} --gaps` to create fix plans, then `/qualia-execute-phase {phase} --gaps-only` to fix them."
|
|
70
|
+
|
|
71
|
+
### 5. Shipping Checklist Cross-Reference
|
|
72
|
+
|
|
73
|
+
After UAT testing, cross-reference results against the relevant shipping checklist from `~/Projects/qualia-erp/docs/completion-checklists.md`.
|
|
74
|
+
|
|
75
|
+
Detect project type from `.planning/PROJECT.md` or `package.json` and load:
|
|
76
|
+
- **website** → "Website-Specific Checklist" + "Universal Checklist"
|
|
77
|
+
- **agent** → "AI Agent Checklist" + "Universal Checklist"
|
|
78
|
+
- **voice** → "Voice Agent Checklist" + "Universal Checklist"
|
|
79
|
+
- **mobile** → "Mobile App Checklist" + "Universal Checklist"
|
|
80
|
+
- **platform** → "Platform with LLM Checklist" + "Universal Checklist"
|
|
81
|
+
|
|
82
|
+
For items relevant to this phase's scope, verify each one:
|
|
83
|
+
- Run automated checks where possible (grep for service_role, check meta tags, etc.)
|
|
84
|
+
- Add unchecked items as additional UAT entries in the phase UAT.md
|
|
85
|
+
- Report: "Shipping checklist: X/Y items verified for this phase"
|
|
86
|
+
|
|
87
|
+
Do NOT check items outside this phase's scope (e.g., don't check deployment items during a Phase 1 verify).
|
|
88
|
+
|
|
89
|
+
### 6. Design Quality Check (Frontend Phases)
|
|
90
|
+
|
|
91
|
+
If the phase involves frontend work (detected from PLAN.md file references or phase description), after UAT passes with zero issues, suggest the design quality workflow:
|
|
92
|
+
|
|
93
|
+
`/critique` → `/polish` → `/harden` → then proceed to next phase.
|
|
94
|
+
|
|
95
|
+
This is advisory — user can skip by running the next command directly.
|
|
96
|
+
|
|
97
|
+
### 7. Update State
|
|
98
|
+
|
|
99
|
+
Update `.planning/STATE.md` to reflect verification status.
|
|
100
|
+
|
|
101
|
+
### Agents Used
|
|
102
|
+
| Agent | File | Role |
|
|
103
|
+
|-------|------|------|
|
|
104
|
+
| `qualia-planner` | `~/.claude/agents/qualia-planner.md` | Creates fix plans from diagnosed gaps |
|
|
105
|
+
| `qualia-plan-checker` | `~/.claude/agents/qualia-plan-checker.md` | Validates fix plans (max 3 iterations) |
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qualia-workflow
|
|
3
|
+
description: Qualia Solutions project conventions - structure, patterns, deployment checklist. Use when starting or auditing Qualia client projects.
|
|
4
|
+
tags: [qualia, workflow, nextjs, supabase, vercel]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Qualia Solutions Conventions
|
|
8
|
+
|
|
9
|
+
Project conventions for Qualia Solutions client work. For specific tooling, use dedicated skills (`/supabase`, `/voice-agent`, `/deploy`, etc.).
|
|
10
|
+
|
|
11
|
+
## Standard Tech Stack
|
|
12
|
+
|
|
13
|
+
| Layer | Technology | Notes |
|
|
14
|
+
|-------|------------|-------|
|
|
15
|
+
| Frontend | Next.js 16+ + React 19 + TypeScript | App Router, Server Components |
|
|
16
|
+
| Styling | Tailwind CSS + shadcn/ui | Custom themes per client |
|
|
17
|
+
| Backend | Supabase | Postgres, Auth, RLS, Edge Functions |
|
|
18
|
+
| Deployment | Vercel | Preview on PR, Production on main |
|
|
19
|
+
| Voice AI | VAPI or Hume EVI | Depending on emotion needs |
|
|
20
|
+
| Automation | n8n | Workflow orchestration |
|
|
21
|
+
| Monitoring | LangSmith | LLM observability |
|
|
22
|
+
|
|
23
|
+
## Project Structure
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
project/
|
|
27
|
+
├── app/ # Next.js App Router
|
|
28
|
+
│ ├── (auth)/ # Auth-required routes
|
|
29
|
+
│ ├── (marketing)/ # Public pages
|
|
30
|
+
│ ├── api/ # API routes (minimal, prefer server actions)
|
|
31
|
+
│ └── layout.tsx # Root layout
|
|
32
|
+
├── components/
|
|
33
|
+
│ ├── ui/ # shadcn/ui components
|
|
34
|
+
│ ├── forms/ # Form components
|
|
35
|
+
│ └── [feature]/ # Feature-specific components
|
|
36
|
+
├── lib/
|
|
37
|
+
│ ├── supabase/ # Supabase clients (server/client)
|
|
38
|
+
│ ├── utils.ts # Utility functions
|
|
39
|
+
│ └── constants.ts # App constants
|
|
40
|
+
├── types/
|
|
41
|
+
│ ├── database.ts # Generated from Supabase
|
|
42
|
+
│ └── index.ts # App types
|
|
43
|
+
├── supabase/
|
|
44
|
+
│ ├── migrations/ # SQL migrations
|
|
45
|
+
│ └── functions/ # Edge functions
|
|
46
|
+
├── hooks/ # Custom React hooks
|
|
47
|
+
├── actions/ # Server actions
|
|
48
|
+
└── public/ # Static assets
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Key Patterns
|
|
52
|
+
|
|
53
|
+
- **Server Components first** -- only add `'use client'` when interactivity is needed
|
|
54
|
+
- **Server Actions for mutations** -- always auth check first (`supabase.auth.getUser()`)
|
|
55
|
+
- **Prefer server actions over API routes** -- fewer files, same security
|
|
56
|
+
- **Generate types** after every migration: `npx supabase gen types typescript`
|
|
57
|
+
|
|
58
|
+
## Server Action Template
|
|
59
|
+
|
|
60
|
+
```typescript
|
|
61
|
+
'use server'
|
|
62
|
+
|
|
63
|
+
import { revalidatePath } from 'next/cache'
|
|
64
|
+
import { createClient } from '@/lib/supabase/server'
|
|
65
|
+
|
|
66
|
+
export async function createProduct(formData: FormData) {
|
|
67
|
+
const supabase = await createClient()
|
|
68
|
+
|
|
69
|
+
// Auth check first
|
|
70
|
+
const { data: { user }, error: authError } = await supabase.auth.getUser()
|
|
71
|
+
if (authError || !user) throw new Error('Unauthorized')
|
|
72
|
+
|
|
73
|
+
const { error } = await supabase
|
|
74
|
+
.from('products')
|
|
75
|
+
.insert({ name: formData.get('name') })
|
|
76
|
+
|
|
77
|
+
if (error) throw new Error('Failed to create product')
|
|
78
|
+
|
|
79
|
+
revalidatePath('/products')
|
|
80
|
+
}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Deployment Checklist
|
|
84
|
+
|
|
85
|
+
1. **Environment Variables**
|
|
86
|
+
- [ ] All secrets in Vercel (not in code)
|
|
87
|
+
- [ ] Different keys for preview vs production
|
|
88
|
+
- [ ] NEXT_PUBLIC_ prefix only for client-safe vars
|
|
89
|
+
|
|
90
|
+
2. **Database**
|
|
91
|
+
- [ ] Migrations applied
|
|
92
|
+
- [ ] RLS policies on all tables
|
|
93
|
+
- [ ] Indexes on frequently queried columns
|
|
94
|
+
- [ ] Types generated and committed
|
|
95
|
+
|
|
96
|
+
3. **Security**
|
|
97
|
+
- [ ] No exposed API keys
|
|
98
|
+
- [ ] CORS configured
|
|
99
|
+
- [ ] Rate limiting on API routes
|
|
100
|
+
- [ ] Input validation everywhere
|
|
101
|
+
|
|
102
|
+
4. **Performance**
|
|
103
|
+
- [ ] Images optimized (next/image)
|
|
104
|
+
- [ ] Fonts optimized (next/font)
|
|
105
|
+
- [ ] Bundle analyzed
|
|
106
|
+
- [ ] Core Web Vitals passing
|
|
107
|
+
|
|
108
|
+
## New Feature Workflow
|
|
109
|
+
|
|
110
|
+
```
|
|
111
|
+
1. Database schema first (if needed)
|
|
112
|
+
2. Supabase migration
|
|
113
|
+
3. Generate types: npx supabase gen types typescript
|
|
114
|
+
4. Server Components for data display
|
|
115
|
+
5. Server Actions for mutations
|
|
116
|
+
6. Client Components only for interactivity
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
## External Tools Available
|
|
120
|
+
|
|
121
|
+
- **Supabase**: Use `/supabase` skill (CLI-first) or Supabase MCP plugin
|
|
122
|
+
- **Context7 MCP**: Library documentation lookup
|
|
123
|
+
- **VAPI MCP**: Voice agent configuration
|
|
124
|
+
- **Telnyx MCP**: Phone numbers, messaging, calls
|
|
125
|
+
- **ElevenLabs MCP**: Voice synthesis
|
|
126
|
+
- **Playwright MCP**: Browser automation and testing
|
|
127
|
+
- **Sentry MCP**: Error tracking and monitoring
|
|
128
|
+
- **Firecrawl MCP**: Web scraping and search
|
|
129
|
+
- **Google Calendar MCP**: Calendar operations
|
|
130
|
+
- **GitHub CLI** (`gh`): PRs, issues, code review (NOT MCP — use Bash)
|