Nothing matches that.
Use when The number of steps is unknown at design time, the next action depends on what the last one returned, and the task has an end state you can recognise — “find the bug in this repo”, “get this ticket to done”.
Use whenClients — web, mobile, another service, an agent — need to react differently to different failures, and you want one shape rather than one per route.
Use whenYou are about to make the second change to any system built on a model. The first you can eyeball; from the second you are trading one set of failures for another and cannot see it.
Use whenAn operation can be delivered more than once — webhooks, queued jobs, payments, outbound email — and running it twice would double-charge, double-send or double-write.
Use whenA system that calls a model runs somewhere you cannot watch it, and someone will eventually say “it gave me a strange answer on Tuesday”. Or nobody can say which feature is responsible for the model bill.
Use whenA prompt will run more than a handful of times — anything in a product path. Also when an existing prompt has grown by accretion and now contradicts itself or caches badly.
Use whenThe model's output feeds code rather than a person — extraction, classification, filling a form — and a parse failure is an incident rather than a nuisance.
Use whenAn agent has more than one tool, and it picks the wrong one, sends malformed arguments, or misreads what came back. Also whenever tool schemas are being reworked.
Use whenData arrives from anywhere you do not control — HTTP bodies, webhooks, queue messages, env vars, third-party responses, model output — and the rest of the code should be able to trust it.
Drop-in skillDraws a self-contained HTML map of a codebase — its jobs, not its folders.
git clone --depth 1 \ https://github.com/ysz7/awesome-ai-blueprints.git /tmp/ab \ && cp -r /tmp/ab/blueprints ./blueprints \ && rm -rf /tmp/ab
git submodule add \
https://github.com/ysz7/awesome-ai-blueprints.git .blueprints
ln -s .blueprints/blueprints blueprints
## Architecture blueprints This project carries architecture blueprints in `blueprints/`. Before implementing any substantial feature, read `blueprints/README.md`. It lists every blueprint available here, with the situation each one is for and the situations it must not be used for. Never follow a blueprint silently — say which one you are using, and why.
.cursor/rules/. ChatGPT, Gemini — paste as the first message.Then you notice it unlocks the product the second the browser hits the success page — anyone who guesses the URL gets your product for free. Nothing in the code looks wrong, so nobody catches it until a customer does. A blueprint is the missing half of that prompt: it tells the agent what correct looks like before it writes a line.
A blueprint is not a tutorial and not a framework. It is the half of the prompt you never write: what to build, in what order, and what the agent may not do. Written down once — so the same request builds the same system every time.