Agent skill

Decision API

by OpenAgentsInc in OpenAgentsInc/openagents

Call the OpenAgents decision API: authenticate with an oak bearer key, post state + typed questions to POST /v1/systemone, read Noul, Choice, and Score answers with their probabilities, and handle…

Apache-2.0Auto-check passed

Install Decision API

skills CLI
$ npx skills add OpenAgentsInc/openagents --skill decision-api -a claude-code

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

GitHub CLI
$ gh skill install OpenAgentsInc/openagents decision-api --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/OpenAgentsInc/openagents.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/decision-api .claude/skills/decision-api && 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-api
GitHub stars
455
Token cost
~1k tokens
SKILL.md length
420 words
Files
1
Skills in repo
5
Repo updated
First seen
Licence
Apache-2.0

At a glance

Call the OpenAgents decision API: authenticate with an oak bearer key, post state + typed questions to POST /v1/systemone, read Noul, Choice, and Score answers with their probabilities, and handle…

  • Caller needs a programmatic decision — routing
  • SKILL.md covers The contract, Refusals, retries, and identity, The CLI and the SDK and What an answer does not mean, plus 1 more section
  • Calls cargo; needs OPENAGENTS_API_KEY
  • Verification — from a deployed door

What it does

Decision API is an agent skill from OpenAgentsInc/openagents. Call the OpenAgents decision API: authenticate with an oak bearer key, post state + typed questions to POST /v1/systemone, read Noul, Choice, and Score answers with their probabilities, and handle typed refusals, Retry-After, and idempotent retries. Use it when an agent or caller needs a programmatic decision — routing, tagging, ranking, verification — from a deployed door, or when writing client code against crates/jev or the oak CLI.

Its SKILL.md is about 1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The licence is Apache-2.0.

When your agent uses it

  • Caller needs a programmatic decision — routing
  • Verification — from a deployed door
  • Writing client code against crates/jev

Example prompts

  • “/decision-api”

Requirements

  • A credential in OPENAGENTS_API_KEY

What it can do on your machine

Read from SKILL.md and the folder at commit ad9f02f. 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

    Shell commands in SKILL.md call:

    • cargo

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

  • Network

    No URLs in SKILL.md.

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

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • OPENAGENTS_API_KEY

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

Context cost

Decision API loads about 1k tokens when it runs. Until then it costs about 117 tokens; SKILL.md has 420 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~117
When it runs · the whole SKILL.md, loaded when a task matches
~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 OpenAgentsInc/openagents at commit ad9f02f, republished under its Apache-2.0 licence (© OpenAgentsInc). 420 words, ~1,047 tokens.

Download SKILL.mdSave it as .claude/skills/decision-api/SKILL.md (or your agent's skills folder).
name
decision-api
description
Call the OpenAgents decision API: authenticate with an `oak_` bearer key, post `state` + typed `questions` to `POST /v1/systemone`, read Noul, Choice, and Score answers with their probabilities, and handle typed refusals, `Retry-After`, and idempotent retries. Use it when an agent or caller needs a programmatic decision — routing, tagging, ranking, verification — from a deployed door, or when writing client code against `crates/jev` or the `oak` CLI.

The decision API for callers

The service answers questions instead of generating text. One request carries one state (the JSON or text under judgment) and a map of typed questions; the response carries one typed answer per question with probabilities. There is no streaming prose and no chat history — each call is complete and independent.

The contract

http
POST /v1/systemone
Authorization: Bearer oak_<id>.<secret>
Content-Type: application/json

{
  "model": "shared-kev",
  "state": "I was charged twice on the March invoice.",
  "questions": {
    "refund": {"type": "noul", "instructions": "Does the customer ask for money back?"}
  }
}
json
{"model": "shared-kev", "answers": {"refund": {"type": "noul", "noul": 0.91}},
 "usage": {"input_tokens": 412, "output_tokens": 2}}

GET /v1/models lists the doors the credential may name in model. Three question types:

  • noul — probability a condition holds (noul field, 0–1).
  • choice — pick one of criteria's named options (choice, confidence, probabilities).
  • score — probability-weighted position on 2–10 ordered criteria levels (score, confidence, probabilities, legend).

Question ids are caller-side only — the model sees instructions and criteria, never the id. Include a no-match option in a choice when nothing may fit.

Refusals, retries, and identity

Errors are typed: {"error": {"code", "message"}}. Gateway-owned codes are stable (unauthenticated, door_not_bound, invalid_request, too_many_questions, too_many_options, idempotency_conflict, rate_limited, busy, overloaded, quota_exhausted, door_unavailable, identity_mismatch, unavailable); a backend may add its own refusal codes. Treat rate_limited/busy/overloaded and 5xx as retryable — honor Retry-After — and quota_exhausted as a daily budget that retrying cannot fix.

Send Idempotency-Key on work you may retry and increment X-Attempt per attempt: the service settles quota by (request, attempt), a retried request shares one reservation, and a settled pair reused against changed content answers 409. The x-request-id response header is the identity to quote when reporting a call.

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

The CLI and the SDK

oak (cargo run -p oak) is the reference caller: oak ask --questions FILE [STATE] for one call, --input lines|ndjson for bounded batches, --request-id for idempotent work, --select/--uncertain-below to shape output, and stable exit codes (0 answered, 1 failure, 2 usage, 3 refused, 4 unavailable, 5 mixed). Credentials come from OPENAGENTS_API_KEY or a 0600 config file — never a flag. In Rust, crates/jev is the SDK the CLI is built on.

What an answer does not mean

Probabilities are model judgments, not permission or proof of correctness. Calibration must be measured on the target workload; the wire contract does not establish it. A Noul of 0.5 expresses equal model probability for yes and no, not an independently established frequency. confidence describes how concentrated a distribution is. Acting on an answer — a threshold, a routing rule, an escalation — belongs to the caller's policy and should be measured on the caller's labelled data.

Where to read more

  • docs/decision-models/guides/caller.md — the caller's guide end to end.
  • docs/decision-models/service/gateway.md — the service's admission, bounds, and refusal codes.
  • docs/decision-models/api/openapi.yaml — the machine-readable contract.
  • docs/decision-models/examples/ — runnable curl and oak examples.
  • docs/gym/measured-records.md — how suites, runs, and report commitments measure a door.

© OpenAgentsInc, Apache-2.0. 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 .agents/skills/decision-api of OpenAgentsInc/openagents.

Open the folder on GitHubat commit ad9f02f

Compare with similar skills

Decision API 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 API compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Decision API this skillOpenAgentsInc/openagents455—~1kAutomated safety check: PassApache-2.0
Agent Authenticationruvnet/ruflo74k3 repos~711Automated safety check: PassMIT
Accessible Authentication Reviewthedaviddias/Front-End-Checklist74k—~579Automated safety check: PassMIT
Authenticationlatitude-dev/latitude-llm4.7k—~303Automated safety check: PassMIT
Detecting Anomalous Authentication Patternsmukul975/Anthropic-Cybersecurity-Skills34k—~7.5kAutomated safety check: PassApache-2.0
Implementing Zero Knowledge Proof For Authenticationmukul975/Anthropic-Cybersecurity-Skills34k—~858Automated safety check: PassApache-2.0

Similar skills

  • Agent skill for authentication - invoke with $agent-authentication

    74k GitHub starsUsed in 3 repos~711 tokens
    Backend & APIsAuto-check passed
  • Accessible Authentication Review

    thedaviddias/Front-End-Checklist

    Reviews sign-in, MFA, CAPTCHA and recovery flows for accessibility barriers such as blocked paste, memorized codes and transcription, and suggests fixes.

    74k GitHub stars~579 tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • Authentication

    latitude-dev/latitude-llm

    Sessions, sign-in/sign-up flows, OAuth, magic links, or organization context on the session.

    4.7k GitHub stars~303 tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Detecting Anomalous Authentication Patterns

    mukul975/Anthropic-Cybersecurity-Skills

    Detects anomalous authentication patterns using UEBA analytics, statistical baselines, and machine learning models to identify impossible travel, credential stuffing, brute force, password spraying…

    34k GitHub stars~7.5k tokensUpdated 1 mo ago
    Data & AnalyticsAuto-check passed
  • Implementing Zero Knowledge Proof For Authentication

    mukul975/Anthropic-Cybersecurity-Skills

    Implements the Schnorr identification protocol and a simplified Zero-Knowledge Password Proof (ZKPP) over the discrete logarithm problem, letting a prover authenticate by demonstrating knowledge of…

    34k GitHub stars~858 tokensUpdated 1 mo ago
    SecurityAuto-check passed
  • OmniRoute Authentication

    diegosouzapw/OmniRoute

    Documents how OmniRoute authenticates requests: Bearer credentials for the API, management-password login with session cookies, CSRF tokens and optional OIDC for the dashboard.

    74k GitHub stars~1.8k tokensUpdated yesterday
    Backend & APIsAuto-check passed

More from OpenAgentsInc/openagents

  • Typesafe AI

    OpenAgentsInc/openagents

    Build AI-powered software with TypeSafe: small units of AI intelligence you can use like programming primitives.

    455 GitHub starsUsed in 9 repos~2.5k tokens
    Auto-check passed
  • Google Developer Style

    OpenAgentsInc/openagents

    Apply the Google Developer Documentation Style Guide to user-facing docs, READMEs, AGENTS.md, and commit messages.

    455 GitHub stars~630 tokensUpdated today
    Auto-check passed
  • Openagents Decision API

    OpenAgentsInc/openagents

    Authenticate to and call the OpenAgents decision API — typed decisions, batch classification, durable jobs, and the bundled documentation — through the oak CLI, the oak-mcp server, or raw HTTP.

    455 GitHub stars~680 tokensUpdated today
    Auto-check passed
  • Nostr

    OpenAgentsInc/openagents

    How Nostr works in this repository: the three NIP lanes under nips/, the wire protocol (NIP-01), relay authentication (NIP-42), payload encryption (NIP-44), the Block agent NIPs the relay serves…

    455 GitHub stars~6.2k tokensUpdated today
    Auto-check passed

Questions about Decision API

What does Decision API do?

Call the OpenAgents decision API: authenticate with an oak bearer key, post state + typed questions to POST /v1/systemone, read Noul, Choice, and Score answers with their probabilities, and handle…. Decision API is an agent skill from OpenAgentsInc/openagents. Call the OpenAgents decision API: authenticate with an oak bearer key, post state + typed questions to POST /v1/systemone, read Noul, Choice, and Score answers with their probabilities, and handle typed refusals, Retry-After, and idempotent retries.

When should I use Decision API?

Decision API fits situations like: caller needs a programmatic decision — routing; verification — from a deployed door; writing client code against crates/jev.

How do I install Decision API in Claude Code?

Run `npx skills add OpenAgentsInc/openagents --skill decision-api -a claude-code`. Or copy the skill folder (.agents/skills/decision-api in OpenAgentsInc/openagents) into .claude/skills/decision-api in your project. Claude Code loads it when a task matches its description.

How do I install Decision API in Codex?

Run `npx skills add OpenAgentsInc/openagents --skill decision-api -a codex`. Or copy the skill folder (.agents/skills/decision-api in OpenAgentsInc/openagents) into .agents/skills/decision-api in your project. Codex loads it when a task matches its description.

Can I use Decision API 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 OpenAgentsInc/openagents --skill decision-api -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-api, .gemini/skills/decision-api, .github/skills/decision-api and .opencode/skills/decision-api in your project.

What does Decision API need to run?

Going by SKILL.md and its folder, Decision API needs the command-line tools its instructions call (cargo) and credentials named OPENAGENTS_API_KEY. Our summary lists: A credential in OPENAGENTS_API_KEY.

Does Decision API access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Decision API 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 API use?

Decision API is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Decision API use?

About 1k tokens (SKILL.md is roughly 4.2k 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 API?

Skills that share tags, products or a category with Decision API: Agent Authentication (ruvnet/ruflo, 74k stars), Accessible Authentication Review (thedaviddias/Front-End-Checklist, 74k stars), Authentication (latitude-dev/latitude-llm, 4.7k stars) and Detecting Anomalous Authentication Patterns (mukul975/Anthropic-Cybersecurity-Skills, 34k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Decision API?

OpenAgentsInc (a GitHub organization) maintains it in OpenAgentsInc/openagents, which has 455 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 7, 2026.

Source: OpenAgentsInc/openagents on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.