prompt-optimizer
Transforms prompt ideas into ready and optimized commands for any AI model in a chat. It helps refine and improve your requests for better responses.
What it does
This tool turns simple text ideas or described tasks into a complete, optimized command for use in an AI chat. It ensures the final command has no blanks to fill and works immediately.
When to use it
- ✓When you have an idea for a prompt but don't know how to write it well.
- ✓When a prompt you used didn't give the expected result.
- ✓When you want to improve an existing prompt for better AI responses.
Example of what to ask your AI
“Turn this idea into a ready-to-use prompt: 'I want a tech news summary, but it should be easy for a non-expert to understand.'”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
The tool analyzes what you want and rewrites the prompt to be clear, direct, and complete. It adds instructions for the AI to act intelligently and asks for extra information if needed, without leaving blanks for you to fill.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add github/awesome-copilot --skill prompt-optimizerOr download just the file:
curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/prompt-optimizer/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
Prompt Optimizer
You turn whatever the user gives you — a rough draft, a vague idea, a task description, a paragraph of context — into a single high-quality prompt designed to run inside any chat interface with an LLM model.
This is for chat interfaces (Claude, Codex, Copilot, or any other tool/LLM model), not the API. The user is going to paste a single message into chat. There is no system prompt, no effort parameter, no tool config to tune. The prompt itself has to do all the work.
Two hard rules
These two rules override everything else in this skill. Read them, then re-read them.
Rule 1 — No placeholders. Ever.
Never produce a prompt that contains [paste X here], [your content], {topic}, <your_input_here>, [INSERT Y], ___, or any other template variable the user is expected to fill in. The user must be able to copy your output, paste it into chat, hit send, and have a working interaction. If the prompt requires content the user hasn't provided yet, the prompt itself must handle that — see Rule 2.
If you catch yourself typing square brackets around a noun, stop. That's a placeholder. Rewrite.
Rule 2 — Ship a finished prompt no matter what the user gave you.
Two cases:
Case A — the user gave you real content (a draft they wrote, code, a document, a list of items, a specific question, an actual product description). Bake that content directly into the optimized prompt. The whole thing — content and instructions — goes inside the code block. The user copies, pastes, sends. Done.
Case B — the user only described a class of task ("I want a prompt to triage my emails", "help me prompt an LLM model to review my code", "give me a prompt for writing LinkedIn posts about my launches"). Write the prompt as a complete, self-contained instruction that works on its own. End the instruction by either:
- Asking the LLM model to ask the user for the specific inputs it needs ("Before drafting, ask me to share the product name, audience, and a link."), or
- Phrasing the task so the user will naturally provide the input in their next chat turn ("I'm going to paste a batch of emails next. For each one, do the following...").
Either way: no brackets, no fill-in-the-blank, no template syntax. The prompt is final.
What you output
A single fenced code block containing the optimized prompt. Nothing else. No preamble like "Here's your prompt:". No trailing explanation of what you changed.
The prompt should end with a closing instruction that signals depth of reasoning. Choose one that matches your target model:
For models with reasoning capabilities (like Claude with extended thinking):
Think before answering (maximum reasoning)
For general-purpose LLM models:
Take time to think through this carefully before responding.
This signals to the LLM model that a thorough, reasoned approach is needed. The exact wording can be adapted to fit your model's strengths.
Why these principles work
Modern LLM models read prompts more literally, calibrate their thinking and length to perceived complexity, and reward prompts that are specific, structured, and motivated. The cookbook below is distilled from best practices in LLM prompting across multiple model families. Each rule has a reason. Treat the reasons as the point — apply them with judgment, don't paste them mechanically.
The rewrite workflow
Work through these in your head before writing the prompt. You don't need to surface them.
- Identify the goal. What does the user actually want produced? A document? A decision? Code? A list? An analysis? Name it concretely.
- Identify the audience and use. Who reads the output, and what will they do with it? This drives tone and format.
- Decide: Case A or Case B. Did the user provide the actual content, or just describe a class of task? This decides whether you bake content in or write a self-contained instruction (see Rule 2).
- Spot the gaps. Audience, format, length, constraints, examples, edge cases — note which are missing.
- Handle the gaps correctly. If a missing detail is non-essential, make the most useful, most defensible assumption and keep it grounded in what they wrote. If the prompt depends on user-specific inputs they have not provided, follow Rule 2: in Case B, instruct the LLM model to ask for what it needs or phrase the task so the user will provide those inputs in the next turn.
…
FAQ
What are placeholders and why shouldn't I use them?
Placeholders are like blanks in a prompt (e.g., '[your text here]'). They require you to fill in information later, but this tool creates prompts ready to use in one go.
Does this tool work for any AI chat?
Yes, it's designed to work with most AI chats like Claude, Copilot, and others, but not for technical API use.
What if I give a very vague task description?
The tool will create a complete prompt that instructs the AI to ask for missing information, or the AI will ask you what it needs in the next turn.
Details
Original description by the author
Turn any rough prompt, half-formed idea, or task description into a finished, ready-to-send prompt optimized for any LLM model inside a chat interface — NOT the API. Use this skill whenever the user wants to write, rewrite, optimize, improve, sharpen, or polish a prompt for chat. Trigger phrases include "rewrite this prompt", "make this a better prompt", "optimize this prompt", "turn this into a p
repo: github/awesome-copilot
Popularity
- GitHub stars
- 40k
- Ranking position
- #5289
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
acquire-codebase-knowledge
Helps your agent understand and document an existing code project. It's useful for onboarding new people or getting an overview of the architecture.
github/awesome-copilot
acreadiness-assess
Enables your agent to assess a project's readiness for AI and generate a report. It's useful for understanding how well a project is prepared to use AI tools.
github/awesome-copilot
acreadiness-generate-instructions
Helps your agent create instructions for AI tools based on an assessment. It's useful for improving how AI interacts with code and closing identified gaps.
github/awesome-copilot
acreadiness-policy
Enables your agent to help define or apply policies for AI project assessment. It's useful for standardizing how projects are evaluated and ensuring compliance.
github/awesome-copilot
Similar skills
bengali-nlp
Has your agent process Bengali text. It helps understand and work with the language, normalizing text and handling its unique characteristics.
affaan-m/ECC
prompt-caching-strategy
Helps your agent optimize how it uses prompts for language models. It analyzes how prompts are made to find ways to cut costs and make responses faster by reusing information when possible.
affaan-m/ECC
prompt-optimizer
Has your agent analyze and improve the prompts you write. It suggests how to add information or change the wording so the AI model understands better and gives the desired answer.
affaan-m/ECC