Agent skill · Security

signed-audit-trails-recipe

Step-by-step cookbook for setting up cryptographically signed audit trails on Claude Code tool calls. Use when explaining, evaluating, or demonstrating the pattern before committing to the protect-mcp runtime hooks. Covers Cedar policy, Ed25519 receipts, offline verification, tamper detection, CI/CD integration, and SLSA composition.

Seth Hobson38,331★ · +219/wk · 1 repos on radarProfile →
claude-codecodexcopilotcursorMIT
Install
npx skills add wshobson/agents --skill signed-audit-trails-recipe --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 1
SKILL.md size: 11 KB
Bundled scripts: none
Path: plugins/signed-audit-trails/skills/signed-audit-trails-recipe/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 38,479 · +148 this week
Language: Python
Read our review of the source →

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# Signed Audit Trails for Claude Code Tool Calls Cookbook-style walkthrough for cryptographically signed receipts on every Claude Code tool call. This is the teaching skill. For the runtime implementation, install the [`protect-mcp`](../../protect-mcp/) plugin. ## What this gives you Every tool call (`Bash`, `Edit`, `Write`, `WebFetch`) is: 1. **Evaluated against a Cedar policy** before execution. If the policy denies the call, the tool does not run. 2. **Signed as an Ed25519 receipt** after execution. Receipts are JCS-canonical, hash-chained, and verifiable offline by anyone with the public key. An auditor, regulator, or counterparty can verify the full chain later with a single CLI command (`npx @veritasacta/verify receipts/*.json`). No network call, no vendor lookup, no trust in the operator. ## When to use the pattern - **Regulated environments** (finance, healthcare, critical infrastructure) where you need tamper-evident evidence of agent behavior - **CI/CD pipelines** where you want to prove that a policy gate held for every automated build step - **Multi-party collaboration** where a counterparty wants to verify your agent's behavior without trusting your operator - **Compli

What's inside
Steps it walks through
  1. What this gives you
  2. When to use the pattern
  3. Step 1: Install the hook configuration
  4. Step 2: Write a Cedar policy
  5. Step 3: Use Claude Code normally
  6. Step 4: Inspect a receipt
  7. Step 5: Verify the receipt chain
  8. Step 6: Demonstrate tamper detection
  9. How the cryptography works
  10. Cross-implementation interop
  11. CI/CD integration
  12. Composition with SLSA provenance for agent-built software
  13. Common pitfalls
  14. Related in this marketplace
Commands it runs
echo "./protect-mcp.key" >> .gitignore
echo "./receipts/" >> .gitignore
cat ./receipts/$(ls -t ./receipts/ | head -1)
npx @veritasacta/verify ./receipts/*.json
python3 -c "
import json, os
path = './receipts/' + sorted(os.listdir('./receipts'))[-1]
r = json.loads(open(path).read())
More from agents
All skills →
About this skill
What does the signed-audit-trails-recipe skill do?

Step-by-step cookbook for setting up cryptographically signed audit trails on Claude Code tool calls. Use when explaining, evaluating, or demonstrating the pattern before committing to the protect-mcp runtime hooks. Covers Cedar policy, Ed25519 receipts, offline verification, tamper detection, CI/CD integration, and SLSA composition.

How do I install it?

Run `npx skills add wshobson/agents --skill signed-audit-trails-recipe --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From wshobson/agents, a repository with 38,479 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going