THG AI Usage & Prompting
Module 03 · Anatomy of a good prompt

Role. Context. Constraints. Output. Every time.

A good prompt is not clever. It is complete. Four blocks around one task. Leave one out and the model fills it in for you, with the average of the internet. The average of the internet does not work at Tom Horn Gaming.

~12 minblock builder · 3 scenarioslive previewquiz · pass ≥ 80%
THE BRUTAL TRUTH"Just ask it naturally" is advice for people who don't ship. A prompt is a spec. If you wouldn't hand a contractor a spec with the audience, the facts, the limits and the deliverable format missing, don't hand it to the model either.

The five parts, and what happens when each is missing

The Task is what you want. The four blocks around it are what stop the model guessing. Learn them as a checklist and run it in your head before every prompt that matters.

Role
Who is speaking, and to whom. Sets the voice and, more importantly, the standard the model judges itself against. "You are THG's release manager writing for operators' integration teams" produces a different document than "you are a helpful assistant".
Missing: generic blog voice, for nobody in particular.You are a senior front‑end engineer on unibit-fe. Your reviewer is Leo and he reads every line.
Context
The facts it cannot know. Game name, version, what changed, the file, the ticket, the pasted spec, the glossary. Nothing is on the desk unless you put it there.
Missing: invented versions, invented RTPs, invented clauses. Fluent and wrong.Changes in 1.3.0, and only these: RTP variants 94.1% and 96.1% per market; Bonus Buy (disabled by default); fixed freeze on iOS Safari 17.
Task
One verb, one deliverable. Write, fix, check, translate, compare. Not "look at", not "handle", not "help me with".
Missing or vague: the model picks a deliverable for you. It picks wrong.Write the operator‑facing release notes for Sticky Piggy 2 v1.3.0.
Constraints
What it must not do, and the limits. Forbidden content, files it may not touch, lengths, and the golden rule: "if a detail is not given, write 'not specified' rather than inventing it."
Missing: marketing adjectives, unreleased features, a refactor of the API layer "while it was there", and a commit you didn't authorise.No marketing adjectives. Do not mention unreleased features. Change only GameGrid.tsx and its test. Do NOT commit.
Output
The shape of the answer. Format, length, sections, order. This is the difference between paste‑and‑ship and twenty minutes of reformatting.
Missing: 650 words of prose, every time.Markdown, max 200 words, sections: Summary · Changes · Action required by operator.
Role and Output are the two people skip most, and they are the two that cost least to write. Ten words each. Do them first.

The THG template. Copy it. Use it until it's muscle memory.

ROLE: You are <role>, writing for <audience>.
CONTEXT: <the facts: names, versions, files, tickets, pasted source>
TASK: <one verb, one deliverable>
CONSTRAINTS: <must / must not, limits. If a detail is not given, write "not specified" instead of inventing it.>
OUTPUT: <format, length, sections, order>

The builder: assemble a prompt from blocks, watch it improve live

Pick a scenario. For each block, choose one of the two offered pieces, or write your own. Drag it onto the slot, click it, or use Enter. The preview on the right assembles the prompt as you go, and the simulated result shows exactly what your gaps would cost. Nothing is labelled "good" or "bad". You decide. The result will tell you.

Get all three scenarios to an A. Then rebuild one with your own words in every block and get an A again. That's the skill.

Build‑a‑prompt

TASK (given)

Quiz: prove it

Five questions. Four right to pass.

Module 3 quiz

THE ONE THING TO REMEMBERRole, Context, Task, Constraints, Output. Run the checklist before you press Enter. A missing block is not a shortcut. It is an invitation for the model to guess, and it always accepts.
← M02 · What a lousy prompt costsNext: M04 · Reverse‑prompting & colleagues →