decision-model-batchlisted
Install: claude install-skill josephbedminster/indie-marketing-skills
# Decision model batches
A decision model generates nothing. You send a `state` (text) and typed
questions; it returns typed answers with calibrated probabilities. On
OpenRouter, Jev costs $0.042 per million input tokens, output is free, and an
answer takes about 0.4 s: 40 to 200 times cheaper than a text LLM. It is
excellent at repeated closed judgments and useless for anything that needs a
sentence written.
The split that works: **code finds candidates, the model judges, code
decides.** Never ask it "find", ask it "is it true that".
## Before you start
If `.claude/seo-config.md` exists, read its **Decision model** section: the
project may already have a client with retries and caching. Reuse it. If the
file is missing and you write a new client, create the file from
`../pseo-internal-linking/references/config-template.md` and fill at least
that section, so the next job finds the client. Read the **Project
conventions** of `.claude/posthog-funnel-map.md` if present.
## The call
A dedicated endpoint, **not** `/chat/completions` (which returns 400 for a
decisions model):
```text
POST https://openrouter.ai/api/alpha/decisions
Authorization: Bearer $OPENROUTER_API_KEY
Content-Type: application/json
{
"model": "typesafe/jev-1.13",
"state": "…the text to judge, up to ~30,000 tokens…",
"questions": {
"is_urgent": { "type": "noul", "instructions": "The message expresses urgency." },
"team": { "type": "choice", "instructions": "Which team should handle it