prompt-engineering
SKILL.md
Prompt Engineering
Techniques for getting reliable, high-quality output from LLMs.
Core Techniques
System Prompt Design
- Define the role, constraints, and output format upfront
- Be explicit about what NOT to do
- Put the most important instructions first
Chain-of-Thought
Force step-by-step reasoning before the answer:
Think through this step by step:
1. First, identify...
2. Then, evaluate...
3. Finally, decide...
Few-Shot Examples
Provide 2-3 examples of input → output pairs before the actual task. Match the exact format you want back.
Structured Output
Request specific formats:
Respond with JSON in this exact format:
{"decision": "approve|reject", "reason": "string", "confidence": 0.0-1.0}
Prompt Patterns
Persona Pattern
You are a senior security engineer reviewing code for vulnerabilities.
Focus only on security issues. Ignore style, naming, and formatting.
Constraint Pattern
Rules:
- Maximum 3 sentences per response
- Use only information from the provided context
- If uncertain, say "I don't know" instead of guessing
Verification Pattern
After generating your response, verify:
1. Does it answer the original question?
2. Are all claims supported by evidence?
3. Are there any logical contradictions?
If any check fails, revise before responding.
Decomposition Pattern
Break this problem into sub-problems:
1. Solve each sub-problem independently
2. Combine the solutions
3. Verify the combined solution
API Usage Patterns
Claude API
curl -s https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-4-20250514",
"max_tokens": 1024,
"system": "You are a code reviewer. Only flag security issues.",
"messages": [{"role": "user", "content": "Review this code: ..."}]
}' | jq '.content[0].text'
OpenAI API
curl -s https://api.openai.com/v1/chat/completions \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4o",
"messages": [
{"role": "system", "content": "You are a code reviewer."},
{"role": "user", "content": "Review this code: ..."}
],
"response_format": {"type": "json_object"}
}' | jq '.choices[0].message.content'
Prompt Optimization
Reduce token usage
- Remove filler words and redundant instructions
- Use examples instead of lengthy descriptions
- Put context in system prompt (cached across turns with some providers)
Improve reliability
- Ask the model to output reasoning before conclusions
- Use XML tags to delimit sections:
<context>...</context> - Be specific: "list 5 items" not "list some items"
- Provide negative examples: "Do NOT include..."
Test prompts
- Run the same prompt 5 times — if outputs vary wildly, the prompt is ambiguous
- Use temperature 0 for deterministic tasks, 0.7+ for creative tasks
- Compare model outputs across providers for the same prompt
Notes
- Prompt engineering is empirical — test and iterate, don't theorize.
- Long prompts aren't bad if they reduce ambiguity. Clarity > brevity.
- System prompts are more reliable than user-message instructions for persistent behavior.
- XML tags (
<instructions>,<context>,<examples>) help models parse structured prompts. - Cache-friendly prompts: put static content first, dynamic content last.
Weekly Installs
2
Repository
thinkfleetai/th…t-engineFirst Seen
14 days ago
Security Audits
Installed on
opencode2
gemini-cli2
claude-code2
github-copilot2
codex2
kimi-cli2