Runs a backend-backed live safety check for instructions that may trigger tool execution, external calls, file edits, permission changes, destructive or irre...
Use this skill to gate instructions that may trigger tools or state changes behind a backend-backed safety decision before execution.
This skill is for live instruction and operation safety only. For pre-install repository auditing, use skill-audit.
Maintainer-only validation assets are excluded from ClawHub uploads.
scripts/safety.pyskill-audit)privacy-protector)modeio-middleware)Run these commands from inside the security folder.
python3requestsSAFETY_API_URLpython3 scripts/safety.py -i "Delete /tmp/cache/build-123.log" \
-c '{"environment":"local-dev","operation_intent":"cleanup","scope":"single-resource","data_sensitivity":"internal","rollback":"easy","change_control":"none"}' \
-t "/tmp/cache/build-123.log" --json
python3 scripts/safety.py -i "DROP TABLE users" \
-c '{"environment":"production","operation_intent":"destructive","scope":"broad","data_sensitivity":"regulated","rollback":"none","change_control":"ticket:DB-9021"}' \
-t "postgres://prod/maindb.users" --json
Pass --context as JSON with these keys when the instruction may change state:
{
"environment": "local-dev|ci|staging|production|unknown",
"operation_intent": "read-only|cleanup|maintenance|migration|permission-change|destructive|unknown",
"scope": "single-resource|bounded-batch|broad|unknown",
"data_sensitivity": "public|internal|sensitive|regulated|unknown",
"rollback": "easy|partial|none|unknown",
"change_control": "ticket:<id>|approved-manual|none|unknown"
}
--target should be a concrete resource identifier such as an absolute path, table name, service name, or URL.
success, tool, mode, datasuccess, tool, mode, errorvalidation_error, dependency_error, network_error, api_error--context and --target so the backend has enough context to judge riskapproved | risk_level | Agent action |
|---|---|---|
true | low | Proceed. |
true | medium | Proceed and mention the risk. |
false | medium | Require explicit confirmation before proceeding. |
false | high | Block by default and require explicit override. |
false | critical | Block and require explicit acknowledgement before any override. |
scripts/safety.py — live safety check entry pointARCHITECTURE.md — command-safety package boundariesZIP package — ready to use