| 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 ..).
-
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>.
-
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.
-
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>).
-
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.
-
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.
-
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.