{"id":"46270625-87a3-43f9-8331-e3d6a6e48098","shortId":"ZMK59V","kind":"skill","title":"idea-refine","tagline":"Refines raw ideas into sharp, actionable concepts through structured divergent and convergent thinking. Use when an idea is still vague, when you need to stress-test assumptions before committing to a plan, or when you want to expand options before converging on one. Triggers on ","description":"# Idea Refine\n\nRefines raw ideas into sharp, actionable concepts worth building through structured divergent and convergent thinking.\n\n## How It Works\n\n1.  **Understand & Expand (Divergent):** Restate the idea, ask sharpening questions, and generate variations.\n2.  **Evaluate & Converge:** Cluster ideas, stress-test them, and surface hidden assumptions.\n3.  **Sharpen & Ship:** Produce a concrete markdown one-pager moving work forward.\n\n## Usage\n\nThis skill is primarily an interactive dialogue. Invoke it with an idea, and the agent will guide you through the process.\n\n```bash\n# Optional: Initialize the ideas directory\nbash /mnt/skills/user/idea-refine/scripts/idea-refine.sh\n```\n\n**Trigger Phrases:**\n- \"Help me refine this idea\"\n- \"Ideate on [concept]\"\n- \"Stress-test my plan\"\n\n## Output\n\nThe final output is a markdown one-pager saved to `docs/ideas/[idea-name].md` (after user confirmation), containing:\n- Problem Statement\n- Recommended Direction\n- Key Assumptions\n- MVP Scope\n- Not Doing list\n\n## Detailed Instructions\n\nYou are an ideation partner. Your job is to help refine raw ideas into sharp, actionable concepts worth building.\n\n### Philosophy\n\n- Simplicity is the ultimate sophistication. Push toward the simplest version that still solves the real problem.\n- Start with the user experience, work backwards to technology.\n- Say no to 1,000 things. Focus beats breadth.\n- Challenge every assumption. \"How it's usually done\" is not a reason.\n- Show people the future — don't just give them better horses.\n- The parts you can't see should be as beautiful as the parts you can.\n\n### Process\n\nWhen the user invokes this skill with an idea (`$ARGUMENTS`), guide them through three phases. Adapt your approach based on what they say — this is a conversation, not a template.\n\n#### Phase 1: Understand & Expand (Divergent)\n\n**Goal:** Take the raw idea and open it up.\n\n1. **Restate the idea** as a crisp \"How Might We\" problem statement. This forces clarity on what's actually being solved.\n\n2. **Ask 3-5 sharpening questions** — no more. Focus on:\n   - Who is this for, specifically?\n   - What does success look like?\n   - What are the real constraints (time, tech, resources)?\n   - What's been tried before?\n   - Why now?\n\n   Use the `AskUserQuestion` tool to gather this input. Do NOT proceed until you understand who this is for and what success looks like.\n\n3. **Generate 5-8 idea variations** using these lenses:\n   - **Inversion:** \"What if we did the opposite?\"\n   - **Constraint removal:** \"What if budget/time/tech weren't factors?\"\n   - **Audience shift:** \"What if this were for [different user]?\"\n   - **Combination:** \"What if we merged this with [adjacent idea]?\"\n   - **Simplification:** \"What's the version that's 10x simpler?\"\n   - **10x version:** \"What would this look like at massive scale?\"\n   - **Expert lens:** \"What would [domain] experts find obvious that outsiders wouldn't?\"\n\n   Push beyond what the user initially asked for. Create products people don't know they need yet.\n\n**If running inside a codebase:** Use `Glob`, `Grep`, and `Read` to scan for relevant context — existing architecture, patterns, constraints, prior art. Ground your variations in what actually exists. Reference specific files and patterns when relevant.\n\nRead `frameworks.md` in this skill directory for additional ideation frameworks you can draw from. Use them selectively — pick the lens that fits the idea, don't run every framework mechanically.\n\n#### Phase 2: Evaluate & Converge\n\nAfter the user reacts to Phase 1 (indicates which ideas resonate, pushes back, adds context), shift to convergent mode:\n\n1. **Cluster** the ideas that resonated into 2-3 distinct directions. Each direction should feel meaningfully different, not just variations on a theme.\n\n2. **Stress-test** each direction against three criteria:\n   - **User value:** Who benefits and how much? Is this a painkiller or a vitamin?\n   - **Feasibility:** What's the technical and resource cost? What's the hardest part?\n   - **Differentiation:** What makes this genuinely different? Would someone switch from their current solution?\n\n   Read `refinement-criteria.md` in this skill directory for the full evaluation rubric.\n\n3. **Surface hidden assumptions.** For each direction, explicitly name:\n   - What you're betting is true (but haven't validated)\n   - What could kill this idea\n   - What you're choosing to ignore (and why that's okay for now)\n\n   This is where most ideation fails. Don't skip it.\n\n**Be honest, not supportive.** If an idea is weak, say so with kindness. A good ideation partner is not a yes-machine. Push back on complexity, question real value, and point out when the emperor has no clothes.\n\n#### Phase 3: Sharpen & Ship\n\nProduce a concrete artifact — a markdown one-pager that moves work forward:\n\n```markdown\n# [Idea Name]\n\n## Problem Statement\n[One-sentence \"How Might We\" framing]\n\n## Recommended Direction\n[The chosen direction and why — 2-3 paragraphs max]\n\n## Key Assumptions to Validate\n- [ ] [Assumption 1 — how to test it]\n- [ ] [Assumption 2 — how to test it]\n- [ ] [Assumption 3 — how to test it]\n\n## MVP Scope\n[The minimum version that tests the core assumption. What's in, what's out.]\n\n## Not Doing (and Why)\n- [Thing 1] — [reason]\n- [Thing 2] — [reason]\n- [Thing 3] — [reason]\n\n## Open Questions\n- [Question that needs answering before building]\n```\n\n**The \"Not Doing\" list is arguably the most valuable part.** Focus is about saying no to good ideas. Make the trade-offs explicit.\n\nAsk the user if they'd like to save this to `docs/ideas/[idea-name].md` (or a location of their choosing). Only save if they confirm.\n\n### Anti-patterns to Avoid\n\n- **Don't generate 20+ ideas.** Quality over quantity. 5-8 well-considered variations beat 20 shallow ones.\n- **Don't be a yes-machine.** Push back on weak ideas with specificity and kindness.\n- **Don't skip \"who is this for.\"** Every good idea starts with a person and their problem.\n- **Don't produce a plan without surfacing assumptions.** Untested assumptions are the #1 killer of good ideas.\n- **Don't over-engineer the process.** Three phases, each doing one thing well. Resist adding steps.\n- **Don't just list ideas — tell a story.** Each variation should have a reason it exists, not just be a bullet point.\n- **Don't ignore the codebase.** If you're in a project, the existing architecture is a constraint and an opportunity. Use it.\n\n### Tone\n\nDirect, thoughtful, slightly provocative. You're a sharp thinking partner, not a facilitator reading from a script. Channel the energy of \"that's interesting, but what if...\" -- always pushing one step further without being exhausting.\n\nRead `examples.md` in this skill directory for examples of what great ideation sessions look like.\n\n## Red Flags\n\n- Generating 20+ shallow variations instead of 5-8 considered ones\n- Skipping the \"who is this for\" question\n- No assumptions surfaced before committing to a direction\n- Yes-machining weak ideas instead of pushing back with specificity\n- Producing a plan without a \"Not Doing\" list\n- Ignoring existing codebase constraints when ideating inside a project\n- Jumping straight to Phase 3 output without running Phases 1 and 2\n\n## Verification\n\nAfter completing an ideation session:\n\n- [ ] A clear \"How Might We\" problem statement exists\n- [ ] The target user and success criteria are defined\n- [ ] Multiple directions were explored, not just the first idea\n- [ ] Hidden assumptions are explicitly listed with validation strategies\n- [ ] A \"Not Doing\" list makes trade-offs explicit\n- [ ] The output is a concrete artifact (markdown one-pager), not just conversation\n- [ ] The user confirmed the final direction before any implementation work","tags":["idea","refine","agent","skills","addyosmani","agent-skills","antigravity","antigravity-ide","claude-code","cursor"],"capabilities":["skill","source-addyosmani","skill-idea-refine","topic-agent-skills","topic-antigravity","topic-antigravity-ide","topic-claude-code","topic-cursor","topic-skills"],"categories":["agent-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/addyosmani/agent-skills/idea-refine","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add addyosmani/agent-skills","source_repo":"https://github.com/addyosmani/agent-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 43270 github stars · SKILL.md body (7,716 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-18T18:50:21.736Z","embedding":null,"createdAt":"2026-04-18T20:31:42.038Z","updatedAt":"2026-05-18T18:50:21.736Z","lastSeenAt":"2026-05-18T18:50:21.736Z","tsv":"'-3':590,788 '-5':349 '-8':407,915,1095 '/mnt/skills/user/idea-refine/scripts/idea-refine.sh':138 '000':237 '1':70,236,312,325,569,582,796,834,969,1150 '10x':453,455 '2':83,346,560,589,605,787,802,837,1152 '20':909,921,1089 '3':96,348,404,665,752,808,840,1145 '5':406,914,1094 'action':9,57,203 'actual':343,520 'ad':989 'adapt':296 'add':576 'addit':536 'adjac':444 'agent':124 'alway':1063 'answer':847 'anti':902 'anti-pattern':901 'approach':298 'architectur':510,1026 'arguabl':855 'argument':290 'art':514 'artifact':758,1206 'ask':77,347,483,874 'askuserquest':383 'assumpt':31,95,180,244,668,792,795,801,807,822,964,966,1106,1185 'audienc':428 'avoid':905 'back':575,736,932,1121 'backward':230 'base':299 'bash':131,137 'beat':240,920 'beauti':274 'benefit':617 'bet':677 'better':263 'beyond':478 'breadth':241 'budget/time/tech':424 'build':60,206,849 'bullet':1011 'challeng':242 'channel':1053 'choos':692,895 'chosen':783 'clariti':339 'clear':1160 'cloth':750 'cluster':86,583 'codebas':498,1017,1134 'combin':437 'commit':33,1109 'complet':1155 'complex':738 'concept':10,58,148,204 'concret':101,757,1205 'confirm':173,900,1216 'consid':918,1096 'constraint':370,420,512,1029,1135 'contain':174 'context':508,577 'converg':15,45,65,85,562,580 'convers':307,1213 'core':821 'cost':635 'could':685 'creat':485 'crisp':331 'criteria':613,1172 'current':652 'd':879 'defin':1174 'detail':186 'dialogu':116 'differ':435,598,646 'differenti':641 'direct':178,592,594,610,671,781,784,1036,1112,1176,1219 'directori':136,534,659,1076 'distinct':591 'diverg':13,63,73,315 'docs/ideas':166,885 'domain':469 'done':249 'draw':541 'emperor':747 'energi':1055 'engin':978 'evalu':84,561,663 'everi':243,556,947 'exampl':1078 'examples.md':1072 'exhaust':1070 'exist':509,521,1006,1025,1133,1166 'expand':42,72,314 'experi':228 'expert':465,470 'explicit':672,873,1187,1200 'explor':1178 'facilit':1048 'factor':427 'fail':707 'feasibl':628 'feel':596 'file':524 'final':156,1218 'find':471 'first':1182 'fit':550 'flag':1087 'focus':239,354,860 'forc':338 'forward':108,767 'frame':779 'framework':538,557 'frameworks.md':530 'full':662 'futur':257 'gather':386 'generat':81,405,908,1088 'genuin':645 'give':261 'glob':500 'goal':316 'good':726,866,948,972 'great':1081 'grep':501 'ground':515 'guid':126,291 'hardest':639 'haven':681 'help':141,197 'hidden':94,667,1184 'honest':713 'hors':264 'idea':2,6,20,50,54,76,87,121,135,145,168,200,289,320,328,408,445,552,572,585,688,718,769,867,887,910,935,949,973,995,1117,1183 'idea-nam':167,886 'idea-refin':1 'ideat':146,191,537,706,727,1082,1137,1157 'ignor':694,1015,1132 'implement':1222 'indic':570 'initi':133,482 'input':388 'insid':496,1138 'instead':1092,1118 'instruct':187 'interact':115 'interest':1059 'invers':413 'invok':117,284 'job':194 'jump':1141 'key':179,791 'kill':686 'killer':970 'kind':724,939 'know':490 'len':466,548 'lens':412 'like':365,403,461,880,1085 'list':185,853,994,1131,1188,1195 'locat':892 'look':364,402,460,1084 'machin':734,930,1115 'make':643,868,1196 'markdown':102,160,760,768,1207 'massiv':463 'max':790 'md':170,889 'meaning':597 'mechan':558 'merg':441 'might':333,777,1162 'minimum':816 'mode':581 'move':106,765 'much':620 'multipl':1175 'mvp':181,813 'name':169,673,770,888 'need':26,492,846 'obvious':472 'off':872,1199 'okay':699 'one':47,104,162,762,774,923,985,1065,1097,1209 'one-pag':103,161,761,1208 'one-sent':773 'open':322,842 'opportun':1032 'opposit':419 'option':43,132 'output':154,157,1146,1202 'outsid':474 'over-engin':976 'pager':105,163,763,1210 'painkil':624 'paragraph':789 'part':266,277,640,859 'partner':192,728,1045 'pattern':511,526,903 'peopl':255,487 'person':953 'phase':295,311,559,568,751,982,1144,1149 'philosophi':207 'phrase':140 'pick':546 'plan':36,153,961,1126 'point':743,1012 'primarili':113 'prior':513 'problem':175,223,335,771,956,1164 'proceed':391 'process':130,280,980 'produc':99,755,959,1124 'product':486 'project':1023,1140 'provoc':1039 'push':213,477,574,735,931,1064,1120 'qualiti':911 'quantiti':913 'question':79,351,739,843,844,1104 'raw':5,53,199,319 're':676,691,1020,1041 'react':566 'read':503,529,654,1049,1071 'real':222,369,740 'reason':253,835,838,841,1004 'recommend':177,780 'red':1086 'refer':522 'refin':3,4,51,52,143,198 'refinement-criteria.md':655 'relev':507,528 'remov':421 'resist':988 'reson':573,587 'resourc':373,634 'restat':74,326 'rubric':664 'run':495,555,1148 'save':164,882,897 'say':233,303,721,863 'scale':464 'scan':505 'scope':182,814 'script':1052 'see':270 'select':545 'sentenc':775 'session':1083,1158 'shallow':922,1090 'sharp':8,56,202,1043 'sharpen':78,97,350,753 'shift':429,578 'ship':98,754 'show':254 'simpler':454 'simplest':216 'simplic':208 'simplif':446 'skill':111,286,533,658,1075 'skill-idea-refine' 'skip':710,942,1098 'slight':1038 'solut':653 'solv':220,345 'someon':648 'sophist':212 'source-addyosmani' 'specif':360,523,937,1123 'start':224,950 'statement':176,336,772,1165 'step':990,1066 'still':22,219 'stori':998 'straight':1142 'strategi':1191 'stress':29,89,150,607 'stress-test':28,88,149,606 'structur':12,62 'success':363,401,1171 'support':715 'surfac':93,666,963,1107 'switch':649 'take':317 'target':1168 'tech':372 'technic':632 'technolog':232 'tell':996 'templat':310 'test':30,90,151,608,799,805,811,819 'theme':604 'thing':238,833,836,839,986 'think':16,66,1044 'thought':1037 'three':294,612,981 'time':371 'tone':1035 'tool':384 'topic-agent-skills' 'topic-antigravity' 'topic-antigravity-ide' 'topic-claude-code' 'topic-cursor' 'topic-skills' 'toward':214 'trade':871,1198 'trade-off':870,1197 'tri':377 'trigger':48,139 'true':679 'ultim':211 'understand':71,313,394 'untest':965 'usag':109 'use':17,381,410,499,543,1033 'user':172,227,283,436,481,565,614,876,1169,1215 'usual':248 'vagu':23 'valid':683,794,1190 'valu':615,741 'valuabl':858 'variat':82,409,517,601,919,1000,1091 'verif':1153 'version':217,450,456,817 'vitamin':627 'want':40 'weak':720,934,1116 'well':917,987 'well-consid':916 'weren':425 'without':962,1068,1127,1147 'work':69,107,229,766,1223 'worth':59,205 'would':458,468,647 'wouldn':475 'yes':733,929,1114 'yes-machin':732,928,1113 'yet':493","prices":[{"id":"2085046a-6821-4519-9cbe-82dd16ba8682","listingId":"46270625-87a3-43f9-8331-e3d6a6e48098","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"addyosmani","category":"agent-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T20:31:42.038Z"}],"sources":[{"listingId":"46270625-87a3-43f9-8331-e3d6a6e48098","source":"github","sourceId":"addyosmani/agent-skills/idea-refine","sourceUrl":"https://github.com/addyosmani/agent-skills/tree/main/skills/idea-refine","isPrimary":false,"firstSeenAt":"2026-04-18T21:53:01.140Z","lastSeenAt":"2026-05-18T18:50:21.736Z"},{"listingId":"46270625-87a3-43f9-8331-e3d6a6e48098","source":"skills_sh","sourceId":"addyosmani/agent-skills/idea-refine","sourceUrl":"https://skills.sh/addyosmani/agent-skills/idea-refine","isPrimary":true,"firstSeenAt":"2026-04-18T20:31:42.038Z","lastSeenAt":"2026-05-07T22:40:26.282Z"}],"details":{"listingId":"46270625-87a3-43f9-8331-e3d6a6e48098","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"addyosmani","slug":"idea-refine","github":{"repo":"addyosmani/agent-skills","stars":43270,"topics":["agent-skills","antigravity","antigravity-ide","claude-code","cursor","skills"],"license":"mit","html_url":"https://github.com/addyosmani/agent-skills","pushed_at":"2026-05-16T22:00:25Z","description":"Production-grade engineering skills for AI coding agents.","skill_md_sha":"30b1c80c3aad9526cd1886913f166af8930d2ef2","skill_md_path":"skills/idea-refine/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/addyosmani/agent-skills/tree/main/skills/idea-refine"},"layout":"multi","source":"github","category":"agent-skills","frontmatter":{"name":"idea-refine","description":"Refines raw ideas into sharp, actionable concepts through structured divergent and convergent thinking. Use when an idea is still vague, when you need to stress-test assumptions before committing to a plan, or when you want to expand options before converging on one. Triggers on \"ideate\", \"refine this idea\", or \"stress-test my plan\"."},"skills_sh_url":"https://skills.sh/addyosmani/agent-skills/idea-refine"},"updatedAt":"2026-05-18T18:50:21.736Z"}}