Why Most Prompts Waste Tokens
Token waste doesn't come from bad questions. It comes from ambiguous questions. When Claude doesn't know exactly what format you want, it defaults to comprehensive. That means explanations, context, alternatives, and caveats — most of which you didn't need.
The difference is not the task — it is the output contract. Every template below includes an explicit output contract that tells Claude what to produce and what to omit.
Anatomy of a Low-Token Prompt
Every prompt template below follows the same four-part structure. Learn this once and you can write low-token prompts for any task.
The "Rules" section is where most people underinvest. A prompt without output constraints relies on Claude to guess the right format, length, and depth. It usually guesses "comprehensive." Your job is to tell Claude what "done" looks like — so it stops before doing extra work you didn't ask for.
Role + Style Setup
Most people re-explain their role and tone preference in every message. This template sets both in one compact block at the start of the chat — and Claude carries it forward automatically.
Opening any new chat where you'll send 3+ messages. Copywriting, customer support drafts, email assistance.
You are a [role]. Tone: [concise / casual / formal]. Respond in 3–5 short sentences max. Do not add explanations unless asked.
You are a marketing copywriter for a B2B SaaS brand. Tone: friendly and casual. Respond in 3–5 short sentences max. Do not add explanations unless asked.
One-Shot Fix — Editing & Code
Open-ended requests like "fix this" prompt Claude to explain what was wrong, what it changed, and why. That explanation can be 3–5× longer than the actual fix. This template forces output-only mode.
Grammar corrections, code bug fixes, UI copy rewrites, API response cleanup. Anything where you know what's broken and just need it fixed.
You are a [role]. Task: [goal in 10 words or fewer]. Input: [paste your text or code here] Rules: - Only change what is broken or explicitly requested. - Return only the corrected output. No explanation. - Keep under [X] lines.
You are a TypeScript engineer.
Task: Fix the type error in this function.
Input:
function getUser(id) {
return users.find(u => u.id === id)
}
Rules:
- Only fix the type error.
- Return only corrected code. No explanation.
- Keep under 10 lines.Build a Feature — Dev Workflow
Asking Claude to "build this feature" without structure produces full file rewrites — potentially thousands of tokens per response. This template forces Claude into patch mode: small, targeted diffs, a plan first, and test steps.
Any feature implementation, bug resolution, or refactor that touches 3–5 files. Perfect for engineering teams using Claude in production workflows.
You are a senior [stack] engineer. Goal: Implement [feature — 1 phrase]. Context: - Tech: [frameworks/libraries] - Files: [list 3–5 file paths] - Current behavior: [1–2 sentences] - Expected behavior: [1–2 sentences] Task: 1. Propose a 5–7 step implementation plan. 2. Show code as PATCHES (changed lines only) per file. 3. Provide 3–5 manual test steps. Rules: - No long explanations. Plan only, then patches. - Prefer minimal diffs over full file rewrites.
You are a senior Node.js engineer. Goal: Add per-user rate limiting to the /api/search endpoint. Context: - Tech: Express.js, Redis, express-rate-limit - Files: routes/search.js, middleware/rateLimit.js, config/redis.js - Current behavior: /api/search has no rate limiting - Expected behavior: Max 30 requests per user per minute; 429 on exceed Task: 1. Propose a 5–7 step plan. 2. Show code as PATCHES per file. 3. Provide 3–5 manual test steps. Rules: - No long explanations. - Patches only — no full file rewrites.
Refactor Without Drift
Without explicit constraints, Claude will "improve" code beyond what you asked — renaming variables, reorganizing structure, changing behavior. This template locks behavior and forces a minimal diff.
Code cleanup, legacy refactoring, readability improvements, naming conventions. Whenever you want cleaner code but the same logic.
You are a [role]. Goal: Refactor this code for clarity and maintainability. Input: [paste code snippet] Rules: - Do NOT change behavior or logic. - Only simplify: variable names, structure, or repetition. - Return changed lines as a patch only. - Flag any line you are unsure about instead of changing it.
You are a Python engineer.
Goal: Refactor this function for clarity.
Input:
def proc(d, t, fl):
r = []
for i in d:
if i['type'] == t and i['active'] == fl:
r.append(i['value'] * 2)
return r
Rules:
- Do NOT change behavior or logic.
- Only improve names and readability.
- Return as patch. Flag anything uncertain.Batch Brainstorm
Brainstorming as a conversation is the fastest way to burn tokens. Each exchange grows the history. This template gets 10 ideas in one shot, forces a structured output, and ends the conversation.
Blog topic ideas, product naming, feature naming, campaign concepts, interview questions, email subject lines.
You are a [role]. Goal: Brainstorm [topic] and select the top [N] options. Constraints: - Each idea: 1 sentence max. - Output: numbered list only. - Rank by [criteria: e.g. originality / user impact / SEO potential]. - No commentary before or after the list.
You are a content strategist for an AI tools website. Goal: Brainstorm blog post ideas targeting Indian professionals using AI tools. Select top 8. Constraints: - Each idea: 1 sentence max (title + angle). - Output: numbered list only. - Rank by search traffic potential. - No commentary.
Summarize + Next Steps
Long chats are the biggest source of wasted tokens. This template generates a compact handoff document — key decisions, outcomes, and actions — so you can start a new chat without losing context.
At the end of any long coding, writing, or research session. Any time a chat hits 15+ messages. Before switching tasks.
You are a [role]. Goal: Summarize this conversation into a handoff document. Output format: - 5 bullet points: Key decisions made (1 sentence each) - 3 bullet points: Open questions / unresolved issues - 3 next-step actions (prioritized, 1 sentence each) Rules: - 1 sentence per bullet. No elaboration. - If something is unclear, flag it in open questions.
You are a senior engineer. Goal: Summarize this debugging session as a handoff document. Output format: - 5 bullets: Root cause, changes made, files affected, test results, remaining edge cases - 3 bullets: Open questions - 3 next-step actions Rules: - 1 sentence per bullet. No elaboration.
Code Review — Security & Performance
Standard code review prompts produce 10–20 observations, most of them nitpicks. This template forces Claude to filter to the top 5 critical issues and give a one-sentence fix for each — the 80/20 of code review.
Security review before deployment, performance audit before scaling, bug hunt in production-bound code.
You are a Senior [Backend / Frontend / Security] Engineer. Goal: Review this code for [bugs / security risks / performance issues]. Input: [paste code snippet] Rules: - List only critical issues. Max 5 items. - For each: 1 sentence on what is wrong + 1 sentence on the fix. - Rank by severity (critical first). - No praise, no general tips, no summary paragraph.
You are a Senior Security Engineer.
Goal: Review this Express.js auth endpoint for security risks.
Input:
app.post('/login', async (req, res) => {
const user = await db.query(`SELECT * FROM users WHERE email = '${req.body.email}'`)
if (user && req.body.password === user.password) {
res.json({ token: jwt.sign({ id: user.id }, 'secret') })
}
})
Rules:
- List only critical security issues. Max 5.
- For each: 1 sentence problem + 1 sentence fix.
- Rank by severity. No summary paragraph.Table Comparison
Comparison questions invite Claude into essay mode — paragraphs weighing pros and cons of each option. Forcing table format compresses a 500-word comparison into 6 rows and forces Claude to commit to a recommendation.
Tech stack decisions, tool selection, pricing plan comparison, vendor evaluation, feature prioritization.
You are a [role]. Goal: Compare [Option A] vs [Option B] for [specific context]. Output format — strict table: | Aspect | [Option A] | [Option B] | |--------|-----------|-----------| Rows to include (exactly these 6): 1. Scope / use case 2. Cost 3. Speed / performance 4. Risk / downsides 5. Setup effort 6. Recommendation for [specific context] Rules: - Each cell: 1 short phrase. No full sentences. - Last row must give a clear winner, not "it depends." - No paragraphs before or after the table.
You are a senior full-stack engineer. Goal: Compare Supabase vs Firebase for a bootstrapped SaaS with <1,000 users. Output format — strict table: | Aspect | Supabase | Firebase | Rows: 1. Scope / use case 2. Cost at 1K users 3. Query performance 4. Risk / lock-in 5. Setup effort 6. Recommendation for bootstrapped SaaS Rules: - Each cell: 1 short phrase. - Last row: clear winner. Not "it depends." - No text outside the table.
Universal Rules for Token-Light Prompts
One task per prompt
Every additional task you add increases the chance Claude expands into explanation mode to "connect" the tasks. Separate tasks = separate prompts = cleaner outputs.
"No explanation" is the most powerful rule
Claude's default is to explain. Explicitly blocking explanation can cut response length by 40–60% on simple tasks. Add it whenever explanation would be obvious or unwanted.
Ask for patches, not full files
For code tasks, a patch (only changed lines) produces 5–10× fewer tokens than a full file rewrite. The actual content delivered is identical — just without the unchanged lines.
Use labeled sections, not paragraphs
Structured prompts (Role: / Goal: / Input: / Rules:) parse faster than prose paragraphs. Claude extracts intent more accurately, reducing the need for clarification.
Batch related questions into one message
Three separate messages = three full context loads. One message with three questions = one context load. At message 20, each separate message costs the re-reading of 20 messages.
Mistakes That Bloat Token Usage
| Mistake | Token Impact | Fix |
|---|---|---|
| ✗ Vague task descriptions | Very High | ✓ Specify goal in 10 words or fewer |
| ✗ No output format specified | Very High | ✓ Add "numbered list / table / patch only" |
| ✗ Asking for explanation you don't need | High | ✓ Add "no explanation unless asked" |
| ✗ Pasting entire files for 1-function fixes | High | ✓ Paste only the relevant function or section |
| ✗ Sending corrections as new messages | High | ✓ Edit the original prompt instead |
| ✗ Multi-task prompts without format per task | Medium | ✓ Number each task with its own output format |
| ✗ "Please", "can you", "I was wondering" | Low | ✓ Direct commands: "Review:", "Fix:", "List:" |
| ✗ Mixing unrelated tasks in one prompt | Medium | ✓ One topic per prompt. Batch only related tasks. |
Frequently Asked Questions
What is a low-token prompt in Claude?
How do you reduce token usage in Claude?
What is prompt engineering for Claude?
Should I use XML tags in Claude prompts?
What format does Claude respond best to?
Is it worth writing a longer, more detailed prompt to save tokens?
Cheatsheet — 8 Templates at a Glance
These templates are ready to copy-paste. Save this page and come back whenever you start a new Claude session. Share with your team — every prompt they write efficiently saves collective budget.