qualia-framework 6.2.10 → 6.4.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/AGENTS.md +8 -7
- package/CLAUDE.md +5 -4
- package/README.md +27 -56
- package/bin/cli.js +113 -18
- package/bin/command-surface.js +75 -0
- package/bin/harness-eval.js +296 -0
- package/bin/install.js +43 -31
- package/bin/knowledge-flush.js +21 -10
- package/bin/knowledge.js +1 -1
- package/bin/learning-candidates.js +217 -0
- package/bin/project-snapshot.js +20 -0
- package/bin/prune-deprecated.js +64 -0
- package/bin/report-payload.js +18 -0
- package/bin/runtime-manifest.js +7 -0
- package/bin/security-scan.js +409 -0
- package/bin/state.js +31 -0
- package/bin/status-snapshot.js +363 -0
- package/bin/trust-score.js +3 -11
- package/bin/work-packet.js +228 -0
- package/docs/erp-contract.md +81 -1
- package/docs/onboarding.html +0 -11
- package/guide.md +15 -38
- package/hooks/fawzi-approval-guard.js +143 -0
- package/hooks/pre-compact.js +232 -0
- package/hooks/pre-deploy-gate.js +74 -1
- package/hooks/session-start.js +29 -1
- package/package.json +1 -1
- package/qualia-design/frontend.md +2 -2
- package/rules/codex-goal.md +1 -1
- package/rules/one-opinion.md +2 -2
- package/rules/speed.md +0 -1
- package/skills/qualia/SKILL.md +4 -4
- package/skills/qualia-build/SKILL.md +1 -1
- package/skills/qualia-discuss/SKILL.md +1 -1
- package/skills/qualia-doctor/SKILL.md +1 -1
- package/skills/qualia-feature/SKILL.md +2 -2
- package/skills/qualia-fix/SKILL.md +4 -4
- package/skills/qualia-idk/SKILL.md +133 -54
- package/skills/qualia-learn/SKILL.md +2 -2
- package/skills/qualia-map/SKILL.md +1 -1
- package/skills/qualia-milestone/SKILL.md +1 -1
- package/skills/qualia-new/SKILL.md +1 -1
- package/skills/qualia-optimize/SKILL.md +1 -1
- package/skills/qualia-plan/SKILL.md +1 -1
- package/skills/qualia-polish/REFERENCE.md +1 -1
- package/skills/qualia-polish/SKILL.md +19 -4
- package/skills/{qualia-vibe/scripts/extract.mjs → qualia-polish/scripts/vibe-extract.mjs} +4 -4
- package/skills/{qualia-vibe/scripts/tokens.mjs → qualia-polish/scripts/vibe-tokens.mjs} +6 -6
- package/skills/qualia-postmortem/SKILL.md +1 -1
- package/skills/qualia-report/SKILL.md +1 -1
- package/skills/qualia-research/SKILL.md +1 -1
- package/skills/qualia-review/SKILL.md +1 -1
- package/skills/qualia-road/SKILL.md +15 -20
- package/skills/qualia-secure/SKILL.md +105 -0
- package/skills/qualia-ship/SKILL.md +12 -5
- package/skills/qualia-test/SKILL.md +1 -1
- package/skills/qualia-verify/SKILL.md +10 -2
- package/skills/zoho-workflow/SKILL.md +1 -1
- package/templates/help.html +1 -12
- package/tests/bin.test.sh +147 -75
- package/tests/hooks.test.sh +81 -1
- package/tests/install-smoke.test.sh +14 -4
- package/tests/lib.test.sh +145 -3
- package/tests/published-install-smoke.test.sh +5 -4
- package/tests/refs.test.sh +32 -20
- package/tests/runner.js +30 -29
- package/tests/state.test.sh +106 -7
- package/skills/qualia-debug/SKILL.md +0 -193
- package/skills/qualia-flush/SKILL.md +0 -198
- package/skills/qualia-help/SKILL.md +0 -74
- package/skills/qualia-hook-gen/SKILL.md +0 -206
- package/skills/qualia-issues/SKILL.md +0 -151
- package/skills/qualia-pause/SKILL.md +0 -68
- package/skills/qualia-resume/SKILL.md +0 -52
- package/skills/qualia-skill-new/SKILL.md +0 -173
- package/skills/qualia-triage/SKILL.md +0 -152
- package/skills/qualia-vibe/SKILL.md +0 -229
- package/skills/qualia-zoom/SKILL.md +0 -51
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: qualia-learn
|
|
3
|
-
description: "Save a learning, pattern, fix, or client preference to the knowledge base. Persists across projects
|
|
3
|
+
description: "Save a learning, pattern, fix, or client preference to the knowledge base. Persists across projects + sessions. Triggers: 'remember this', 'save this pattern', 'learned something', 'client prefers'."
|
|
4
4
|
allowed-tools:
|
|
5
5
|
- Read
|
|
6
6
|
- Write
|
|
@@ -122,7 +122,7 @@ node ${QUALIA_BIN}/knowledge.js list
|
|
|
122
122
|
node ${QUALIA_BIN}/knowledge.js search "RLS"
|
|
123
123
|
```
|
|
124
124
|
|
|
125
|
-
The `/qualia-
|
|
125
|
+
The `/qualia-fix` skill should check `common-fixes.md` (`load fixes`) before
|
|
126
126
|
investigating. The `/qualia-new` skill should check `client-prefs.md`
|
|
127
127
|
(`load client`) when setting up client projects. The `/qualia-plan` skill
|
|
128
128
|
should check `learned-patterns.md` (`load patterns`) when planning phases.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: qualia-map
|
|
3
|
-
description: "Map an existing codebase
|
|
3
|
+
description: "Map an existing codebase (architecture, stack, conventions, capabilities) and adapt Qualia to its tracker/labels/glossary. Run BEFORE /qualia-new on brownfield projects. Triggers: 'map this codebase', 'onboard to existing project', 'brownfield setup', 'scan the repo', 'inherited a codebase'."
|
|
4
4
|
allowed-tools:
|
|
5
5
|
- Bash
|
|
6
6
|
- Read
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: qualia-milestone
|
|
3
|
-
description: "Close
|
|
3
|
+
description: "Close current milestone and open next — loads scope from JOURNEY.md (no ad-hoc naming), archives, regenerates ROADMAP.md. Triggers: 'close milestone', 'next milestone', 'milestone done', 'M1 done open M2'."
|
|
4
4
|
allowed-tools:
|
|
5
5
|
- Bash
|
|
6
6
|
- Read
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: qualia-new
|
|
3
|
-
description: "Set up a new project
|
|
3
|
+
description: "Set up a new project — kickoff interview, research, CONTEXT.md glossary, decisions/ ADRs, JOURNEY.md, single approval gate, optional `--auto`. Triggers: 'new project', 'start a project', 'qualia-new', 'set up'."
|
|
4
4
|
allowed-tools:
|
|
5
5
|
- Bash
|
|
6
6
|
- Read
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: qualia-optimize
|
|
3
|
-
description: "Deep improvement discovery pass —
|
|
3
|
+
description: "Deep improvement discovery pass — spawns parallel specialist agents and writes OPTIMIZE.md/RFCs. Triggers: 'optimize', 'find issues', 'performance audit', 'design alignment check', 'speed up', 'bundle size', 'shallow modules', 'simplify'. Flags: --perf, --ui, --backend, --alignment, --deepen, --fix. Routes practical repair to /qualia-fix or /qualia-polish."
|
|
4
4
|
allowed-tools:
|
|
5
5
|
- Bash
|
|
6
6
|
- Read
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: qualia-plan
|
|
3
|
-
description: "
|
|
3
|
+
description: "Plan the current phase — planner agent breaks it into wave-grouped tasks, plan-checker validates (max 2 cycles). Supports `--gaps` for verification-failure closure. Triggers: 'plan this phase', 'break this into tasks', 'plan phase 2'."
|
|
4
4
|
allowed-tools:
|
|
5
5
|
- Bash
|
|
6
6
|
- Read
|
|
@@ -262,6 +262,6 @@ This is intentional. Most visual regressions Fawzi has documented in `/insights`
|
|
|
262
262
|
- Accessibility audits beyond what the rubric scores — use `/qualia-polish` Stage 3 (Lighthouse + axe) for that.
|
|
263
263
|
- Performance regressions — use `/qualia-polish --loop` only after Lighthouse score passes.
|
|
264
264
|
- Reference-image-only mode (compare to a target screenshot without a brief) — the brief is required; reference is supplemental.
|
|
265
|
-
- Aesthetic pivots — if the issue is "the whole vibe is wrong", `/qualia-vibe` swaps the aesthetic in minutes instead of grinding the loop against a vibe that doesn't fit.
|
|
265
|
+
- Aesthetic pivots — if the issue is "the whole vibe is wrong", `/qualia-polish --vibe` swaps the aesthetic in minutes instead of grinding the loop against a vibe that doesn't fit.
|
|
266
266
|
|
|
267
267
|
Implemented as of v5.2: `--routes a,b,c` for multi-route sweeps, `--reduced-motion` for `prefers-reduced-motion: reduce` capture.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: qualia-polish
|
|
3
|
-
description: "Scope-adaptive visual quality pass
|
|
3
|
+
description: "Scope-adaptive visual quality pass — component, route, whole app, redesign, vibe pivot, or autonomous loop. Triggers: 'polish', 'design pass', 'redesign', 'critique', 'looks ugly', 'different vibe', 'visual loop'. Route functional bugs to /qualia-fix."
|
|
4
4
|
allowed-tools:
|
|
5
5
|
- Bash
|
|
6
6
|
- Read
|
|
@@ -18,7 +18,7 @@ argument-hint: "[file|route|--redesign|--critique|--quick|--loop] [--register=br
|
|
|
18
18
|
|
|
19
19
|
One command. Seven scopes. Use it whenever you need design work, from a 30-second component touch-up to a ground-up redesign with current design research, complex visuals, and a fully transparent see-fix-verify loop.
|
|
20
20
|
|
|
21
|
-
Polish fixes visual quality only. Broken behavior, failing tests, API bugs, state bugs, and config errors go to `/qualia-fix`. Whole-site aesthetic token pivots
|
|
21
|
+
Polish fixes visual quality only. Broken behavior, failing tests, API bugs, state bugs, and config errors go to `/qualia-fix`. Whole-site aesthetic token pivots stay inside `/qualia-polish --vibe` so the design surface is one command.
|
|
22
22
|
|
|
23
23
|
## Scopes
|
|
24
24
|
|
|
@@ -32,9 +32,10 @@ The first argument selects the scope. Stage selection follows from scope.
|
|
|
32
32
|
| `/qualia-polish --redesign` | **Redesign** | ~30m | all + Stage 1 mandatory + 2 vision iterations |
|
|
33
33
|
| `/qualia-polish --critique` | **Critique** | read-only | 0, 4, 5 (no edits) |
|
|
34
34
|
| `/qualia-polish --quick` | **Quick** | ~1m | 0, 2, 7 (gates only, no vision loop) |
|
|
35
|
+
| `/qualia-polish --vibe` | **Aesthetic pivot** | ~3m | token-only direction swap |
|
|
35
36
|
| `/qualia-polish --loop {url}` | **Loop** | ~5-15m | autonomous see/fix/verify, max 8 iterations |
|
|
36
37
|
|
|
37
|
-
Other flags: `--register=brand|product` overrides register inference. Loop-specific flags: `--brief PATH`, `--max N`, `--viewports 375,768,1440`, `--ref PATH`, `--budget 100000`.
|
|
38
|
+
Other flags: `--register=brand|product` overrides register inference. Vibe-specific flags: `--variants N`, `--extract URL|image`, `--sync`, `--write`. Loop-specific flags: `--brief PATH`, `--max N`, `--viewports 375,768,1440`, `--ref PATH`, `--budget 100000`.
|
|
38
39
|
|
|
39
40
|
## Transparent Command Output
|
|
40
41
|
|
|
@@ -58,6 +59,20 @@ Scripts ship at `skills/qualia-polish/scripts/{loop,playwright-capture,score}.mj
|
|
|
58
59
|
|
|
59
60
|
When `--loop` is detected on entry, route to the loop process documented in `REFERENCE.md` and stop executing the standard stages below. The two paths share Stage 0 substrate gates and the rubric, but diverge from Stage 1 onward.
|
|
60
61
|
|
|
62
|
+
## --vibe mode (aesthetic token pivot)
|
|
63
|
+
|
|
64
|
+
When `--vibe` is detected, do not restructure JSX, routes, data flow, navigation, or layout grids. Change only aesthetic tokens and matching DESIGN.md sections: color, typography, depth, motion, brand accents, and short visual-direction copy.
|
|
65
|
+
|
|
66
|
+
Supporting scripts ship inside this skill:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
node ${QUALIA_SKILLS}/qualia-polish/scripts/vibe-tokens.mjs sync --design .planning/DESIGN.md
|
|
70
|
+
node ${QUALIA_SKILLS}/qualia-polish/scripts/vibe-tokens.mjs propose-variants --product .planning/PRODUCT.md --design .planning/DESIGN.md --count 3
|
|
71
|
+
node ${QUALIA_SKILLS}/qualia-polish/scripts/vibe-extract.mjs --source https://example.com
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Default flow proposes one opinionated direction per `rules/one-opinion.md`. `--variants` is opt-in only. `--extract` stages a reference screenshot for the visual evaluator to reverse-engineer into DESIGN.md tokens; the user must review low-confidence extracted values before application. `--sync --write` patches DESIGN.md to reflect tokens already present in code.
|
|
75
|
+
|
|
61
76
|
## Setup gates (non-optional, every scope)
|
|
62
77
|
|
|
63
78
|
Before any work — design or otherwise — pass these gates. Skipping them produces generic output that ignores the project.
|
|
@@ -109,7 +124,7 @@ For Redesign scope, run a short online best-practices check before the brief unl
|
|
|
109
124
|
|
|
110
125
|
Use the sources as constraints, not as a style to copy. Cite links in the report/summary when they shaped the redesign.
|
|
111
126
|
|
|
112
|
-
If the user pushes back on the proposed direction,
|
|
127
|
+
If the user pushes back on the proposed direction, switch to `/qualia-polish --vibe` mode — do not start enumerating alternatives in the brief.
|
|
113
128
|
|
|
114
129
|
For Component / Section / Quick scope, the brief is implicit (loaded from DESIGN.md). Skip the ultrathink step but cite the relevant DESIGN.md tokens you'll touch.
|
|
115
130
|
|
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
* 1. If source is a URL → capture screenshot at 1440 via playwright-capture.mjs.
|
|
7
7
|
* If source is a local image path → use it directly.
|
|
8
8
|
* 2. Emit a JSON scaffold the LLM uses to generate the extracted token bundle.
|
|
9
|
-
* 3. The skill (qualia-vibe) reads the scaffold, runs the vision evaluator in
|
|
9
|
+
* 3. The skill (qualia-polish --vibe) reads the scaffold, runs the vision evaluator in
|
|
10
10
|
* extract mode, gets the bundle back, renders it as a DESIGN.md draft.
|
|
11
11
|
*
|
|
12
12
|
* This script does NOT call any LLM directly — it stages the inputs and emits
|
|
13
|
-
* a deterministic JSON contract. The /qualia-vibe skill orchestrates the LLM
|
|
13
|
+
* a deterministic JSON contract. The /qualia-polish --vibe skill orchestrates the LLM
|
|
14
14
|
* call.
|
|
15
15
|
*
|
|
16
16
|
* Usage:
|
|
@@ -49,7 +49,7 @@ let screenshotPath;
|
|
|
49
49
|
const isUrl = /^https?:\/\//i.test(source);
|
|
50
50
|
if (isUrl) {
|
|
51
51
|
const stamp = Date.now().toString(36);
|
|
52
|
-
const outDir = join(tmpdir(), `qualia-vibe-extract-${stamp}`);
|
|
52
|
+
const outDir = join(tmpdir(), `qualia-polish-vibe-extract-${stamp}`);
|
|
53
53
|
mkdirSync(outDir, { recursive: true });
|
|
54
54
|
screenshotPath = join(outDir, "ref-1440.png");
|
|
55
55
|
|
|
@@ -132,7 +132,7 @@ const scaffold = {
|
|
|
132
132
|
rules: [
|
|
133
133
|
"Banned fonts: Inter, Roboto, Arial, Helvetica, system-ui, Space Grotesk, Montserrat, Poppins, Lato, Open Sans. If you see one of these, name it AND flag it so the user can decide whether to ban or accept.",
|
|
134
134
|
"Banned patterns: purple-blue gradient, gradient text, bounce/elastic easing. Flag the same way.",
|
|
135
|
-
"Confidence < high → user must review before /qualia-vibe applies.",
|
|
135
|
+
"Confidence < high → user must review before /qualia-polish --vibe applies.",
|
|
136
136
|
],
|
|
137
137
|
next_step: `After producing the bundle, write a DESIGN.md draft to ${outDraft} using the bundle to populate sections 1 (Direction), 2 (Color), 3 (Typography), 4 (Spacing), 6 (Depth), 7 (Motion). Leave sections that depend on PRODUCT.md or anti-references empty — the user will fill them.`,
|
|
138
138
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
* tokens.mjs — read/write design tokens for /qualia-vibe.
|
|
3
|
+
* tokens.mjs — read/write design tokens for /qualia-polish --vibe.
|
|
4
4
|
*
|
|
5
5
|
* Commands:
|
|
6
6
|
* tokens.mjs sync --design .planning/DESIGN.md [--write]
|
|
@@ -36,13 +36,13 @@ function hasFlag(name) {
|
|
|
36
36
|
const CMD = argv[2];
|
|
37
37
|
|
|
38
38
|
if (!CMD || CMD === "--help" || CMD === "-h") {
|
|
39
|
-
console.log(`tokens.mjs — design-token utility for /qualia-vibe
|
|
39
|
+
console.log(`tokens.mjs — design-token utility for /qualia-polish --vibe
|
|
40
40
|
|
|
41
41
|
Usage:
|
|
42
42
|
tokens.mjs sync --design <path> [--write]
|
|
43
43
|
tokens.mjs propose-variants --product <path> --design <path> --count <N>
|
|
44
44
|
|
|
45
|
-
See skills/qualia-
|
|
45
|
+
See skills/qualia-polish/SKILL.md.
|
|
46
46
|
`);
|
|
47
47
|
exit(0);
|
|
48
48
|
}
|
|
@@ -268,7 +268,7 @@ function cmdSync() {
|
|
|
268
268
|
``,
|
|
269
269
|
`## §sync — auto-synced from code (${stamp})`,
|
|
270
270
|
``,
|
|
271
|
-
`<!-- Generated by /qualia-vibe --sync --write. Reflects values actually present in code at sync time. -->`,
|
|
271
|
+
`<!-- Generated by /qualia-polish --vibe --sync --write. Reflects values actually present in code at sync time. -->`,
|
|
272
272
|
``,
|
|
273
273
|
"```css",
|
|
274
274
|
`:root {`,
|
|
@@ -307,7 +307,7 @@ function cmdProposeVariants() {
|
|
|
307
307
|
|
|
308
308
|
// Emit a structured scaffold the LLM uses to generate variants.
|
|
309
309
|
const scaffold = {
|
|
310
|
-
instruction: `Generate exactly ${count} aesthetic-direction variants for /qualia-vibe --variants. Each variant must be opinionated and concrete — no "modern minimal" hedging. Variants must be meaningfully different from each other AND from the current direction.`,
|
|
310
|
+
instruction: `Generate exactly ${count} aesthetic-direction variants for /qualia-polish --vibe --variants. Each variant must be opinionated and concrete — no "modern minimal" hedging. Variants must be meaningfully different from each other AND from the current direction.`,
|
|
311
311
|
context: {
|
|
312
312
|
product_md: product.slice(0, 4000),
|
|
313
313
|
current_direction_lines: design
|
|
@@ -323,7 +323,7 @@ function cmdProposeVariants() {
|
|
|
323
323
|
"No purple-blue gradients.",
|
|
324
324
|
"No bounce/elastic easing.",
|
|
325
325
|
`Respect anti-references from PRODUCT.md if present.`,
|
|
326
|
-
"Each variant should be commit-able as-is — concrete enough that /qualia-vibe can apply it without further questions.",
|
|
326
|
+
"Each variant should be commit-able as-is — concrete enough that /qualia-polish --vibe can apply it without further questions.",
|
|
327
327
|
],
|
|
328
328
|
};
|
|
329
329
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: qualia-postmortem
|
|
3
|
-
description: "Self-healing
|
|
3
|
+
description: "Self-healing pass — on /qualia-verify FAIL, identify which rule/agent/skill should have caught it and propose a delta. Triggers: 'postmortem', 'why did the framework miss this', 'self-heal'. Auto-invoked by /qualia-verify on FAIL with `--auto`."
|
|
4
4
|
allowed-tools:
|
|
5
5
|
- Bash
|
|
6
6
|
- Read
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: qualia-report
|
|
3
|
-
description: "
|
|
3
|
+
description: "Mandatory clock-out flow — generate session report, commit, push, upload to ERP. Handles empty days, missing API key, ERP outages, dry-run. Triggers: 'qualia-report', 'clock out', 'end of day', 'session report', 'I'm done for today'."
|
|
4
4
|
allowed-tools:
|
|
5
5
|
- Bash
|
|
6
6
|
- Read
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: qualia-research
|
|
3
|
-
description: "Deep-research a
|
|
3
|
+
description: "Deep-research a domain or library BEFORE planning a phase. Spawns researcher with Context7/WebFetch. Writes .planning/phase-{N}-research.md. Triggers: 'research X library', 'study Stripe webhooks', 'best practices for X', 'compare libraries'."
|
|
4
4
|
allowed-tools:
|
|
5
5
|
- Bash
|
|
6
6
|
- Read
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: qualia-review
|
|
3
|
-
description: "Read-only production audit
|
|
3
|
+
description: "Read-only production audit — real commands, severity-scored REVIEW.md, routes repair to /qualia-fix, /qualia-polish, or /qualia-optimize. Triggers: 'review', 'audit', 'code review', 'security check', 'production check'."
|
|
4
4
|
allowed-tools:
|
|
5
5
|
- Bash
|
|
6
6
|
- Read
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: qualia-road
|
|
3
|
-
description: "
|
|
3
|
+
description: "Terminal workflow map — Project → Journey → Milestones → Phases → Tasks. For headless/SSH/no-browser sessions. Triggers: 'show me the road', 'what's the workflow', 'how does Qualia work', SSH context."
|
|
4
4
|
disable-model-invocation: true
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- Read
|
|
@@ -45,17 +45,17 @@ Every road agent loads `PRODUCT.md + DESIGN.md + design-laws.md` substrate. Buil
|
|
|
45
45
|
/qualia-polish --quick ~1m gates only
|
|
46
46
|
```
|
|
47
47
|
|
|
48
|
-
## Design pivots — /qualia-vibe
|
|
48
|
+
## Design pivots — /qualia-polish --vibe
|
|
49
49
|
```
|
|
50
|
-
/qualia-vibe fast aesthetic pivot: ONE proposed direction, swap tokens, keep layout (~3 min)
|
|
51
|
-
/qualia-vibe brutalist explicit pivot to named direction
|
|
52
|
-
/qualia-vibe --variants 3 opt-in menu (
|
|
53
|
-
/qualia-vibe --extract https://stripe.com reverse-engineer DESIGN.md from a reference URL
|
|
54
|
-
/qualia-vibe --extract ./inspo.png same, from a local screenshot
|
|
55
|
-
/qualia-vibe --sync show drift between code (CSS vars, Tailwind config) and DESIGN.md
|
|
56
|
-
/qualia-vibe --sync --write patch DESIGN.md to match code, commit
|
|
50
|
+
/qualia-polish --vibe fast aesthetic pivot: ONE proposed direction, swap tokens, keep layout (~3 min)
|
|
51
|
+
/qualia-polish --vibe brutalist explicit pivot to named direction
|
|
52
|
+
/qualia-polish --vibe --variants 3 opt-in menu (rare; default flow is one-opinion)
|
|
53
|
+
/qualia-polish --vibe --extract https://stripe.com reverse-engineer DESIGN.md from a reference URL
|
|
54
|
+
/qualia-polish --vibe --extract ./inspo.png same, from a local screenshot
|
|
55
|
+
/qualia-polish --vibe --sync show drift between code (CSS vars, Tailwind config) and DESIGN.md
|
|
56
|
+
/qualia-polish --vibe --sync --write patch DESIGN.md to match code, commit
|
|
57
57
|
```
|
|
58
|
-
`/qualia-vibe` is for the WHOLE-SITE aesthetic. For surgical component-level fixes use `/qualia-polish` (component or section scope). For ground-up structural redesign use `/qualia-polish --redesign`.
|
|
58
|
+
`/qualia-polish --vibe` is for the WHOLE-SITE aesthetic. For surgical component-level fixes use `/qualia-polish` (component or section scope). For ground-up structural redesign use `/qualia-polish --redesign`.
|
|
59
59
|
|
|
60
60
|
## /qualia-polish --loop — autonomous visual QA
|
|
61
61
|
```
|
|
@@ -69,21 +69,17 @@ Screenshots at 3 viewports (375/768/1440), scores 9 design dimensions using visi
|
|
|
69
69
|
|
|
70
70
|
## Deterministic-enforcement skills
|
|
71
71
|
```
|
|
72
|
-
/qualia-hook-gen convert a CLAUDE.md/rules instruction into a deterministic pre-tool-use hook
|
|
73
72
|
/qualia-optimize --deepen spawns 3 parallel interface-design variants per candidate (Step 5b)
|
|
74
73
|
```
|
|
75
|
-
`/qualia-
|
|
74
|
+
`/qualia-optimize --deepen` produces dramatically better refactor RFCs because 3 radically-different interfaces are surfaced and the human picks/hybridizes.
|
|
76
75
|
|
|
77
76
|
## Alignment substrate
|
|
78
77
|
Before high-stakes phases, run alignment skills against `.planning/CONTEXT.md` (domain glossary) and `.planning/decisions/` (ADRs):
|
|
79
78
|
|
|
80
79
|
```
|
|
81
80
|
/qualia-discuss → relentless one-question interview, updates CONTEXT.md inline
|
|
82
|
-
/qualia-zoom → map an unfamiliar code area using glossary terms
|
|
83
81
|
/qualia-optimize --deepen → find shallow modules, propose Ousterhout-style refactors
|
|
84
82
|
/qualia-test --tdd → vertical-slice red→green→refactor for one feature
|
|
85
|
-
/qualia-issues → break a phase plan into independent GH issues
|
|
86
|
-
/qualia-triage → label + route open issues (ready-for-agent vs human)
|
|
87
83
|
/qualia-map → adapt Qualia to an existing brownfield repo's conventions (5th onboarding agent)
|
|
88
84
|
```
|
|
89
85
|
|
|
@@ -91,23 +87,22 @@ Before high-stakes phases, run alignment skills against `.planning/CONTEXT.md` (
|
|
|
91
87
|
```
|
|
92
88
|
Lost? → /qualia (state router — tells you the next command)
|
|
93
89
|
Health? → /qualia-doctor (install, state, contracts, memory, ERP queue)
|
|
94
|
-
Stuck/weird? → /qualia
|
|
90
|
+
Stuck/weird? → /qualia (diagnostic branch — scans planning + code when state alone is insufficient)
|
|
95
91
|
Broken thing? → /qualia-fix (root cause, minimal patch, verify, report)
|
|
96
92
|
Single feature? → /qualia-feature (new capability: inline for trivia, fresh spawn for 1-5 files)
|
|
97
|
-
Paused? → /qualia
|
|
93
|
+
Paused? → /qualia (restore from .continue-here.md or STATE.md)
|
|
98
94
|
End of day? → /qualia-report (mandatory before clock-out; writes ERP payload)
|
|
99
|
-
Debug why? → /qualia-debug (feedback-loop-first investigation when evidence is unclear)
|
|
100
95
|
Unsure plan? → /qualia-discuss (capture decisions before planning)
|
|
101
96
|
```
|
|
102
97
|
|
|
103
98
|
## Outside-road command boundaries
|
|
104
99
|
```
|
|
105
100
|
Need a repair? → /qualia-fix (mutates code, proves fix)
|
|
106
|
-
Need an investigation? → /qualia-
|
|
101
|
+
Need an investigation? → /qualia-review (read-only audit) or /qualia-fix (known broken behavior)
|
|
107
102
|
Need an audit? → /qualia-review (detect-only, scored findings)
|
|
108
103
|
Need improvement map? → /qualia-optimize (report/RFC, broad opportunities)
|
|
109
104
|
Need visual quality? → /qualia-polish (style/layout/accessibility)
|
|
110
|
-
Need new aesthetic? → /qualia-vibe
|
|
105
|
+
Need new aesthetic? → /qualia-polish --vibe (tokens only, layout preserved)
|
|
111
106
|
Need new capability? → /qualia-feature (small net-new work)
|
|
112
107
|
```
|
|
113
108
|
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qualia-secure
|
|
3
|
+
description: "Security scan of agent config — CLAUDE.md / settings.json / hooks / MCP — for prompt injection, leaked secrets, unscoped permissions, config drift. Static pass + optional Opus red/blue/auditor pipeline. Triggers: 'security scan', 'security audit', 'check my config', 'before going live'."
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Bash
|
|
6
|
+
- Read
|
|
7
|
+
- Grep
|
|
8
|
+
- Agent
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# /qualia-secure — Security audit of the agent's own configuration
|
|
12
|
+
|
|
13
|
+
Not application code security. **Agent configuration security.** This skill audits the surfaces that Claude/Codex itself reads — CLAUDE.md, settings.json, hooks, MCP servers — for the class of risks that a normal linter cannot catch: prompt-injection vectors, secrets baked into instructions, unscoped tool permissions, drifted policy enforcement.
|
|
14
|
+
|
|
15
|
+
This is Qualia's vertical equivalent of ECC's AgentShield, kept local to your stack.
|
|
16
|
+
|
|
17
|
+
## When to run
|
|
18
|
+
|
|
19
|
+
- **Before going live** with a new agent harness on a sensitive project.
|
|
20
|
+
- **After installing new MCP servers** — each MCP description consumes context AND can introduce permission scope risks.
|
|
21
|
+
- **As a release gate** — wire into CI via `qualia-framework secure --exit-code`.
|
|
22
|
+
- **After editing CLAUDE.md / settings.json by hand** to catch accidental secret leaks or permission widening.
|
|
23
|
+
|
|
24
|
+
## Process
|
|
25
|
+
|
|
26
|
+
### Step 0. Banner
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
node ${QUALIA_BIN}/qualia-ui.js banner secure
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Say: **"Running security scan."**
|
|
33
|
+
|
|
34
|
+
### Step 1. Fast static pass
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
node ${QUALIA_BIN}/security-scan.js --write
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
This writes `.planning/security-scan.md` with severity-ranked findings:
|
|
41
|
+
|
|
42
|
+
- **Secret patterns** — Anthropic / OpenAI / GitHub / AWS / Supabase JWT / Vercel keys baked into CLAUDE.md or settings.json (CRITICAL/HIGH).
|
|
43
|
+
- **Permission smells** — unscoped `Bash` tool, `service_role` imports leaking into client code (CRITICAL/HIGH).
|
|
44
|
+
- **Hook hygiene** — `child_process.exec` with `shell: true` from user input, hooks missing timeouts (MEDIUM/LOW).
|
|
45
|
+
|
|
46
|
+
Read the report. If CRITICAL findings exist, **stop here** and rotate / fix before continuing — the deep pass is moot until the obvious holes are closed.
|
|
47
|
+
|
|
48
|
+
### Step 2. Opus 4.7 adversarial deep-analysis (optional, longer)
|
|
49
|
+
|
|
50
|
+
If the static pass is clean (or you want adversarial reasoning over the rules + instructions text regardless), run:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
node ${QUALIA_BIN}/security-scan.js --deep
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
This writes:
|
|
57
|
+
- `.planning/security-scan.md` (the static findings, same as Step 1)
|
|
58
|
+
- `.planning/security-deep-prompt.md` (a prompt pack with the static findings as seeds, plus the three agent prompts ready to dispatch)
|
|
59
|
+
|
|
60
|
+
Read `.planning/security-deep-prompt.md`. It contains three sections — RED TEAM, BLUE TEAM, AUDITOR — each is a self-contained prompt for one `Agent()` spawn. Dispatch the first two in parallel, then the auditor after they return:
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
Agent(prompt=<contents of "## Agent A — RED TEAM" section>, subagent_type="general-purpose", description="Red-team attacks")
|
|
64
|
+
Agent(prompt=<contents of "## Agent B — BLUE TEAM" section>, subagent_type="general-purpose", description="Blue-team guardrail audit")
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Wait for both. Pass their reports into the auditor:
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
Agent(prompt=<"## Agent C — AUDITOR" section> + "\n\n## Red-team output\n\n" + <A's report> + "\n\n## Blue-team output\n\n" + <B's report>, subagent_type="general-purpose", description="Auditor synthesis")
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
The auditor writes `.planning/security-audit.md` — that's the deliverable.
|
|
74
|
+
|
|
75
|
+
### Step 3. Synthesize + route
|
|
76
|
+
|
|
77
|
+
Combine `.planning/security-scan.md` (static) + `.planning/security-audit.md` (Opus) into a single executive summary. Surface the top 3 actions ranked by severity:
|
|
78
|
+
|
|
79
|
+
- **CRITICAL** → fix immediately, before any further work.
|
|
80
|
+
- **HIGH** → ticket for this sprint; route to `/qualia-hook-gen` if the fix is "make this instructional rule deterministic via a hook."
|
|
81
|
+
- **MEDIUM/LOW** → backlog.
|
|
82
|
+
|
|
83
|
+
### Step 4. Close
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
node ${QUALIA_BIN}/qualia-ui.js end "SECURED" "/qualia-hook-gen"
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
(Or omit the next-command if all findings are LOW.)
|
|
90
|
+
|
|
91
|
+
## Rules
|
|
92
|
+
|
|
93
|
+
1. **Static pass is non-negotiable.** It's fast and deterministic — always runs.
|
|
94
|
+
2. **Opus pass is opt-in.** It costs tokens and time. Default to skipping unless the user explicitly asks for "deep audit" or the static pass triggers HIGH+ findings.
|
|
95
|
+
3. **No fake severity.** Per `rules/grounding.md`, every finding cites `file:line` and matches a category in the Severity Rubric. No hedging.
|
|
96
|
+
4. **Recommend deterministic fixes when possible.** A rule in CLAUDE.md is suggestive; a hook is enforced. The skill's bias is toward `/qualia-hook-gen` over "tell the agent to do X."
|
|
97
|
+
5. **Never auto-rotate secrets.** Flag and instruct. The user rotates manually with confirmation — secrets in CI variables are the user's domain.
|
|
98
|
+
|
|
99
|
+
## When NOT to use
|
|
100
|
+
|
|
101
|
+
- Application-level security review (use `/security-review` for OWASP-style code audit).
|
|
102
|
+
- Production deployment health (use `/qualia-doctor` / `/qualia-status`).
|
|
103
|
+
- Specific bug investigation (use `/qualia-debug` → `/qualia-fix`).
|
|
104
|
+
|
|
105
|
+
`/qualia-secure` is specifically for **the agent's configuration**. The hooks, the rules, the tool scopes, the MCP servers — the surfaces Claude reads to decide what to do.
|
|
@@ -32,6 +32,14 @@ fi
|
|
|
32
32
|
|
|
33
33
|
STATUS=$(echo "$STATE" | node -e "try{const d=JSON.parse(require('fs').readFileSync(0,'utf8'));process.stdout.write(d.status||'')}catch{}")
|
|
34
34
|
VERIFICATION=$(echo "$STATE" | node -e "try{const d=JSON.parse(require('fs').readFileSync(0,'utf8'));process.stdout.write(d.verification||'')}catch{}")
|
|
35
|
+
NEXT_COMMAND=$(echo "$STATE" | node -e "try{const d=JSON.parse(require('fs').readFileSync(0,'utf8'));process.stdout.write(d.next_command||'/qualia')}catch{process.stdout.write('/qualia')}")
|
|
36
|
+
ROLE=$(node -e "try{const fs=require('fs'),path=require('path'),os=require('os');const h=process.env.QUALIA_HOME||path.dirname(process.env.QUALIA_BIN||path.join(os.homedir(),'.claude','bin'));const c=JSON.parse(fs.readFileSync(path.join(h,'.qualia-config.json'),'utf8'));process.stdout.write((c.role||'').toUpperCase())}catch{}")
|
|
37
|
+
|
|
38
|
+
if [ "${QUALIA_SHIP_FORCE:-0}" = "1" ] && [ "$ROLE" != "OWNER" ]; then
|
|
39
|
+
node ${QUALIA_BIN}/qualia-ui.js fail "Owner override is OWNER-only."
|
|
40
|
+
node ${QUALIA_BIN}/qualia-ui.js info "Run $NEXT_COMMAND."
|
|
41
|
+
exit 1
|
|
42
|
+
fi
|
|
35
43
|
|
|
36
44
|
# Valid ship-from states:
|
|
37
45
|
# polished — /qualia-polish ran cleanly; ready for deploy
|
|
@@ -41,10 +49,9 @@ if [ "$STATUS" != "polished" ] && ! { [ "$STATUS" = "verified" ] && [ "$VERIFICA
|
|
|
41
49
|
if [ "${QUALIA_SHIP_FORCE:-0}" = "1" ]; then
|
|
42
50
|
node ${QUALIA_BIN}/qualia-ui.js warn "Forced ship from state '$STATUS' (verification: ${VERIFICATION:-none}). Record the reason in the final report."
|
|
43
51
|
else
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
exit 1
|
|
52
|
+
node ${QUALIA_BIN}/qualia-ui.js fail "Ship refused from state '$STATUS' (verification: ${VERIFICATION:-none})."
|
|
53
|
+
node ${QUALIA_BIN}/qualia-ui.js info "Run $NEXT_COMMAND."
|
|
54
|
+
exit 1
|
|
48
55
|
fi
|
|
49
56
|
fi
|
|
50
57
|
```
|
|
@@ -64,7 +71,7 @@ On failure:
|
|
|
64
71
|
1. Summarize what failed in plain language
|
|
65
72
|
2. Auto-fix
|
|
66
73
|
3. Re-run the gate
|
|
67
|
-
4. If still failing after 2 attempts: tell the employee, suggest `/qualia-
|
|
74
|
+
4. If still failing after 2 attempts: tell the employee, suggest `/qualia-fix`
|
|
68
75
|
|
|
69
76
|
### 2. Security Check — full depth
|
|
70
77
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: qualia-test
|
|
3
|
-
description: "Generate tests
|
|
3
|
+
description: "Generate tests, run tests, or drive a feature test-first via `--tdd` vertical-slice loop. Triggers: 'write tests', 'add tests', 'run tests', 'test coverage', 'tdd this', 'test-driven', 'red green refactor'."
|
|
4
4
|
allowed-tools:
|
|
5
5
|
- Bash
|
|
6
6
|
- Read
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: qualia-verify
|
|
3
|
-
description: "Goal-backward verification of a built phase
|
|
3
|
+
description: "Goal-backward verification of a built phase — fresh verifier agent greps code against acceptance criteria, scores design rubric, optional adversarial second pass. Triggers: 'verify this phase', 'check if it works', 'run verification', 'did the build pass'."
|
|
4
4
|
allowed-tools:
|
|
5
5
|
- Bash
|
|
6
6
|
- Read
|
|
@@ -169,8 +169,16 @@ node ${QUALIA_BIN}/qualia-ui.js end "PHASE {N} GAPS FOUND" "/qualia-plan {N} --g
|
|
|
169
169
|
|
|
170
170
|
### 4. Update State
|
|
171
171
|
|
|
172
|
+
Write the deterministic eval artifact before changing state:
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
node ${QUALIA_BIN}/harness-eval.js --phase {N} --run --write
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
If the eval status is `FAIL`, do not mark the phase PASS. The state machine also refuses PASS when a contract exists but `.planning/evidence/phase-{N}-contract-run.json` is missing/failing, or when the verification report contains `INSUFFICIENT EVIDENCE`.
|
|
179
|
+
|
|
172
180
|
```bash
|
|
173
|
-
node ${QUALIA_BIN}/state.js transition --to verified --phase {N} --verification {pass|fail}
|
|
181
|
+
node ${QUALIA_BIN}/state.js transition --to verified --phase {N} --verification {pass|fail} --evidence .planning/evals/harness-eval-*.json
|
|
174
182
|
```
|
|
175
183
|
PASS + more phases → state.js auto-advances.
|
|
176
184
|
FAIL + gap_cycles >= limit → GAP_CYCLE_LIMIT, escalate.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: zoho-workflow
|
|
3
|
-
description: "Zoho Invoice
|
|
3
|
+
description: "Zoho Invoice + Mail ops via ERP-first routing. Invoices from templates, cover emails, contacts, inbox, payment reminders. Triggers: 'invoice this client', 'send an email', 'check inbox', 'create a Zoho contact', 'payment reminder'."
|
|
4
4
|
tags: [zoho, invoice, email, billing, crm]
|
|
5
5
|
---
|
|
6
6
|
|
package/templates/help.html
CHANGED
|
@@ -364,13 +364,9 @@
|
|
|
364
364
|
<div class="commands">
|
|
365
365
|
<div class="cmd"><span class="cmd-name">/qualia-doctor</span><span class="cmd-desc">Framework health check — install, state, contracts, memory, hooks, and ERP queue. Use when Qualia itself feels broken or Codex/Claude is not picking it up.</span></div>
|
|
366
366
|
<div class="cmd"><span class="cmd-name">/qualia-fix</span><span class="cmd-desc">Repair broken existing behavior — build a feedback loop, find root cause, patch minimally, verify, write a fix report. Trigger on 'fix this', 'bug', 'broken', 'failing test', 'regression'.</span></div>
|
|
367
|
-
<div class="cmd"><span class="cmd-name">/qualia-debug</span><span class="cmd-desc">Structured investigation — symptom gathering, diagnosis confirmation, root cause analysis. Use when the failure is unclear and you need evidence before repair.</span></div>
|
|
368
367
|
<div class="cmd"><span class="cmd-name">/qualia-review</span><span class="cmd-desc">Read-only production audit with scored diagnostics. Runs real commands, scores findings by severity, then routes repairs to /qualia-fix, /qualia-polish, or /qualia-optimize.</span></div>
|
|
369
368
|
<div class="cmd"><span class="cmd-name">/qualia-optimize</span><span class="cmd-desc">Deep improvement discovery — reads .planning/ AND codebase to find performance, design, UI, backend, alignment, and architecture opportunities. Writes OPTIMIZE.md/RFCs; specific repairs route through /qualia-fix.</span></div>
|
|
370
369
|
<div class="cmd"><span class="cmd-name">/qualia-test</span><span class="cmd-desc">Generate or run tests for client projects. Trigger on 'write tests', 'add tests', 'test this', 'test coverage'.</span></div>
|
|
371
|
-
<div class="cmd"><span class="cmd-name">/qualia-zoom</span><span class="cmd-desc">Focus on a single file or function with full context (glossary terms, depending callers, ADRs touched). Use when a fresh agent needs surgical context for a tricky area.</span></div>
|
|
372
|
-
<div class="cmd"><span class="cmd-name">/qualia-issues</span><span class="cmd-desc">Break a phase plan into independent vertical-slice GitHub issues with needs-triage label. Externalizes work to the open queue so other sessions or contributors can pull from it.</span></div>
|
|
373
|
-
<div class="cmd"><span class="cmd-name">/qualia-triage</span><span class="cmd-desc">State machine over open GH issues — labels each as needs-triage, needs-info, ready-for-agent, ready-for-human, or wontfix. Pairs with /qualia-issues for the autonomous queue.</span></div>
|
|
374
370
|
</div>
|
|
375
371
|
</div>
|
|
376
372
|
|
|
@@ -381,7 +377,7 @@
|
|
|
381
377
|
<div class="commands">
|
|
382
378
|
<div class="cmd"><span class="cmd-name">/qualia-feature</span><span class="cmd-desc">Auto-scoped new-feature build. Inline for trivia (copy, config), fresh builder spawn for 1-5 file features. Broken existing behavior routes to /qualia-fix. Flags: --force-spawn, --force-inline.</span></div>
|
|
383
379
|
<div class="cmd"><span class="cmd-name">/qualia-polish</span><span class="cmd-desc">Visual quality pass, scope-adaptive — component, route, full app, redesign, critique, quick. It fixes style/layout/accessibility only; functional bugs route to /qualia-fix.</span></div>
|
|
384
|
-
<div class="cmd"><span class="cmd-name">/qualia-vibe</span><span class="cmd-desc">Fast aesthetic-token pivot (~3 min) — swap color, type, depth, and motion, keep layout untouched. Structural redesign routes to /qualia-polish --redesign.</span></div>
|
|
380
|
+
<div class="cmd"><span class="cmd-name">/qualia-polish --vibe</span><span class="cmd-desc">Fast aesthetic-token pivot (~3 min) — swap color, type, depth, and motion, keep layout untouched. Structural redesign routes to /qualia-polish --redesign.</span></div>
|
|
385
381
|
</div>
|
|
386
382
|
</div>
|
|
387
383
|
|
|
@@ -391,7 +387,6 @@
|
|
|
391
387
|
<p class="cmd-group-note">Persist learnings and log work.</p>
|
|
392
388
|
<div class="commands">
|
|
393
389
|
<div class="cmd"><span class="cmd-name">/qualia-learn</span><span class="cmd-desc">Save a learning, pattern, fix, or client preference to the knowledge base. Persists across projects and sessions.</span></div>
|
|
394
|
-
<div class="cmd"><span class="cmd-name">/qualia-flush</span><span class="cmd-desc">Promote raw daily logs into curated knowledge concepts. Use weekly or when session logs contain durable lessons.</span></div>
|
|
395
390
|
<div class="cmd"><span class="cmd-name">/qualia-report</span><span class="cmd-desc">Generate session report and commit to repo. Mandatory before clock-out.</span></div>
|
|
396
391
|
</div>
|
|
397
392
|
</div>
|
|
@@ -401,8 +396,6 @@
|
|
|
401
396
|
<h3>Session</h3>
|
|
402
397
|
<p class="cmd-group-note">Hand off and resume context cleanly.</p>
|
|
403
398
|
<div class="commands">
|
|
404
|
-
<div class="cmd"><span class="cmd-name">/qualia-pause</span><span class="cmd-desc">Save session context for seamless handoff. Creates .continue-here.md so the next session picks up exactly where you left off.</span></div>
|
|
405
|
-
<div class="cmd"><span class="cmd-name">/qualia-resume</span><span class="cmd-desc">Restore context from a previous session. Reads .continue-here.md or STATE.md, summarizes where you left off, routes to next action.</span></div>
|
|
406
399
|
</div>
|
|
407
400
|
</div>
|
|
408
401
|
|
|
@@ -412,8 +405,6 @@
|
|
|
412
405
|
<p class="cmd-group-note">When you don't know what to do next.</p>
|
|
413
406
|
<div class="commands">
|
|
414
407
|
<div class="cmd"><span class="cmd-name">/qualia</span><span class="cmd-desc">Smart router — reads project state, classifies your situation, tells you the exact next command. Use whenever you're unsure about your next step.</span></div>
|
|
415
|
-
<div class="cmd"><span class="cmd-name">/qualia-idk</span><span class="cmd-desc">Diagnostic intelligence — spawns two isolated scans (planning + codebase) in parallel, cross-references against your confusion, explains the situation in plain language with a concrete next step. Use when something feels off or you need to understand what's going on.</span></div>
|
|
416
|
-
<div class="cmd"><span class="cmd-name">/qualia-help</span><span class="cmd-desc">Open the Qualia Framework reference guide in the browser. A beautiful themed HTML page with all commands, rules, services, and the road.</span></div>
|
|
417
408
|
<div class="cmd"><span class="cmd-name">/qualia-road</span><span class="cmd-desc">Terminal workflow map — Project → Journey → Milestones → Phases → Tasks. Use in headless/SSH sessions or when you want the road in chat instead of the browser.</span></div>
|
|
418
409
|
</div>
|
|
419
410
|
</div>
|
|
@@ -423,9 +414,7 @@
|
|
|
423
414
|
<h3>Meta</h3>
|
|
424
415
|
<p class="cmd-group-note">Extend the framework itself.</p>
|
|
425
416
|
<div class="commands">
|
|
426
|
-
<div class="cmd"><span class="cmd-name">/qualia-skill-new</span><span class="cmd-desc">Author a new Qualia skill or agent. Generates the SKILL.md, registers it in the right location, and optionally ships to the framework repo.</span></div>
|
|
427
417
|
<div class="cmd"><span class="cmd-name">/qualia-postmortem</span><span class="cmd-desc">Analyze a verification failure and turn the lesson into a framework improvement.</span></div>
|
|
428
|
-
<div class="cmd"><span class="cmd-name">/qualia-hook-gen</span><span class="cmd-desc">Convert a CLAUDE.md or rules instruction into a deterministic Claude Code pre-tool-use hook. Lets you shrink your instruction budget instead of just hearing the advice.</span></div>
|
|
429
418
|
<div class="cmd"><span class="cmd-name">/zoho-workflow</span><span class="cmd-desc">Internal Qualia Solutions ops — Zoho Invoice and Mail integration via ERP-first routing.</span></div>
|
|
430
419
|
</div>
|
|
431
420
|
</div>
|