prompt-engineering
Crafting effective prompts for LLMs. Use when designing prompts, improving output quality, structuring complex instructions, or debugging poor model responses.
What this skill does
# Prompt Engineering
Prompt engineering is the practice of designing inputs that guide LLMs to produce desired outputs. Effective prompts reduce errors, improve consistency, and unlock model capabilities.
## Table of Contents
- [Core Principles](#core-principles)
- [Be Clear and Direct](#be-clear-and-direct)
- [Use Examples (Multishot)](#use-examples-multishot)
- [Reasoning Guidance](#reasoning-guidance)
- [XML Tags](#xml-tags)
- [Role Prompting](#role-prompting)
- [Long Context](#long-context)
- [Output Control](#output-control)
- [Self-Verification](#self-verification)
- [Best Practices](#best-practices)
- [References](#references)
## Core Principles
**Golden rule**: Show your prompt to a colleague with minimal context. If they're confused, the model will be too.
1. **Be explicit** - State exactly what you want; never assume the model knows your preferences
2. **Provide context** - Include what the output is for, who the audience is, and what success looks like
3. **Use structure** - Sequential steps, XML tags, and clear formatting reduce ambiguity
4. **Show examples** - Demonstrations outperform descriptions for complex formats
## Be Clear and Direct
Treat the model as a capable but context-free collaborator. Specify:
- What the task results will be used for
- What audience the output is meant for
- What a successful completion looks like
### Vague vs Specific
```
# Vague
Analyze this data and give insights.
# Specific
Analyze this Q2 sales data for our board presentation.
1. Identify the top 3 revenue trends
2. Flag any anomalies exceeding 15% variance
3. Recommend 2-3 actionable next steps
Format as bullet points, max 200 words.
```
### Sequential Steps
Use numbered lists for multi-step tasks:
```
Your task is to anonymize customer feedback.
Instructions:
1. Replace customer names with "CUSTOMER_[ID]"
2. Replace emails with "EMAIL_[ID]@example.com"
3. Redact phone numbers as "PHONE_[ID]"
4. Leave product names intact
5. Output only processed messages, separated by "---"
```
## Use Examples (Multishot)
Provide 3-5 diverse examples to demonstrate expected behavior. Examples reduce misinterpretation and enforce consistent formatting.
### Structure
```
Categorize customer feedback by issue type and sentiment.
<examples>
<example>
Input: The dashboard loads slowly and the export button is hidden.
Category: UI/UX, Performance
Sentiment: Negative
Priority: High
</example>
<example>
Input: Love the Salesforce integration! Would be great to add Hubspot.
Category: Integration, Feature Request
Sentiment: Positive
Priority: Medium
</example>
</examples>
Now categorize: {{FEEDBACK}}
```
### Tips
- Make examples **relevant** to actual use cases
- Include **edge cases** and potential challenges
- Vary examples to prevent unintended pattern matching
- Wrap in `<example>` tags for clarity
## Reasoning Guidance
For complex tasks, guide the model to reason before answering, but ask for concise conclusions or verifiable work rather than unrestricted hidden chain-of-thought.
### Basic
```
Determine the best investment option for this client. Think step-by-step.
```
### Guided
Specify what steps to consider:
```
Think before answering:
1. Consider the client's risk tolerance given their 5-year timeline
2. Calculate potential returns for each option
3. Factor in market volatility history
4. Then provide your recommendation
```
### Structured (Recommended)
Separate private analysis instructions from the required answer format:
```
Analyze this contract for legal risks.
Before answering, check:
- Indemnification implications
- Liability exposure
- IP ownership concerns
Then provide:
<answer>
- Top risks
- Recommended edits
- Open questions
</answer>
```
When you need auditability, ask for brief supporting rationale, calculations, cited evidence, or a checklist of checks performed. Do not require full chain-of-thought unless the target model or product explicitly supports exposing it.
## XML Tags
Use XML tags to separate prompt components. This prevents instruction/content confusion and improves parseability.
### Common Tags
```
<instructions>Task steps and requirements</instructions>
<context>Background information</context>
<document>Source material to process</document>
<example>Demonstration of expected behavior</example>
<constraints>Boundaries and limitations</constraints>
<output_format>Expected response structure</output_format>
```
### Nested Structure
```
<documents>
<document index="1">
<source>annual_report_2023.pdf</source>
<content>{{REPORT_CONTENT}}</content>
</document>
<document index="2">
<source>competitor_analysis.xlsx</source>
<content>{{ANALYSIS_CONTENT}}</content>
</document>
</documents>
<instructions>
Compare revenue trends across both documents.
Identify strategic advantages mentioned in the annual report.
</instructions>
```
### Reference Tags in Instructions
Be explicit when referring to tagged content:
```
Using the contract in <contract> tags, identify all clauses
related to termination.
```
## Role Prompting
Set expertise context via system prompts to improve domain-specific performance.
### System Prompt Pattern
```python
system = "You are a senior securities lawyer at a Fortune 500 company."
user = "Review this acquisition agreement for regulatory risks."
```
### Effective Roles
```
# General
You are a [role] at [organization type].
# Specific (better)
You are the General Counsel of a Fortune 500 tech company
specializing in M&A transactions.
# With behavioral guidance (best)
You are a senior data scientist. You prioritize statistical
rigor over speed. When uncertain, you state assumptions
explicitly and suggest validation approaches.
```
### When to Use
- Complex analysis requiring domain expertise
- Tasks where tone/style matters (legal, medical, executive)
- When a specific perspective would improve output quality
## Long Context
For prompts with large documents (20K+ tokens):
### Document Placement
Place long documents **at the top**, before instructions:
```
<documents>
{{LARGE_DOCUMENT_CONTENT}}
</documents>
<instructions>
Summarize the key findings from the document above.
Focus on financial implications.
</instructions>
```
### Quote Grounding
Ask the model to cite sources before analyzing:
```
<documents>
{{PATIENT_RECORDS}}
</documents>
First, find and quote the relevant sections in <quotes> tags.
Then provide your diagnosis in <analysis> tags, referencing
the quoted evidence.
```
### Multi-Document Metadata
Include source information for attribution:
```
<documents>
<document index="1">
<source>quarterly_report_q2.pdf</source>
<date>2024-07-15</date>
<content>{{CONTENT}}</content>
</document>
</documents>
```
## Output Control
### Verbosity Specification
```
<output_format>
- Default responses: 3-6 sentences or ≤5 bullets
- Simple factual questions: ≤2 sentences
- Complex analysis: 1 overview paragraph + ≤5 tagged bullets
</output_format>
```
### Format Constraints
```
Output requirements:
- Use markdown tables for comparisons
- Code blocks for any technical content
- No introductory phrases ("Here's...", "Sure...")
- End with exactly 3 action items
```
### Scope Boundaries
Prevent drift from original intent:
```
Implement EXACTLY and ONLY what is requested.
- Do not add features beyond the specification
- Do not refactor surrounding code
- Choose the simplest valid interpretation
- Ask for clarification rather than assuming
```
## Self-Verification
For high-stakes outputs, include verification steps:
```
<verification>
Before finalizing your response:
1. Re-read the original request
2. Check that all requirements are addressed
3. Verify any specific claims against provided documents
4. Soften language where certainty is low
5. Flag any assumptions you made
</verification>
```
### Uncertainty Acknowledgment
```
When uncertain:
- Explicitly state "Based on the provided context..."
- Offer 2-3 plausible inRelated in AI Agents
skill-development
IncludedComprehensive meta-skill for creating, managing, validating, auditing, and distributing Claude Code skills and slash commands (unified in v2.1.3+). Provides skill templates, creation workflows, validation patterns, audit checklists, naming conventions, YAML frontmatter guidance, progressive disclosure examples, and best practices lookup. Use when creating new skills, validating existing skills, auditing skill quality, understanding skill architecture, needing skill templates, learning about YAML frontmatter requirements, progressive disclosure patterns, tool restrictions (allowed-tools), skill composition, skill naming conventions, troubleshooting skill activation issues, creating custom slash commands, configuring command frontmatter, using command arguments ($ARGUMENTS, $1, $2), bash execution in commands, file references in commands, command namespacing, plugin commands, MCP slash commands, Skill tool configuration, or deciding between skills vs slash commands. Delegates to docs-management skill for official documentation.
reprompter
IncludedTransform messy prompts into well-structured, effective prompts — single or multi-agent. Use when: "reprompt", "reprompt this", "clean up this prompt", "structure my prompt", rough text needing XML tags and best practices, "reprompter teams", "repromptception", "run with quality", "smart run", "smart agents", multi-agent tasks, audits, parallel work, anything going to agent teams. Don't use when: simple Q&A, pure chat, immediate execution-only tasks. See "Don't Use When" section for details. Outputs: Structured XML/Markdown prompt, quality score (before/after), optional team brief + per-agent sub-prompts, agent team output files. Success criteria: Single mode quality score ≥ 7/10; Repromptception per-agent prompt quality score 8+/10; all required sections present, actionable and specific.
adaptive-compaction
IncludedAdaptive add-on policy and recovery layer that decides WHEN to compact, prune, snapshot, or fork -- replacing fixed-percent auto-compaction across Claude Code, Codex, and MCP-capable hosts. Trigger on auto-compact timing or damage: "when should I compact", "is it safe to compact now or start a fresh session", "auto-compact fires too early/mid-task", "switching to an unrelated task but the window still has space", "context rot", "answers get worse the longer the session runs", "the agent forgot the plan or my decisions after it summarized", "add a layer on top that manages context without changing the agent", raising autoCompactWindow to give the policy room, or installing/tuning a cross-tool compaction policy or PreCompact hook -- even when "compaction" is never said but the problem is context-window pressure or post-summarization memory loss. Do NOT use to summarize a conversation, build RAG, write a summarization prompt (decides WHEN not HOW), or answer max-context-length trivia.
agent-skill-creator
IncludedCreate cross-platform agent skills from workflow descriptions. Activates when users ask to create an agent, automate a repetitive workflow, create a custom skill, or need advanced agent creation. Triggers on phrases like create agent for, automate workflow, create skill for, every day I have to, daily I need to, turn process into agent, need to automate, create a cross-platform skill, validate this skill, export this skill, migrate this skill. Supports single skills, multi-agent suites, transcript processing, template-based creation, interactive configuration, cross-platform export, and spec validation.
llm-wiki
IncludedUse when building or maintaining a persistent personal knowledge base (second brain) in Obsidian where an LLM incrementally ingests sources, updates entity/concept pages, maintains cross-references, and keeps a synthesis current. Triggers include "second brain", "Obsidian wiki", "personal knowledge management", "ingest this paper/article/book", "build a research wiki", "compound knowledge", "Memex", or whenever the user wants knowledge to accumulate across sessions instead of being re-derived by RAG on every query.
skill-master
IncludedAgent Skills authoring, evaluation, and optimization. Create, edit, validate, benchmark, and improve skills following the agentskills.io specification. Use when designing SKILL.md files, structuring skill folders (references, scripts, assets), ingesting external documentation into skills, running trigger evals, benchmarking skill quality, optimizing descriptions, or performing blind A/B comparisons. Keywords: agentskills.io, SKILL.md, skill authoring, eval, benchmark, trigger optimization.