- name
- genius-focus
- description
- Use when the user runs /genius-focus or asks GENIUS to break a local sub-problem (a principle/formula/math/method) inside an EXISTING project. Auto-understands the project, surfaces candidate sub-problems, user picks one, then runs a scoped axioms-grounded debate (+gated EVOLVE).
# GENIUS — focus (local breakthrough in an existing project)
**Plugin paths.** This is a globally-installed plugin; bundled files live under the plugin root, NOT
the current working directory. Resolve the absolute plugin root once: `echo "$CLAUDE_PLUGIN_ROOT"`
(Bash) → `PLUGIN_ROOT`. The current project root is the cwd → `PROJECT_ROOT` (`pwd`). **runDir goes
in the user's CURRENT project as a RELATIVE path** (the workflow safety guard rejects absolute paths
and `..`).
1. **Resolve paths and flags.** Resolve `PLUGIN_ROOT` (`echo "$CLAUDE_PLUGIN_ROOT"`) and
`PROJECT_ROOT` (`pwd`). Note `--no-explore` if present in the args. Set `today` (YYYY-MM-DD) and
make a slug from the sub-problem (or `focus` if none yet). Set a relative
`runDir = genius-runs/<today>_focus-<slug>`.
2. **Understand.** Launch the Workflow tool with `scriptPath: "<PLUGIN_ROOT>/workflows/understand.js"`
and `args: { projectRoot: "<PROJECT_ROOT>", depth: "full" }`. If the current project already has a
recent `understand-map.json` (same day, under any `genius-runs/<today>_understand/`), you MAY load
it instead of re-running (saves cost). The Workflow returns `{ map, critique, facet_summaries }` —
OR `{ park: ... }` if it could not map the project (e.g. reader-wipeout / missing projectRoot). On a
`{ park }` return, report the reason and STOP — do NOT persist the park object or build a pick-list
against undefined fields (fail explicitly, no silent fallback).
**The understand workflow writes nothing itself** — so, unless you loaded a cached map, YOU must
persist: create `genius-runs/<today>_understand/` and write both `understand-map.json` (the raw
returned object) and `understand-map.md` (readable) into it, PROMPTLY after the Workflow returns
(before the pick-list in step 3), following the same rendering as the `genius-understand` skill.
This ensures the understand artifacts are always on disk even if the session is interrupted.
3. **Pick the sub-problem.** Present the map's `leverage_points` + `critique.recommended_sub_problems`
+ `core_blocker` + `open_questions` as a numbered pick-list. Ask the user to pick one or state
their own (a principle / formula / math / method to break, scoped enough to run a focused debate).
**Do NOT proceed without a chosen, scoped sub-problem** — wait for the user's choice. Once chosen,
update the `runDir` slug to match (e.g., `genius-runs/<today>_focus-<slug-of-chosen-problem>`).
4. **Build the scoped frame.** From the map, extract the project's established facts as `axioms` — a
short list of the things NOT to relitigate in this debate (e.g., fixed constraints, settled
empirical results, architecture decisions that are not up for debate). **Cap the axioms block** to
≤10 short bullet-point facts (summarize/elide if the map is verbose) — large axiom sets bloat every
debate prompt. Write the scoped sub-problem as `idea`, including what would count as a BREAKTHROUGH
vs a safe-delta for it and its concrete success metric.
5. **Scoped debate.** Launch the Workflow tool with `scriptPath: "<PLUGIN_ROOT>/workflows/debate-engine.js"`
and `args: { idea: "<scoped sub-problem>", axioms: [<list of ≤10 established facts>], runDir,
today, roster: [{"family":"claude"},{"family":"codex"},{"family":"kimi"}], cap: 3,
noExplore: <true iff --no-explore> }`. The `axioms` list is injected into every SHARPEN/EXPLORE/
DEBATE/CRITIQUE prompt as "GIVEN — established, do NOT relitigate; frame all work WITHIN these."
`noExplore: true` skips paper-search for a faster, local-knowledge-only debate pass.
6. **Present + EVOLVE.** Read `<runDir>/portfolio.md` and present the scoped quality-diversity
portfolio. Then offer the standard EVOLVE gate (see the `genius` skill's EVOLVE section) for any
computable candidate in the portfolio.
View on GitHub