Agent — does the agent deliver?
Brief 35

Guardrails Audit

A defensive review of your agent's blast radius — injection paths, unvalidated outputs, over-broad permissions, ungated irreversible actions.

GUARDRAILS.md4 phases7 lenses~2.9k chars

Free & open · no signup · read-only — it ends by asking · nothing leaves your machine

What it does

You are working inside this repo. Mission: a defensive review of your own agent system — map what untrusted content can reach the model, what the model can do to the world, and where the gap between those two is unguarded.

This is the defensive architecture review. To actively attack the same surface like an adversary, run 118; for prompt hygiene itself, run 30.

Read-only pass. Your only write is the report file.

What it looks for

7 lenses it looks through

Phase 2 sweeps the codebase through every one of these, citing file and line for each finding.

1

Injection paths

untrusted content placed adjacent to instructions; tool results and retrieved docs treated as trusted voice

2

Output validation

model output parsed, executed, rendered, or forwarded without deterministic checks (queries, shell strings, HTML, URLs, addresses)

3

Permission scope

agent credentials broader than the task needs; one key for read and destroy

4

Irreversible gates

delete, send, publish, pay: which run with no confirmation, dry-run, or review step (see 43)

5

Exfiltration channels

the combination of can-read-secrets and can-make-requests, unmediated

6

Blast limits

the maximum damage of one compromised or confused run: bounded by anything?

7

Refusal visibility

when the model balks or a guard fires, is it logged and reviewed, or invisible?

The deliverable

What lands in your repo

One structured report at the repo root — or in reports/, if you keep one — the same shape every time, ready for a teammate — or the optional Studio — to act on.

GUARDRAILS.md
1
The two-surface map
inputs table and powers table
2
Findings
each: severity · location · risk (1–2 lines) · fix · effort
3
Systemic guards to adopt
the three that eliminate classes
4
Fix-this-week list
Start the report with today's date. If GUARDRAILS.md already exists from a previous run, read it first and lead with what changed since.
One file. Evidence-backed. It ends by asking before touching anything.
How it works

What it makes the agent do

Every Goal Prompt follows the same four steps, so results are consistent and repeatable — no matter which one you run.

1
Phase 1

Map the two surfaces

Inputs.

2
Phase 2

Audit through 7 lenses

Cite locations.

3
Phase 3

Curate

Severity = reachability × blast radius.

4
Phase 4

Report

Create GUARDRAILS.md at repo root.

Get started

Three ways to run this Goal Prompt

01 · COPY

Paste it in

Copy it and paste it into your agent inside the repo you want checked.

02 · INSTALL

As a slash command

Install the goal plugin once — two commands — then just type /goal:guardrails-audit.

1/plugin marketplace add GhostlyGawd/goal-prompts
2/plugin install goal@goal-prompts

Or install only this Goal Prompt as /goal-guardrails-audit:

curl -fsSL https://goal-prompts.vercel.app/install | BRIEF=35 sh
03 · AGENT

From an agent (MCP)

Let an agent fetch it mid-conversation, or pull the raw Goal Prompt by URL.

https://goal-prompts.vercel.app/raw/35.md
Transparency

The exact prompt

Nothing hidden — this is the whole Goal Prompt, verbatim. Read it in a minute, edit it, or copy it as-is.

Read the full brief (2,903 characters)
# Goal: Guardrails Audit

You are working inside this repo. Mission: a defensive review of your own agent system — map what untrusted content can reach the model, what the model can do to the world, and where the gap between those two is unguarded.

This is the defensive architecture review. To actively attack the same surface like an adversary, run 118; for prompt hygiene itself, run 30.

Read-only pass. Your only write is the report file.

## Phase 1 — Map the two surfaces
- **Inputs**: every path untrusted content enters model context — user messages, retrieved documents, web content, file uploads, tool results.
- **Powers**: every tool ranked by blast radius — read-only, writes-internal, touches-the-outside-world, irreversible.
- Whose credentials does the agent run with, and how scoped are they?

## Phase 2 — Audit through 7 lenses
Cite locations; keep risk descriptions to the one or two lines needed to justify each fix — this is a defensive report.
1. **Injection paths** — untrusted content placed adjacent to instructions; tool results and retrieved docs treated as trusted voice
2. **Output validation** — model output parsed, executed, rendered, or forwarded without deterministic checks (queries, shell strings, HTML, URLs, addresses)
3. **Permission scope** — agent credentials broader than the task needs; one key for read and destroy
4. **Irreversible gates** — delete, send, publish, pay: which run with no confirmation, dry-run, or review step (see 43)
5. **Exfiltration channels** — the combination of can-read-secrets and can-make-requests, unmediated
6. **Blast limits** — the maximum damage of one compromised or confused run: bounded by anything?
7. **Refusal visibility** — when the model balks or a guard fires, is it logged and reviewed, or invisible?

## Phase 3 — Curate
- Severity = reachability × blast radius; name the preconditions honestly
- Prefer systemic guards (validation layer, scoped creds, action gates) over per-spot patches

## Phase 4 — Report
Create `GUARDRAILS.md` at repo root:
1. **The two-surface map** — inputs table and powers table
2. **Findings** — each: severity · location · risk (1–2 lines) · fix · effort
3. **Systemic guards to adopt** — the three that eliminate classes
4. **Fix-this-week list**

Start the report with today's date. If `GUARDRAILS.md` already exists from a previous run, read it first and lead with what changed since.

## Rules
- Assume any content the agent reads may be adversarial; design for it
- A guard nobody can see firing is a guard nobody maintains
- No LLM inputs or outputs to guard in this repo? Say so in a one-paragraph null report and stop — a null result is a valid finding.
- If a `reports/` directory exists at the repo root, write the report there instead of the root.
- Before asking, present the top findings as a ranked list in plain words
- Report only — end by asking which guards to build

House rules for this Goal Prompt

  • Assume any content the agent reads may be adversarial; design for it
  • A guard nobody can see firing is a guard nobody maintains
  • No LLM inputs or outputs to guard in this repo? Say so in a one-paragraph null report and stop — a null result is a valid finding.
  • If a reports/ directory exists at the repo root, write the report there instead of the root.
  • Before asking, present the top findings as a ranked list in plain words
  • Report only — end by asking which guards to build
Keep exploring

Pairs well with

Curated neighbors — briefs that answer the adjacent question, worth running in the same session.

More Agent briefs

Runs inside these playbooks — curated sequences you can launch with one paste: