← the whole session plugin/skills/ultraplan2/SKILL.md

>

/ultraplan2 — Deep Research to Plan

A reusable planning workflow that refuses to produce a plan until it has earned 95% confidence in the full scope, intent, and approach. Every step is announced in the transcript. Every output is shown. Final plan is gated by /jonathan-check2 (or whatever you've named your own response-predictor) then written to wherever the person keeps their plans.

If a step's dependency is missing — no oracle set up, no response predictor, no configured plan location — name it plainly, substitute something real (reasoning from the codebase and past sessions instead of an oracle; direct confirmation from the person instead of a predictor), and say so in the final output. Never silently skip a step and call the plan complete.


When to invoke

  • Scope is novel, multi-system, or strategically important
  • You'd normally just start planning but the risk of misalignment is high
  • The person has asked explicitly for /ultraplan2 on a given scope
  • You need to consult oracles (if configured) before proposing architecture

The Protocol

STEP 1 — /reflect

Announce: 🔁 ULTRAPLAN2 — STEP 1: /reflect

Invoke /reflect. Surface:

  • What you already know about this scope
  • What prior work exists in this domain (sessions, skills, commits)
  • What assumptions you're currently running
  • Your current confidence level in understanding the full scope (0–100%)

Print the reflect output fully.


STEP 2 — /align

Announce: 🔁 ULTRAPLAN2 — STEP 2: /align

Invoke /align. Validate:

  • Is your understanding of the scope aligned with the person's stated intent?
  • Are there nested intents (parent/child) that need to be surfaced?
  • Map the overarching intent → initiative intent → task-level intents
  • State confidence: Alignment confidence: X/100 — reason

Print the align output fully.


STEP 3 — Gap Identification (3 Key Questions)

Announce: 🔁 ULTRAPLAN2 — STEP 3: Gap identification — 3 key questions

Evaluate: If I knew the answer to these 3 questions, I would have 95% confidence to plan.

Format each question:

Q1: [The question]
     WHY it matters: [what planning decision it unlocks]
     Best source to answer it: [memory search / an oracle, if configured / codebase / external research]
     Current best guess: [your prediction with certainty %]

Print all 3 questions before dispatching agents.


STEP 4 — Dispatch Research Agents (Sonnet)

Announce: 🔁 ULTRAPLAN2 — STEP 4: Dispatching research agents

For each gap question, dispatch a Sonnet subagent (run_in_background: true).

Each agent prompt MUST include:

  • The full parent scope/intent (copy verbatim — no summarizing)
  • The specific question they're answering
  • Instruction to start with /agentic-find (or, if no memory-search tool is configured, the codebase, git log, and ~/.claude/projects/*/*.jsonl) before any other search
  • Instruction to consult the most relevant /insight oracle, if one is set up
  • Required output format: { question, answer, confidence, sources, key_insight }
  • Target: 90%+ confidence before returning

Dispatch ALL agents in parallel in a single message.

After dispatching: do not go silent. Share what you know so far and keep engaging with the person while agents run.


STEP 5 — Review + Remaining Gap Evaluation

Announce: 🔁 ULTRAPLAN2 — STEP 5: Reviewing research, evaluating remaining gaps

When agents return:

  • Read each result
  • Rate: did it close the gap? (yes / partial / no)
  • Re-evaluate overall confidence: Overall alignment confidence: X/100

If confidence < 95%:

  • Identify remaining 1–3 gaps (only what's still unknown)
  • Dispatch a new round of agents (same protocol as Step 4)
  • Announce the repeat: 🔁 ULTRAPLAN2 — STEP 5 (repeat N): X gaps remain
  • Continue until confidence ≥ 95% OR 3 rounds max

At 95%+, announce: ✅ ULTRAPLAN2 — Research complete. Confidence: X/100. Building plan.


STEP 6 — Consult Oracles, If You Have Any

Announce: 🔁 ULTRAPLAN2 — STEP 6: Consulting oracles

If /insight (or an equivalent) has notebooks configured, identify the ones most relevant to this scope's domain and query the 2–3 best fits. Surface any key signals that should shape the plan, and print the oracle outputs.

If no oracles are configured yet: say so plainly — "no oracles set up yet; researching from the codebase and past sessions instead" — and skip to Step 7. Never claim an oracle answered when none was queried.

Example of a working setup (opt-in reference, not a default): one /insight configuration has eight notebooks — agent steering, product intent, session history, coaching principles, investor context, email design, cross-domain, personal voice — built from that person's own history. Yours, if you build any, will be shorter and specific to what you actually do.


STEP 7 — Build the Full Plan (/intent-nested + /gap + /decompose)

Announce: 🔁 ULTRAPLAN2 — STEP 7: Building the full intent-nested plan

Output the complete plan in this structure:

## ULTRAPLAN2 OUTPUT — [Scope Name]
**Confidence:** X/100
**Research rounds:** N
**Oracles consulted:** [list, or "none configured"]

---

### OVERARCHING INTENT
[One bold sentence — what this system does in UX terms for the user]

### GAP ANALYSIS
Current state: [what exists now]
Target state: [what we're building]
The gap: [what must be built/changed/designed to close it]

### NESTED INTENT MAP
[Parent intent — bold, no prefix]
  🟢 [Child intent]
    🟢 [Sub-child intent]
  🟢 [Child intent]

### DECOMPOSED TASKS
For each task:
Task: [name]
  Scope: [1–2 sentences — exactly what gets built]
  When complete: [testable UX outcome — what the user can do]
  Verification: [runnable command or observable check]
  Governer hint: [estimated score 1–100]
  Dependencies: [what must exist first]

### KEY DESIGN DECISIONS
[3–5 architectural/strategic choices with rationale]

### RISKS & OPEN QUESTIONS
[Remaining uncertainties, not blocking the plan but worth tracking]

### FLYWHEEL / LEVERAGE MAP
[How each part compounds into the next — the emergent value beyond sum of parts]

### SUBSTITUTIONS MADE
[Anything a missing dependency stood in for — e.g. "no oracle configured, researched from codebase and session history instead" — or "none"]

STEP 8 — Response-Predictor Gate

Announce: 🔁 ULTRAPLAN2 — STEP 8: response-predictor gate

Invoke /jonathan-check2 (named after this harness's author; it predicts your own reaction as the person using it, not his — see that skill for how it's calibrated to you) on the full plan output, or whatever you've set up as your own version of "predict how the person would react to this before showing them."

If it raises issues: fix them and re-check. Loop until pass. When approved: announce ✅ response-predictor approved.

If no predictor is configured: say so, and ask the person directly whether the plan looks right before treating it as approved — never print "approved" when nothing actually checked it.


STEP 9 — Write the Plan, and Open It If You Can

Announce: 🔁 ULTRAPLAN2 — STEP 9: writing the plan

Write the approved plan to the person's own intent-map / plans location, set up via /alignment-harness:harness-setup. If none has been configured yet, write to alignment-harness records plans and tell them the path.

If they use a note-taking app configured for this (for example, an Obsidian vault set up during setup), open the file in it the same way the author does:

open "obsidian://open?vault=<their vault name>&file=<path>&newtab=true"

Otherwise, just print the path — don't run an open command against a vault that doesn't exist.

Print the file path and confirm whether it opened.


Output contract

At the end, you MUST have produced:

  • Full plan document written to the person's plan location (or a plain records folder if none is configured)
  • Opened in their note-taking app if one is configured, or the path printed if not
  • Response-predictor approved, or the person directly confirmed if no predictor is configured
  • All 9 steps announced in transcript with their outputs shown
  • Confidence ≥ 95% before plan was written
  • Every substitution for a missing dependency named in the plan's own "Substitutions made" section

Anti-patterns (NEVER do these in ultraplan2)

  • Starting the plan before research rounds are complete
  • Going silent after dispatching agents
  • Compressing research output so the person can't verify it
  • Stating research conclusions as facts without confidence scores
  • Skipping the response-predictor gate because the plan "looks good"
  • Summarizing the plan file instead of opening it (or printing its path)
  • Claiming an oracle or predictor ran when it wasn't actually configured