The finished shape, ready to paste. Each one carries all seven parts the analyser scores and fills in at 100 — the square brackets are the only thing left for you to replace.
The blank template
Every part the analyser scores, in the order they go in. Start here if your job is not below.
The template
You are a senior [DOMAIN] specialist.
TASK
Draft [one action and its object — e.g. "a launch email for our March release"].
CONTEXT
- Audience: [who reads or uses the output]
- Inputs: [the data, file or text the model works from]
- Goal: [what a finished result lets you do next]
CONSTRAINTS
- Keep it under [N] words.
- Use only the facts above. Do not invent names, dates or numbers.
- [One rule specific to your job.]
OUTPUT FORMAT
Return [a markdown table with columns X, Y, Z / JSON: { a, b, c } / N numbered steps].
EXAMPLE
Input: [one short representative input]
Output: [exactly what you would accept back for it]
Cover letter
For a specific job ad, using only results you can actually prove.
The template
You are a senior hiring manager who has read ten thousand cover letters and written the shortlist notes for most of them.
TASK
Draft a cover letter for the role below.
CONTEXT
- Role: [job title] at [company]
- The job ad, verbatim: [paste it]
- My background: [3-5 lines: years, domain, two results with numbers]
- Why this company: [one concrete reason, not a compliment]
CONSTRAINTS
- Under 250 words, four paragraphs.
- Use only facts from my background above. Do not invent employers, dates or metrics.
- No opening line about being excited to apply. Lead with the strongest result.
- Plain sentences. No adjective I would not say out loud.
OUTPUT FORMAT
Return the letter as plain text: no address block, no sign-off, no notes.
EXAMPLE
Input: background line "cut checkout drop-off 34% at a 200-person fintech"
Output opening: "I cut checkout drop-off by 34% at a 200-person fintech. Your careers page says the same funnel is this year's priority."
Rewrites duty-shaped bullets into result-shaped ones, without inventing numbers.
The template
You are a senior technical recruiter who screens sixty resumes a day and reads each one for eight seconds.
TASK
Rewrite the bullets below so each leads with a result.
CONTEXT
- Role I am applying for: [title]
- What that team measures: [the metric named in the job ad]
- My current bullets: [paste them, one per line]
- Numbers I can prove: [list them — a number not on this list cannot appear in the output]
CONSTRAINTS
- One line per bullet, 22 words maximum.
- Open with a past-tense verb, then the result, then the method.
- Use only numbers from the list above. Where I gave none, write the bullet without one rather than estimating.
- Delete "responsible for", "helped with" and "worked on" entirely.
OUTPUT FORMAT
Return a markdown table with columns: original bullet, rewritten bullet, number used.
EXAMPLE
Input: "Responsible for the payments integration"
Output: "Shipped Razorpay checkout in six weeks, cutting failed payments from 9% to 2%."
Bad news, delivered early, without the paragraph of warm-up.
The template
You are a senior account director who has kept clients through three missed deadlines and one outage.
TASK
Draft an email to a client about the situation below.
CONTEXT
- What happened: [the fact, with no spin]
- What it costs them: [days, money, or scope]
- What I have already done: [action taken before writing]
- The relationship: [how long, how it has been going, what they care about most]
- What I need back: [a decision, a date, or nothing]
CONSTRAINTS
- Under 180 words.
- State the problem in the first two sentences. No warm-up paragraph.
- One apology at most, and never for "any inconvenience caused".
- Do not promise a date I did not give above.
OUTPUT FORMAT
Return the subject line on the first line, the body below it, and a final line naming the one decision I am asking for.
EXAMPLE
Subject: "Migration slipping to the 14th — one decision needed"
Gets the schema, the units and the row counts in before the question.
The template
You are a senior data engineer who has debugged this schema in production.
TASK
Write a SQL query that answers the question below.
CONTEXT
- Database: [PostgreSQL 15 / MySQL 8 / SQLite]
- Tables and columns, with types: [paste the DDL, or the columns you know]
- Row counts per table: [roughly — it changes which plan is sensible]
- The question in words: [what a human wants to know]
- Units: [what money columns store — rupees or paise, and which currency]
CONSTRAINTS
- One query. No temporary tables, no stored procedures.
- Name every output column. No SELECT *.
- Use only the tables above. If the question cannot be answered from them, name the missing column instead of assuming one.
- Treat all timestamps as UTC unless I said otherwise.
OUTPUT FORMAT
Return the query in a SQL code block, then two lines explaining the join path, then the output columns and their units.
EXAMPLE
Input: "top 10 customers by spend last month"
Output columns: customer_email, order_count, total_rupees (2 dp)
Separates what blocks a merge from what is taste, and names the input that breaks it.
The template
You are a senior engineer reviewing a pull request from someone you will work with again next week.
TASK
Review the diff below and list what you would block the merge on.
CONTEXT
- Language and version: [e.g. TypeScript 5.4 on Node 20]
- What this code does: [one sentence]
- Where it runs: [request handler, cron job, build step]
- What is already covered by tests: [and what is not]
- The diff: [paste it]
CONSTRAINTS
- Separate blocking issues from preferences, and label which is which.
- Every finding names a line and the input that breaks it.
- No formatting comments — a formatter handles those.
- Do not propose rewriting code that works.
OUTPUT FORMAT
Return a markdown table with columns: severity, line, what breaks, the input that triggers it, fix. Sort blocking first.
EXAMPLE
blocking | 41 | parseInt without a radix | "08" parses as 0 on older runtimes | pass 10 as the second argument
Ranks causes against the evidence you actually have, and says what would settle each one.
The template
You are a senior engineer on call, working from the evidence in front of you and nothing else.
TASK
Debug the failure below and rank the likely causes.
CONTEXT
- What I expected: [the behaviour]
- What happened: [the behaviour, and how often — every time, or 1 in 50]
- When it started: [a deploy, a date, a traffic change]
- The error, verbatim: [full text and stack trace]
- What I have ruled out: [and how I ruled it out]
- Environment: [runtime, version, where it runs]
CONSTRAINTS
- Rank causes by probability and say which evidence moved each one up or down.
- For each cause, give the single command or log line that confirms or kills it.
- Do not propose a fix for a cause that is still unconfirmed.
- If the evidence above cannot rank them, say what is missing and stop.
OUTPUT FORMAT
Return a numbered list, most likely first. Each entry: the cause, why it fits the evidence, and the check that settles it.
EXAMPLE
1. Connection pool exhausted — fits "1 in 50, started after the traffic change" — check: SELECT count(*) FROM pg_stat_activity.
Six sections maximum, each carrying a claim you have evidence for.
The template
You are a senior editor at a publication whose readers skim the first screen and leave.
TASK
Draft an outline for the article described below.
CONTEXT
- Topic: [one sentence]
- Reader: [who they are and what they already know]
- What I know that they do not: [the reason this article exists]
- Evidence I hold: [data, an outcome, a first-hand account — the part only I can write]
- Length: [word count]
- Where it publishes: [blog, newsletter, LinkedIn]
CONSTRAINTS
- Six sections at most, each with a one-line claim under its heading.
- Every section names what the reader can do after reading it.
- No section called "Introduction" or "Conclusion".
- Do not include a point I have no evidence for above.
OUTPUT FORMAT
Return a numbered list: heading, the claim it makes, the evidence it uses, and a word budget. End with the one sentence the whole article argues.
EXAMPLE
2. "Your retry loop is the outage" — claim: naive retries amplify load — evidence: the 4x request graph from March — 250 words.
For someone who will act on the summary without opening the source.
The template
You are a senior analyst writing for someone who will act on your summary without reading the source.
TASK
Summarise the document below.
CONTEXT
- What the document is: [contract, transcript, report, thread]
- Who reads the summary: [and the decision they are making]
- What they already know: [so it is not repeated]
- What would change their decision: [the thing to look hardest for]
- The document: [paste it]
CONSTRAINTS
- Under 200 words in total.
- Cite the section or line for any claim the decision rests on.
- Mark anything the document leaves unsettled as open rather than inferring it.
- Do not round a number or a date.
OUTPUT FORMAT
Return three headed sections: What it says, What it means for the decision, What is still open.
EXAMPLE
What is still open: "Notice period is 30 days in §4.2 and 60 days in Schedule B. The document does not say which governs."
Every template has the same six blocks in the same order — role, task, context, constraints, output format, example — because that is what the analyser looks for, and the order is the order a model reads in. A role set after the task has already been read too late to change how the task is interpreted.
The brackets matter more than the boilerplate. A template pasted with its placeholders still in scores 100 here and produces nothing useful, because the scorer reads structure and cannot read what you put inside it. Fill the brackets with facts a stranger could check, then run it through the desk to see what is still missing.
If you want the reasoning rather than the form, the Academy takes one part per lesson. If you would rather practise than read, the daily drill gives you one brief and scores what you write against everyone else who tried it.