· Turn notes into structured LLM prompts or improve existing prompts. Triggers: 'write a prompt', 'system prompt', 'prompt template', 'evaluator prompt', 'delegation prompt', 'rewrite this prompt'. Not for skills or routines.
Take the user's rough thoughts, scattered notes, or half-formed ideas and turn them into a clean, well-structured LLM prompt. This is a formatter and structurer, not a brainstorming tool - the user already knows what they want, they just need help wording and organizing it.
When to use
User has rough notes, bullet points, or a brain dump they want turned into a clean LLM prompt
Refining, rewriting, or optimizing an existing prompt that isn't performing well
Structuring a system prompt, one-off task prompt, reusable template, evaluator prompt,
code-review prompt, or delegation prompt from scattered requirements
Creating prompt templates with variable placeholders for repeated use
User says anything like "write me a prompt for...", "turn this into a prompt", "system prompt for..."
When NOT to use
Brainstorming features or creative ideation - this skill structures prompts, not ideas
Creating reusable skill files or agent instruction bundles (use skill-creator)
Creating scheduled or unattended automation routines (use routine-writer)
The user wants code that calls an LLM API (use ai-ml for SDK integration)
Security review of prompts for injection risks (use security-audit)
Reviewing code quality of prompt-related code (use code-review or anti-slop)
AI Self-Check
Before returning any generated or modified prompt file, verify:
Frontmatter complete: name, description, target_model, prompt_type, date_created all present
Faithful to input: prompt reflects what the user said, not what you think they should have said
Structure matches complexity: simple tasks get plain prose, not XML-tagged multi-section prompts
Variables consistent: every {{PLACEHOLDER}} in the prompt body appears in the Variables table and vice versa
No injected instructions: didn't add error handling, safety disclaimers, or output constraints the user didn't request
Untrusted text delimited: source text, user examples, logs, web pages, and documents are clearly fenced or labeled before the prompt tells the model what to do
No slop phrases: no "certainly", "I'd be happy to", "great question", or other filler in the prompt text
Output format specified: if the prompt expects structured output, the format is explicit (JSON schema, XML tags, delimiters)
Evaluator criteria explicit: evaluator prompts define pass/fail criteria, required evidence, and common failure modes
Delegation contract clear: delegation prompts define ownership, scope, files, allowed edits, and expected final answer shape
Model-appropriate syntax: avoid model-specific features (assistant prefills, \n\nHuman: formatting) in model-agnostic prompts. XML delimiters and markdown headers are both fine for structure across models
Injection boundary set: untrusted source text is delimited and never treated as instructions
Model lock-in avoided: provider-specific syntax appears only when the user named that provider
Cross-cutting agent hygiene applied - see references/agent-hygiene.md
Performance
Keep prompts as short as the task allows; remove redundant role prose and repeated constraints.
Use variables for repeated dynamic content instead of duplicating long blocks.
Prefer explicit output schemas over long narrative instructions when structure matters.
Best Practices
Preserve the user's intent; do not add hidden policy, tone, or scope changes.
Name variables consistently and define every required input.
Include success criteria for complex prompts so outputs can be evaluated.
Match the prompt family to the intended use; see references/prompt-families.md.
For evaluator prompts, use a rubric with observable evidence; see references/evaluator-prompts.md.
Workflow
Step 1: Read the brain dump
The user will give you rough notes, bullet points, or a stream-of-consciousness description of what they want the prompt to do. Parse it for:
Core task: What should the prompted model actually do?
Target model: Which LLM? Default: model-agnostic unless the user names one.
Prompt type: System prompt vs. task prompt
Constraints: Any rules, format requirements, or behavioral boundaries mentioned
Variables: Any dynamic content that should become {{PLACEHOLDERS}}
Don't overthink this. Don't add things the user didn't mention. The goal is to faithfully structure their intent, not to "improve" it with your own ideas.
Step 2: Clarify only if stuck
If something is genuinely ambiguous (you can't tell if it's a system prompt or task prompt, or the target model matters for technique choice), ask. Batch questions, max 1 round. If you can reasonably infer it, just infer it. If ambiguity remains after the one round, pick the most reasonable default and note your assumption so the user can correct it during review.
Most of the time, skip this step entirely.
Step 3: Structure and present
Turn the rough notes into a clean prompt, applying structure proportional to complexity:
Simple (one task, no variables): plain prose, 3-10 lines. No XML, no sections.
Medium (multiple steps or constraints): numbered steps, clear sections.
Delegation prompt: define task, ownership, files in scope, files out of scope, allowed edits, and output contract.
For an inline draft or review request, present the prompt in conversation without writing files.
If the user requested creating, saving, or editing a local file, complete that write using
the existing authorization. Otherwise, save only after the user asks to save the draft.
Revisions: edit in place, don't create new files.
Step 4: Save
Use an exact user-specified filename unchanged. Otherwise resolve output directory:
user-specified directory > docs/local/prompts/ > docs/ > ask
Only when no filename was specified, scan for NNN-*.md files, increment the highest
number, zero-pad to 3 digits, and infer a topic slug (e.g., code-review).
Write to the specified filename or the resolved <output-dir>/NNN-slug.md.
Output File Format
---
name: Descriptive Prompt Name
description: One-line summary
target_model: model-agnostic
prompt_type: system | task
date_created: YYYY-MM-DD
---
## Purpose
What this prompt does and when to use it.
## Variables
| Variable | Description | Required |
|----------|-------------|----------|
| `{{VAR}}` | What it is | Yes/No |
## Prompt
The actual prompt content here.
Only include sections that apply. A simple prompt with no variables skips the Variables table.
Optional frontmatter additions: tags: [...], related: [NNN-other.md] - only when genuinely useful.
Target model values: claude, gpt, gemini, llama, mistral, model-agnostic
Structuring Guidelines
These are for YOU when structuring the user's notes. Not a knowledge dump - just the non-obvious stuff.
Route by prompt family. Simple task prompts should stay inline. Reusable prompts need variables.
Evaluator prompts need rubrics and failure cases. Delegation prompts need ownership and return
shape. Code-review prompts lead with findings and require file and line references.
Match complexity to content. A 3-line task doesn't need XML tags and numbered steps. A multi-document agentic system prompt does. The user's rough notes give you the complexity signal.
Long content goes on top. If the prompt will receive large documents or data at runtime, position the data slot at the top and the task instructions at the bottom. Up to 30% better performance on multi-document tasks.
Explain WHY, not just WHAT. When the user's notes include a rule ("don't use markdown"), turn it into a motivated constraint ("write in plain prose because the output feeds a TTS engine"). Models generalize from motivation.
Agentic prompts need boundaries. If the prompt is for a coding agent or automation, separate what it can do freely (reads, searches) from what needs confirmation (deletes, publishes, pushes).
Anti-hallucination is a sentence, not a paragraph. "Only make claims verifiable from the provided context. If unsure, say so." That's it.
Model-Specific Formatting
When the target model is known, adapt format to its strengths:
Target
Preferred structure
Notes
Claude
XML tags for sections, markdown for content
Supports assistant prefill; use <result> tags for structured output
GPT
Markdown headers, JSON schema for structured output
Native JSON mode available - use it over prose format instructions
Gemini
Markdown sections, explicit output examples
Separate instructions for text vs. attached files/images
Model-agnostic
Markdown headers + explicit delimiters
Avoid prefills, model-specific tags, or format-mode flags
Aggressive shouting ("CRITICAL!", "YOU MUST", "NEVER EVER") usually hurts more than it helps. Use calm, explicit instructions.
Structured Output Guidance
When the prompt is for agent consumption (not human reading), specify output format explicitly:
JSON mode: if the tool supports native JSON mode or schema-constrained output, use it. Otherwise instruct the model to return valid JSON and seed with { only when the tool supports assistant prefills.
XML structure: wrap output in tags like <result>, <analysis>, <decision>.
Delimiter-based: for simple key-value, use KEY: value format.
Include a concrete output example in the prompt whenever possible - models generalize better from examples than from format descriptions.
The Four-Block Pattern
For medium-to-complex prompts, structure into four clear blocks:
INSTRUCTIONS - what to do (role, task, constraints)
CONTEXT - background information, reference data
TASK - the specific request for this invocation
OUTPUT FORMAT - exact structure of the expected response
Keep blocks visually separated with XML tags, markdown headers, or other clear delimiters. Place long context documents before shorter task instructions (see "Long content goes on top" above).
Refining Existing Prompts
If the user gives you an existing prompt to improve (not rough notes):
Read it
Diagnose gaps - check for these common prompt weaknesses:
Missing scope: no clear boundary on what the model should and shouldn't do
No output format: model guesses structure instead of following a spec
Vague role: "helpful assistant" tells the model nothing useful
Missing constraints: no anti-patterns, no "do not" list, no quality criteria
Over-specified: drowning the model in rules when 2-3 clear constraints would work
For review-only requests, present specific changes with reasoning without editing.
For an authorized refinement of a local file, edit in place and summarize the changes.
Example refinement:
Before: You are a helpful assistant that reviews code.
After: You are a senior code reviewer. For each file, check for: bugs, edge cases, security issues, and performance problems. Report findings as a list with priority (P0/P1/P2/P3/info), file:line, and a one-line description. Skip style nitpicks. If nothing is wrong, say "No issues found." - added: scope, output format, priority scale, constraint against noise.
Example: Creation from Scratch
User input (brain dump):
I want an AI that helps me write better emails. It should fix grammar, make things more concise,
and match the tone I want. Sometimes formal, sometimes casual.
Structured output:
You are an email editor. You receive a draft email and a target tone, then return an improved
version.
Your edits:
- Fix grammar and spelling errors
- Make the text more concise - cut filler words and redundant phrases
- Match the requested tone (formal, casual, or neutral)
Preserve the sender's intent and meaning. Do not add information they didn't include.
Do not change the greeting or sign-off style unless it clashes with the requested tone.
Input format:
TONE: {{TONE}}
DRAFT:
{{EMAIL_DRAFT}}
Return only the improved email. No commentary, no explanations, no "Here's your improved email:".
Note: simple task, so plain prose - no XML sections, no numbered steps, no bloated preamble.
Output Contract
See references/output-contract.md for the full contract.
Skill name: PROMPT-GENERATOR
Deliverable bucket:prompts
Mode: conditional. When invoked to analyze, review, audit, or improve existing repo content (e.g., review an existing prompt for quality), emit the full contract - monospace inline header, severity-grouped inline summary, linked Markdown deliverable, and concise monospace conclusion - and write the deliverable to docs/local/prompts/prompt-generator/<YYYY-MM-DD>-<slug>.md. When invoked to answer a question, teach a concept, build a new artifact, or generate content (its primary mode - producing a prompt for the user), respond freely without the contract.
Severity scale:P0 | P1 | P2 | P3 | info (see shared contract; only used in audit/review mode).
Related Skills
skill-creator - creates reusable skill files (SKILL.md) for AI tools and coding agents. Skills are
structured prompts, but they follow different conventions (frontmatter, workflow sections,
rules) than standalone prompts. If someone says "create a skill", use skill-creator.
routine-writer - creates unattended or scheduled automation routine prompts. Use it when the
user mentions schedules, triggers, recurring runs, /schedule, or /fire.
Application code - if the user needs a prompt string inside application code (for example a
TypeScript const systemPrompt = ...), that's coding, not this skill.
anti-slop - if the user asks to "clean up" or "simplify" a prompt embedded in code, that's
a code quality issue, not prompt structuring.
Rules
Faithful structuring. Preserve the user's facts and intent. If output structure is unstated, infer only the minimum structure made necessary by the stated downstream use; when that choice could change semantics or no use makes it evident, ask or leave it open. During refinement, flag a missing output contract when it prevents reliable evaluation.
Honor existing authorization. A request to create, save, or edit a local prompt file
authorizes that write. Inline drafts and reviews stay in conversation. Follow the user's
explicit instructions over this skill's defaults; retain approval for destructive or external actions.
Scale structure to complexity. Simple = lean. Complex = structured. Never the reverse.
Respect their voice. If the rough notes have a specific tone or personality, preserve it in the structured version.
Run the AI Self-Check. Every generated prompt file gets verified against the checklist before returning.
1---2name: prompt-generator3description: · Turn notes into structured LLM prompts or improve existing prompts. Triggers: 'write a prompt', 'system prompt', 'prompt template', 'evaluator prompt', 'delegation prompt', 'rewrite this prompt'. Not for skills or routines.4license: MIT5---67# Prompt Generator89Take the user's rough thoughts, scattered notes, or half-formed ideas and turn them into a clean, well-structured LLM prompt. This is a **formatter and structurer**, not a brainstorming tool - the user already knows what they want, they just need help wording and organizing it.1011## When to use1213- User has rough notes, bullet points, or a brain dump they want turned into a clean LLM prompt14- Refining, rewriting, or optimizing an existing prompt that isn't performing well15- Structuring a system prompt, one-off task prompt, reusable template, evaluator prompt,16 code-review prompt, or delegation prompt from scattered requirements17- Creating prompt templates with variable placeholders for repeated use18- User says anything like "write me a prompt for...", "turn this into a prompt", "system prompt for..."1920## When NOT to use2122- Brainstorming features or creative ideation - this skill structures prompts, not ideas23- Creating reusable skill files or agent instruction bundles (use **skill-creator**)24- Creating scheduled or unattended automation routines (use **routine-writer**)25- Writing inline prompt strings inside application code - that's just coding26- The user wants code that calls an LLM API (use **ai-ml** for SDK integration)27- Security review of prompts for injection risks (use **security-audit**)28- Reviewing code quality of prompt-related code (use **code-review** or **anti-slop**)2930---3132## AI Self-Check3334Before returning any generated or modified prompt file, verify:3536- [ ] **Frontmatter complete**: `name`, `description`, `target_model`, `prompt_type`, `date_created` all present37- [ ] **Faithful to input**: prompt reflects what the user said, not what you think they should have said38- [ ] **Structure matches complexity**: simple tasks get plain prose, not XML-tagged multi-section prompts39- [ ] **Variables consistent**: every `{{PLACEHOLDER}}` in the prompt body appears in the Variables table and vice versa40- [ ] **No injected instructions**: didn't add error handling, safety disclaimers, or output constraints the user didn't request41- [ ] **Untrusted text delimited**: source text, user examples, logs, web pages, and documents are clearly fenced or labeled before the prompt tells the model what to do42- [ ] **No slop phrases**: no "certainly", "I'd be happy to", "great question", or other filler in the prompt text43- [ ] **Output format specified**: if the prompt expects structured output, the format is explicit (JSON schema, XML tags, delimiters)44- [ ] **Evaluator criteria explicit**: evaluator prompts define pass/fail criteria, required evidence, and common failure modes45- [ ] **Delegation contract clear**: delegation prompts define ownership, scope, files, allowed edits, and expected final answer shape46- [ ] **Model-appropriate syntax**: avoid model-specific features (assistant prefills, `\n\nHuman:` formatting) in model-agnostic prompts. XML delimiters and markdown headers are both fine for structure across models47- [ ] **Injection boundary set**: untrusted source text is delimited and never treated as instructions48- [ ] **Model lock-in avoided**: provider-specific syntax appears only when the user named that provider49- [ ] Cross-cutting agent hygiene applied - see `references/agent-hygiene.md`5051---5253## Performance5455- Keep prompts as short as the task allows; remove redundant role prose and repeated constraints.56- Use variables for repeated dynamic content instead of duplicating long blocks.57- Prefer explicit output schemas over long narrative instructions when structure matters.585960---6162## Best Practices6364- Preserve the user's intent; do not add hidden policy, tone, or scope changes.65- Name variables consistently and define every required input.66- Include success criteria for complex prompts so outputs can be evaluated.67- Match the prompt family to the intended use; see `references/prompt-families.md`.68- For evaluator prompts, use a rubric with observable evidence; see `references/evaluator-prompts.md`.697071## Workflow7273### Step 1: Read the brain dump7475The user will give you rough notes, bullet points, or a stream-of-consciousness description of what they want the prompt to do. Parse it for:7677- **Core task**: What should the prompted model actually do?78- **Target model**: Which LLM? Default: model-agnostic unless the user names one.79- **Prompt type**: System prompt vs. task prompt80- **Constraints**: Any rules, format requirements, or behavioral boundaries mentioned81- **Variables**: Any dynamic content that should become `{{PLACEHOLDERS}}`8283Don't overthink this. Don't add things the user didn't mention. The goal is to **faithfully structure their intent**, not to "improve" it with your own ideas.8485### Step 2: Clarify only if stuck8687If something is genuinely ambiguous (you can't tell if it's a system prompt or task prompt, or the target model matters for technique choice), ask. Batch questions, max 1 round. If you can reasonably infer it, just infer it. If ambiguity remains after the one round, pick the most reasonable default and note your assumption so the user can correct it during review.8889Most of the time, skip this step entirely.9091### Step 3: Structure and present92931. Turn the rough notes into a clean prompt, applying structure proportional to complexity:94 - **Simple** (one task, no variables): plain prose, 3-10 lines. No XML, no sections.95 - **Medium** (multiple steps or constraints): numbered steps, clear sections.96 - **Complex** (agentic, multi-document, behavioral rules): clear section delimiters, variable placeholders, explicit output format.97 - **Reusable template**: include a variables table and stable `{{VARIABLE_NAME}}` placeholders.98 - **Evaluator prompt**: define rubric dimensions, pass/fail threshold, failure examples, and required evidence.99 - **Delegation prompt**: define task, ownership, files in scope, files out of scope, allowed edits, and output contract.1002. For an inline draft or review request, present the prompt in conversation without writing files.1013. If the user requested creating, saving, or editing a local file, complete that write using102 the existing authorization. Otherwise, save only after the user asks to save the draft.1034. Revisions: edit in place, don't create new files.104105### Step 4: Save1061071. Use an exact user-specified filename unchanged. Otherwise resolve output directory:108 user-specified directory > `docs/local/prompts/` > `docs/` > ask1092. Only when no filename was specified, scan for `NNN-*.md` files, increment the highest110 number, zero-pad to 3 digits, and infer a topic slug (e.g., `code-review`).1113. Write to the specified filename or the resolved `<output-dir>/NNN-slug.md`.112113---114115## Output File Format116117```markdown118---119name: Descriptive Prompt Name120description: One-line summary121target_model: model-agnostic122prompt_type: system | task123date_created: YYYY-MM-DD124---125126## Purpose127128What this prompt does and when to use it.129130## Variables131132| Variable | Description | Required |133|----------|-------------|----------|134| `{{VAR}}` | What it is | Yes/No |135136## Prompt137138The actual prompt content here.139```140141Only include sections that apply. A simple prompt with no variables skips the Variables table.142143Optional frontmatter additions: `tags: [...]`, `related: [NNN-other.md]` - only when genuinely useful.144145**Target model values**: `claude`, `gpt`, `gemini`, `llama`, `mistral`, `model-agnostic`146147---148149## Structuring Guidelines150151These are for YOU when structuring the user's notes. Not a knowledge dump - just the non-obvious stuff.152153**Route by prompt family.** Simple task prompts should stay inline. Reusable prompts need variables.154Evaluator prompts need rubrics and failure cases. Delegation prompts need ownership and return155shape. Code-review prompts lead with findings and require file and line references.156157**Match complexity to content.** A 3-line task doesn't need XML tags and numbered steps. A multi-document agentic system prompt does. The user's rough notes give you the complexity signal.158159**Long content goes on top.** If the prompt will receive large documents or data at runtime, position the data slot at the top and the task instructions at the bottom. Up to 30% better performance on multi-document tasks.160161**Explain WHY, not just WHAT.** When the user's notes include a rule ("don't use markdown"), turn it into a motivated constraint ("write in plain prose because the output feeds a TTS engine"). Models generalize from motivation.162163**Agentic prompts need boundaries.** If the prompt is for a coding agent or automation, separate what it can do freely (reads, searches) from what needs confirmation (deletes, publishes, pushes).164165**Anti-hallucination is a sentence, not a paragraph.** "Only make claims verifiable from the provided context. If unsure, say so." That's it.166167### Model-Specific Formatting168169When the target model is known, adapt format to its strengths:170171| Target | Preferred structure | Notes |172|--------|-------------------|-------|173| Claude | XML tags for sections, markdown for content | Supports assistant prefill; use `<result>` tags for structured output |174| GPT | Markdown headers, JSON schema for structured output | Native JSON mode available - use it over prose format instructions |175| Gemini | Markdown sections, explicit output examples | Separate instructions for text vs. attached files/images |176| Model-agnostic | Markdown headers + explicit delimiters | Avoid prefills, model-specific tags, or format-mode flags |177178Aggressive shouting ("CRITICAL!", "YOU MUST", "NEVER EVER") usually hurts more than it helps. Use calm, explicit instructions.179180### Structured Output Guidance181182When the prompt is for agent consumption (not human reading), specify output format explicitly:183- **JSON mode**: if the tool supports native JSON mode or schema-constrained output, use it. Otherwise instruct the model to return valid JSON and seed with `{` only when the tool supports assistant prefills.184- **XML structure**: wrap output in tags like `<result>`, `<analysis>`, `<decision>`.185- **Delimiter-based**: for simple key-value, use `KEY: value` format.186187Include a concrete output example in the prompt whenever possible - models generalize better from examples than from format descriptions.188189### The Four-Block Pattern190191For medium-to-complex prompts, structure into four clear blocks:1921. **INSTRUCTIONS** - what to do (role, task, constraints)1932. **CONTEXT** - background information, reference data1943. **TASK** - the specific request for this invocation1954. **OUTPUT FORMAT** - exact structure of the expected response196197Keep blocks visually separated with XML tags, markdown headers, or other clear delimiters. Place long context documents before shorter task instructions (see "Long content goes on top" above).198199---200201## Refining Existing Prompts202203If the user gives you an existing prompt to improve (not rough notes):2042051. Read it2062. Diagnose gaps - check for these common prompt weaknesses:207 - **Missing scope**: no clear boundary on what the model should and shouldn't do208 - **No output format**: model guesses structure instead of following a spec209 - **Vague role**: "helpful assistant" tells the model nothing useful210 - **Missing constraints**: no anti-patterns, no "do not" list, no quality criteria211 - **Over-specified**: drowning the model in rules when 2-3 clear constraints would work2123. For review-only requests, present specific changes with reasoning without editing.2134. For an authorized refinement of a local file, edit in place and summarize the changes.214215**Example refinement:**216217Before: `You are a helpful assistant that reviews code.`218219After: `You are a senior code reviewer. For each file, check for: bugs, edge cases, security issues, and performance problems. Report findings as a list with priority (P0/P1/P2/P3/info), file:line, and a one-line description. Skip style nitpicks. If nothing is wrong, say "No issues found."` - added: scope, output format, priority scale, constraint against noise.220221## Example: Creation from Scratch222223**User input (brain dump):**224> I want an AI that helps me write better emails. It should fix grammar, make things more concise,225> and match the tone I want. Sometimes formal, sometimes casual.226227**Structured output:**228229```230You are an email editor. You receive a draft email and a target tone, then return an improved231version.232233Your edits:234- Fix grammar and spelling errors235- Make the text more concise - cut filler words and redundant phrases236- Match the requested tone (formal, casual, or neutral)237238Preserve the sender's intent and meaning. Do not add information they didn't include.239Do not change the greeting or sign-off style unless it clashes with the requested tone.240241Input format:242 TONE: {{TONE}}243 DRAFT:244 {{EMAIL_DRAFT}}245246Return only the improved email. No commentary, no explanations, no "Here's your improved email:".247```248249Note: simple task, so plain prose - no XML sections, no numbered steps, no bloated preamble.250251---252253## Output Contract254255See `references/output-contract.md` for the full contract.256257- **Skill name:** PROMPT-GENERATOR258- **Deliverable bucket:** `prompts`259- **Mode:** conditional. When invoked to **analyze, review, audit, or improve** existing repo content (e.g., review an existing prompt for quality), emit the full contract - monospace inline header, severity-grouped inline summary, linked Markdown deliverable, and concise monospace conclusion - and write the deliverable to `docs/local/prompts/prompt-generator/<YYYY-MM-DD>-<slug>.md`. When invoked to **answer a question, teach a concept, build a new artifact, or generate content** (its primary mode - producing a prompt for the user), respond freely without the contract.260- **Severity scale:** `P0 | P1 | P2 | P3 | info` (see shared contract; only used in audit/review mode).261262## Related Skills263264- **skill-creator** - creates reusable skill files (SKILL.md) for AI tools and coding agents. Skills are265 structured prompts, but they follow different conventions (frontmatter, workflow sections,266 rules) than standalone prompts. If someone says "create a skill", use skill-creator.267- **routine-writer** - creates unattended or scheduled automation routine prompts. Use it when the268 user mentions schedules, triggers, recurring runs, `/schedule`, or `/fire`.269- Application code - if the user needs a prompt string inside application code (for example a270 TypeScript `const systemPrompt = ...`), that's coding, not this skill.271- **anti-slop** - if the user asks to "clean up" or "simplify" a prompt embedded in code, that's272 a code quality issue, not prompt structuring.273274---275276## Rules2772781. **Faithful structuring.** Preserve the user's facts and intent. If output structure is unstated, infer only the minimum structure made necessary by the stated downstream use; when that choice could change semantics or no use makes it evident, ask or leave it open. During refinement, flag a missing output contract when it prevents reliable evaluation.2792. **Honor existing authorization.** A request to create, save, or edit a local prompt file280 authorizes that write. Inline drafts and reviews stay in conversation. Follow the user's281 explicit instructions over this skill's defaults; retain approval for destructive or external actions.2823. **Scale structure to complexity.** Simple = lean. Complex = structured. Never the reverse.2834. **Respect their voice.** If the rough notes have a specific tone or personality, preserve it in the structured version.2845. **Run the AI Self-Check.** Every generated prompt file gets verified against the checklist before returning.
Run npx skillmds@latest add iuliandita/prompt-generator in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
· Turn notes into structured LLM prompts or improve existing prompts. Triggers: 'write a prompt', 'system prompt', 'prompt template', 'evaluator prompt', 'delegation prompt', 'rewrite this prompt'. Not for skills or routines. It is listed under AI & ML on SkillMD.
This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free. This skill is licensed under MIT.
iuliandita (@iuliandita) published this skill. Their other Agent Skills are listed on their SkillMD profile.