Bowtie Funnel Resources / skill

/agent-anatomy

Most AI agents start as a pile of loose files — a prompt, a few scripts, a cron job, some notes, all in one directory.

agent-anatomy gives them a shape. One agent = one folder; every capability is a file in a conventionally-named place — in any language.

MIT Claude Code skill scaffold + reorganize never deletes
before — a junk drawer
support-bot/├── prompt.txt├── refund_tool.py├── lookup-order.py├── how_to_escalate.md├── daily_report.py├── slack.py├── utils.py└── notes.txt
after — a labeled toolbox
support-bot/├── instructions.md├── tools/│   ├── issue_refund.py│   └── lookup_order.py├── skills/│   └── how-to-escalate.md├── schedules/│   └── daily_report.py├── channels/│   └── slack.py├── lib/│   └── utils.py└── notes.txt ← left in place

Two modes, auto-detected

scaffold

Empty folder → new agent

Describe what the agent does. Get a real instructions.md plus only the capability folders that purpose needs — each with a working starter file. No empty placeholders.

reorganize

Messy folder → clean layout

It classifies every file and shows a move plan first. Nothing moves until you approve, and nothing is ever deleted — just relocated and renamed.

The convention

Names come from file paths, not config. tools/issue_refund.py is the tool issue_refund.

A file that…goes in
is the system promptinstructions.md · required
does a discrete action the agent invokestools/
is a procedure followed on demandskills/
runs on a timer / cronschedules/
receives inbound messageschannels/
calls an outbound API / serviceconnections/
is a nested agentsubagents/
is durable state read back latermemory/
is shared helper codelib/

Install & use

# copy the skill into your Claude Code skills directory
cp -r skills/agent-anatomy ~/.claude/skills/

Then invoke it directly, or just say what you want:

/agent-anatomy

# or, in plain language —
# "organize this agent folder"
# "scaffold a new agent that answers support tickets"