L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Développement · 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

Documentation de la 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 enregistrées