Agent skill

System 1 Agent Builder

by ThinkFlowLab in 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.

Apache-2.0Auto-check passedAI & LLM Engineering

Install System 1 Agent Builder

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

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

GitHub CLI
$ gh skill install ThinkFlowLab/system1-agents build-s1a-agent --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/.claude/skills/build-s1a-agent .claude/skills/build-s1a-agent && 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
build-s1a-agent
GitHub stars
126
Token cost
~1.7k tokens
SKILL.md length
811 words
Files
4 (incl. references)
Skills in repo
5
Repo updated
First seen
Licence
Apache-2.0

At a glance

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.

  • Works in 6 steps: Intake, one message → Fit gate, before any code → Front → …
  • Adding a new System 1 agent for a game, task, site or rail
  • SKILL.md covers 1. Intake, one message, 2. Fit gate, before any code, 3. Front and 4. Scaffold, plus 2 more sections
  • Calls uv

What it does

This skill is specific to the s1a repository, where an agent is one module under s1a/agents/ that ends in a frozen SPEC, while the loop, decision-model layer, rethink rail, job folders and CLI are shared. It starts with a one-message intake of five facts: the task and what a finished episode looks like, where state comes from, how options are listed at each step, the score and any baseline, and whether a step needs arithmetic, constraint deduction, search or generated text, which counts as a stop.

A fit gate comes before any code. You write 8 to 12 hand-made cases as JSONL and run uv run s1a probe, which reports fits at 80 percent or more over at least 8 cases, too few cases below 8, or not a decision-model task. A wrong case that needed deduction or arithmetic stops the work even if the total passes. The agent then chooses a front (tool, browser or rail), copies the matching template, and writes the module, a test and a README row. Reference files describe the fit rule, the three fronts and state design.

When your agent uses it

  • Adding a new System 1 agent for a game, task, site or rail
  • Checking whether a task suits a decision model before writing code
  • Choosing between the tool, browser and rail fronts for an agent

Example prompts

  • “Build a System 1 agent for the Nim game in this repo.”
  • “Scaffold an S1A agent for our checkout page, and run the fit probe first.”
  • “Add a rail agent that approves or blocks a running agent's file writes.”

Requirements

  • A checkout of the system1-agents repository
  • uv, to run the s1a CLI

Workflow steps

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

  1. Intake, one message
  2. Fit gate, before any code
  3. Front
  4. Scaffold
  5. Verify, one rung at a time
  6. Demo and handoff

What it can do on your machine

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

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

  • Network

    No URLs in SKILL.md. Its commands use uv, which can reach the network depending on how they are called.

    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

System 1 Agent Builder loads about 1.7k tokens when it runs, and up to ~3.8k if it reads all its reference files. Until then it costs about 118 tokens; SKILL.md has 811 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~118
When it runs · the whole SKILL.md, loaded when a task matches
~1.7k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~3.8k

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 ThinkFlowLab/system1-agents at commit 3a2c2c6, republished under its Apache-2.0 licence (© ThinkFlowLab). 811 words, ~1,655 tokens.

Download SKILL.mdSave it as .claude/skills/build-s1a-agent/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
build-s1a-agent
description
Build a new System 1 agent (an openJiuwen agent with a System 1 decision model in its model slot) for a task the user names, in this repository. Runs a fit probe first, then scaffolds one agent module from the template of the right front (tool, browser or rail), its test and its README row, and verifies it model by model. Use when the user asks to build, add or scaffold a System 1 agent, an S1A agent, a Jev agent, a new game, task, site or rail for s1a.

Build a System 1 agent

A System 1 agent is one module under s1a/agents/ that ends in a frozen SPEC. The loop, the decision-model layer, the rethink rail, the job folders and the CLI are shared and never change for a new agent. This skill produces the module, its test and a README row, and stops at the first gate that fails.

Read references/fit-rule.md before the intake and references/state-design.md before the scaffold. The three fronts and every spec field are in references/fronts.md.

1. Intake, one message

Ask for, or confirm from the request, these five facts. Stop until they are clear.

  1. The task, in one sentence, and what a finished episode looks like.
  2. Where the state comes from: an API or library, a page, a text environment, a callback in a running agent.
  3. How the options are enumerated at each step: the library's legal moves, the page's controls, a fixed list.
  4. The score: what counts, and whether a baseline exists (a rule, an expert plan, a published number).
  5. Whether any step needs arithmetic, constraint deduction, search, or generated text. One yes is a stop.

2. Fit gate, before any code

Write 8 to 12 hand-written cases as JSONL, one decision each, spread over the task's situations, and run them:

bash
uv run s1a probe cases.jsonl

Each line: {"state": {...}, "options": {"key": "description"}, "rules": "...", "accept": ["key"], "note": "..."}. The verdict prints as fits at 80 percent right or above over at least 8 cases, too few cases under 8, otherwise not a decision-model task. A wrong case that needed deduction or arithmetic is a stop even when the total passes. Report the table to the user. On a stop, say which cases failed and why, name the nearest task that would fit, and end.

3. Front

  • Tool front when a library or environment enumerates the moves and reports a score: ToolAgentSpec.
  • Browser front when the task is a page with visible controls: BrowserAgentSpec.
  • Rail front when the task is one yes-or-no or one selection at a hook of a running agent: RailSpec.

4. Scaffold

Copy the front's template from s1a/agents/_templates/ to s1a/agents/<name>.py and replace every part; the template's comments say what each part is. SPEC.name is the module name. Write tests/test_agents_<name>.py with the two tool-front classes of tests/test_templates.py, TestNimEnv and TestNimThroughTheLoop, rewritten for the new module: the env's reset, candidates and winning line, then the rule and random models through series.play with loop.WORKSPACE and series.optional_chat_model patched as there. For a browser agent, copy TestBrowserTemplateOffline: the spec reaches the faked subagent through support.browse_offline. For a rail, copy TestRailTemplateOffline: precision and recall on five hand-labelled records through a ScriptedModel(noul=[...]) from s1a.decision_models. Add one row to the agents table in README.md. Follow references/state-design.md for the observation, the candidate keys, the rules text and the budget. Do not touch s1a/tool/, s1a/browser/, s1a/rails.py or s1a/spec.py.

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

5. Verify, one rung at a time

Run each command, read its output, fix the agent before the next rung. Stop at the first rung that fails.

bash
uv run pytest tests/test_agents_<name>.py -q                      # the adapter contract, no keys
uv run s1a run <name> --model random --rethink off --episodes 3   # mechanics through the loop, no keys
uv run s1a run <name> --model rule --rethink off --episodes 3     # when a baseline exists
uv run s1a run <name> --model jev --rethink off --episodes 3 --log   # keys: latency, invalid keys must be 0
uv run s1a run <name> --model llm --rethink off --episodes 3      # the same seeds with the chat model
uv run python -m evals.table evals/results                             # one row per model
uv run pytest tests -q                                                 # the whole suite stays green

Every run prints one JSON object: the series summary with scored, the episodes that got a score, errors, the count the model could not play, and job_dir. random and rule exist for the tool front only; laya (Laya in process, after uv sync --extra laya) runs wherever jev does, and so does cua (Cua-S1 Nano, after uv sync --extra cua) except on a rail. For a browser or rail agent the key-free rung is the offline test from step 4. The paid rung follows. A browser agent runs one task per call and needs the chat-model key and a Jev key: uv run s1a run <name> --model jev --goal "...". A rail runs its labelled set and needs a Jev key: uv run s1a run <name> --labelled-set records.jsonl.

Report the table, then prepare the demo/evidence handoff below. Series of a hundred episodes cost money; ask the user before starting one.

6. Demo and handoff

For a reusable use case, add a recipe using the recipe template and add-agent-recipe skill, then update the recipe index. Follow CONTRIBUTING.md's video guide for the required video of the application/task, the System1-Agents decision-model agent and System1-Omni inference in the same run. Show actual input, selected/executed actions, engine identity and checked result. Choose an application from the guide's README candidates that exercises the new agent's actual behavior. Use a terminal recording for a text agent or rail; label scripted checks and recorded replays. Use a supported System1-Omni path; record missing support or integration as a review gap. Follow PR #35's worked example linked in the guide. Keep an important PR draft until its video is supplied or a maintainer accepts the documented exception. Prepare the PR's Demo / evidence section with the clip, reproduction command and linked run artifacts. Recording, model execution and uploading each require the authorization/resources already established for the task. If any are unavailable, report the gap and hand off the prepared instructions.

© 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

SKILL.md and 3 other files (references) in .claude/skills/build-s1a-agent of ThinkFlowLab/system1-agents.

  • SKILL.md
  • references/fit-rule.md
  • references/fronts.md
  • references/state-design.md

Open the folder on GitHubat commit 3a2c2c6

Compare with similar skills

System 1 Agent Builder 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.

System 1 Agent Builder compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
System 1 Agent Builder this skillThinkFlowLab/system1-agents126—~1.7kAutomated safety check: PassApache-2.0
Google Agents CLI Adk Codepifferologo/cloud-agents-cli1291 repos~768Automated safety check: PassApache-2.0
Building Multi Connector Agentairbytehq/airbyte-agent-sdk135—~1.7kAutomated safety check: NotesCustom licence
Google Agents CLI Workflowpifferologo/cloud-agents-cli1291 repos~5.6kAutomated safety check: NotesApache-2.0
Build Dashclawucsandman/DashClaw310—~1.3kAutomated safety check: PassMIT
Edgeone Makers ToolsTencentEdgeOne/edgeone-makers-tools1.9k1 repos~646Automated safety check: PassMIT

Similar skills

  • Google Agents CLI Adk Code

    pifferologo/cloud-agents-cli

    This skill should be used when the user wants to "write agent code", "build an agent with ADK", "add a tool", "create a callback", "define an agent", "use state management", or needs ADK (Agent…

    129 GitHub starsUsed in 1 repo~768 tokens
    AI & LLM EngineeringAuto-check passed
  • Building Multi Connector Agent

    airbytehq/airbyte-agent-sdk

    Official

    Builds a complete agent with multiple Airbyte connectors using PydanticAI or Claude SDK.

    135 GitHub stars~1.7k tokensUpdated yesterday
    AI & LLM EngineeringAuto-check: notes
  • Google Agents CLI Workflow

    pifferologo/cloud-agents-cli

    This skill should be used when the user wants to "develop an agent", "build an agent using ADK", "run the agent locally", "debug agent code", "test an agent", "deploy an agent", "publish an agent"…

    129 GitHub starsUsed in 1 repo~5.6k tokens
    AI & LLM EngineeringAuto-check: notes
  • Build Dashclaw

    ucsandman/DashClaw

    Contribute to the DashClaw codebase — architecture, scaffolding, tests, CI

    310 GitHub stars~1.3k tokensUpdated 3 days ago
    AI & LLM EngineeringAuto-check passed
  • Edgeone Makers Tools

    TencentEdgeOne/edgeone-makers-tools

    EdgeOne Makers platform development router — the single entry point for building, storing data, and deploying on Tencent EdgeOne Makers.

    1.9k GitHub starsUsed in 1 repo~646 tokens
    AI & LLM EngineeringAuto-check passed
  • Agents Get Started

    aws/agent-toolkit-for-aws

    Official

    A skill your agent uses when a developer wants to create a new agent project or get started with AgentCore.

    2.8k GitHub stars~4.3k tokensUpdated today
    AI & LLM EngineeringAuto-check: notes

More from ThinkFlowLab/system1-agents

  • Review PR

    ThinkFlowLab/system1-agents

    Review pull requests for system1-agents with high-confidence, evidence-based feedback.

    126 GitHub stars~851 tokensUpdated today
    Auto-check passed
  • S1A Decision Agents

    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.

    126 GitHub stars~1.1k tokensUpdated today
    Auto-check: notes
  • 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.

    126 GitHub stars~797 tokensUpdated today
    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.

    126 GitHub stars~2.1k tokensUpdated today
    Auto-check passed

Questions about System 1 Agent Builder

What does System 1 Agent Builder do?

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. This skill is specific to the s1a repository, where an agent is one module under s1a/agents/ that ends in a frozen SPEC, while the loop, decision-model layer, rethink rail, job folders and CLI are shared. It starts with a one-message intake of five facts: the task and what a finished episode looks like, where state comes from, how options are listed at each step, the score and any baseline, and whether a step needs arithmetic, constraint deduction, search or generated text, which counts as a stop.

When should I use System 1 Agent Builder?

System 1 Agent Builder fits situations like: adding a new System 1 agent for a game, task, site or rail; checking whether a task suits a decision model before writing code; choosing between the tool, browser and rail fronts for an agent.

How do I install System 1 Agent Builder in Claude Code?

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

How do I install System 1 Agent Builder in Codex?

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

Can I use System 1 Agent Builder 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 build-s1a-agent -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/build-s1a-agent, .gemini/skills/build-s1a-agent, .github/skills/build-s1a-agent and .opencode/skills/build-s1a-agent in your project.

What does System 1 Agent Builder need to run?

Going by SKILL.md and its folder, System 1 Agent Builder needs the command-line tools its instructions call (uv). Our summary lists: A checkout of the system1-agents repository; uv, to run the s1a CLI.

Does System 1 Agent Builder access the network?

SKILL.md contains no URLs. Its commands use uv, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is System 1 Agent Builder 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 System 1 Agent Builder use?

System 1 Agent Builder 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 System 1 Agent Builder use?

About 1.7k tokens (SKILL.md is roughly 6.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.1k tokens, read only when the agent opens those files.

What are the alternatives to System 1 Agent Builder?

Skills that share tags, products or a category with System 1 Agent Builder: Google Agents CLI Adk Code (pifferologo/cloud-agents-cli, 129 stars), Building Multi Connector Agent (airbytehq/airbyte-agent-sdk, 135 stars), Google Agents CLI Workflow (pifferologo/cloud-agents-cli, 129 stars) and Build Dashclaw (ucsandman/DashClaw, 310 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains System 1 Agent Builder?

ThinkFlowLab (a GitHub organization) maintains it in ThinkFlowLab/system1-agents, which has 126 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 8, 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.