Agent — does the agent deliver?
Brief 31

Tool Design Review

Your tools are an API whose consumer is a model — audit names, descriptions, error contracts, and guards on destructive actions.

TOOLS.md4 phases8 lenses~2.7k 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: review the tools exposed to your agents as what they are — an API whose consumer is a model — and find where the design invites wrong calls, dead ends, or damage.

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

What it looks for

8 lenses it looks through

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

1

Misleading surface

names and descriptions that make the model pick the wrong tool or wrong moment

2

Parameter footguns

ambiguous types, formats described nowhere, optionals that silently default to something surprising

3

Error contract

failures returning actionable text the model can adapt to, vs stack traces, nulls, or silence

4

Granularity

too atomic (routine jobs need 12-call chains) or too broad (one mega-tool misused)

5

Destructive gaps

delete/send/pay/write tools with no confirmation step, dry-run mode, or undo

6

Overlap

two tools doing the same job, chosen inconsistently

7

Missing tools

hacks in traces or prompts where the agent works around a tool that should exist

8

Return bloat

tool results dumping thousands of tokens into the window when a summary would serve

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.

TOOLS.md
1
Tool table
name · job · calls the outside world? · risk · issues found
2
Description rewrites
worst 3, before/after, ready to paste
3
Error contract standard
the one shape every tool failure should return
4
Guard plan
which tools get confirms, dry-runs, or scoped permissions
5
Add/merge/kill list
Start the report with today's date. If TOOLS.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

Inventory the toolbox

List every tool/function an agent can call.

2
Phase 2

Audit through 8 lenses

Misleading surface — names and descriptions that make the model pick the wrong tool or wrong moment.

3
Phase 3

Curate

Every finding names the failure it produces.

4
Phase 4

Report

Create TOOLS.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:tool-design-review.

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

Or install only this Goal Prompt as /goal-tool-design-review:

curl -fsSL https://goal-prompts.vercel.app/install | BRIEF=31 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/31.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,666 characters)
# Goal: Tool Design Review

You are working inside this repo. Mission: review the tools exposed to your agents as what they are — an API whose consumer is a model — and find where the design invites wrong calls, dead ends, or damage.

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

## Phase 1 — Inventory the toolbox
- List every tool/function an agent can call: name, description, parameters, what actually executes.
- Which loops or agents can call which tools; which tools touch the outside world.
- If traces exist: which tools get called most, and which calls fail most.

## Phase 2 — Audit through 8 lenses
1. **Misleading surface** — names and descriptions that make the model pick the wrong tool or wrong moment
2. **Parameter footguns** — ambiguous types, formats described nowhere, optionals that silently default to something surprising
3. **Error contract** — failures returning actionable text the model can adapt to, vs stack traces, nulls, or silence
4. **Granularity** — too atomic (routine jobs need 12-call chains) or too broad (one mega-tool misused)
5. **Destructive gaps** — delete/send/pay/write tools with no confirmation step, dry-run mode, or undo
6. **Overlap** — two tools doing the same job, chosen inconsistently
7. **Missing tools** — hacks in traces or prompts where the agent works around a tool that should exist
8. **Return bloat** — tool results dumping thousands of tokens into the window when a summary would serve

## Phase 3 — Curate
- Every finding names the failure it produces: wrong call, wasted loop, or real damage
- Prefer fixing descriptions and errors first — cheapest lever on agent behavior

## Phase 4 — Report
Create `TOOLS.md` at repo root:
1. **Tool table** — name · job · calls the outside world? · risk · issues found
2. **Description rewrites** — worst 3, before/after, ready to paste
3. **Error contract standard** — the one shape every tool failure should return
4. **Guard plan** — which tools get confirms, dry-runs, or scoped permissions
5. **Add/merge/kill list**

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

## Rules
- Judge tools from the model's seat: only what the description says exists
- An error a model can't act on is a dead end, not error handling
- No agent tool definitions 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 changes to make

House rules for this Goal Prompt

  • Judge tools from the model's seat: only what the description says exists
  • An error a model can't act on is a dead end, not error handling
  • No agent tool definitions 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 changes to make
Keep exploring

More Agent briefs

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