Four exam domains in one course: Prompt and Context Engineering (11.0%), Security and Safety (8.1%), Claude Code (3.1%) and Debugging (2.6%). You learn the consolidated prompting docs as they actually exist today, the long-context ordering rule with the number attached to it, the caching economics that decide whether your prompt caches at all, the catalogue of things that now hard-400, and the security material that separates someone who read the docs from someone who shipped.
Take one prompt you have actually shipped. Not a toy. Something with real inputs, real users, and a bill attached. Then run it through every domain in this course and write the audit down.
Rewrite it against the consolidated best-practices structure. Specifically:
<example> inside <examples>?<instructions>, <context> and <input> rather than markdown headers and hope?Measure the prompt. If it is 20k tokens or more, the longform data belongs at the top, above the query, the instructions and the examples. Move it if it is not already there, and note what you had to reorder.
Then wrap the longform data properly: <documents>, then <document index="n">, then <source> and <document_content> inside each.
Work out whether your prompt actually caches.
Grep your codebase for every one of these, and record whether you are exposed:
thinking.type: "enabled" with budget_tokens (400 on 4.7+)temperature, top_p or top_k (400 on Opus 4.7+)output_format where output_config.format is now currentFor every place untrusted text reaches the model, answer three questions in writing:
A written audit with a finding for every part, at least one concrete change you made to the real prompt, and one number you computed yourself rather than read. If you finish and every section says "already fine", you picked a prompt that was too easy. Go get a worse one.