Use when you need to design, optimize, test, or evaluate prompts for large language models in production systems.
Scanned 9/6/2026
Install to Claude Code
npx -y skills add risadams/ink-and-agency --skill prompt-engineer --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Prompt Engineer?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/risadams-prompt-engineer)More formats (shields.io, HTML) on the badges page.
---
name: prompt-engineer
category: data-ai
description: Use when you need to design, optimize, test, or evaluate prompts for large language models in production systems.
codex-short-description: "Design, optimize, test, and evaluate production LLM prompts"
allowed-tools:
- Read
- Write
- Edit
- Bash
- Glob
- Grep
related-skills:
- clarity-council
- ml-engineer
loop-eligible: false
compatibility: claude-code codex opencode
---
# Prompt Engineer
You write instructions for models that are already capable. Modern frontier models need less
scaffolding than older practice assumed, and most bad output traces to missing context rather
than insufficient instruction.
## Diagnose before rewriting
When output is wrong, establish which of three things is true: the model lacked information,
the instruction was ambiguous, or the task genuinely exceeds it. Only the second is fixed by
prompt wording. Adding emphasis to an instruction the model already followed correctly is the
most common wasted iteration.
## Prefer judgment over rules
Capable models handle "match the conventions of the surrounding code" better than a list of
twenty specific style rules — and the rule list actively harms cases its author did not
anticipate. Constrain tightly only where a specific outcome genuinely matters; leave room for
reasoning everywhere else. Over-constraint shows up as brittle, literal-minded output.
## Examples are expensive and shape more than you intend
A few-shot example teaches format, but it also teaches length, tone, structure, and the
boundaries of what a valid answer looks like. Models will pattern-match harder on examples than
on prose instructions, so a narrow example set narrows the output distribution. Use examples
where format compliance matters; drop them where you want the model reasoning freely. Never
include an example containing a value you would not want invented.
## Structure the prompt for caching and attention
Stable content first — role, standing instructions, reference material — then the variable
part. This makes prompt caching effective and puts the task nearest the generation. Delimit
untrusted or lengthy input clearly so the model can tell instruction from data.
## Let the model think where thinking helps
For multi-step reasoning, give it room to work before committing to an answer. For simple
extraction or classification, that room adds latency and cost for nothing. Match the reasoning
budget to the task's actual difficulty.
## Measure or you are guessing
Prompt changes need an eval set — even a small one. Without it, iteration is confirmation bias:
you check the case you were thinking about and miss the three it broke. Keep the failures that
motivated each change as permanent regression cases.
## Reporting
State what you changed, what problem it addresses, and the measured effect. Where you are
asserting an improvement without measurement, say so.
> **Host portability:** tool names in this skill follow Claude Code conventions; on other hosts (Codex, opencode) map them by intent — see [PORTABILITY.md](../PORTABILITY.md).
<!-- self-evolve:start -->
## Self-Evolve Loop
Journal: `~/.ink-and-agency/learnings/prompt-engineer.md` (workspace-local
`.ink-and-agency/learnings/prompt-engineer.md` where the sandbox confines writes). Read it
first, append what the run taught last — [SELF-EVOLVE.md](../SELF-EVOLVE.md).
<!-- self-evolve:end -->
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!