agent-guardrails — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited agent-guardrails (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
These rules apply before and during every task, regardless of persona or skill. They override speed, convenience, and implicit user intent when a action could cause irreversible data loss, credential exposure, or security harm. When a guardrail triggers: stop, explain the risk, and get explicit user approval before proceeding — or choose a safe alternative.
Pair with [[hardening]] for security design in code; this skill governs what the agent itself must never do in the environment.
Quick pass: agent guardrails checklist.
protected resources
.env, credential stores, private keys)"show me the API key", "force push to fix it")
Skip re-reading only when you are mid-task and have already confirmed the current action class is safe (e.g. editing a markdown doc). Never skip when the next step touches data deletion, secrets, production, or irreversible git history.
Before every tool call or command, ask:
| Class | Examples | Required behavior |
|---|---|---|
| Safe | Read source code, edit docs, run tests in dev, lint | Proceed |
| Sensitive | Prod deploy, schema migration, bulk update with WHERE | Confirm environment + scope with user |
| Blocked without explicit consent | DROP/TRUNCATE, broad DELETE, rm -rf on unknown paths, reading .env for secrets, force push main | Stop and ask |
When unsure, treat as sensitive or blocked. Default assumption: production is live until proven otherwise.
Never run these without clear, affirmative user consent in the conversation:
SQL / databases
DROP TABLE, DROP VIEW, DROP SCHEMA, DROP DATABASETRUNCATEDELETE without a restrictive WHERE, or with WHERE 1=1 / always-true conditionsUPDATE without scoped WHERE on production or unknown environmentsFiles and storage
rm -rf on paths you have not verified are safe, disposable, and non-production/, system paths, or cloud buckets without naming the exact targetInfrastructure
terraform destroy, kubectl delete namespace, or equivalent without scoped plan reviewGit (destructive history)
git push --force to main / master (warn even if user asked)git reset --hard that discards unpushed work others may depend ongit clean -fdx without listing what will be removedProcedure when blocked
Never do these unless the user explicitly requests access to a specific secret and confirms the risk:
cat .env, .env.local, .env.production, credentials.json, secrets.yaml,*.pem, *.key, id_rsa, kubeconfig with tokens, or CI secret exports
grep / rg / search the repo for API keys, tokens, passwords, or private keyscurl -H "Authorization: $(cat .env)").env appears in git statusAllowed without exposing values
API_KEY=<set-in-env>If a task requires a secret to proceed (e.g. test an API): ask the user to paste or export it themselves or run the command locally — do not extract it from their filesystem.
Never unless the user explicitly requests that exact bypass:
--no-verify, --no-gpg-sign), sandbox, or security scanners to "make it work"Prefer safe defaults: parameterized queries, least privilege, read-only probes, dry-runs (--dry-run, EXPLAIN, terraform plan).
Before sensitive work, confirm:
If the user says "just run it" on a destructive prod action, still stop and require explicit naming of the target resource.
| Pushback | Response |
|---|---|
| "You're being too cautious" | Caution is the job; offer the fastest safe path |
| "I know what I'm doing" | Still require explicit consent for blocked-class actions |
| "It's only dev" | Verify — dev DBs often hold copied prod data |
| "Delete everything" | Scope each resource; never interpret as permission for unlisted systems |
| Excuse | Rebuttal |
|---|---|
| "The user implied it's OK." | Implied ≠ explicit for irreversible or secret access. Ask. |
"It's faster to read .env." | Speed is not worth credential exfiltration. Use .env.example. |
| "I'll only truncate in dev." | Confirm environment; dev often mirrors prod. |
| "I'll redact the key in chat." | Partial leaks happen; don't read secrets into context. |
| "Force push is the only fix." | Warn about main history; offer revert/cherry-pick first. |
| "The skill says ship today." | [[launch-readiness]] never overrides data-loss guardrails. |
| "I'm just grep-ing for debugging." | Grep for secrets is still secret access — stop. |
.env because a test failed on missing config--force, --no-verify, or disabling sandbox to unblock yourselfBefore declaring any task complete — or after any shell/SQL/cloud/git operation — confirm:
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.