
Prompt Engineer
Reliable LLM output from structure + examples + guardrails, not magic words — with an explicit out for uncertainty. Iterate on evidence.
v1.0.0 · ~713 tokens · ⬇ 0 · Updated July 6, 2026
What it does
Writes/improves an LLM prompt for reliability: clear structure (role/task/delimited input/output contract/edge-case constraints), few-shot examples covering the tricky cases, task-fit reliability techniques (reasoning-first, constrained output space, explicit uncertainty out), and evidence-based iteration on varied/adversarial inputs. No magic words — clear contracts.
Example uses
Fix an inconsistent extraction prompt
Your LLM extraction feature returns clean JSON on some inputs and prose or invented fields on others.
My support-ticket triage prompt returns valid JSON about 80% of the time, but sometimes it adds explanations or invents a priority when the ticket is ambiguous. Here is the current prompt and three failing tickets. Restructure it with a strict output contract, an explicit "unknown" option for priority, and few-shot examples that cover the ambiguous cases — then give me test inputs to confirm the fix.Write a classification prompt from scratch
You are building a new LLM feature and want the first version of the prompt to be reliable, not a guess.
Write a prompt that classifies incoming sales emails into exactly one of: demo-request, pricing-question, churn-risk, spam, other. The input is the raw email body. I need machine-parseable output for a Node backend, a "none of the above" path so the model never forces a wrong label, and 2-3 few-shot examples covering the tricky boundary between pricing-question and churn-risk.Stop hallucinated answers in production
Your assistant confidently fills gaps with made-up details instead of admitting it does not know.
Users report our documentation chatbot invents CLI flags that do not exist. Here is the system prompt. Add an explicit uncertainty out, tighten the task definition so the model answers only from the provided docs, and give me 10 adversarial test inputs — including questions about features we do not have — so I can verify the fix on real failure modes.Install
# 1. Create the skill folder in your Claude setup mkdir -p ~/.claude/skills/prompt-engineer # 2. Download SKILL.md into it (or move the file you just downloaded) # → ~/.claude/skills/prompt-engineer/SKILL.md # 3. Claude Code auto-discovers it on next launch.
Inside the skill
--- name: prompt-engineer description: Write or improve a prompt for an LLM so it produces reliable, correct outputs. Use when building an LLM feature, when a prompt gives inconsistent/wrong results, or asked "write a prompt for X", "improve this prompt", "why does the model do Y". Structure, examples, and guardrails over magic words. --- # Prompt Engineer Reliable LLM output comes from clear structure and constraints, not incantations. Tell the model exactly what you want, show it, and box in the failure modes. ## Structure a prompt - **Role/context**: who the model is acting as and the situation — enough to set behavior, no filler. - **Task**: the ONE thing to do, stated imperatively and specifically. Ambiguity in → variance out. - **Input**: clearly delimited (tags/quotes) so the model knows data from instructions. - **Output contract**: exact format (JSON schema, structure, length). If you need machine-parseable output, specify the schema and say "output only that". Vague format = unparseable variance. - **Constraints**: what to do on edge cases (empty input, uncertainty, missing data) — or the model will improvise inconsistently. ## Show, don't just tell (few-shot) - 1-3 examples of input → desired output do more than paragraphs of description, especially for format and tone. Choose examples that cover the tricky cases, not just the easy one. - Keep examples consistent with the rules; a contradicting example overrides your instructions. ## Reliability techniques (use what the task needs) - For reasoning tasks: ask for the reasoning/steps before the answer (it improves correctness). For latency/cost or when only the answer matters, keep it terse. - For classification/extraction: constrain the output space (enum, schema), give the "none/unknown" option. - **Handle uncertainty explicitly**: tell it to say "I don't know" / return null rather than guess — otherwise it fills gaps confidently (the #1 source of "hallucination" in features). - Put the most important instruction where it won't get lost (start and/or end). ## Iterate on evidence - Test on real, varied inputs including the edge/adversarial ones — not one happy example. - When it fails, diagnose WHY (ambiguous task? missing constraint? bad example?) and fix that specific thing. Don't randomly reword and hope. ## Rules - Specificity and structure beat clever phrasing. There are no magic words; there are clear contracts. - Show examples for format/tone; they're the highest-leverage part of most prompts. - Give the model an explicit out for uncertainty, or it will guess. - Test on varied inputs; a prompt that works on one example proves nothing. ## Output The prompt (structured: role/task/input/output-contract/constraints + examples), a note on the techniques used and why, and suggested test inputs including edge cases.
Changelog
- v1.0.02026-07-03Initial clean-room write.
Frequently asked questions
Is Prompt Engineer free?
Yes. Prompt Engineer is free to download and MIT-licensed.
Where do I install Prompt Engineer?
Place the SKILL.md file in ~/.claude/skills/prompt-engineer/ and Claude Code auto-discovers it on next launch.
How many tokens does Prompt Engineer use?
About 713 tokens — it is designed to be token-lean.

We're developers and SaaS builders who use these tools daily in production. Every review comes from hands-on experience building real products — DealPropFirm, ThePlanetIndicator, PropFirmsCodes, and many more. We don't just review tools — we build and ship with them every day.
Written and tested by developers who build with these tools daily.