Deep Agents to Pydantic AI Migration
pydantic/pydantic-ai
Migrates Python LangChain Deep Agents applications to Pydantic AI and Pydantic AI Harness while preserving the application's observed behavior.
Helps define agent tools with a fail-closed pattern: one class holding name, schema, security flags and a validate, permission and call execution chain.
$ npx skills add simbajigege/book2skills --skill agent-tool-builder -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install simbajigege/book2skills agent-tool-builder --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/simbajigege/book2skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/agent-tool-builder .claude/skills/agent-tool-builder && 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 "agent-tool-builder" agent skill from https://github.com/simbajigege/book2skills/tree/main/skills/agent-tool-builder into .claude/skills/agent-tool-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agent-tool-builder", 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/simbajigege/book2skills/tree/main/skills/agent-tool-builderType 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 simbajigege/book2skills --skill agent-tool-builder -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install simbajigege/book2skills agent-tool-builder --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/simbajigege/book2skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/agent-tool-builder .agents/skills/agent-tool-builder && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "agent-tool-builder" agent skill from https://github.com/simbajigege/book2skills/tree/main/skills/agent-tool-builder into .agents/skills/agent-tool-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agent-tool-builder", 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 simbajigege/book2skills --skill agent-tool-builder -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install simbajigege/book2skills agent-tool-builder --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/simbajigege/book2skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/agent-tool-builder .cursor/skills/agent-tool-builder && 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 "agent-tool-builder" agent skill from https://github.com/simbajigege/book2skills/tree/main/skills/agent-tool-builder into .cursor/skills/agent-tool-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agent-tool-builder", 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/simbajigege/book2skills.git --path skills/agent-tool-builder--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 simbajigege/book2skills --skill agent-tool-builder -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install simbajigege/book2skills agent-tool-builder --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/simbajigege/book2skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/agent-tool-builder .gemini/skills/agent-tool-builder && 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 "agent-tool-builder" agent skill from https://github.com/simbajigege/book2skills/tree/main/skills/agent-tool-builder into .gemini/skills/agent-tool-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agent-tool-builder", 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 simbajigege/book2skills agent-tool-builderInstalls 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 simbajigege/book2skills --skill agent-tool-builder -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/simbajigege/book2skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/agent-tool-builder .github/skills/agent-tool-builder && 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 "agent-tool-builder" agent skill from https://github.com/simbajigege/book2skills/tree/main/skills/agent-tool-builder into .github/skills/agent-tool-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agent-tool-builder", 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 simbajigege/book2skills --skill agent-tool-builder -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install simbajigege/book2skills agent-tool-builder --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/simbajigege/book2skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/agent-tool-builder .opencode/skills/agent-tool-builder && 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 "agent-tool-builder" agent skill from https://github.com/simbajigege/book2skills/tree/main/skills/agent-tool-builder into .opencode/skills/agent-tool-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agent-tool-builder", 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.
agent-tool-builderHelps define agent tools with a fail-closed pattern: one class holding name, schema, security flags and a validate, permission and call execution chain.
Tools defined this way carry their identity, input schema, security properties and execution logic in one class, and the safety flags is_read_only, is_destructive and is_concurrency_safe all default to False. A tool that forgets to declare itself is therefore treated as write-capable instead of being trusted by accident.
Execution is layered into separate methods, validate_semantics, check_permissions and _call, so input checks, permission checks and business logic stay apart and nothing extra has to be wired up as middleware. The workflow first asks which agent framework will register the tool, such as hermes-agent, LangChain or plain Python, and copies a bundled agent_tool_base.py into the project if it is missing.
Next it interviews you about the tool: a service-prefixed name in service_action_resource form such as stock_get_price, a description that matches the real behavior exactly, the schema fields, whether it is read-only, destructive or safe to run concurrently, the response format, pagination for list tools, and any validation or permission checks. Defaults are offered, and questions with a clearly fine default can be skipped.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit e5ba66c. 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.
Ships script files (Python), which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Fail-Closed Agent Tool Builder loads about 2k tokens when it runs, and up to ~4k if it reads all its reference files. Until then it costs about 117 tokens; SKILL.md has 544 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 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.
Its licence (Custom licence) doesn't allow us to republish the file, so here is its outline and opening line. It has 544 words (~1,951 tokens).
“Helps define agent tools using the fail-closed design pattern: a unified class that co-locates identity, schema, security properties, and execution logic, with fail-closed defaults so new tools are safe by default.”
SKILL.md and 3 other files (references) in skills/agent-tool-builder of simbajigege/book2skills.
Open the folder on GitHubat commit e5ba66c
Fail-Closed Agent Tool 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Fail-Closed Agent Tool Builder this skillsimbajigege/book2skills | 183 | — | ~2k | Automated safety check: Pass | Custom licence | |
| Deep Agents to Pydantic AI Migrationpydantic/pydantic-ai | 20k | — | ~1.7k | Automated safety check: Pass | MIT | |
| Add Example AgentGetBindu/Bindu | 10k | — | ~1.1k | Automated safety check: Notes | Custom licence | |
| Failproof AI SDK IntegrationFailproofAI/failproofai | 5.3k | — | ~6k | Automated safety check: Pass | Custom licence | |
| Omnigent Framework Detectionomnigent-ai/omnigent | 11k | — | ~610 | Automated safety check: Pass | Apache-2.0 | |
| Upgrade Stripekanchengw/cnllm | 175 | 3 repos | ~1.4k | Automated safety check: Pass | Apache-2.0 |
pydantic/pydantic-ai
Migrates Python LangChain Deep Agents applications to Pydantic AI and Pydantic AI Harness while preserving the application's observed behavior.
GetBindu/Bindu
Add a new self-contained example agent under examples/. An agent skill from GetBindu/Bindu.
FailproofAI/failproofai
Helps instrument a custom Python or TypeScript agent to record events for Failproof AI, verify what gets written, and run an evaluator worker that scores the runs.
omnigent-ai/omnigent
Scans Python agent code for framework imports and recommends the matching Omnigent executor type, or says when the framework is not natively supported yet.
kanchengw/cnllm
Guide for upgrading Stripe API versions and SDKs. An agent skill from kanchengw/cnllm.
Jwuthri/Tracely-ai
PostHog AI Observability integration for LangChain (Python). An agent skill from Jwuthri/Tracely-ai.
simbajigege/book2skills
Reorganizes an overgrown MEMORY.md into a short pointer index plus separate topic files, and fixes or deletes outdated memories instead of archiving them.
simbajigege/book2skills
A developer guide to adding compact memory to an agent: when to trigger compaction, how to fork a compactor sub-agent, what the summary holds, and how to restore it.
simbajigege/book2skills
Turns text, screenshots, or existing diagrams into minimal, accessible line-art SVGs for teaching material, with an optional Mermaid relationship spec.
simbajigege/book2skills
Implements a production-style agent loop in your own AI product, with tool calling, tool results fed back, exit conditions and budget guards.
simbajigege/book2skills
Guides designing a layered permission pipeline for agent tools that decides which calls are allowed, need confirmation or are denied, with scopes and hooks.
simbajigege/book2skills
Analyzes Chinese public company financial statements (balance sheet, income statement, cash flow) to assess asset quality, profit authenticity, cash flow health, solvency, and overall investment…
Categories
Helps define agent tools with a fail-closed pattern: one class holding name, schema, security flags and a validate, permission and call execution chain. Tools defined this way carry their identity, input schema, security properties and execution logic in one class, and the safety flags is_read_only, is_destructive and is_concurrency_safe all default to False. A tool that forgets to declare itself is therefore treated as write-capable instead of being trusted by accident.
Fail-Closed Agent Tool Builder fits situations like: defining a new tool for a Python agent framework; adding input validation or permission checks to an existing tool; reviewing whether a tool's read-only and destructive flags are declared safely.
Run `npx skills add simbajigege/book2skills --skill agent-tool-builder -a claude-code`. Or copy the skill folder (skills/agent-tool-builder in simbajigege/book2skills) into .claude/skills/agent-tool-builder in your project. Claude Code loads it when a task matches its description.
Run `npx skills add simbajigege/book2skills --skill agent-tool-builder -a codex`. Or copy the skill folder (skills/agent-tool-builder in simbajigege/book2skills) into .agents/skills/agent-tool-builder 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 simbajigege/book2skills --skill agent-tool-builder -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/agent-tool-builder, .gemini/skills/agent-tool-builder, .github/skills/agent-tool-builder and .opencode/skills/agent-tool-builder in your project.
Going by SKILL.md and its folder, Fail-Closed Agent Tool Builder needs Python for the scripts in its folder. Our summary lists: A Python agent project, such as one built on hermes-agent or LangChain.
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.
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.
Fail-Closed Agent Tool Builder has a licence file (from the LICENSE file in the skill folder) that doesn't match a standard licence. Read it on GitHub before reusing the skill.
About 2k tokens (SKILL.md is roughly 7.8k 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 2k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Fail-Closed Agent Tool Builder: Deep Agents to Pydantic AI Migration (pydantic/pydantic-ai, 20k stars), Add Example Agent (GetBindu/Bindu, 10k stars), Failproof AI SDK Integration (FailproofAI/failproofai, 5.3k stars) and Omnigent Framework Detection (omnigent-ai/omnigent, 11k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
simbajigege (a GitHub user) maintains it in simbajigege/book2skills, which has 183 GitHub stars. The repository holds 37 skills in this directory. The repository was last updated on August 26, 2026.
Source: simbajigege/book2skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.