| name | prompt-creator |
| description | Expert prompt engineering for creating effective prompts for Claude, GPT, and other LLMs. Use when writing system prompts, user prompts, few-shot examples, or optimizing existing prompts for better performance. |
Create highly effective prompts using proven techniques from Anthropic and OpenAI research. This skill covers all major prompting methodologies: clarity, structure, examples, reasoning, and advanced patterns.
Every prompt created should be clear, specific, and optimized for the target model.
<quick_start>
- Clarify purpose: What should the prompt accomplish?
- Identify model: Claude, GPT, or other (techniques vary slightly)
- Select techniques: Choose from core techniques based on task complexity
- Structure content: Use XML tags (Claude) or markdown (GPT) for organization
- Add examples: Include few-shot examples for format-sensitive outputs
- Define success: Add clear success criteria
- Test and iterate: Refine based on outputs
<core_structure>
Every effective prompt has:
<context>
Background information the model needs
</context>
<task>
Clear, specific instruction of what to do
</task>
<requirements>
- Specific constraints
- Output format
- Edge cases to handle
</requirements>
<examples>
Input/output pairs demonstrating expected behavior
</examples>
<success_criteria>
How to know the task was completed correctly
</success_criteria>
</core_structure>
</quick_start>
<core_techniques>
Priority: Always apply first
- State exactly what you want
- Avoid ambiguous language ("try to", "maybe", "generally")
- Use "Always..." or "Never..." instead of "Should probably..."
- Provide specific output format requirements
See: references/clarity-principles.md
**When**: Claude prompts, complex structure needed
Claude was trained with XML tags. Use them for:
- Separating sections:
<context>, <task>, <output>
- Wrapping data:
<document>, <schema>, <example>
- Defining boundaries: Clear start/end of sections
See: references/xml-structure.md
**When**: Output format matters, pattern recognition easier than rules
Provide 2-4 input/output pairs:
<examples>
<example number="1">
<input>User clicked signup button</input>
<output>track('signup_initiated', { source: 'homepage' })</output>
</example>
</examples>
See: references/few-shot-patterns.md
**When**: Complex reasoning, math, multi-step analysis
Add explicit reasoning instructions:
- "Think step by step before answering"
- "First analyze X, then consider Y, finally conclude Z"
- Use
<thinking> tags for Claude's extended thinking
See: references/reasoning-techniques.md
**When**: Setting persistent behavior, role, constraints
System prompts set the foundation:
- Define Claude's role and expertise
- Set constraints and boundaries
- Establish output format expectations
See: references/system-prompt-patterns.md
**When**: Enforcing specific output format (Claude-specific)
Start Claude's response to guide format:
Assistant: {"result":
Forces JSON output without preamble.
**When**: Long-running tasks, multi-session work, large context usage
For Claude 4.5 with context awareness:
- Inform about automatic context compaction
- Add state tracking (JSON, progress.txt, git)
- Use test-first patterns for complex implementations
- Enable autonomous task completion across context windows
See: references/context-management.md
</core_techniques>
<prompt_creation_workflow>
<step_0>
Gather requirements using AskUserQuestion:
-
What is the prompt's purpose?
- Generate content
- Analyze/extract information
- Transform data
- Make decisions
- Other
-
What model will use this prompt?
- Claude (use XML tags)
- GPT (use markdown structure)
- Other/multiple
-
What complexity level?
- Simple (single task, clear output)
- Medium (multiple steps, some nuance)
- Complex (reasoning, edge cases, validation)
-
Output format requirements?
- Free text
- JSON/structured data
- Code
- Specific template
</step_0>
<step_1>
Draft the prompt using this template:
<context>
[Background the model needs to understand the task]
</context>
<objective>
[Clear statement of what to accomplish]
</objective>
<instructions>
[Step-by-step process, numbered if sequential]
</instructions>
<constraints>
[Rules, limitations, things to avoid]
</constraints>
<output_format>
[Exact structure of expected output]
</output_format>
<examples>
[2-4 input/output pairs if format matters]
</examples>
<success_criteria>
[How to verify the task was done correctly]
</success_criteria>
</step_1>
<step_2>
Apply relevant techniques based on complexity:
- Simple: Clear instructions + output format
- Medium: Add examples + constraints
- Complex: Add reasoning steps + edge cases + validation
</step_2>
<step_3>
Review checklist:
<anti_patterns>
❌ "Help with the data"
✅ "Extract email addresses from the CSV, remove duplicates, output as JSON array"
❌ "Don't use technical jargon"
✅ "Write in plain language suitable for a non-technical audience"
❌ Describing format in words only
✅ Showing 2-3 concrete input/output examples
❌ "Process the file"
✅ "Process the file. If empty, return []. If malformed, return error with line number."
See: references/anti-patterns.md
</anti_patterns>
<reference_guides>
Core principles:
Techniques:
Best practices by vendor:
Quality:
<success_criteria>
A well-crafted prompt has:
- Clear, unambiguous objective
- Specific output format with example
- Relevant context provided
- Edge cases addressed
- No vague language (try, maybe, generally)
- Appropriate technique selection for task complexity
- Success criteria defined
</success_criteria>