{"id":"a22d6f9a-96d8-4aeb-b700-fcfe51b4ffe7","shortId":"mw7u2z","kind":"skill","title":"Prompt Refiner","tagline":"Improves AI prompts to be clearer, more specific, and produce more consistent outputs.","description":"# Prompt Refiner\n\n## What this skill does\n\nThis skill takes a rough or underperforming AI prompt and rewrites it to be clearer, more specific, and more likely to produce consistent, high-quality output from a language model. It identifies the root causes of vague or ineffective prompts — missing context, absent output format specs, ambiguous instructions — and systematically addresses each one. It also explains every change so you can learn the principles, not just get a one-time fix.\n\nUse this when your prompts produce inconsistent results, when the model frequently misunderstands what you want, or when you're building a prompt that will run in production.\n\n## How to use\n\n### Claude Code / Cline\n\nCopy this file to `.agents/skills/prompt-refiner/SKILL.md` in your project root.\n\nThen paste your prompt and ask:\n- *\"Use the Prompt Refiner skill to improve this prompt.\"*\n- *\"Refine this system prompt using the Prompt Refiner skill — it's producing inconsistent outputs.\"*\n\nInclude what the prompt is for (the model it targets, the task, what's going wrong with current outputs) to get more targeted improvements.\n\n### Cursor\n\nAdd the \"Prompt / Instructions\" section to your `.cursorrules` file. Paste your prompt into the chat and ask for a refinement.\n\n### Codex\n\nPaste your original prompt and a description of what output you're trying to achieve, then include the instructions below.\n\n## The Prompt / Instructions for the Agent\n\nWhen asked to refine a prompt, follow these steps:\n\n1. **Analyze the original prompt for these weaknesses:**\n\n   - **Vague task definition** — the model has to guess what \"good\" looks like\n   - **No role assignment** — not telling the model what persona or expertise to adopt\n   - **Missing output format** — no specification of length, structure, format (JSON, markdown, bullet list, etc.)\n   - **Missing context** — no background about the user, use case, or constraints\n   - **Ambiguous pronouns or references** — \"it\", \"this\", \"the thing\" without clear antecedents\n   - **Conflicting instructions** — asking for brevity and comprehensiveness in the same breath\n   - **No examples** — complex tasks benefit from at least one example of desired input/output\n   - **No constraints** — no guidance on what to avoid or exclude\n   - **Negative-only instructions** — \"don't use jargon\" without specifying the preferred alternative\n\n2. **Identify which weaknesses are present** in the original prompt. Note each one specifically.\n\n3. **Rewrite the prompt** applying these prompt engineering best practices:\n\n   - **Assign a clear role:** Start with \"You are a [specific expert/persona]...\" when helpful\n   - **Define the task precisely:** Use action verbs and be specific about the deliverable\n   - **Specify the output format:** Length, structure, tone, and file format if relevant\n   - **Provide relevant context:** Who is asking, what platform will this run on, what the output will be used for\n   - **Add constraints:** What to avoid, what assumptions to make, what topics are out of scope\n   - **Include an example** (few-shot) if the task is complex or the output format is unusual\n   - **Use numbered steps** for multi-part tasks rather than a wall of instructions\n   - **Separate system instructions from user content** using clear delimiters when relevant\n\n4. **Explain every change** in a \"Changes Made\" section. For each change:\n   - Name the principle applied\n   - Explain what was missing in the original\n   - Explain how the change addresses it\n\n5. **Optionally provide variations** if different use cases call for different versions (e.g., a terse version vs. a detailed version, or a version for GPT-4o vs. Claude 3).\n\n6. **Output format:**\n\n```\n## Original Prompt Analysis\n**Weaknesses identified:**\n- [Weakness 1]: [Explanation]\n- [Weakness 2]: [Explanation]\n...\n\n---\n\n## Refined Prompt\n\n```\n[The full rewritten prompt]\n```\n\n---\n\n## Changes Made\n\n### 1. [Change title]\n**Principle:** [Prompt engineering principle applied]\n**Before:** \"[relevant original text or \"(missing)\"]\"\n**After:** \"[relevant new text]\"\n**Why:** [Explanation]\n\n### 2. ...\n\n---\n\n## Optional Variations\n[If applicable, a shorter version or model-specific variant]\n```\n\n## Example\n\n**Input to Agent:**\n> \"Use the Prompt Refiner skill on this prompt:\n> 'Summarize this article. Make it good and clear. Don't be too long.'\"\n\n**Output from Agent:**\n> ## Original Prompt Analysis\n> **Weaknesses identified:**\n> - **No role assignment:** The model has no persona to adopt, so it defaults to a generic voice.\n> - **Vague quality standard:** \"Make it good and clear\" gives the model nothing concrete to optimize for.\n> - **Ambiguous length constraint:** \"Don't be too long\" is subjective — 3 sentences? 3 paragraphs?\n> - **Missing output format:** No specification of structure (paragraph, bullet points, TL;DR format, etc.).\n> - **Missing audience context:** Who will read this summary? A technical reader? A general audience?\n> - **No constraints on what to include:** Should the summary include the author's conclusion? Statistics? Quotes?\n>\n> ---\n>\n> ## Refined Prompt\n>\n> ```\n> You are a professional editor writing for a general audience with no prior knowledge of the topic.\n>\n> Summarize the article below in exactly 3–5 sentences. Your summary must:\n> - Cover the main argument or finding\n> - Include the single most important supporting fact or statistic\n> - End with the article's conclusion or key takeaway\n> - Use plain language — avoid jargon and technical terms\n> - Not exceed 100 words\n>\n> Article:\n> \"\"\"\n> [INSERT ARTICLE TEXT HERE]\n> \"\"\"\n> ```\n>\n> ---\n>\n> ## Changes Made\n>\n> ### 1. Added role assignment\n> **Principle:** Role prompting anchors tone, vocabulary, and expertise level.\n> **Before:** (missing)\n> **After:** \"You are a professional editor writing for a general audience...\"\n> **Why:** The model now has a consistent voice and knows the target reader, which shapes word choice and complexity.\n>\n> ### 2. Specified exact length\n> **Principle:** Concrete constraints produce consistent outputs.\n> **Before:** \"Don't be too long\"\n> **After:** \"exactly 3–5 sentences\" and \"Not exceed 100 words\"\n> **Why:** Two complementary length caps prevent both a single bloated sentence and five dense run-ons.\n>\n> ### 3. Defined required content\n> **Principle:** Explicit content requirements reduce model guessing.\n> **Before:** \"Make it good and clear\"\n> **After:** Numbered list of what must appear in the summary\n> **Why:** The model no longer decides what \"good\" means — the criteria are explicit.\n>\n> ### 4. Added a text delimiter\n> **Principle:** Delimiters prevent prompt injection and clarify input boundaries.\n> **Before:** (implied the article follows)\n> **After:** `\"\"\" [INSERT ARTICLE TEXT HERE] \"\"\"`\n> **Why:** The triple-quote delimiter makes it unambiguous where the instructions end and the article begins.","tags":["prompt","refiner","openagentskills","notysoty","agent-skills","claude","claude-code","claude-skills","cline","cursor","llm","llm-skills"],"capabilities":["skill","source-notysoty","skill-prompt-refiner","topic-agent-skills","topic-claude","topic-claude-code","topic-claude-skills","topic-cline","topic-cursor","topic-llm","topic-llm-skills","topic-skills"],"categories":["openagentskills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/Notysoty/openagentskills/prompt-refiner","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add Notysoty/openagentskills","source_repo":"https://github.com/Notysoty/openagentskills","install_from":"skills.sh"}},"qualityScore":"0.454","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 8 github stars · SKILL.md body (6,858 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:13:23.587Z","embedding":null,"createdAt":"2026-05-18T13:20:45.123Z","updatedAt":"2026-05-18T19:13:23.587Z","lastSeenAt":"2026-05-18T19:13:23.587Z","tsv":"'1':248,570,583,814 '100':805,883 '2':364,573,603,859 '3':378,560,692,694,765,877,902 '4':502,942 '4o':557 '5':531,766,878 '6':561 'absent':65 'achiev':227 'action':406 'ad':815,943 'add':192,445 'address':73,529 'adopt':280,658 'agent':238,619,643 'agents/skills/prompt-refiner/skill.md':133 'ai':4,29 'also':77 'altern':363 'ambigu':69,306,682 'analysi':566,646 'analyz':249 'anchor':821 'anteced':316 'appear':925 'appli':382,517,590 'applic':607 'argument':774 'articl':630,761,789,807,809,959,963,981 'ask':143,208,240,319,431 'assign':270,388,651,817 'assumpt':451 'audienc':711,723,751,839 'author':735 'avoid':348,449,798 'background':298 'begin':982 'benefit':332 'best':386 'bloat':894 'boundari':955 'breath':327 'breviti':321 'build':115 'bullet':292,704 'call':539 'cap':889 'case':303,538 'caus':57 'chang':80,505,508,513,528,581,584,812 'chat':206 'choic':856 'clarifi':953 'claud':126,559 'clear':315,390,498,635,673,918 'clearer':8,36 'cline':128 'code':127 'codex':212 'complementari':887 'complex':330,470,858 'comprehens':323 'conclus':737,791 'concret':678,864 'conflict':317 'consist':14,44,846,867 'constraint':305,342,446,684,725,865 'content':496,905,908 'context':64,296,428,712 'copi':129 'cover':771 'criteria':939 'current':184 'cursor':191 'cursorrul':199 'decid':934 'default':661 'defin':401,903 'definit':258 'delimit':499,946,948,971 'deliver':413 'dens':898 'descript':219 'desir':339 'detail':549 'differ':536,541 'dr':707 'e.g':543 'editor':746,834 'end':786,978 'engin':385,588 'etc':294,709 'everi':79,504 'exact':764,861,876 'exampl':329,337,462,616 'exceed':804,882 'exclud':350 'expert/persona':398 'expertis':278,825 'explain':78,503,518,525 'explan':571,574,602 'explicit':907,941 'fact':783 'few-shot':463 'file':131,200,422 'find':776 'five':897 'fix':94 'follow':245,960 'format':67,283,289,417,423,474,563,698,708 'frequent':106 'full':578 'general':722,750,838 'generic':664 'get':89,187 'give':674 'go':181 'good':265,633,671,916,936 'gpt':556 'gpt-4o':555 'guess':263,912 'guidanc':344 'help':400 'high':46 'high-qual':45 'identifi':54,365,568,648 'impli':957 'import':781 'improv':3,150,190 'includ':167,229,460,729,733,777 'inconsist':101,165 'ineffect':61 'inject':951 'input':617,954 'input/output':340 'insert':808,962 'instruct':70,195,231,235,318,354,490,493,977 'jargon':358,799 'json':290 'key':793 'know':849 'knowledg':755 'languag':51,797 'learn':84 'least':335 'length':287,418,683,862,888 'level':826 'like':41,267 'list':293,921 'long':640,689,874 'longer':933 'look':266 'made':509,582,813 'main':773 'make':453,631,669,914,972 'markdown':291 'mean':937 'miss':63,281,295,521,596,696,710,828 'misunderstand':107 'model':52,105,174,260,274,613,653,676,842,911,931 'model-specif':612 'multi':482 'multi-part':481 'must':770,924 'name':514 'negat':352 'negative-on':351 'new':599 'note':374 'noth':677 'number':478,920 'on':901 'one':75,92,336,376 'one-tim':91 'optim':680 'option':532,604 'origin':215,251,372,524,564,593,644 'output':15,48,66,166,185,222,282,416,440,473,562,641,697,868 'paragraph':695,703 'part':483 'past':139,201,213 'persona':276,656 'plain':796 'platform':433 'point':705 'practic':387 'precis':404 'prefer':362 'present':369 'prevent':890,949 'principl':86,516,586,589,818,863,906,947 'prior':754 'produc':12,43,100,164,866 'product':122 'profession':745,833 'project':136 'prompt':1,5,16,30,62,99,117,141,146,152,156,159,170,194,203,216,234,244,252,373,381,384,565,576,580,587,622,627,645,741,820,950 'pronoun':307 'provid':426,533 'qualiti':47,667 'quot':739,970 'rather':485 're':114,224 'read':715 'reader':720,852 'reduc':910 'refer':309 'refin':2,17,147,153,160,211,242,575,623,740 'relev':425,427,501,592,598 'requir':904,909 'result':102 'rewrit':32,379 'rewritten':579 'role':269,391,650,816,819 'root':56,137 'rough':26 'run':120,436,900 'run-on':899 'scope':459 'section':196,510 'sentenc':693,767,879,895 'separ':491 'shape':854 'shorter':609 'shot':465 'singl':779,893 'skill':20,23,148,161,624 'skill-prompt-refiner' 'source-notysoty' 'spec':68 'specif':10,38,285,377,397,410,614,700 'specifi':360,414,860 'standard':668 'start':392 'statist':738,785 'step':247,479 'structur':288,419,702 'subject':691 'summar':628,759 'summari':717,732,769,928 'support':782 'system':155,492 'systemat':72 'take':24 'takeaway':794 'target':176,189,851 'task':178,257,331,403,468,484 'technic':719,801 'tell':272 'term':802 'ters':545 'text':594,600,810,945,964 'thing':313 'time':93 'titl':585 'tl':706 'tone':420,822 'topic':455,758 'topic-agent-skills' 'topic-claude' 'topic-claude-code' 'topic-claude-skills' 'topic-cline' 'topic-cursor' 'topic-llm' 'topic-llm-skills' 'topic-skills' 'tri':225 'tripl':969 'triple-quot':968 'two':886 'unambigu':974 'underperform':28 'unusu':476 'use':95,125,144,157,302,357,405,443,477,497,537,620,795 'user':301,495 'vagu':59,256,666 'variant':615 'variat':534,605 'verb':407 'version':542,546,550,553,610 'vocabulari':823 'voic':665,847 'vs':547,558 'wall':488 'want':110 'weak':255,367,567,569,572,647 'without':314,359 'word':806,855,884 'write':747,835 'wrong':182","prices":[{"id":"63c4a841-a7f2-4f04-bd03-70b8a159cb63","listingId":"a22d6f9a-96d8-4aeb-b700-fcfe51b4ffe7","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"Notysoty","category":"openagentskills","install_from":"skills.sh"},"createdAt":"2026-05-18T13:20:45.123Z"}],"sources":[{"listingId":"a22d6f9a-96d8-4aeb-b700-fcfe51b4ffe7","source":"github","sourceId":"Notysoty/openagentskills/prompt-refiner","sourceUrl":"https://github.com/Notysoty/openagentskills/tree/main/skills/prompt-refiner","isPrimary":false,"firstSeenAt":"2026-05-18T13:20:45.123Z","lastSeenAt":"2026-05-18T19:13:23.587Z"}],"details":{"listingId":"a22d6f9a-96d8-4aeb-b700-fcfe51b4ffe7","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"Notysoty","slug":"prompt-refiner","github":{"repo":"Notysoty/openagentskills","stars":8,"topics":["agent-skills","claude","claude-code","claude-skills","cline","cursor","llm","llm-skills","skills"],"license":"mit","html_url":"https://github.com/Notysoty/openagentskills","pushed_at":"2026-03-28T06:50:19Z","description":"A  community-driven library of reusable AI agent skills for Claude Code, Cursor, Codex, Cline, and more.","skill_md_sha":"976f5136cf9d73b6faf204507bb1f056bbd73dc8","skill_md_path":"skills/prompt-refiner/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/Notysoty/openagentskills/tree/main/skills/prompt-refiner"},"layout":"multi","source":"github","category":"openagentskills","frontmatter":{"name":"Prompt Refiner","description":"Improves AI prompts to be clearer, more specific, and produce more consistent outputs."},"skills_sh_url":"https://skills.sh/Notysoty/openagentskills/prompt-refiner"},"updatedAt":"2026-05-18T19:13:23.587Z"}}