Agent skill

S1A Decision Agents

by ThinkFlowLab in ThinkFlowLab/system1-agents

Delegates click-through web tasks, games and quizzes to S1A through its s1a command, or asks a fast decision model to pick one option from a list you provide.

Apache-2.0Auto-check: notesProductivity & Automation

Install S1A Decision Agents

skills CLI
$ npx skills add ThinkFlowLab/system1-agents --skill s1a -a claude-code

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

GitHub CLI
$ gh skill install ThinkFlowLab/system1-agents s1a --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/ThinkFlowLab/system1-agents.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/s1a .claude/skills/s1a && 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
s1a
GitHub stars
122
Token cost
~1.1k tokens
SKILL.md length
454 words
Files
1
Skills in repo
4
Repo updated
First seen
Licence
Apache-2.0

At a glance

Delegates click-through web tasks, games and quizzes to S1A through its s1a command, or asks a fast decision model to pick one option from a list you provide.

  • Filling a multi-step web form or flight search made of visible controls
  • SKILL.md covers When to delegate, Commands and Keys
  • Calls uv and python; needs TYPESAFE_API_KEY and OPENROUTER_API_KEY
  • Letting a fast decision model play a game that lists its legal moves

What it does

S1A runs openJiuwen agents with a System 1 decision model in the model slot: TypeSafe Jev over HTTP by default, or Laya or Cua-S1 in process. Each request takes about 400 ms and makes one selection over the options a page or game enumerates, returning a probability per option. The command is s1a, run with uv from a checkout of ThinkFlowLab/system1-agents, or from inside the Claude Code plugin.

Use it for web tasks that are a series of selections over visible controls, such as search forms, filters, date pickers, result lists and quizzes, where the values to type come from the task text. It also suits games that list their legal moves and report a score, and one-off routing, ranking or gating over a fixed list. It is not for plain fetches, arithmetic, constraint puzzles, search over move trees, free-text generation or tasks that need a value the page never shows.

Every run prints a single JSON object on stdout, with ok, final, error and usage fields for a browser agent, and logs go to files under runs/logs in the checkout. The decide command prints choice, probabilities, confidence and ms. Options include --model, --timeout (180 s by default for the flights agent), --headed to show the browser and --episodes. Exit code 0 means a finished run even when the JSON says ok is false, 1 is a run, key or model error, and 2 is a usage error.

When your agent uses it

  • Filling a multi-step web form or flight search made of visible controls
  • Letting a fast decision model play a game that lists its legal moves
  • Ranking or routing items from a fixed list with a probability per option

Example prompts

  • “Use s1a to search flights from Boston to Denver on the airline site and return the cheapest result.”
  • “Ask the decision model which of these three support queues the ticket belongs in.”
  • “Run s1a on this multiple-choice quiz page and give me its final answers.”

Requirements

  • A checkout of ThinkFlowLab/system1-agents with uv, or the Claude Code plugin

What it can do on your machine

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

    • uv
    • python

    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):

    • github.com

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

  • Credentials

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

    • TYPESAFE_API_KEY
    • OPENROUTER_API_KEY
    • OPENAI_API_KEY
    • LLM_API_KEY

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

Context cost

S1A Decision Agents loads about 1.1k tokens when it runs. Until then it costs about 113 tokens; SKILL.md has 454 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~113
When it runs · the whole SKILL.md, loaded when a task matches
~1.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: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:58
    The command also reads the `.env` of its checkout. Exported variables win over the file.

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 ThinkFlowLab/system1-agents at commit 9790b52, republished under its Apache-2.0 licence (© ThinkFlowLab). 454 words, ~1,123 tokens.

Download SKILL.mdSave it as .claude/skills/s1a/SKILL.md (or your agent's skills folder).
name
s1a
description
Delegate a page task with enumerable controls, a game or a quiz to S1A, an openJiuwen agent with a System 1 decision model in its model slot, through the s1a command; or ask the decision model for one fast selection over options you enumerate. Use for click-through web tasks with no arithmetic, and for routing, ranking or gating over a fixed option list. Not for a plain fetch (use curl), arithmetic, constraint puzzles or free-text negotiation.

s1a

S1A runs openJiuwen agents with a System 1 decision model in the model slot: TypeSafe Jev over HTTP by default, Laya or Cua-S1 in process. About 400 ms per request, one selection over the options the page or the game enumerates, a probability per option. The command is s1a, run from a checkout of https://github.com/ThinkFlowLab/system1-agents: uv run --project <checkout> s1a .... Inside the Claude Code plugin the checkout is ${CLAUDE_PLUGIN_ROOT}. python -m s1a from the checkout is the same command.

When to delegate

  • A web task that is a sequence of selections over visible controls: search forms, filters, date pickers, result lists, quizzes. The values to type come from the task text.
  • A game or environment that enumerates its legal moves each step and reports a score.
  • One selection over options you already hold, where a probability per option helps: routing, ranking, gating.

Not for: a plain page fetch (use curl), arithmetic, constraint puzzles, search over move trees, free-text generation, or a task that needs a value the page never shows.

Commands

bash
s1a list
s1a run flights --model jev --goal "<site URL first, the values to enter, the stop condition>"
s1a run <agent> --model jev --rethink off --episodes 3
s1a decide --state '<JSON object>' --option key="what it means" --option other="what it means" --rules "<facts>"
s1a decide --state '{"title": "Charged twice", "description": "I was charged twice for order 4411 and I want the second charge refunded.", "order_status": "delivered"}' \
  --option logistics="delivery tracking, delivery progress or delivery problems" --option payment="charges, failed payments or duplicate payments" \
  --option returns="requests for returns, exchanges or refunds" --option account="login or account access problems" \
  --option human="insufficient information, several independent requests, or an explicit request for a human" \
  --rules "Route the current explicit request to exactly one queue. A payment problem with an explicit request for a refund belongs to returns. If no unique queue fits, choose human."
s1a run ticket_router --model jev --rethink off --episodes 1      # the shipped router: 30 labelled tickets, five queues, scores the correct routes

Every run prints one JSON object on stdout and nothing else there. The harness logs go to files under the checkout's runs/logs. A browser agent's object has ok, final, error and usage with both models; final is the answer. With --model jev it also has report and, when present (absent on a timeout), status and terminal: terminal.url and terminal.title are where the answer was read. With --model llm it has browser_result, the subagent's own verdict; status, report and terminal are absent there. A task takes seconds to a few minutes; --timeout sets the wall clock (the agent's own default, 180 s for flights) and --headed shows the browser. A tool agent's object is the series summary with job_dir, the job folder it wrote. decide prints choice, probabilities, confidence and ms. Exit codes: 0 for a finished run, including one whose JSON has ok: false and an error; 1 for a run, key or model error, one line on stderr; 2 for a usage error (an unknown agent, bad flags, a malformed --state, --option or @file). --model jev is TypeSafe Jev; --model laya is Laya, an open-weight System 1 decision model that runs in process after uv sync --extra laya, with the same outputs and no Jev key; --model cua is Cua-S1 Nano, a small option scorer in process after uv sync --extra cua, a baseline; tool agents also take llm, random and rule.

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

Keys

TYPESAFE_API_KEY for Jev, or OPENROUTER_API_KEY for the proxy; OPENAI_API_KEY or LLM_API_KEY, the base URL and MODEL_NAME for the chat model that types values and writes the answer. Export them in the host's environment. The command also reads the .env of its checkout. Exported variables win over the file.

© ThinkFlowLab, 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 skills/s1a of ThinkFlowLab/system1-agents.

Open the folder on GitHubat commit 9790b52

Compare with similar skills

S1A Decision Agents 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.

S1A Decision Agents compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
S1A Decision Agents this skillThinkFlowLab/system1-agents122—~1.1kAutomated safety check: NotesApache-2.0
A2a Protocolinternet-court/internet-court-skill6.4k1 repos~2.5kAutomated safety check: PassApache-2.0
A2a ProtocolTerminalSkills/skills163—~2.8kAutomated safety check: PassApache-2.0
Browser Automation Edge Casesaden-hive/hive11k—~1.8kAutomated safety check: PassMIT
Skyvern Browser AutomationSkyvern-AI/skyvern23k—~1.9kAutomated safety check: PassAGPL-3.0
AI Search Hubminsight-ai-info/AI-Search-Hub1.3k—~1.3kAutomated safety check: PassNone

Similar skills

  • A2a Protocol

    internet-court/internet-court-skill

    Builds Agent-to-Agent (A2A) servers and clients following Google's open protocol for agent interoperability.

    6.4k GitHub starsUsed in 1 repo~2.5k tokens
    Productivity & AutomationAuto-check passed
  • A2a Protocol

    TerminalSkills/skills

    Builds Agent2Agent (A2A) servers and clients, the open protocol (originally from Google, now under the Linux Foundation) that lets AI agents from different frameworks call each other.

    163 GitHub stars~2.8k tokensUpdated 5 days ago
    Productivity & AutomationAuto-check passed
  • Step-by-step procedure for debugging browser automation failures on complex sites such as LinkedIn, Twitter/X, single-page apps and Shadow DOM pages.

    11k GitHub stars~1.8k tokensUpdated yesterday
    Productivity & AutomationAuto-check passed
  • Skyvern Browser Automation

    Skyvern-AI/skyvern

    Automates websites with Skyvern's AI browser agent to fill forms, extract data, download files, log in and run multi-step workflows through SDKs, REST, MCP or a CLI.

    23k GitHub stars~1.9k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • AI Search Hub

    minsight-ai-info/AI-Search-Hub

    Run the AI Search Hub browser automation scripts for Yuanbao, LongCat, Doubao, Qwen, Gemini, Grok, and MiniMax.

    1.3k GitHub stars~1.3k tokensUpdated 5 mo ago
    Productivity & AutomationAuto-check passed
  • Browser Use Terminal

    browser-use/terminal

    Direct browser control via the Browser Use Terminal CLI. An agent skill from browser-use/terminal.

    651 GitHub stars~2.1k tokensUpdated 1 mo ago
    Productivity & AutomationAuto-check passed

More from ThinkFlowLab/system1-agents

  • System 1 Agent Builder

    ThinkFlowLab/system1-agents

    Scaffolds a new System 1 agent module for a named task in the system1-agents repo, after a fit probe, with its test and README row, verified model by model.

    122 GitHub stars~1.7k tokensUpdated yesterday
    Auto-check passed
  • Add Agent Recipe

    ThinkFlowLab/system1-agents

    Add or update runnable use-case recipes for existing System1-Agents agents, with setup, inference-backend configuration, independent result checks, demo evidence and troubleshooting.

    122 GitHub stars~797 tokensUpdated yesterday
    Auto-check passed
  • System1-Agents Self-Review

    ThinkFlowLab/system1-agents

    Prepares a local self-review report for a System1-Agents change before a PR is opened, checking the full diff, tests, docs, artifacts and claims against evidence.

    122 GitHub stars~2.1k tokensUpdated yesterday
    Auto-check passed

Works with

Questions about S1A Decision Agents

What does S1A Decision Agents do?

Delegates click-through web tasks, games and quizzes to S1A through its s1a command, or asks a fast decision model to pick one option from a list you provide. S1A runs openJiuwen agents with a System 1 decision model in the model slot: TypeSafe Jev over HTTP by default, or Laya or Cua-S1 in process. Each request takes about 400 ms and makes one selection over the options a page or game enumerates, returning a probability per option.

When should I use S1A Decision Agents?

S1A Decision Agents fits situations like: filling a multi-step web form or flight search made of visible controls; letting a fast decision model play a game that lists its legal moves; ranking or routing items from a fixed list with a probability per option.

How do I install S1A Decision Agents in Claude Code?

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

How do I install S1A Decision Agents in Codex?

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

Can I use S1A Decision Agents 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 ThinkFlowLab/system1-agents --skill s1a -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/s1a, .gemini/skills/s1a, .github/skills/s1a and .opencode/skills/s1a in your project.

What does S1A Decision Agents need to run?

Going by SKILL.md and its folder, S1A Decision Agents needs the command-line tools its instructions call (uv and python) and credentials named TYPESAFE_API_KEY, OPENROUTER_API_KEY, OPENAI_API_KEY and LLM_API_KEY. Our summary lists: A checkout of ThinkFlowLab/system1-agents with uv, or the Claude Code plugin.

Does S1A Decision Agents access the network?

SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.

Is S1A Decision Agents safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does S1A Decision Agents use?

S1A Decision Agents 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 S1A Decision Agents use?

About 1.1k tokens (SKILL.md is roughly 4.5k 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 S1A Decision Agents?

Skills that share tags, products or a category with S1A Decision Agents: A2a Protocol (internet-court/internet-court-skill, 6.4k stars), A2a Protocol (TerminalSkills/skills, 163 stars), Browser Automation Edge Cases (aden-hive/hive, 11k stars) and Skyvern Browser Automation (Skyvern-AI/skyvern, 23k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains S1A Decision Agents?

ThinkFlowLab (a GitHub organization) maintains it in ThinkFlowLab/system1-agents, which has 122 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 7, 2026.

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