Seven agent skills for working a hard question. They are not seven tools. They are one pipeline, and each repository is one stage of it.
Six of the seven are ours. The seventh, grill-me, is someone else's work that we packaged and could not trace to an author. Its repository says so on its front page.
Everything here is free. Nothing is sold, nothing is gated, and no repository here is a demo for something you have to buy.
casework is the front door. Bring it a question, and it works out which stage you are at, names one tool, says what a run costs before anything fires, and stops. It never runs a tool for you. It routes and it records.
If you install one thing, install that. It tells you what to install next, and when you need nothing at all.
| Stage | Repo | When it is the right one |
|---|---|---|
| Front door | casework | You have a question and do not know what to do with it |
| Extract | grill-me | It is still in your head. Writes every answer to disk before asking the next question. Packaged by us, written by someone else |
| Research | storm-research | The answer turns on facts you do not have. Seven channels in parallel, then every citation checked |
| Screen | opportunity-engine | You want to know whether a market or venture is worth pursuing at all |
| Decide | decision-lenses | Two or more named options, and you have to pick one |
| Stress | analytical-frameworks | You are committed to a plan and want to know what kills it |
| Render | compact-report | The thinking is done and other people have to read it |
Work travels between stages in a case folder. Each stage appends a six-line note in plain text saying what it settled, what it could not, and what should happen next. The format is defined in casework and every skill here honours it. Outside a case folder they all behave exactly as they would alone.
It is a loop, not a line. Casework returns to the front after every stage and asks again whether anything is still open, and most questions stop at one stage. The map has six rows because questions arrive in six shapes, not because a question needs six runs.
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"])
The conventions matter more than any single skill, so they are stated rather than implied.
Disagreement is kept, not averaged. storm-research runs seven research channels that never see each other, then maps where they contradict. analytical-frameworks runs four frameworks as isolated agents that cannot read each other's work. Agreement between agents that could not coordinate carries information. A single model agreeing with itself does not.
Sources get verdicts. Every citation in a storm-research briefing is checked against the page it came from and marked confirmed, corrected, or demoted. In the run that ships as its example, 34 sources were checked: 15 confirmed, 18 corrected, 1 demoted for carrying claims its own page did not contain. That ratio is the argument for the phase.
The changelogs admit things. They name the failure behind each change, including the ones that were our fault. One entry records a version that shipped without running its own required evals, and says so rather than hiding it. Another records a rule that told the model to invent deadlines nobody had asked for.
Plain English, deliberately. ASD-STE100 Simplified Technical English is the baseline, written for a reader whose first language is not English. Short sentences. One idea per sentence. No em dashes anywhere.
We say when we got it wrong. grill-me went public on 2026-08-21 with our name on it. It is not our work, the same text had been public for ten weeks, and we had checked whether the category was crowded rather than whether the file already existed. It came down the day we found out and went back up with the provenance on the front page. The changelog records the failure rather than the fix.
Nothing here claims to be measured. casework ships routing evals and reports the score honestly, including the run that failed. Nothing else has a controlled comparison against a well-prompted single prompt, and none of these repositories will tell you otherwise.
Each repository is the skill directory, so cloning it into place is the install:
git clone https://github.com/thewarroom-ag/casework.git ~/.claude/skills/caseworkThey were built for Claude Code and that is the only place they have been exercised. Several need a tool that can dispatch sub-agents in parallel with web access, because running perspectives that cannot see each other is the method rather than a detail.
Source-available, attribution required. Use them for anything, including paid client work. Change them. Do not repackage and sell them. Keep the credit line. Each repository carries the full terms.
grill-me is the exception. Our licence there covers the packaging only and grants nothing over the skill file itself, because that file is not ours to license.
Authored by Shadow, CEO, The War Room. Except grill-me, which we only packaged.