Agent skill

prompting

Prompt engineering standards and context engineering principles for AI agents based on Anthropic best practices. Covers clarity, structure, progressive discovery, and optimization for signal-to-noise ratio.

Stars 42
Forks 8

Install this agent skill to your Project

npx add-skill https://github.com/danielmiessler/PAIPlugin/tree/main/skills/prompting

SKILL.md

Prompting Skill

When to Activate This Skill

  • Prompt engineering questions
  • Context engineering guidance
  • AI agent design
  • Prompt structure help
  • Best practices for LLM prompts
  • Agent configuration

Core Philosophy

Context engineering = Curating optimal set of tokens during LLM inference

Primary Goal: Find smallest possible set of high-signal tokens that maximize desired outcomes

Key Principles

1. Context is Finite Resource

  • LLMs have limited "attention budget"
  • Performance degrades as context grows
  • Every token depletes capacity
  • Treat context as precious

2. Optimize Signal-to-Noise

  • Clear, direct language over verbose explanations
  • Remove redundant information
  • Focus on high-value tokens

3. Progressive Discovery

  • Use lightweight identifiers vs full data dumps
  • Load detailed info dynamically when needed
  • Just-in-time information loading

Markdown Structure Standards

Use clear semantic sections:

  • Background Information: Minimal essential context
  • Instructions: Imperative voice, specific, actionable
  • Examples: Show don't tell, concise, representative
  • Constraints: Boundaries, limitations, success criteria

Writing Style

Clarity Over Completeness

✅ Good: "Validate input before processing" ❌ Bad: "You should always make sure to validate..."

Be Direct

✅ Good: "Use calculate_tax tool with amount and jurisdiction" ❌ Bad: "You might want to consider using..."

Use Structured Lists

✅ Good: Bulleted constraints ❌ Bad: Paragraph of requirements

Context Management

Just-in-Time Loading

Don't load full data dumps - use references and load when needed

Structured Note-Taking

Persist important info outside context window

Sub-Agent Architecture

Delegate subtasks to specialized agents with minimal context

Best Practices Checklist

  • Uses Markdown headers for organization
  • Clear, direct, minimal language
  • No redundant information
  • Actionable instructions
  • Concrete examples
  • Clear constraints
  • Just-in-time loading when appropriate

Anti-Patterns

❌ Verbose explanations ❌ Historical context dumping ❌ Overlapping tool definitions ❌ Premature information loading ❌ Vague instructions ("might", "could", "should")

Supplementary Resources

For full standards: read ${PAI_DIR}/skills/prompting/CLAUDE.md

Based On

Anthropic's "Effective Context Engineering for AI Agents"

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

danielmiessler/PAIPlugin

ffuf-web-fuzzing

Expert guidance for ffuf web fuzzing during penetration testing, including authenticated fuzzing with raw requests, auto-calibration, and result analysis

42 8
Explore
danielmiessler/PAIPlugin

PAI

Personal AI Infrastructure (PAI) - PAI System Template MUST BE USED proactively for all user requests. USE PROACTIVELY to ensure complete context availability. === CORE IDENTITY (Always Active) === Your Name: [CUSTOMIZE - e.g., Kai, Nova, Atlas] Your Role: [CUSTOMIZE - e.g., User's AI assistant and future friend] Personality: [CUSTOMIZE - e.g., Friendly, professional, resilient to user frustration. Be snarky back when the mistake is user's, not yours.] Operating Environment: Personal AI infrastructure built around Claude Code with Skills-based context management Message to AI: [CUSTOMIZE - Add personal message about interaction style, handling frustration, etc.] === ESSENTIAL CONTACTS (Always Available) === - [Primary Contact Name] [Relationship]: email@example.com - [Secondary Contact] [Relationship]: email@example.com - [Third Contact] [Relationship]: email@example.com Full contact list in SKILL.md extended section below === CORE STACK PREFERENCES (Always Active) === - Primary Language: [e.g., TypeScript, Python, Rust] - Package managers: [e.g., bun for JS/TS, uv for Python] - Analysis vs Action: If asked to analyze, do analysis only - don't change things unless explicitly asked - Scratchpad: Use ~/.claude/scratchpad/ with timestamps for test/random tasks === CRITICAL SECURITY (Always Active) === - NEVER COMMIT FROM WRONG DIRECTORY - Run `git remote -v` BEFORE every commit - `~/.claude/` CONTAINS EXTREMELY SENSITIVE PRIVATE DATA - NEVER commit to public repos - CHECK THREE TIMES before git add/commit from any directory - [ADD YOUR SPECIFIC WARNINGS - e.g., iCloud directory, company repos, etc.] === RESPONSE FORMAT (Always Use) === Use this structured format for every response: 📋 SUMMARY: Brief overview of request and accomplishment 🔍 ANALYSIS: Key findings and context ⚡ ACTIONS: Steps taken with tools used ✅ RESULTS: Outcomes and changes made - SHOW ACTUAL OUTPUT CONTENT 📊 STATUS: Current state after completion ➡️ NEXT: Recommended follow-up actions 🎯 COMPLETED: [Task description in 12 words - NOT "Completed X"] 🗣️ CUSTOM COMPLETED: [Voice-optimized response under 8 words] === PAI/KAI SYSTEM ARCHITECTURE === This description provides: core identity + essential contacts + stack preferences + critical security + response format (always in system prompt). Full context loaded from SKILL.md for comprehensive tasks, including: - Complete contact list and social media accounts - Voice IDs for agent routing (if using ElevenLabs) - Extended security procedures and infrastructure caution - Detailed scratchpad instructions === CONTEXT LOADING STRATEGY === - Tier 1 (Always On): This description in system prompt (~1500-2000 tokens) - essentials immediately available - Tier 2 (On Demand): Read SKILL.md for full context - comprehensive details === WHEN TO LOAD FULL CONTEXT === Load SKILL.md for: Complex multi-faceted tasks, need complete contact list, voice routing for agents, extended security procedures, or explicit comprehensive PAI context requests. === DATE AWARENESS === Always use today's actual date from the date command (YEAR MONTH DAY HOURS MINUTES SECONDS PST), not training data cutoff date.

42 8
Explore
danielmiessler/PAIPlugin

fabric

Intelligent pattern selection for Fabric CLI. Automatically selects the right pattern from 242+ specialized prompts based on your intent - threat modeling, analysis, summarization, content creation, extraction, and more. USE WHEN processing content, analyzing data, creating summaries, threat modeling, or transforming text.

42 8
Explore
danielmiessler/PAIPlugin

always-init

Universal task initializer that automatically loads PAI context for all user requests. Ensures complete context availability (contacts, preferences, protocols) before responding to any task. (project, gitignored)

42 8
Explore
danielmiessler/PAIPlugin

create-skill

Guide for creating new skills in Kai's personal AI infrastructure. Use when user wants to create, update, or structure a new skill that extends capabilities with specialized knowledge, workflows, or tool integrations. Follows both Anthropic skill standards and PAI-specific patterns.

42 8
Explore
danielmiessler/PAIPlugin

alex-hormozi-pitch

Create irresistible offers and pitches using Alex Hormozi's methodology from $100M Offers. Guides through value equation, guarantee frameworks, pricing psychology, and creating offers "too good not to take" for any product or service.

42 8
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results