About meta-prompter
Meta-Prompter is a skill for evaluating and refining prompts with the meta-prompter-mcp CLI. It uses clarification answers to build a revised prompt and re-evaluates it before returning the result for execution.
Key features
- 01Evaluate prompts with the CLI
- 02Clarify missing context with questions
- 03Build a revised prompt from answers
- 04Re-evaluate and score prompt revisions
- 05Save output as soul.md
Use cases
- 01Assess a prompt before using it
- 02Refine a prompt when task details are incomplete
MCP support
The skill uses the meta-prompter-mcp CLI to evaluate prompts and re-evaluate revisions.
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ delexw/ claude-code-misc --skill meta-prompterAfter installing, type/meta-prompterin Claude Code to confirm it loaded.
Bundled filesreferences/rules.md
Details
From the project READMEMeta-Prompter
Prompt evaluation and optimization using the meta-prompter-mcp CLI. Returns <OPTIMIZED_PROMPT> for the caller to execute.
Inputs
Raw arguments: $ARGUMENTS
Infer from the arguments:
- CONTEXT: the task context or prompt to optimize
- OUT_DIR: output directory, or
.implement-assets/meta-prompterif not provided
Session
- If starting fresh: create SESSION_ID =
sess-YYYYMMDD-HHMMSSand use it for all files.
Execution
See references/rules.md for CLI usage, environment variables (model configuration), and error handling.
Execute all steps A through E:
A) Evaluate
- If <prompt_eval> tag doesn't exist:
- Run:
npx meta-prompter-mcp "CONTEXT"via Bash, with--modelflag per references/rules.md model resolution - Save the JSON output to <prompt_eval> and include:
- "original_prompt": "CONTEXT"
- Run:
- Otherwise, skip to Clarify.
B) Clarify
- If <clarification_answers> tag is missing or incomplete:
- Read the 3 questions from <prompt_eval>
- Attempt to answer all questions based on context
- If you don't have enough context to answer:
- Use
AskUserQuestiontool to ask each question
- Use
- Save the questions and answers to <clarification_answers> tag as:
{ "answers": [ {"q": "<question1>", "answer": "<user answer>"}, {"q": "<question2>", "answer": "<user answer>"}, {"q": "<question3>", "answer": "<user answer>"} ] }
C) Build PROMPT
- Proceed only when all 3 answers are present and clear.
- Build PROMPT:
- Base on
rewritefrom evaluation result - Append a short Clarifications section from the 3 answers (concise bullet points).
- Base on
D) Re-evaluate and gate
- Think the re-evaluation process carefully
- Re-run
npx meta-prompter-mcp "<built PROMPT>"via Bash (with--modelflag per references/rules.md model resolution)- Overwrite <prompt_eval> with this latest evaluation JSON result (preserve
"original_prompt"and, if present,"contextual_prompt"). - When
global < 8:- STOP execution immediately.
- Do NOT invent questions. Use the 3 questions returned by this re-evaluation.
- Redo B) Clarify, redo C) Build PROMPT, and re-run this step (D).
- Overwrite <prompt_eval> with this latest evaluation JSON result (preserve
- Repeat until
global >= 8, then proceed using the <OPTIMIZED_PROMPT>. - Max 3 iterations. If
global < 8after 3 attempts, use the best-scoring prompt as <OPTIMIZED_PROMPT> and note the score.
E) Return
- If OUT_DIR is provided:
- Run
mkdir -p OUT_DIRvia Bash - Use the Write tool to save <OPTIMIZED_PROMPT> to
OUT_DIR/soul.md
- Run
- Return <OPTIMIZED_PROMPT> to the caller for execution
Comments
Markdown supported