
prompting
by danielmiessler
Agentic AI Infrastructure for magnifying HUMAN capabilities.
SKILL.md
name: Prompting description: Meta-prompting system for dynamic prompt generation using templates, standards, and patterns. USE WHEN meta-prompting, template generation, prompt optimization, or programmatic prompt composition.
Customization
Before executing, check for user customizations at:
~/.claude/skills/CORE/USER/SKILLCUSTOMIZATIONS/Prompting/
If this directory exists, load and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If the directory does not exist, proceed with skill defaults.
Prompting - Meta-Prompting & Template System
Invoke when: meta-prompting, template generation, prompt optimization, programmatic prompt composition, creating dynamic agents, generating structured prompts from data.
Overview
The Prompting skill owns ALL prompt engineering concerns:
- Standards - Anthropic best practices, Claude 4.x patterns, empirical research
- Templates - Handlebars-based system for programmatic prompt generation
- Tools - Template rendering, validation, and composition utilities
- Patterns - Reusable prompt primitives and structures
This is the "standard library" for prompt engineering - other skills reference these resources when they need to generate or optimize prompts.
Core Components
1. Standards.md
Complete prompt engineering documentation based on:
- Anthropic's Claude 4.x Best Practices (November 2025)
- Context engineering principles
- The Fabric prompt pattern system
- 1,500+ academic papers on prompt optimization
Key Topics:
- Markdown-first design (NO XML tags)
Voice Notification
When executing a workflow, do BOTH:
-
Send voice notification:
curl -s -X POST http://localhost:8888/notify \ -H "Content-Type: application/json" \ -d '{"message": "Running the WORKFLOWNAME workflow from the Prompting skill"}' \ > /dev/null 2>&1 & -
Output text notification:
Running the **WorkflowName** workflow from the **Prompting** skill...
Full documentation: ~/.claude/skills/CORE/SkillNotifications.md
- Claude 4.x behavioral characteristics
- Multi-context window workflows
- Agentic coding best practices
- Output format control
- The Ultimate Prompt Template
2. Templates/ - Five Core Primitives
The templating system enables prompts that write prompts - dynamic composition where structure is fixed but content is parameterized.
Directory Structure:
Templates/
├── Primitives/ # Five core template patterns
│ ├── Roster.hbs # Agent/skill definitions from data
│ ├── Voice.hbs # Personality calibration settings
│ ├── Structure.hbs # Multi-step workflow patterns
│ ├── Briefing.hbs # Agent context handoff
│ └── Gate.hbs # Validation checklists
├── Examples/ # Sample data and usage
└── (Evals/) # Eval-specific templates (from Evals skill)
The Five Primitives:
| Primitive | Purpose | Use Case |
|---|---|---|
| ROSTER | Data-driven definitions | 32 RedTeam agents, 83 skills, voice configs |
| VOICE | Personality calibration | Voice parameters, rate, archetype mapping |
| STRUCTURE | Workflow patterns | Phased analysis, round-based debate, pipelines |
| BRIEFING | Agent context handoff | Research queries, delegation, task assignment |
| GATE | Validation checklists | Quality gates, completion checks, verification |
3. Tools/
RenderTemplate.ts - Core rendering engine
bun run ~/.claude/skills/Prompting/Tools/RenderTemplate.ts \
--template Primitives/Briefing.hbs \
--data path/to/data.yaml \
--output path/to/output.md
ValidateTemplate.ts - Template syntax checker
bun run ~/.claude/skills/Prompting/Tools/ValidateTemplate.ts \
--template Primitives/Briefing.hbs \
--data path/to/sample-data.yaml
4. Template Syntax
The system uses Handlebars notation (Anthropic's official syntax):
| Syntax | Purpose | Example |
|---|---|---|
{{variable}} | Simple interpolation | Hello {{name}} |
{{object.property}} | Nested access | {{agent.voice_id}} |
{{#each items}}...{{/each}} | Iteration | List generation |
{{#if condition}}...{{/if}} | Conditional | Optional sections |
{{> partial}} | Include partial | Reusable components |
Usage Examples
Example 1: Using Briefing Template (Agent Skill)
// skills/Agents/Tools/AgentFactory.ts
import { renderTemplate } from '~/.claude/skills/Prompting/Tools/RenderTemplate.ts';
const prompt = renderTemplate('Primitives/Briefing.hbs', {
briefing: { type: 'research' },
agent: { id: 'EN-1', name: 'Skeptical Thinker', personality: {...} },
task: { description: 'Analyze security architecture', questions: [...] },
output_format: { type: 'markdown' }
});
Example 2: Using Structure Template (Workflow)
# Data: phased-analysis.yaml
phases:
- name: Discovery
purpose: Identify attack surface
steps:
- action: Map entry points
instructions: List all external interfaces...
- name: Analysis
purpose: Assess vulnerabilities
steps:
- action: Test boundaries
instructions: Probe each entry point...
bun run RenderTemplate.ts \
--template Primitives/Structure.hbs \
--data phased-analysis.yaml
Example 3: Custom Agent with Voice Mapping
// Generate specialized agent with appropriate voice
const agent = composeAgent(['security', 'skeptical', 'thorough'], task, traits);
// Returns: { name, traits, voice: 'default', voiceId: 'VOICE_ID...' }
Integration with Other Skills
Agents Skill
- Uses
Templates/Primitives/Briefing.hbsfor agent context handoff - Uses
RenderTemplate.tsto compose dynamic agents - Maintains agent-specific template:
Agents/Templates/DynamicAgent.hbs
Evals Skill
- Uses eval-specific templates: Judge, Rubric, TestCase, Comparison, Report
- Leverages
RenderTemplate.tsfor eval prompt generation - Eval templates may be stored in
Evals/Templates/but use Prompting's engine
Development Skill
- References
Standards.mdfor prompt best practices - Uses
Structure.hbsfor workflow patterns - Applies
Gate.hbsfor validation checklists
Token Efficiency
The templating system eliminated ~35,000 tokens (65% reduction) across PAI:
| Area | Before | After | Savings |
|---|---|---|---|
| SKILL.md Frontmatter | 20,750 | 8,300 | 60% |
| Agent Briefings | 6,400 | 1,900 | 70% |
| Voice Notifications | 6,225 | 725 | 88% |
| Workflow Steps | 7,500 | 3,000 | 60% |
| TOTAL | ~53,000 | ~18,000 | 65% |
Best Practices
1. Separation of Concerns
- Templates: Structure and formatting only
- Data: Content and parameters (YAML/JSON)
- Logic: Rendering and validation (TypeScript)
2. Keep Templates Simple
- Avoid complex logic in templates
- Use Handlebars helpers for transformations
- Business logic belongs in TypeScript, not templates
3. DRY Principle
- Extract repeated patterns into partials
- Use presets for common configurations
- Single source of truth for definitions
4. Version Control
- Templates and data in separate files
- Track changes independently
- Enable A/B testing of structures
References
Primary Documentation:
Standards.md- Complete prompt engineering guideTemplates/README.md- Template system overview (if preserved)Tools/RenderTemplate.ts- Implementation details
Research Foundation:
- Anthropic: "Claude 4.x Best Practices" (November 2025)
- Anthropic: "Effective Context Engineering for AI Agents"
- Anthropic: "Prompt Templates and Variables"
- The Fabric System (January 2024)
- "The Prompt Report" - arXiv:2406.06608
- "The Prompt Canvas" - arXiv:2412.05127
Related Skills:
- Agents - Dynamic agent composition
- Evals - LLM-as-Judge prompting
- Development - Spec-driven development patterns
Philosophy: Prompts that write prompts. Structure is code, content is data. Meta-prompting enables dynamic composition where the same template with different data generates specialized agents, workflows, and evaluation frameworks. This is core PAI DNA - programmatic prompt generation at scale.
Score
Total Score
Based on repository quality metrics
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 1000以上
1ヶ月以内に更新
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
Reviews
Reviews coming soon


