A2a Protocol
internet-court/internet-court-skill
Builds Agent-to-Agent (A2A) servers and clients following Google's open protocol for agent interoperability.
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.
$ npx skills add ThinkFlowLab/system1-agents --skill s1a -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ThinkFlowLab/system1-agents s1a --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "s1a" agent skill from https://github.com/ThinkFlowLab/system1-agents/tree/main/skills/s1a into .claude/skills/s1a/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "s1a", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ThinkFlowLab/system1-agents/tree/main/skills/s1aType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ThinkFlowLab/system1-agents --skill s1a -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ThinkFlowLab/system1-agents s1a --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ThinkFlowLab/system1-agents.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/s1a .agents/skills/s1a && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "s1a" agent skill from https://github.com/ThinkFlowLab/system1-agents/tree/main/skills/s1a into .agents/skills/s1a/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "s1a", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ThinkFlowLab/system1-agents --skill s1a -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ThinkFlowLab/system1-agents s1a --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ThinkFlowLab/system1-agents.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/s1a .cursor/skills/s1a && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "s1a" agent skill from https://github.com/ThinkFlowLab/system1-agents/tree/main/skills/s1a into .cursor/skills/s1a/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "s1a", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ThinkFlowLab/system1-agents.git --path skills/s1a--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ThinkFlowLab/system1-agents --skill s1a -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ThinkFlowLab/system1-agents s1a --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ThinkFlowLab/system1-agents.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/s1a .gemini/skills/s1a && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "s1a" agent skill from https://github.com/ThinkFlowLab/system1-agents/tree/main/skills/s1a into .gemini/skills/s1a/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "s1a", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ThinkFlowLab/system1-agents s1aInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ThinkFlowLab/system1-agents --skill s1a -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ThinkFlowLab/system1-agents.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/s1a .github/skills/s1a && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "s1a" agent skill from https://github.com/ThinkFlowLab/system1-agents/tree/main/skills/s1a into .github/skills/s1a/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "s1a", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ThinkFlowLab/system1-agents --skill s1a -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ThinkFlowLab/system1-agents s1a --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ThinkFlowLab/system1-agents.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/s1a .opencode/skills/s1a && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "s1a" agent skill from https://github.com/ThinkFlowLab/system1-agents/tree/main/skills/s1a into .opencode/skills/s1a/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "s1a", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
s1aDelegates 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. 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.
Read from SKILL.md and the folder at commit 9790b52. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
uvpythonFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
TYPESAFE_API_KEYOPENROUTER_API_KEYOPENAI_API_KEYLLM_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
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.
The full file from ThinkFlowLab/system1-agents at commit 9790b52, republished under its Apache-2.0 licence (© ThinkFlowLab). 454 words, ~1,123 tokens.
.claude/skills/s1a/SKILL.md (or your agent's skills folder).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.
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.
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 routesEvery 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.
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
Just SKILL.md in skills/s1a of ThinkFlowLab/system1-agents.
Open the folder on GitHubat commit 9790b52
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| S1A Decision Agents this skillThinkFlowLab/system1-agents | 122 | — | ~1.1k | Automated safety check: Notes | Apache-2.0 | |
| A2a Protocolinternet-court/internet-court-skill | 6.4k | 1 repos | ~2.5k | Automated safety check: Pass | Apache-2.0 | |
| A2a ProtocolTerminalSkills/skills | 163 | — | ~2.8k | Automated safety check: Pass | Apache-2.0 | |
| Browser Automation Edge Casesaden-hive/hive | 11k | — | ~1.8k | Automated safety check: Pass | MIT | |
| Skyvern Browser AutomationSkyvern-AI/skyvern | 23k | — | ~1.9k | Automated safety check: Pass | AGPL-3.0 | |
| AI Search Hubminsight-ai-info/AI-Search-Hub | 1.3k | — | ~1.3k | Automated safety check: Pass | None |
internet-court/internet-court-skill
Builds Agent-to-Agent (A2A) servers and clients following Google's open protocol for agent interoperability.
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.
aden-hive/hive
Step-by-step procedure for debugging browser automation failures on complex sites such as LinkedIn, Twitter/X, single-page apps and Shadow DOM pages.
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.
minsight-ai-info/AI-Search-Hub
Run the AI Search Hub browser automation scripts for Yuanbao, LongCat, Doubao, Qwen, Gemini, Grok, and MiniMax.
browser-use/terminal
Direct browser control via the Browser Use Terminal CLI. An agent skill from browser-use/terminal.
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.
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.
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.
Works with
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.
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.
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.
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.
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.
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.
SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.
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.
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.
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.
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.
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.