← ClaudeAtlas

demonstrate-tool-rejectionlisted

Attempt a tool call the policy chain refuses - an egress tool matching the blocklist - and read back the audited denial, proving the call was stopped before it executed rather than after
systempromptio/systemprompt-demo · ★ 3 · AI & Automation · score 66
Install: claude install-skill systempromptio/systemprompt-demo
# Demonstrate Tool Rejection Show a tool call being **refused**, and show that the refusal is a fact in the audit log rather than a promise in a system prompt. A capability can sit in the catalog, be visible to the model, be attempted in good faith — and still be impossible to use, because policy decides, not the agent's judgement. ## When to Use Use this when someone asks "what happens when the agent tries something it shouldn't?", or wants to see a refusal that is enforced rather than asked for. ## What makes this different from a refusal A model declining to do something is a preference; it can be argued with, and it fails silently when the model is wrong. This is not that. The call is issued, suspends at the gate, and is denied by a policy that never consults the model. There is no prompt phrasing that gets past it. The order is fixed and not negotiable: **policy first, human second.** When a human approval card appears, it appears only for calls policy has already cleared. A person can be more restrictive than policy, never less. ## How to Use ### 1. Establish the baseline First show that the hub works and that the agent is not simply broken: ``` mcp__systemprompt__list_topics {} ``` This clears every stage and records an `allow`. ### 2. Attempt the refused tool The hub exposes `fetch_remote_docs`, which would fetch documentation from the public internet. This deployment does not permit outbound egress, so `fetch_remote` is a blocked pattern in `tool_blockli