Agent skill

Decision Model Setup

by itechmeat in itechmeat/open-second-brain

Sets up, evaluates or turns off Open Second Brain's optional decision-model feature, starting from the o2b decision-model check command and a provider route you choose.

MITAuto-check passedKnowledge Management

Install Decision Model Setup

skills CLI
$ npx skills add itechmeat/open-second-brain --skill decision-model-setup -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install itechmeat/open-second-brain decision-model-setup --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/itechmeat/open-second-brain.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/decision-model-setup .claude/skills/decision-model-setup && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
decision-model-setup
GitHub stars
430
Token cost
~2.1k tokens
SKILL.md length
1,035 words
Files
1
Skills in repo
5
Repo updated
First seen
Licence
MIT

At a glance

Sets up, evaluates or turns off Open Second Brain's optional decision-model feature, starting from the o2b decision-model check command and a provider route you choose.

  • Works in 5 steps: always start with check → pick a route → the key, by name only → …
  • Enabling the decision-model feature in Open Second Brain
  • SKILL.md covers Step 1: always start with check, Step 2: pick a route, Step 3: the key, by name only and Step 4: one use in shadow, plus 4 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

A decision model answers typed questions, such as a yes or no probability, a pick from a list or a position on a scale, about text Open Second Brain hands it, and never generates text. The app uses it to rank search results, choose skills to offer, decide which transcript turns to mine, filter recalled notes and add advisory verdicts to dedup, tension, label and answerable proposals. It never writes to the vault, the feature is off by default, and without it no network call is made.

The agent always starts with o2b decision-model check, which reports status, provider, the key variable's name and whether it is set without showing the value, each use with its mode, the daily cost gate and a hint naming what is missing. You then choose a route, and the agent never picks one for you: TypeSafe, OpenRouter, Vercel AI Gateway, OpenCode Zen, a self-hosted server on loopback where nothing leaves the machine, or an llm-emulation endpoint meant only for shadow evaluation. Installing a local server and downloading weights is left to you, and conceptual questions are answered from the docs without changing anything.

When your agent uses it

  • Enabling the decision-model feature in Open Second Brain
  • Fixing the errors or hints that decision-model check reports
  • Evaluating a route in shadow mode before enforcing it
  • Turning the decision-model feature off

Example prompts

  • “Set up a decision model for Open Second Brain using OpenRouter.”
  • “The decision-model check shows a no_key status; help me fix it.”
  • “Turn off the decision model feature for this vault.”

Requirements

  • Open Second Brain with the o2b command-line tool
  • A provider key, or a self-hosted decision model server on loopback

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. always start with check
  2. pick a route
  3. the key, by name only
  4. one use in shadow
  5. measure, then decide

What it can do on your machine

Read from SKILL.md and the folder at commit 0f0c9a7. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are bash and yaml).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • openrouter.ai
    • typesafe.ai
    • vercel.com
    • opencode.ai

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Decision Model Setup loads about 2.1k tokens when it runs. Until then it costs about 160 tokens; SKILL.md has 1,035 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~160
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from itechmeat/open-second-brain at commit 0f0c9a7, republished under its MIT licence (© itechmeat). 1,035 words, ~2,095 tokens.

Download SKILL.mdSave it as .claude/skills/decision-model-setup/SKILL.md (or your agent's skills folder).
name
decision-model-setup
description
Set up, evaluate or turn off the optional Open Second Brain decision-model feature (typed judgments that rerank search, pick skills, pre-filter extract-signals turns, filter recalled notes and annotate dedup, tension, label and answerable proposals). INVOKE when the user mentions decision models, Jev, TypeSafe, OpenRouter or Vercel decisions, the `decision_model_*` config keys, or after `o2b decision-model check` reports an error, a warning or a hint. SKIP when the user only asks conceptual questions about decision models or compares providers without intent to set up; answer those directly and change nothing.

Decision-model setup

A decision model answers typed questions (yes/no probability, one of a list, a position on a scale) about text Open Second Brain hands it, and never generates text. Open Second Brain uses it only to choose among candidates its own code produced: which search results come first, which skills to offer, which transcript turns the host should mine, which recalled notes to inject, and advisory verdicts next to dedup, tension, label and answerable proposals. It never writes to the vault.

The feature is off by default. Without it Open Second Brain behaves exactly as it does today and makes no network call. Full reference: docs/decision-models.md (the hub, with the per-use table) and docs/decision-models/providers.md (every route).

For a conceptual question ("what is Jev", "is this worth it", "which route is cheaper") answer from the docs and change nothing. Walk the steps below only when the user wants to set it up, measure it or turn it off.

Step 1: always start with check

bash
o2b decision-model check

It prints the status (disabled, no_key, disabled_by_vault, invalid, active), the provider and processor, the key variable's NAME and whether it is set (never the value), every use with its configured mode, the threshold profile, the uses whose enforce runs as shadow, the daily cost gate, and a hint: line naming only what is missing. Exit 1 means an invalid config or a failed ping; fix the named key first.

Step 2: pick a route

Ask the user which route they want; never pick one for them.

  • TypeSafe (typesafe): the model vendor, directly.
  • OpenRouter (openrouter): the same model through OpenRouter.
  • Vercel AI Gateway (vercel for the compatible route, vercel-evaluate for the gateway's own evaluate endpoint).
  • OpenCode Zen (opencode-zen).
  • Self-hosted on loopback (laya, openjev, or compatible with decision_model_base_url on localhost, 127.0.0.1 or ::1): nothing leaves the machine. laya and openjev need no key on loopback. Check the model's licence (check prints a licence note where the weights carry a restriction). Installing the server is the user's job; this skill does not download weights.
  • llm-emulation: a generative chat endpoint asked only for probabilities. Uncalibrated, costs far more, and meant for shadow evaluation only. Never suggest it as the default.

A compatible server enforces nothing until decision_model_threshold_profile names the model family it serves; until then every enforce runs as shadow, and check says so.

Step 3: the key, by name only

The key lives in an environment variable of the environment that runs Open Second Brain (a shell profile, the host's env file, a secrets manager). The machine config holds only the variable's name:

yaml
decision_model_enabled: "true"
decision_model_provider: <preset>
decision_model_env_key: <VARIABLE_NAME>   # the name, never the key
decision_model_uses: "<use>:shadow"
  • Never write the key into the config, the vault, a tracked file or the chat. Never echo it. Ask the user to set the variable themselves, then rerun check.
  • The config lives outside the vault (the machine config); a vault's Brain/_brain.yaml can only turn the feature off, never on.
  • Plain http:// is accepted only on loopback. For another host without TLS, explain what decision_model_allow_insecure_http means (text and key cross the network unencrypted) before the user sets it.

Then verify connectivity with one synthetic request that carries no vault content:

bash
o2b decision-model check --ping

Step 4: one use in shadow

Start with ONE use in shadow. Shadow sends and records every request but returns today's result unchanged, so the user sees no difference yet. Pick the use that matches what the user wants to improve:

  • rerank: search ordering (needs search_rerank_enabled: "true" and search_rerank_kind: decision-model; pays off with a semantic lane).
  • answerable: an advisory "can these results answer the question" signal, carried by the rerank request.
  • skills: which skills skills_attach offers.
  • extract_prefilter: which user turns the extract-signals envelope carries.
  • recall_inject: which notes the prompt-time recall hook injects. It adds a request to every prompt that injects; mention the latency.
  • dedup, tension, labels: advisory verdicts on proposals the deterministic detectors made (brain_hygiene scan, brain_tension verify, brain_labels suggest).

Each use has its own page under docs/decision-models/.

Show full SKILL.md (397 more words)Show less

Step 5: measure, then decide

After about a week of normal use, read the numbers:

bash
o2b decision-model report --use <use>
o2b search rerank-eval --dataset <queries.json> --kind decision-model --compare-local   # rerank only

report prints the calls, outcomes, latency, tokens and cost, plus the use's own evaluation metric. Recommend enforce only when that metric shows a gain against the deterministic baseline without a regression. For extract_prefilter, enforce needs zero regret (no committed signal from a turn the filter would have dropped); otherwise stay in shadow. Switching to enforce is the user's decision, one use at a time:

yaml
decision_model_uses: "<use>:enforce"

Turning it off

Any one of these:

  1. remove the use from decision_model_uses (or set it to off);

  2. set decision_model_enabled: "false" in the machine config;

  3. add the vault opt-out to Brain/_brain.yaml:

    yaml
    decision_model:
      enabled: false

Unsetting the key variable also stops every request, except to a keyless loopback laya or openjev server, which needs none.

Privacy and terms: tell the user before the first shadow run

  • Shadow sends data. Every request in shadow or enforce carries vault text (candidates, turns or notes) to the processor check names.
  • Private pages never leave. Pages with visibility: private and <private> regions are never sent. Everything else is masked, clipped and passed through the shared secret redaction, but names, e-mail addresses or paths inside a non-private note are sent as they are; mark such text <private> if it must stay on the machine.
  • Retention depends on the processor. The model vendor offers zero retention only by enterprise arrangement; gateways add their own logging and retention terms. Point the user to the processor's terms: TypeSafe https://typesafe.ai/legal/privacy-policy, OpenRouter https://openrouter.ai/privacy and https://openrouter.ai/docs/guides/privacy/provider-logging, Vercel AI Gateway https://vercel.com/docs/ai-gateway/security-and-compliance/zdr, OpenCode Zen https://opencode.ai/legal/privacy-policy. A loopback self-hosted server keeps everything local.
  • No training on recorded answers. Open Second Brain never trains, fine-tunes or distils a model on the decision_model_call records, and the main hosted vendor's terms forbid training a model that imitates its outputs. Tell operators not to build that on the records.
  • Non-English vaults. Hosted decision models are strongest in English. Evaluate each vault on its own shadow data, consider a multilingual self-hosted model, or stay in shadow.

What this skill does NOT do

  • Does not write, paste or echo a key. The user sets the variable.
  • Does not switch a use to enforce without the user's decision and the shadow numbers.
  • Does not install servers or download model weights.
  • Does not edit a vault's _brain.yaml except to add the opt-out when the user asks for it.

© itechmeat, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/decision-model-setup of itechmeat/open-second-brain.

Open the folder on GitHubat commit 0f0c9a7

Compare with similar skills

Decision Model Setup next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Decision Model Setup compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Decision Model Setup this skillitechmeat/open-second-brain430—~2.1kAutomated safety check: PassMIT
Google Image Searchglebis/claude-skills388—~1.4kAutomated safety check: NotesMIT
Pinme LLMglitternetwork/pinme3.7k1 repos~2.8kAutomated safety check: PassMIT
FreeRide Free Model ManagerShaivpidadi/FreeRide2383 repos~1.1kAutomated safety check: PassNone
Embeddings via 9Routerdecolua/9router30k—~604Automated safety check: PassMIT
OpenWork Model Alias Managerdifferent-ai/openwork24k—~1.1kAutomated safety check: PassCustom licence

Similar skills

  • Google Image Search

    glebis/claude-skills

    Search and download images via Google Custom Search API with LLM-powered selection.

    388 GitHub stars~1.4k tokensUpdated 11 days ago
    Knowledge ManagementAuto-check: notes
  • Pinme LLM

    glitternetwork/pinme

    A skill your agent uses when a PinMe project (Worker TypeScript) needs to call OpenRouter-backed LLM APIs, including models, chat/completions, streaming, or OpenRouter web search.

    3.7k GitHub starsUsed in 1 repo~2.8k tokens
    AI & LLM EngineeringAuto-check passed
  • FreeRide Free Model Manager

    Shaivpidadi/FreeRide

    Configures OpenClaw to use free OpenRouter models, setting the best one as primary and adding ranked fallbacks so rate limits do not interrupt work.

    238 GitHub starsUsed in 3 repos~1.1k tokens
    AI & LLM EngineeringAuto-check passed
  • Embeddings via 9Router

    decolua/9router

    Generates vector embeddings through the 9Router /v1/embeddings endpoint, using models from providers such as OpenAI, Gemini, Mistral and Voyage for RAG and semantic search.

    30k GitHub stars~604 tokensUpdated 6 days ago
    AI & LLM EngineeringAuto-check passed
  • OpenWork Model Alias Manager

    different-ai/openwork

    Manages OpenWork's inference model aliases, discounts and overlays over the upstream OpenRouter catalog, and triggers the GitHub workflow that refreshes base models.

    24k GitHub stars~1.1k tokensUpdated today
    Sales & SupportAuto-check passed
  • Using Ccproxy Inspector

    starbaser/ccproxy

    Operates the ccproxy inspector MITM system for intercepting, inspecting, and transforming LLM API traffic.

    348 GitHub stars~2.7k tokensUpdated 1 mo ago
    AI & LLM EngineeringAuto-check passed

More from itechmeat/open-second-brain

  • Codegraph Detection Partner

    itechmeat/open-second-brain

    Teaches the agent to detect whether the codegraph symbol graph is available and use it for callers, callees and impact questions, without installing or writing anything for it.

    430 GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Open Second Brain Embeddings Setup

    itechmeat/open-second-brain

    Walks through turning on semantic search in Open Second Brain: embedding key, sqlite-vec extension, first reindex and an optional periodic refresh, starting from o2b search check.

    430 GitHub stars~2.6k tokensUpdated today
    Auto-check: warnings
  • Brain Schema Author

    itechmeat/open-second-brain

    Adds, renames, reviews and explains Brain schema tokens, aliases, prefixes and link types in Open Second Brain vaults, previewing each change before applying it.

    430 GitHub stars~513 tokensUpdated today
    Auto-check passed
  • Open Second Brain

    itechmeat/open-second-brain

    Lets an agent read, write and maintain its own memory in a Brain folder of an Obsidian-compatible vault, while keeping the user's own notes read-only.

    430 GitHub stars~1.2k tokensUpdated today
    Auto-check passed

Questions about Decision Model Setup

What does Decision Model Setup do?

Sets up, evaluates or turns off Open Second Brain's optional decision-model feature, starting from the o2b decision-model check command and a provider route you choose. A decision model answers typed questions, such as a yes or no probability, a pick from a list or a position on a scale, about text Open Second Brain hands it, and never generates text. The app uses it to rank search results, choose skills to offer, decide which transcript turns to mine, filter recalled notes and add advisory verdicts to dedup, tension, label and answerable proposals.

When should I use Decision Model Setup?

Decision Model Setup fits situations like: enabling the decision-model feature in Open Second Brain; fixing the errors or hints that decision-model check reports; evaluating a route in shadow mode before enforcing it; turning the decision-model feature off.

How do I install Decision Model Setup in Claude Code?

Run `npx skills add itechmeat/open-second-brain --skill decision-model-setup -a claude-code`. Or copy the skill folder (skills/decision-model-setup in itechmeat/open-second-brain) into .claude/skills/decision-model-setup in your project. Claude Code loads it when a task matches its description.

How do I install Decision Model Setup in Codex?

Run `npx skills add itechmeat/open-second-brain --skill decision-model-setup -a codex`. Or copy the skill folder (skills/decision-model-setup in itechmeat/open-second-brain) into .agents/skills/decision-model-setup in your project. Codex loads it when a task matches its description.

Can I use Decision Model Setup in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add itechmeat/open-second-brain --skill decision-model-setup -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/decision-model-setup, .gemini/skills/decision-model-setup, .github/skills/decision-model-setup and .opencode/skills/decision-model-setup in your project.

What does Decision Model Setup need to run?

SKILL.md names no scripts, command-line tools or credentials: Decision Model Setup is instructions for the agent only. Our summary lists: Open Second Brain with the o2b command-line tool; A provider key, or a self-hosted decision model server on loopback.

Does Decision Model Setup access the network?

SKILL.md names 4 domains. As links in the text: openrouter.ai, typesafe.ai, vercel.com and opencode.ai. This is read from the text; nothing was executed.

Is Decision Model Setup safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Decision Model Setup use?

Decision Model Setup is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Decision Model Setup use?

About 2.1k tokens (SKILL.md is roughly 8.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Decision Model Setup?

Skills that share tags, products or a category with Decision Model Setup: Google Image Search (glebis/claude-skills, 388 stars), Pinme LLM (glitternetwork/pinme, 3.7k stars), FreeRide Free Model Manager (Shaivpidadi/FreeRide, 238 stars) and Embeddings via 9Router (decolua/9router, 30k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Decision Model Setup?

itechmeat (a GitHub user) maintains it in itechmeat/open-second-brain, which has 430 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 6, 2026.

Source: itechmeat/open-second-brain on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.