Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Casework

This takes a hard question, names the one War Room tool that fits the stage you are at, and says what that run will cost before anything starts. It is not software. It is one instruction file, and anything that can hand it to a model should run it.

Authored by Shadow, CEO, The War Room.


The problem it addresses

The War Room published five skills. Together they cover most of a pipeline for working a hard question. None of them knew the others existed.

Each one re-scoped the problem from a blank prompt. Each one returned a different shape of output. Nothing carried from one run to the next.

So a stranger had to already know which of the five their problem needed. That is a lot to ask of someone who has just arrived with a question. The suite was worth less than the sum of its parts.

Casework is the front door. It works out what you actually have, names one tool, and records what came back.

What it does not do

Casework never runs another tool. It names one, states the cost, and stops. That is the whole job.

It does not do the stage itself. A paragraph of its own analysis is worth less than the tool it just named, and it makes you think the work is done.

It does not name two tools. "You could research this or you could decide" leaves you where you started.

It does not always name a tool at all. "This needs no tool" and "you are finished" are normal answers. In the eval set, a fifth of the cases are exactly that.

The stage map

Six tools cover the stages of working a hard question. This table is the reason to read this page.

What you have Stage Tool Roughly costs
Something unformed in your head Extract grill-me (packaged, not ours) One long interview, cheap in agents
A question needing outside evidence Research storm-research About ten sub-agents, 10 to 15 minutes
A market or idea, unsure it is worth doing Screen opportunity-engine One pass plus research, moderate
Two or more options and a date Decide decision-lenses One pass, cheap
A plan you are committed to Stress analytical-frameworks About twelve sub-agents
A conclusion other people must read Render compact-report One pass, cheap

The cost column is not decoration. A ten-agent run spends real money, and a recommendation that hides that is a trap.

All six tools are public repositories, so every row on the map points at something installable. One of them, grill-me, is someone else's work that we packaged and could not trace to an author, and its repository says so on its front page.

How a case goes

A case is not a conveyor belt. You enter at one stage, and most cases stop there. Casework returns to the front after every stage and asks again whether anything is still open, which is why the diagram loops rather than flows.

flowchart TD
    Q(["A hard question"]) --> T{"Casework<br/>triage"}

    T -->|"needs no tool"| N(["Answer it and stop.<br/>The most common outcome"])

    T -->|"cannot state it in one sentence"| E["Extract<br/>grill-me"]
    T -->|"answer turns on facts you lack"| R["Research<br/>storm-research"]
    T -->|"is this market worth entering"| S["Screen<br/>opportunity-engine"]
    T -->|"named options you can weigh"| D["Decide<br/>decision-lenses"]
    T -->|"committed to a plan"| X["Stress<br/>analytical-frameworks"]
    T -->|"thinking done, needs reading"| P["Render<br/>compact-report"]

    E --> EA["capture file<br/>every answer, on disk"]
    R --> RA["briefing<br/>every source has a verdict"]
    S --> SA["screen<br/>score, fit, evidence"]
    D --> DA["run<br/>one named branch"]
    X --> XA["stress output<br/>what kills it"]
    P --> PA["one HTML file<br/>self-contained"]

    EA --> H
    RA --> H
    SA --> H
    DA --> H
    XA --> H
    PA --> H

    H["Handoff note appended to CASE.md<br/>answered · still open · next · artifact · what would change it"]

    H -->|"something still open"| T
    H -->|"nothing open"| F(["The work is finished"])
Loading

What fires each stage, and what it hands on

Stage It fires when It produces What the next stage gets
Extract The question cannot be stated in one sentence with its subject and options named A capture file written one answer at a time, so the file survives what the conversation does not A stated question, and a list of flags nobody could answer
Research The answer turns on facts you do not have A briefing where every source carries a verdict of confirmed, corrected or demoted Findings ranked by how many channels agreed, and the missing channel named
Screen You want to know whether a market or venture is worth entering at all, not which option to pick Three scores that are never collapsed into one: opportunity, builder fit, evidence coverage A kill list, and the survivors worth choosing between
Decide Two or more named options you can already weigh A tree cut to three or four branches, one of them named as the answer A committed branch, plus tripwires that say what would prove it wrong
Stress You are committed to a plan and want to know what kills it Failure modes from four frameworks run as agents that cannot see each other's work The failures worth mitigating, ranked
Render The thinking is done and other people have to read it One self-contained HTML file that opens anywhere Nothing. Render is a terminal stage

The connective tissue is the same six lines in every case, whichever stage wrote them. That is the whole reason a case can cross tools without a human retyping the context: the note says what was settled, what was not, and what should happen next, and the next stage reads it before starting.

Most cases use one stage. The map has six because questions arrive in six shapes, not because a question needs six runs. A chain that never terminates is a treadmill.

One folder per question. Plain Markdown, no database, no state file.

case-<slug>/
  CASE.md        the question, then handoff notes as they accumulate
  extract/       grill-me interview notes
  research/      storm-research briefing and its run folder
  screen/        opportunity-engine output
  decision/      decision-lenses run
  stress/        analytical-frameworks output
  report/        compact-report html

CASE.md opens by stating the question in one or two sentences, before anything else. Then it grows one handoff note per stage, newest last. Only the subfolders that get used are created.

The handoff note

A stage that finishes appends six lines to CASE.md. That note is the only thing the stages share. Here is the one from the shipped example, which ends the case rather than continuing it:

## Handoff: research, 2026-08-21
Answered: whether member demand, cost saving, and regulatory exposure justify accepting stablecoin dues. Demand is unproven for this audience, the saving is low hundreds to about 1,200 USD a year, and the exposure scales with custody rather than volume
Still open: what the paying member experiences at checkout, including on-ramp cost, wallet friction, and the chance of a tax form arriving for paying dues
Next: nothing, the work is finished. The briefing recommends skip, or a narrow pilot gated on the operator's own card decline data, so the next move is to pull that data rather than run another tool
Artifact: research/storm-stablecoin-dues.md
Would change this: a dozen unprompted written member requests, a measured decline problem in a named overseas cohort, or a final rule attaching an obligation to merchants rather than issuers

All six lines are always present. A stage that cannot fill one writes none, because a missing line reads as an oversight and none reads as an answer.

It is text and not JSON because it must survive three things. A human reading it. A paste into a tool that never heard of Casework. A model writing it that never read the format. A schema fails closed. A chain that breaks on malformed JSON is worse than no chain.

The rules behind the example are in HANDOFF.md, including the one instruction that makes any other skill Casework-aware.

Install

The repository is the skill directory, so cloning it into place is the install.

Casework itself dispatches nothing. The tools it routes to do, so the machine running them needs sub-agent support. Claude Code is the only place any of this has been exercised.

Claude Code, available everywhere:

git clone https://github.com/thewarroom-ag/casework.git ~/.claude/skills/casework

Claude Code, one project only:

git clone https://github.com/thewarroom-ag/casework.git .claude/skills/casework

Restart Claude Code so the skill registers. Update later with git pull in that directory.

Claude desktop app, which takes a packaged bundle rather than a folder:

python3 build.py

That writes a .skill bundle next to the script. Add it through the app's skill settings. The bundle is not committed, because it would drift from the files it is built from.

Use

  • "Open a case"
  • "Where do I start"
  • "Which tool for this"
  • "What stage am I at"

Or just arrive with a hard question when it is not obvious what to do with it. The skill triggers on ordinary phrasing.

A routing answer says four things and nothing else:

  1. The stage and the tool. One tool. Never a list.
  2. Why not the neighbour. The stage it nearly picked, and why it did not. You can overrule a visible reason. You cannot overrule a silent one.
  3. What it costs. From the map above.
  4. How to start. The trigger phrase, or the clone command if the tool is not installed.

Then it stops.

What is in the repo

The current version is at the top of VERSION.md. What changed and why is in CHANGELOG.md.

File What it is
SKILL.md The whole method. Stage map, triage, route, continue, and what goes wrong
HANDOFF.md The six-line note, the rules behind it, and how to make another skill Casework-aware
VOICE.md The canonical voice. analytical-frameworks keeps its own copy; storm-research, decision-lenses and opportunity-engine carry the rules inline in their skill files. No repo loads this one at runtime, so each works installed alone
evals/ Twenty-five routing cases, the offline scorer, and the results of every run
VERSION.md What is constitutional and what is free to change
CHANGELOG.md What changed, what was behind it, and what is known to need work
build.py Packs the skill into a .skill bundle for the desktop app
docs/specs/ The design: decisions taken, the prior art search, failure modes
docs/plans/ The implementation plan, reconstructed after the original was deleted
LICENSE Source-available, attribution required. Use it for paid work, do not resell the files

Evals

Twenty-five routing cases. Five of them must route to no tool at all, because a router that always finds a stage is the failure most likely to kill this.

The first run scored 17 of 20. It found two defects, both in the skill and neither in the cases. Screen was defined too broadly and swallowed internal should-we questions. The no-tool branch did not cover work a previous stage had already finished. Both were fixed.

The most recent run scored 25 of 25, with a fresh agent that carried no memory of the earlier ones. All five no-tool cases were answered rather than routed.

That is a small result. Twenty cases is not many, and the same person wrote both the cases and the map, which is the obvious weakness. It shows the stage definitions are clear enough to apply consistently from the file alone. It does not show the routing is correct in the world. The cases that would tell us most are the ones nobody has thought of yet.

Full method and every run are in evals/.

The suite

  • grill-me interviews you one question at a time and writes every answer to a file before asking the next, for when the question is not formed yet. Packaged by us, written by someone else.
  • storm-research builds an evidence base when the answer turns on facts you do not have.
  • opportunity-engine tests whether a market or venture is worth doing at all.
  • decision-lenses takes two or more named options and commits to one.
  • analytical-frameworks takes a plan you are committed to and tries to break it.
  • compact-report turns a finished conclusion into something other people will read.

Casework is upstream of all five. Each of them works alone, and none of them needs this one installed.


Authored by Shadow, CEO, The War Room.

About

The front door to the War Room suite. Triage a hard question to one tool, see what a run costs before it fires, and keep a case file so the next stage starts where the last one stopped.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages