인터페이스는 현지화되어 있으며, Skill 소개와 설명 문서는 선택한 언어로 AI가 자동 번역합니다. 코드·명령어·경로·전문 용어는 원문을 유지하며 원작자 문서가 우선합니다.
Skills 둘러보기
개발 및 엔지니어링 · SKILL.md

common-agent-guardrails

common-agent-guardrails

Define deterministic guardrails for agent tool calls — protected paths, test-file locks during bug fixes, post-edit formatters, production approval gates, secret deny rules. Use when writing or reviewing a hook policy, or moving an always-do-X rule out of prose into enforcement.

Independent GitHub snapshot · Automated classification · Original documentation governs

Skill 문서

GitHub

name: common-agent-guardrails description: Define deterministic guardrails for agent tool calls — protected paths, test-file locks during bug fixes, post-edit formatters, production approval gates, secret deny rules. Use when writing or reviewing a hook policy, or moving an always-do-X rule out of prose into enforcement. metadata: triggers: files: - "guardrails.yaml" - "hooks.json" - ".claude/settings.json" - "/hooks/*.py" - "/hooks/*.js" keywords: - guardrail - protected path - block edit - approval gate - hook policy - pretooluse

Agent Guardrail Standard

Priority: P1 (HIGH)

A rule that must always hold belongs in a hook, not in a prompt. Prompts persuade; hooks decide.

1. What Belongs in a Guardrail

  • Absolute compliance only: encode a rule here when a single violation is unacceptable, not when it is merely preferred.
  • Deterministic check: the decision must be computable from tool name, arguments, and repo state — never from model judgment.
  • Paired with a skill: the skill teaches the rule, the guardrail enforces it. Ship both or the rule decays.

2. Required Guardrail Classes

ClassTriggerDecision
Protected pathsedit to generated, vendored, or frozen filesblock
Secret denyedit or read of .env*, .ssh/, credentials*.json|yaml, identity filesblock
Test locktest-file edit while a bug-fix workflow is activeblock
Formatterafter any accepted editrun, then report
Production actiondeploy, migration, or destructive command against productionask named owner
Scope fencewrites outside the declared task scopeask

3. Decision Semantics

  • Exit 0: allow, stay silent. Reserve stdout for the formatter class.
  • Exit 2: block. Print the rule violated and the sanctioned alternative on stderr, never a generic denial.
  • Any other exit: ask a human. Use it when the check is inconclusive, not as a soft block.
  • Fail closed on production classes: if the guardrail cannot evaluate, treat production actions as blocked.

4. Test Lock During Bug Fixes

  • Write the failing test first; the agent proves the bug reproduces before touching production code.
  • Lock every test path for the duration of the fix so the proof cannot be weakened into passing.
  • Unlock only when the fix is verified, or when the operator states the test itself is the defect.

5. Placement and Ownership

  • Team level: repository-tracked config, reviewed in pull requests like code.
  • Organization level: managed settings the project cannot override; use for secret deny and production gates.
  • Log every decision: timestamp, rule, tool, target, and outcome. An unlogged block is unauditable.
  • Version the policy: a guardrail change is a control change and needs the same review as the control it enforces.

Anti-Patterns

  • No prompt-only rules: If it must always hold, enforce it in a hook.
  • No broad path globs: Name the protected directories, not the whole repo.
  • No silent blocks: Print the rule and the allowed alternative.
  • No agent self-approval: A human role authorizes production actions.
  • No guardrail without a skill: Pair enforcement with the rule that explains it.
  • No unlogged decisions: Record every block and ask.

Red Flags

  • Stop if "just this once, disable the hook": Re-run with the sanctioned path or escalate to the policy owner.
  • Stop if the fix edits the failing test: Restore the test and fix the production code.
  • Stop if a production command runs with no named authorizer: Block and request sign-off.

References

Canonical response anchors

When this skill applies, preserve the following domain terminology or equivalent concrete examples in the answer when relevant:

  • exit 2 blocks
  • protected paths
  • test lock
  • approval gate
  • fail closed
  • log the block decision
저장한 Skills