A Claude Code skill that gives your todo list a world model.
▶ Watch the 45-second demo — LeCun's critique → Forkcast's answer.
Yann LeCun is right: LLMs predict tokens, not consequences. So agentic AI built on naive next-token planning is, as he calls it, "a recipe for disaster."
He's right for the physical world. For software project planning the world IS code, commits, configs, conversations — and the LLM's pretraining already encodes the transition function for that domain.
What's missing is the scaffolding: explicit lookahead, branch enumeration, scored outcomes, grounding citations, confidence cascades, and a human-editable artifact.
Forkcast adds that scaffolding to Claude Code.
You point Claude at a goal. It:
- Identifies every meaningful decision point
- Forks each one into N candidate branches (default 3)
- Simulates each branch forward up to 10 steps
- Scores each branch against your weighted objectives
- Stops extending branches when cumulative confidence drops below 0.3 (so it doesn't pretend to know what it doesn't)
- Spawns an adversarial critic at depth 3 (via
/codex challenge) that tries to break each branch's predictions - Emits
tasks/forkcast.md— a human-editable markdown decision tree with an embedded mermaid diagram
You read the tree, check boxes to lock branches, edit scores to override the model's ranking, add > Constraint: ... lines that get respected on the next run, and /forkcast --linearize when you're ready to ship.
See examples/forkcast.example.md for the canonical output.
git clone https://github.com/sboghossian/forkcast ~/.claude/skills/forkcastThat's it. Claude Code picks it up automatically. Trigger with:
/forkcast(explicit)- "fork this plan", "10 steps ahead", "what if we...", "decision tree for..."
| Tool | What it does | What forkcast adds |
|---|---|---|
/autoplan, /yalla |
Linear pipelines | Branching with simulated lookahead per branch |
/goap-plan |
A* over a fixed skill library | Open-ended over project state |
/planning-with-files |
Tracks one plan over time | Compares N candidate plans, ranks them |
/plan-eng-review |
Critiques an existing plan | Generates and ranks plans before one exists |
| Manus, Devin | Internal scratch | The decision tree IS the deliverable |
LeCun's critique, restated: LLM agents pretend to have a world model they don't have. They commit to multi-step plans without simulating consequences, scoring outcomes, or surfacing confidence.
Forkcast does not give LLMs a world model. It does the next best thing: makes the absence legible.
- Every step cites a project artifact it's grounded in (file, commit, memory, prior decision). Ungrounded steps are tagged and capped at 0.5 confidence.
- Cumulative confidence is the product of step confidences along a path. When it drops below 0.3, the branch terminates with
[speculative]instead of pretending. - An adversarial critic looks at every chosen branch and tries to break it; flags appear inline.
- Self-consistency at every fork: each branch is rolled out three times; divergence penalizes the score.
A [speculative] ⚠️ branch is doing exactly what LeCun says LLMs do badly — and the user can see it doing it, and decide.
Full design notes in docs/HALLUCINATION_MITIGATION.md.
- Tree of Thoughts (Yao 2023)
- LATS (Zhou 2023)
- Reasoning via Planning (Hao 2023)
- Self-Consistency (Wang 2022)
- Reflexion (Shinn 2023)
- ReAct (Yao 2022)
- Constitutional AI critic loops (Bai 2022)
- SWE-agent, OpenHands, Voyager
What forkcast deliberately doesn't do: GOAP / HTN / PDDL (require formal predicates), MCTS (statistical rollouts), JEPA / Ha-Schmidhuber visual world models (unnecessary for text-native task spaces).
forkcast/
├── SKILL.md # the brain — Claude reads this
├── README.md # this file
├── examples/
│ └── forkcast.example.md # canonical output format
├── docs/
│ └── HALLUCINATION_MITIGATION.md
└── scripts/
└── mermaid.ts # regenerate the diagram from edited tree
MIT.
Stephane Boghossian — building HAQQ Legal AI. Forkcast came out of needing a planner I could trust enough to point at client-matter decisions.
