survey

survey is a skill for Claude Code from svyatov/handrail. It costs 104 tokens per session (2,700 once invoked), scanned A, original, MIT.

A repository survey tool that proposes safety rules from facts such as lockfiles, continuous-integration workflows, environment files, hooks, and instruction files. Each proposed rule requires the user's approval before it is written.

In plain words
What is it for?
Inspecting a repository, reviewing its current rules, and proposing protective checks for commands or files.
Why use it?
It turns existing repository conventions into explicit guardrails while keeping the user in control of which rules are added.

Skill for Claude Code

Written for Claude Code: SessionStart hook event. Also seen: mentions CLAUDE.md; names the AskUserQuestion tool; mentions Claude Code.

Part of the handrail plugin — 3 skills, 1 hook shipped together

Good fit Inspecting a repository, reviewing its current rules, and proposing protective checks for commands or files.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/svyatov/handrail/survey
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.

Any agent
npx skills add svyatov/handrail --skill survey
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 3 skills, 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 survey

README.md
[![agentmods](https://agentmods.dev/badge/skills/svyatov/handrail/survey/github.svg)](https://agentmods.dev/skills/svyatov/handrail/survey)
Your own site
<a href="https://agentmods.dev/skills/svyatov/handrail/survey"><img src="https://agentmods.dev/badge/skills/svyatov/handrail/survey/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for survey

Your own site · 80×15
<a href="https://agentmods.dev/skills/svyatov/handrail/survey"><img src="https://agentmods.dev/badge/skills/svyatov/handrail/survey.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 104 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,700 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
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.00104 $0.02700
Opus 5.5 $0.00042 $0.01080
Sonnet 5.5 $0.00021 $0.00540
Haiku 4.5 $0.00010 $0.00270

Measured 23d ago against content hash ee391824330a, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

survey 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 23d 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/survey/SKILL.md · 208 lines

How it starts

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

Survey this repository for guardrails

You are the Surveyor. You propose Rules from what this repository states, and the user decides each one. You write nothing without its own approval. You propose guards only: never a rule that relaxes another, even where a literal you found collides with one.

A repository fact fixes a rule's matcher. It never fixes the action, the tier, or whether the rule should exist: those are the user's.

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.

2. Read the facts

"$HANDRAIL" survey
"$HANDRAIL" check --json

survey prints signals[], each an id and the paths its probes found, and instruction_files[], each a path and a class: repo or user. Open no file that survey did not list. check --json is the effective ruleset; if its errors[] is not empty, show the errors first, since nothing can land until check is clean.

3. Guard the rule directories first

Before any signal, replay each rule-directory guard's calls, all four in one shell call:

G=${XDG_CONFIG_HOME:-$HOME/.config}/handrail
"$HANDRAIL" test PreToolUse --kind file_edit --field path=.handrail/local/survey-probe.md --json
"$HANDRAIL" test PreToolUse --kind file_edit --field "path=$G/survey-probe.md" --json
"$HANDRAIL" test PreToolUse --kind shell --field 'command=cd .handrail/local' --json
"$HANDRAIL" test PreToolUse --kind shell --field "command=cd $G" --json

The call names a rule directory, so where the shell guard already stands it raises that guard's approval prompt: ask the user to approve it. On Codex the ask guard warns and the probe runs normally. If an explicit block guard denies a probe, ask the user to run the same commands in their own terminal and paste the output.

Read the full file on GitHub · 208 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

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. 23d ago Changed · +2 lines ee391824330a
  2. 27d ago Changed · +18 lines 4196c6c31121
  3. 28d ago First seen · 188 lines · 104 tokens per session scan A af329cbb0913

Subscribe to this mod's changes

survey is a skill published in the GitHub repository svyatov/handrail (2 stars, last pushed 6d ago), licensed MIT. It adds 104 tokens to every session and 2,700 once invoked, about $0.0004 per session on Opus 5.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-09-27.

Related

Other skills, from other repositories

diet-remove

Remove a dependency identified by uzomuzo diet — analysis + issue (default) or direct PR.

future-architect/uzomuzo-oss · 22 tokens

diet-evaluate-removal

Data-driven deep evaluation of whether a dependency is worth removing.

future-architect/uzomuzo-oss · 17 tokens

implement-spec

A workflow for implementing a complete software specification with acceptance criteria and a dependency graph. It can coordinate independent work items, integrate their changes, run review, and report anything unfinished.

rexleimo/aios · 91 tokens

kirby-project-tour

Maps a Kirby project using Kirby MCP tools/resources, including roots, templates, snippets, controllers, models, blueprints, plugins, runtime status, and key config. Use when a user wants a project overview, file locations, or a quick orientation before making changes.

bnomei/kirby-mcp · 58 tokens

clickup-cli

ClickUp CLI for managing tasks, sprints, comments, statuses, Docs, and archiving. Use when the user needs to interact with ClickUp — creating/editing/archiving tasks, checking sprint status, adding comments, linking PRs, managing Docs and pages, or searching tasks. Includes a generic clickup api passthrough covering…

triptechtravel/clickup-cli · 90 tokens

rmine

Reference for the rmine CLI (Redmine client) — issue, time-tracking, and project commands, filter/name-matching semantics, and profile handling. Use when the user asks about Redmine issues, tickets, time logging, or projects.

mehboobali98/rmine · 53 tokens