Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/fakoli/fakoli-plugins/recipe-setup-sanitizationnpx skills add fakoli/fakoli-plugins --skill recipe-setup-sanitizationgit clone --depth 1 https://github.com/fakoli/fakoli-pluginsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/fakoli/fakoli-plugins/recipe-setup-sanitization)<a href="https://agentmods.dev/skills/fakoli/fakoli-plugins/recipe-setup-sanitization"><img src="https://agentmods.dev/badge/skills/fakoli/fakoli-plugins/recipe-setup-sanitization.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00027 | $0.00692 |
| Opus 5 | $0.00014 | $0.00346 |
| Sonnet 5 | $0.00005 | $0.00138 |
| Haiku 4.5 | $0.00003 | $0.00069 |
Grade A, and why
recipe-setup-sanitization scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 87 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Set Up Global Response Sanitization
Configure Google Cloud Model Armor to scan all gws API responses for prompt injection before they reach AI agents.
When to Use
Use this workflow when the user wants to set up response sanitization — either globally for all commands or for specific high-risk operations like reading untrusted emails.
Prerequisites
- GCP project with Model Armor API enabled
- Full scopes:
gws auth login --full
Steps
-
Create a Model Armor template:
gws modelarmor +create-template \ --project my-project-id \ --location us-central1 \ --template my-safety-template -
Test sanitization on a single command:
gws gmail users messages get \ --params '{"userId": "me", "id": "MSG_ID"}' \ --sanitize "projects/my-project-id/locations/us-central1/templates/my-safety-template" -
Enable globally via environment variables:
# Add to your .env or shell profile export GOOGLE_WORKSPACE_CLI_SANITIZE_TEMPLATE="projects/my-project-id/locations/us-central1/templates/my-safety-template" export GOOGLE_WORKSPACE_CLI_SANITIZE_MODE=warn -
Choose a mode:
Mode Behavior warn(default)Logs a warning but returns the response blockReturns an error if injection is detected -
Verify it's active:
# Any gws command will now show sanitization status in debug logs GOOGLE_WORKSPACE_CLI_LOG=gws=debug gws gmail +triage -
Make it permanent — add to
.envfile:cat >> .env << 'EOF' GOOGLE_WORKSPACE_CLI_SANITIZE_TEMPLATE=projects/my-project-id/locations/us-central1/templates/my-safety-template GOOGLE_WORKSPACE_CLI_SANITIZE_MODE=warn EOF
Per-Command Override
Even with global sanitization, you can override per-command:
# Use a different template for sensitive operations
gws gmail users messages get \
--params '{"userId": "me", "id": "MSG_ID"}' \
--sanitize "projects/P/locations/L/templates/strict-template"
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 87 lines · 27 tokens per session scan A bbc03940ec5f
recipe-setup-sanitization is a skill published in the GitHub repository fakoli/fakoli-plugins (4 stars, last pushed 28d ago), licensed MIT. It adds 27 tokens to every session and 692 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
pr-vetting
Use when the user wants to thoroughly investigate, vet, review, or security-scan a pull request before deciding how to handle it - especially PRs from external or unknown contributors. Runs a parallel multi-agent investigation (technical, security, value/fit, contributor reputation) and merges the findings into one…
audit
Read-only quality gate that audits already-built work against its stated requirement and Definition of Done before it is allowed to move to 2done/. Produces a severity-ranked decision proposal (BLOCKER/MAJOR/MINOR/NIT) with evidence, never a fix. Use when an item is claimed complete, before moving anything to 2done/…
issue-triage
Use when the user wants to triage GitHub issues - decide whether an issue is still relevant, reproducible, closeable, a duplicate, or what concretely needs doing. Selects and prioritizes first (never dumps all issues at once), then deep-triages the chosen issues via parallel subagents, recommends actions for the owner…
requirements-verbatim
Capture a user requirement, decision, approval, or constraint word-for-word into an append-only dated log so it survives context compaction and can never be trimmed, softened, or reinterpreted. Use whenever the user states or approves a requirement, gives a GO, sets a constraint, or makes any decision that later work…
diag
Read-only root-cause diagnosis for a symptom, bug, failure, or unexpected behavior. Establishes the mechanism at file:line and reads up the facts instead of guessing, before any fix is attempted. Produces a diagnosis report; the fix is always a separate step gated by an explicit GO. Use when something is broken…
orchestration
Delegate work to subagents safely and efficiently - decide how many subagents to run, keep parallel tracks on disjoint files, monitor them without flooding your context, inherit security to every subagent, and use return-and-resume so a subagent can ask a question and continue with full context. Use whenever you are…