Building with prompts
For anyone embedding prompts in a product or workflow — system prompts, iteration discipline, injection defense, and cross-model porting.
If you are new to AI, read these in order. The first guide is the 30-minute starter path that links to every other piece. The rest go deeper on the questions everyone hits early: which model to use, what AI gets wrong, what is safe to share at work, and how to prompt.
Writing system prompts: the instruction layer for an AI product
The anatomy of a system prompt — persona, scope, guardrails, output format. What belongs in the system turn vs the user turn, and how to iterate without breaking what already works.
How to improve a prompt without guessing: a systematic approach
The baseline → regression-test → targeted-change loop. Why even a 20-case eval set beats intuition. How to spot what actually changed in the output, not just whether it feels better.
Prompt injection: what it is and how to defend against it
How attackers override your system prompt through user input, why it matters for anyone building with LLMs, and the defense patterns that actually work — input sanitization, privilege separation, content boundary tagging.
How prompting differs across Claude, GPT, and Gemini
The same prompt can produce meaningfully different results on different models. The practical differences — Claude's XML preference, GPT's developer role, Gemini's instruction sensitivity — and how to port a prompt without rewriting it from scratch.