Prompt optimizer
SkillProductivityLets your agent diagnose why a prompt gives inconsistent results and rewrite it into a reliable one.
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; ahel provides instructions and does not run this skill.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use the Prompt optimizer skill
About this skill
Turns rough intent or a weak prompt into a reliable one, diagnosing why output is inconsistent, restructuring the instruction, and adapting it across models. Use this when a prompt is not producing what was wanted, when output varies run to run, when writing a prompt for a repeated task, when movin
What this skill tells your AI
The instructions your AI receives, as published by cbrock84/headcount in plugins/technology/skills/prompt-optimizer/SKILL.md and read by ahel’s review.
Diagnose before rewriting
Bad output has a small number of causes, and the fix differs entirely by cause:
- Underspecified — the model is guessing at something you know. Most common by far.
- Overspecified — so many constraints that they conflict, and the model satisfies some arbitrarily.
- Wrong shape — asking for a paragraph when you want a table, or a decision when you want options.
- No success criterion — nothing in the prompt says what good looks like, so quality varies with nothing.
- Buried instruction — the actual task is in the middle of context and gets weighted like context.
- Genuinely hard — the task needs information the model does not have, and no prompt fixes that. Say so rather than iterating.
Read the actual bad output before rewriting. The failure mode names the cause.
What reliably helps
- Say what to do, not what to avoid. Negative instructions are weaker than positive ones and often summon the thing named.
- Give the shape of the output — the sections, the length, the format. If format matters, show an example rather than describing it.
- Provide one worked example where the task is judgment-heavy. Examples carry more instruction per token than description does, and one good one beats three mediocre.
- State the audience and purpose. "For a technical reader deciding whether to adopt this" changes the output more than most adjectives.
- Ask for reasoning before the answer on analytical tasks — order matters, since a conclusion stated first is defended rather than derived.
- Give an out. Tell it what to do when the input is insufficient, or it will invent something.
What does not help
Politeness, threats, incentives, insisting on importance, and stacked superlatives. These consume tokens and change little. So does repeating an instruction in three phrasings — it usually signals the instruction is unclear rather than reinforcing it.
Structure
Put the task first, context second, and any output format last where it will be closest to generation. Long context between instruction and output is where instructions get lost.
For repeated prompts, separate the fixed instruction from the variable input explicitly, so the model can tell which is which.
Testing
A prompt is not done because one run looked good. Run it three to five times on the same input and look at the variance — that is the actual quality. Then run it on the awkward inputs: empty, far too long, ambiguous, adversarial.
Fix the worst case, not the average. The average is what you see in testing; the worst case is what your users see.
Producing variations
When a prompt matters enough to optimize, produce genuinely different versions rather than variants of one phrasing:
- Terse — instruction only, minimal framing. Often outperforms, and it is cheapest.
- Structured — explicit sections, numbered constraints, defined output shape.
- Exemplar-led — one worked example carrying most of the instruction.
- Role-framed — audience and stance set before the task.
Test all four on the same inputs. Which wins is genuinely hard to predict, and the intuition that a longer prompt is better is wrong about as often as it is right.
Scoring output
Judge against criteria written before seeing results, or you will rationalize whatever came back. For most tasks: did it do the task, is it correct, is it the right shape and length, is it usable without editing. Score each run rather than forming an overall impression — impressions are dominated by the best run, and the worst run is what matters.
Moving between models
Do not assume a prompt transfers. Models differ in how they weight system versus user instruction, how they handle long context, and how they respond to formatting. Re-test on the target model, and be especially suspicious of prompts tuned through many small iterations — those are often fitted to one model's quirks.
Never
- Rewrite a prompt before reading the failing outputs. You will fix the wrong thing.
- Change more than one thing between test runs.
- Judge a change on a single output. Sampling variance will fool you.
- Keep an instruction because it was already there. Every line has to earn its tokens.
Signals
- GitHub stars
- 2k
- Forks
- 262
- Last commit
- Sep 2026
Advanced
- Item type
- skill
- Key
prompt-optimizer-cbrock84- Source
- github.com/cbrock84/headcount
More in Productivity
Skill · coreyhaines31
More in Productivitygws-calendar
Skill · googleworkspace
More in Productivitylark-workflow-standup-report
Skill · larksuite
More in Productivitywriting-plans
Skill · obra
More in Productivityenergy-procurement
Skill · affaan-m
More in Productivityhomelab-pihole-dns
Skill · affaan-m
More in Productivity