Skip to content
Skillpedia
Prompts & LLMs40k · #5289

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

https://github.com/github/awesome-copilot/blob/main/skills/prompt-optimizer/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/github/awesome-copilot/blob/main/skills/prompt-optimizer/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
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-optimizer

Or download just the file:

curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/prompt-optimizer/SKILL.md -o SKILL.md
Technical 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.

  1. Identify the goal. What does the user actually want produced? A document? A decision? Code? A list? An analysis? Name it concretely.
  2. Identify the audience and use. Who reads the output, and what will they do with it? This drives tone and format.
  3. 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).
  4. Spot the gaps. Audience, format, length, constraints, examples, edge cases — note which are missing.
  5. 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

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills