Agent skill

instruction-engineering

Use when crafting, improving, or reviewing prompts, system prompts, skill instructions, or any text that instructs an LLM. Triggers: 'write a prompt', 'prompt engineering', 'improve this prompt', 'design a system prompt', 'write skill instructions', 'craft agent instructions'. Also invoked by writing-skills. NOT for: auditing existing prompts for ambiguity (use sharpening-prompts).

Stars 5
Forks 2

Install this agent skill to your Project

npx add-skill https://github.com/axiomantic/spellbook/tree/main/skills/instruction-engineering

SKILL.md

Instruction Engineering

Invariant Principles

  1. Simplicity First: Shortest prompt that achieves the goal. Add complexity only when simplicity fails. Every line must justify its existence.

  2. Emotional Stimuli Work: EmotionPrompt (Microsoft, 2023): +8% instruction induction, +115% BIG-Bench. EP02 = "This is very important to my career." EP06 = "You'd better be sure." NegativePrompt (IJCAI 2024): +12.89% instruction induction. NP = consequences for failure framing.

  3. Structure Combats Context Rot: XML tags (<CRITICAL>, <RULE>, <FORBIDDEN>), beginning/end emphasis, strategic repetition (2-3x) preserve instruction salience across long contexts.

  4. Personas Need Stakes: Bare personas ("act as expert") show mixed results. Persona + emotional stimulus (EP02/EP06/NP) shows highest effectiveness.

  5. Skills Invoke, Not Duplicate: Reference skills via Skill tool. Provide CONTEXT only. Duplicating skill instructions creates version drift and context bloat.

  6. Tool Docs Deserve Equal Effort: Per Anthropic's "Building Effective Agents" guide, spend as much effort on tool definitions as prompts. See /ie-tool-docs.

Inputs

Input Required Description
prompt_purpose Yes Goal of the prompt (subagent task, skill definition, system prompt)
target_audience Yes What will consume prompt (Task tool, skill invocation, API call)
context.task_description Yes What the prompt should accomplish
context.constraints No Token limits, forbidden patterns, required elements
context.existing_prompt No Current prompt to improve (for revision tasks)

Outputs

Output Type Description
engineered_prompt Inline/File Complete prompt with research-backed elements
design_rationale Inline Justification for persona, stimuli, structure choices
token_estimate Inline Approximate token count and budget compliance

Reasoning Schema


Command Dispatch

Each workflow step maps to a command. Run commands in order; do not skip.

Command Purpose When to Use
/ie-techniques 16 proven techniques reference; includes Professional Persona Table with EP/NP stimuli Selecting techniques and persona
/ie-template Template + example Drafting new prompts from scratch
/ie-tool-docs Tool documentation guidance Writing MCP tools, APIs, CLI commands
/sharpen-audit Ambiguity detection QA gate before finalizing prompts
/sharpen-improve Ambiguity resolution Rewriting prompts to eliminate guesswork

Workflow

  1. Analyze: Determine prompt purpose and target audience
  2. Select techniques: Run /ie-techniques — choose techniques and persona from Professional Persona Table
  3. Draft: Run /ie-template for structure and example
  4. Document tools: If prompt involves tools, run /ie-tool-docs
  5. Sharpen: Run /sharpen-audit to find ambiguities; run /sharpen-improve to fix them
  6. Verify: Run self-check before finalizing

Skill Descriptions (CSO - Claude Search Optimization)

The description field determines whether Claude loads your skill.

Workflow Leak Bug: If description contains steps, Claude may follow the description instead of reading the skill body.

<RULE>Skill descriptions contain ONLY trigger conditions, NEVER workflow steps.</RULE>

yaml
# CORRECT: Trigger conditions only
description: "Use when [triggering conditions, symptoms, situations]"

# WRONG: Contains workflow Claude might follow
description: "Use when X - does Y then Z then W"

Checklist:

  • Starts with "Use when..."
  • Describes ONLY when to use (no workflow/steps/phases)
  • Includes keywords users would naturally say
  • Under 500 characters
  • Third person — skill descriptions are injected into the system prompt, so they must read as external context, not direct instructions

Anti-Patterns


Self-Check

Before completing any prompt engineering task:

Core Requirements

  • Selected persona from Professional Persona Table in /ie-techniques?
  • Applied persona's psychological trigger in <ROLE>, <CRITICAL> blocks, and <FINAL_EMPHASIS>?
  • Included EP02 or EP06 positive stimuli? ("This is very important to my career" / "You'd better be sure")
  • Included NegativePrompt stimuli? ("Errors will cause problems")
  • Integrated high-weight positive words (Success, Achievement, Confidence, Sure)?
  • Used Few-Shot (ONE complete example)?
  • Critical instructions at TOP and BOTTOM?

Simplicity Check

  • Is this the shortest prompt that achieves the goal?
  • Can any section be removed without losing capability?
  • If extended (>200 lines): is justification documented in design_rationale?

Ambiguity Check (invoke sharpening-prompts)

  • Ran /sharpen-audit on drafted prompt?
  • No CRITICAL or HIGH findings remain?
  • All ambiguities resolved or explicitly documented?

Skill Invocation (if applicable)

  • Subagents INVOKE skills via Skill tool (not duplicate instructions)?
  • Skills get CONTEXT only, no duplicated instructions?
  • If multiple subagents: "Why subagent" justification from heuristics?

Tool Documentation (if applicable)

  • All tools have complete descriptions (not one-word)?
  • Parameters documented with types and constraints?
  • Error cases documented?

CSO Compliance (if SKILL.md)

  • Description starts with "Use when..."?
  • Description contains NO workflow/steps/phases?
  • Under 500 characters, third person?

If ANY unchecked: STOP and fix before proceeding.

<FINAL_EMPHASIS> You are an Instruction Engineering Expert. The most effective prompts are simple, structured, and emotionally grounded. Every subagent, every skill, every system prompt you engineer will be exactly as effective as the techniques you apply. This is very important to my career. You'd better be sure. </FINAL_EMPHASIS>

Expand your agent's capabilities with these related and highly-rated skills.

axiomantic/spellbook

spellbook-auditing

Meta-audit skill for spellbook development. Spawns parallel subagents to factcheck docs, optimize instructions, find token savings, and identify MCP candidates. Produces actionable report.

5 2
Explore
axiomantic/spellbook

documentation-updates

Use after modifying library skills, library commands, or agents to ensure CHANGELOG, README, and docs are updated

5 2
Explore
axiomantic/spellbook

project-encyclopedia

[DEPRECATED] Use project-level AGENTS.md files instead. Previously used for first-session codebase onboarding and persistent glossary creation.

5 2
Explore
axiomantic/spellbook

reviewing-impl-plans

Use when reviewing implementation plans before execution. Triggers: 'is this plan solid', 'review the plan', 'check before I start building', 'anything missing from this plan', 'will this plan work', 'audit the implementation plan'. NOT for: reviewing design documents (use reviewing-design-docs) or creating plans (use writing-plans).

5 2
Explore
axiomantic/spellbook

session-resume

Session resume protocol and session repairs handling. Loaded when spellbook_session_init returns resume_available: true, or when session_init returns a repairs array. Triggers: 'resume', 'continue', 'where were we', session resume, session repairs.

5 2
Explore
axiomantic/spellbook

brainstorming

Use when exploring design approaches, generating ideas, or making architectural decisions. Triggers: 'explore options', 'what are the tradeoffs', 'how should I approach', 'let's think through', 'sketch out an approach', 'I need ideas for', 'how would you structure', 'what are my options'. Also invoked by develop when design decisions are needed.

5 2
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results