← ClaudeAtlas

salus-agent-guardrailslisted

Evaluate a proposed agent tool-call against an allow/deny/ask policy before it executes. Given a tool-call JSON and a policy file, runs the dependency-free rule matcher and returns a decision with a human-readable reason. Use this skill whenever an agent is about to take an action that should be checked against a guardrail policy.
riteshkew/yc-skills · ★ 0 · AI & Automation · score 73
Install: claude install-skill riteshkew/yc-skills
# Workflow When this skill triggers, follow these steps in order. ## Step 1 — Locate the policy file Check whether the user has specified a policy file path. - If a path is provided, confirm the file exists and is readable. - If no path is provided, ask: "Please provide the path to your policy JSON file. It should be an array of `{ effect, tool, args?, reason }` rules. See `examples/policy.json` for a working example." - If the user has no policy, offer to generate a starter policy based on their described use-case before proceeding. ## Step 2 — Capture the proposed tool-call Capture the tool-call the agent is about to execute. It must be valid JSON matching: ```json { "tool": "<name>", "args": { "<argName>": "<value>", ... } } ``` Wrap it in a JSON array if it is a single object (the engine accepts an array of calls). If the user provides multiple calls at once, evaluate them all together. ## Step 3 — Run the engine Execute the rule matcher from the skill root: ```bash node scripts/policy-eval.mjs <policyFile> <callsFile> ``` The engine outputs a JSON array of `{ tool, decision, reason }` — one entry per call. Capture stdout. If the process exits non-zero, surface the stderr message to the user and stop. ## Step 4 — Report the decision For each result: - **allow** — report the tool name, decision, and reason. The call may proceed. - **deny** — report the tool name, decision, and the rule that fired. Explain what the agent attempted and why the policy blocked