Write agentic prompts including system prompts, workflow prompts, delegation prompts, and meta prompts. Use when creating commands, automating workflows, making tasks reusable, or when the user says "write a prompt", "create a command", or "automate this".
Resources
1Install
npx skillscat add bnadlerjr/dotfiles/writing-prompts Install via the SkillsCat registry.
The skill creates agentic prompts—system, workflow, delegation, and meta—using a consistent format that helps developers, teams, and AI agents understand and execute tasks reliably. It solves the problem of ineffective or non‑reusable automation commands, reducing failure risk. Use it when creating commands, automating workflows, or when a user asks for a prompt, command, or automation.
Writing Prompts
Overview
The prompt is the fundamental unit of engineering. Every prompt you create becomes a force multiplier—one well-crafted prompt can generate tens to hundreds of hours of productive work. One bad prompt compounds failure at the same rate.
The Stakeholder Trifecta: You're engineering for three audiences:
- You - Must understand the prompt months later
- Your Team - Must be able to use and modify it
- Your Agents - Must execute it reliably
Core Principle: Consistency beats complexity. Use the same format across all your prompts.
Quick Start
Tell me what task you want to automate:
"Create a prompt that reviews my code changes before commit"
I'll identify the appropriate level (1-7) and produce a ready-to-use prompt with the right sections.
When to Use
Always:
- Creating reusable agentic prompts
- Writing system prompts for agents
- Defining tool/function descriptions
- Building workflow automation
Trigger signals:
- "write a prompt", "create a command"
- "automate this workflow"
- "make this reusable"
- Three times marks a pattern → capture it as a prompt
Instructions
- Start at the lowest level that solves the problem—don't over-engineer
- Most prompts are Level 2-4; reach for Level 5+ only when needed
- If the user says "simple" or "quick", stay at Level 1-2
- Always ask: "Could a teammate understand this in 30 seconds?"
- Avoid adding sections "just in case"—each section must earn its place
The Seven Levels
Each level builds on the previous. Most work happens at levels 2-4.
| Level | Name | Capability | When to Use |
|---|---|---|---|
| 1 | High-Level | Static, ad-hoc | Simple repeat tasks |
| 2 | Workflow | Sequential steps | Multi-step execution |
| 3 | Control Flow | Conditionals, loops | Branching logic, iteration |
| 4 | Delegation | Agent orchestration | Parallel work, background tasks |
| 5 | Higher-Order | Prompts as input | Plan → Build chains |
| 6 | Template Meta | Creates prompts | Scaling prompt creation |
| 7 | Self-Improving | Expertise grows | Domain experts that learn |
For detailed examples, read the appropriate level file:
- Level 1: High-Level
- Level 2: Workflow
- Level 3: Control Flow
- Level 4: Delegation
- Level 5: Higher-Order
- Level 6: Template Meta
- Level 7: Self-Improving
Composable Sections
Sections are swappable Lego blocks. Use only what you need.
| Section | Purpose | Usefulness | Skill |
|---|---|---|---|
| Workflow | Step-by-step execution play | S-tier | C-tier |
| Variables | Dynamic ($1) and static inputs | A-tier | B-tier |
| Examples | Show desired output | A-tier | C-tier |
| Report | Output format specification | B-tier | C-tier |
| Purpose | High-level description | B-tier | D-tier |
| Instructions | Guardrails and constraints | B-tier | C-tier |
| Template | Format for meta-prompts (L6) | A-tier | A-tier |
| Expertise | Self-improving knowledge (L7) | A-tier | S-tier |
| Metadata | Tool access, model, hints | C-tier | C-tier |
| Codebase Structure | Context map of files | C-tier | C-tier |
| Relevant Files | Specific file references | C-tier | C-tier |
Always include: Title, Purpose, Workflow (levels 2+)
Include when needed:
- Variables: When inputs change between runs
- Instructions: When guardrails prevent mistakes
- Report: When output format matters
- Examples: When behavior is unclear
The Input → Workflow → Output Pattern
Every prompt follows this three-step structure:
┌─────────────────────────────────────────────────┐
│ INPUT │
│ - Variables (dynamic and static) │
│ - Context (codebase structure, relevant files) │
├─────────────────────────────────────────────────┤
│ WORKFLOW │
│ - Step-by-step numbered execution │
│ - Control flow (conditionals, loops) │
│ - Delegation (spawning sub-agents) │
├─────────────────────────────────────────────────┤
│ OUTPUT │
│ - Report format │
│ - Artifacts created │
└─────────────────────────────────────────────────┘Input and Output are for you and your team—quick understanding.
Workflow is the actual work—this is where you dial in the step-by-step play.
System Prompts vs User Prompts
| Aspect | System Prompt | User Prompt |
|---|---|---|
| Scope | Rules for ALL conversations | Instructions for ONE task |
| Persistence | Cannot change mid-conversation | Changes with each invocation |
| Mistakes | Scale to every user prompt | Isolated to single run |
System prompts (agent personality): Use Purpose, Instructions, Examples. Avoid prescriptive workflows.
User prompts (reusable commands): Use full section toolkit. This is 90% of what you'll write.
Workflow
Identify the Level
- Simple repeat task → Level 1
- Sequential steps → Level 2
- Conditionals/loops → Level 3
- Multiple agents → Level 4
- Plan as input → Level 5
- Generate prompts → Level 6
- Learn over time → Level 7
Choose Sections
- Start minimal. Add only when needed:
- Title + Purpose (always)
- Workflow (levels 2+)
- Variables (if inputs change)
- Report (if output format matters)
- Instructions (if guardrails needed)
Write the Workflow
- Numbered steps with clear action verbs
- Reference variables by name
- Include control flow where needed
- Read the appropriate level file (see links above) for patterns
Test and Iterate
- Run with representative inputs
- Check edge cases
- Tighten where output varies
- Add examples where behavior is unclear
Report
Deliver the prompt in this format:
---
description: <one-line description>
argument-hint: [<args if any>]
allowed-tools: <if restricting tools>
---
# <Prompt Name>
<Purpose: 1-2 sentences>
## Variables (if needed)
## Instructions (if needed)
## Workflow
## Report (if needed)State the level used and why. If the prompt could be simpler, say so.
Common Mistakes
- Over-engineering: Starting at Level 5+ when Level 2 suffices
- Section bloat: Adding sections "just in case"—each must earn its place
- Wrong prompt type: Writing workflows for system prompts (use Purpose/Instructions instead)
- Missing context: Sub-agent prompts that assume shared state (they're stateless)
- Vague workflows: Steps like "analyze the code" instead of specific actions
Example Session
User: Create a prompt that summarizes my git changes
Response: This is a Level 2 Workflow prompt—sequential steps with structured output.
---
description: Summarize recent git changes
allowed-tools: Bash, Read
---
# Git Summary
Summarize recent git changes for quick review.
## Workflow
1. Run `git status` to identify modified files
2. Run `git diff --stat` for change overview
3. Run `git log --oneline -5` for recent commits
4. Synthesize findings into summary
## Report
Provide:
- Files changed (added/modified/deleted)
- Key changes by area
- Recent commit messages