Writing effective prompts, advanced techniques like chaining and Plan Mode, and designing for structured, evaluable output.
Clarity and specificity beat cleverness. A prompt that states the exact output format, the constraints, and one or two concrete examples of what a good answer looks like will consistently outperform a vaguer prompt with more adjectives.
Positive examples show the target; negative examples — showing a plausible but wrong answer and why it's wrong — are often what actually close the gap on a model that's been getting close-but-not-quite results.
System prompts set durable context and role framing that should hold for the whole interaction; user turns carry the specific task at hand. Conflating the two — burying durable rules inside a one-off user message — is a common design mistake that makes behavior inconsistent across turns.
Full breakdown & examples → 4.1 Writing Effective Prompts
Chain-of-thought / step-by-step prompting asks the model to reason before answering, which measurably improves accuracy on multi-step problems by giving the model room to catch its own intermediate mistakes before committing to a final answer.
Prompt chaining breaks one complex task into a sequence of smaller prompts, where each step's output feeds the next — trading a single hard-to-verify generation for several easier-to-verify ones, at the cost of extra latency and orchestration complexity.
In Claude Code specifically, Plan Mode has Claude propose an approach and get it approved before touching any files, versus direct execution, which starts making changes immediately. Plan Mode trades speed for a checkpoint on higher-risk or higher-ambiguity changes — the same trade-off Domain 1 describes for agentic checkpoints generally.
Full breakdown & examples → 4.2 Advanced Prompt Techniques
Getting reliable machine-consumable output (JSON, a fixed schema) means specifying the exact shape wanted, showing an example of that shape, and being explicit about what happens with missing or uncertain fields — ambiguity here shows up downstream as a parsing failure, not a conversational misunderstanding.
An evaluation set is a fixed collection of representative inputs with known-good outputs (or a grading rubric), used to measure whether a prompt change actually improved things or just felt better on the one example you tried.
Automated eval pipelines apply a grading rubric — sometimes another Claude call scoring the output — consistently across the whole set, which is what makes it possible to detect a regression before it reaches production rather than after a user reports it.
Full breakdown & examples → 4.3 Structured Output and Evaluations