add

add is a skill for Claude Code from svyatov/handrail. It costs 71 tokens per session (1,790 once invoked), scanned A, original, MIT.

A rule-writing helper for handrail, a tool that checks an agent’s actions against written instructions. It turns a plain-language guardrail into a Markdown rule and validates it.

In plain words
What is it for?
Use it to create rules that block actions, allow them with a warning, or respond to specific events, tools, or command values.
Why use it?
It removes the need to learn the rule file format or write the matching conditions by hand. It also reports the permission setting that handrail recommends.

Skill for Claude Code

Written for Claude Code: SessionStart hook event. Also seen: mentions Claude Code; mentions Codex.

Part of the handrail plugin — 2 skills, 4 agents, 1 hook shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/svyatov/handrail/add
Any agent
npx skills add svyatov/handrail --skill add
Clone the repo
git clone --depth 1 https://github.com/svyatov/handrail

Made for: Claude Code.

Or install handrail, the plugin that ships this one along with the rest of its 2 skills, 4 agents, 1 hook.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for add

README.md
[![agentmods](https://agentmods.dev/badge/skills/svyatov/handrail/add.svg)](https://agentmods.dev/skills/svyatov/handrail/add)
Your own site
<a href="https://agentmods.dev/skills/svyatov/handrail/add"><img src="https://agentmods.dev/badge/skills/svyatov/handrail/add.svg" alt="Measured on agentmods" height="20"></a>
Per session 71 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,790 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00071 $0.01790
Opus 5 $0.00036 $0.00895
Sonnet 5 $0.00014 $0.00358
Haiku 4.5 $0.00007 $0.00179

Measured 5d ago against content hash 9056efefa184, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

add scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/add/SKILL.md · 170 lines

How it starts

The opening of the file, as written. The whole thing — 170 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Add a handrail Rule

A Rule is one markdown file: a YAML frontmatter Matcher and a prose message. The filename is the rule's identity. You write the file, handrail validates it.

1. Resolve the binary

HANDRAIL=$(command -v handrail || echo "${XDG_DATA_HOME:-$HOME/.local/share}/handrail/bin/handrail")

If it does not exist, the SessionStart bootstrap has not run yet: tell the user to start a new session, or to install with brew install svyatov/tap/handrail. Do not hand-write harness config as a workaround.

2. Ask for what the description does not settle

Only ask about what you cannot infer. Most descriptions settle everything but the tier.

  • What the rule catches: which event, which tool kind, which field values.
  • Action: block denies the call with the message as the reason; warn lets it proceed and injects the message. Default to warn unless the user says never, or the action is destructive.
  • Tier: see step 4.

3. Write the Matcher

---
event: PreToolUse
kind: shell
action: block
conditions:
  - field: command
    starts_with: git push --force
---
Never force-push. Rewrite history locally and open a pull request instead.

Events: PreToolUse, PostToolUse, UserPromptSubmit, SessionStart, SessionEnd, Stop. event: is required. block is only enforceable on PreToolUse, UserPromptSubmit, and Stop; elsewhere it degrades to a warn, and sync and doctor report where. Codex also degrades a UserPromptSubmit block to a warn.

Kinds (optional; omit to match every kind) and the fields each carries:

kind Fields
shell command
file_edit path, content
file_read path
mcp server, tool
other none

UserPromptSubmit carries prompt. A condition against a field the event does not carry never matches, in either polarity, so narrow with event: and kind: rather than relying on a field being absent. Only PreToolUse and PostToolUse carry a kind at all: a kind: on any other event never matches.

Read the full file on GitHub · 170 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 5d ago First seen · 170 lines · 71 tokens per session scan A 9056efefa184

Subscribe to this mod's changes

add is a skill published in the GitHub repository svyatov/handrail (2 stars, last pushed 3d ago), licensed MIT. It adds 71 tokens to every session and 1,790 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

mobilevc-installer

Install and start MobileVC — a Claude Code mobile workspace launcher that lets the user run Claude Code on a phone (iOS / Android) with their dev machine as the backend. Use this skill when the user asks to: "install mobilevc" / "set up mobilevc" / "装一个 mobilevc" "在手机上用 Claude Code" / "want to use Claude Code on my…

JayCRL/MobileVC · 222 tokens

imgen

Default image workflow for this user. Use for ordinary raster image generation or editing, text-to-image, image-to-image, codex-imgen/imgen CLI or service jobs, imgen troubleshooting, and OpenClaw integration. Prefer imgen over the system imagegen skill. Do not use for SVG/vector/code-native assets that are better…

walker1211/codex-imgen · 73 tokens

codexcw

Run Codex, Claude Code, or Grok Build non-interactively from Go, Rust, Node.js, Python, or C# using the codexcw library. Use when building automation that spawns an agent, streams its JSONL events, resumes sessions, or controls sandbox, approval, and permission policy.

c3-oss/codexcw · 67 tokens

git-workflow

This skill should be used when the user asks to "create git commit", "manage branches", "follow git workflow", "use Conventional Commits", "handle merge conflicts", or asks about git branching strategies, version control best practices, pull request workflows. Provides comprehensive Git workflow guidance for team…

Galaxy-Dawn/claude-scholar · 64 tokens

daily-paper-generator

Use when the user asks to generate daily paper digests on a general topic. This skill supports both arXiv and bioRxiv (or either one), then produces structured Chinese/English summaries for selected papers.

Galaxy-Dawn/claude-scholar · 47 tokens

codex-autoresearch

Run autonomous, measurable experiments in a Git repository: change one hypothesis, verify a numeric metric, keep improvements, and revert failures. Use when the user wants Codex to keep iterating toward a numeric target in the foreground or as a detached background run. Do not use for ordinary one-shot coding…

leo-lilinxiao/codex-autoresearch · 80 tokens