[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-8467149d-3850-49ce-a47b-d27b355c1a7d":3,"$fKSMcXSUZLb9GZJIwAplDsSDItStt68rg7hbgLWYegII":43},{"id":4,"title":5,"description":6,"categoryId":7,"moduleId":8,"tags":9,"prompt":10,"icon":11,"source":12,"sourceUrl":13,"authorId":14,"authorName":15,"isPublic":16,"stars":17,"runs":18,"createdAt":19,"updatedAt":19,"module":20,"category":27,"packages":34},"8467149d-3850-49ce-a47b-d27b355c1a7d","ask-questions-if-underspecified","在实施前明确要求。在出现严重疑虑时使用。","cat_life_career","mod_other","sickn33,other","---\nname: ask-questions-if-underspecified\ndescription: Clarify requirements before implementing. Use when serious doubts arise.\nrisk: unknown\nsource: community\n---\n\n# Ask Questions If Underspecified\n\n## When to Use\nUse this skill when a request has multiple plausible interpretations or key details (objective, scope, constraints, environment, or safety) are unclear.\n\n## When NOT to Use\n\nDo not use this skill when the request is already clear, or when a quick, low-risk discovery read can answer the missing details.\n\n## Goal\n\nAsk the minimum set of clarifying questions needed to avoid wrong work; do not start implementing until the must-have questions are answered (or the user explicitly approves proceeding with stated assumptions).\n\n## Workflow\n\n### 1) Decide whether the request is underspecified\n\nTreat a request as underspecified if after exploring how to perform the work, some or all of the following are not clear:\n- Define the objective (what should change vs stay the same)\n- Define \"done\" (acceptance criteria, examples, edge cases)\n- Define scope (which files\u002Fcomponents\u002Fusers are in\u002Fout)\n- Define constraints (compatibility, performance, style, deps, time)\n- Identify environment (language\u002Fruntime versions, OS, build\u002Ftest runner)\n- Clarify safety\u002Freversibility (data migration, rollout\u002Frollback, risk)\n\nIf multiple plausible interpretations exist, assume it is underspecified.\n\n### 2) Ask must-have questions first (keep it small)\n\nAsk 1-5 questions in the first pass. Prefer questions that eliminate whole branches of work.\n\nMake questions easy to answer:\n- Optimize for scannability (short, numbered questions; avoid paragraphs)\n- Offer multiple-choice options when possible\n- Suggest reasonable defaults when appropriate (mark them clearly as the default\u002Frecommended choice; bold the recommended choice in the list, or if you present options in a code block, put a bold \"Recommended\" line immediately above the block and also tag defaults inside the block)\n- Include a fast-path response (e.g., reply `defaults` to accept all recommended\u002Fdefault choices)\n- Include a low-friction \"not sure\" option when helpful (e.g., \"Not sure - use default\")\n- Separate \"Need to know\" from \"Nice to know\" if that reduces friction\n- Structure options so the user can respond with compact decisions (e.g., `1b 2a 3c`); restate the chosen options in plain language to confirm\n\n### 3) Pause before acting\n\nUntil must-have answers arrive:\n- Do not run commands, edit files, or produce a detailed plan that depends on unknowns\n- Do perform a clearly labeled, low-risk discovery step only if it does not commit you to a direction (e.g., inspect repo structure, read relevant config files)\n\nIf the user explicitly asks you to proceed without answers:\n- State your assumptions as a short numbered list\n- Ask for confirmation; proceed only after they confirm or correct them\n\n### 4) Confirm interpretation, then proceed\n\nOnce you have answers, restate the requirements in 1-3 sentences (including key constraints and what success looks like), then start work.\n\n## Question templates\n\n- \"Before I start, I need: (1) ..., (2) ..., (3) .... If you don't care about (2), I will assume ....\"\n- \"Which of these should it be? A) ... B) ... C) ... (pick one)\"\n- \"What would you consider 'done'? For example: ...\"\n- \"Any constraints I must follow (versions, performance, style, deps)? If none, I will target the existing project defaults.\"\n- Use numbered questions with lettered options and a clear reply format\n\n```text\n1) Scope?\na) Minimal change (default)\nb) Refactor while touching the area\nc) Not sure - use default\n2) Compatibility target?\na) Current project defaults (default)\nb) Also support older versions: \u003Cspecify>\nc) Not sure - use default\n\nReply with: defaults (or 1a 2a)\n```\n\n## Anti-patterns\n\n- Don't ask questions you can answer with a quick, low-risk discovery read (e.g., configs, existing patterns, docs).\n- Don't ask open-ended questions if a tight multiple-choice or yes\u002Fno would eliminate ambiguity faster.\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.\n","","imported","https:\u002F\u002Fgithub.com\u002Fsickn33\u002Fantigravity-awesome-skills","user_system_seed","SkillOPIC",true,152,1946,"2026-05-16 13:04:13",{"id":8,"name":21,"slug":22,"icon":23,"description":24,"sort":25,"createdAt":26},"其他","other","mdi-page-next-outline","其他类型Skill",5,"2026-05-16 12:53:40",{"id":7,"name":28,"slug":29,"icon":30,"description":31,"moduleId":8,"sort":32,"skillCount":33,"createdAt":26},"职场发展","career","mdi-briefcase-outline","面试准备、简历优化、职业规划",4,575,[35],{"id":36,"skillId":4,"version":37,"fileName":38,"fileSize":39,"filePath":40,"fileHash":41,"manifest":42,"createdAt":19},"2d7d91a0-33b1-43c1-916c-e0570b695f40","1.0.0","ask-questions-if-underspecified.zip",2086,"uploads\u002Fskills\u002F8467149d-3850-49ce-a47b-d27b355c1a7d\u002Fask-questions-if-underspecified.zip","7aa66169b30925998d05e8f8d965d91625c91e88b65e91a6d79ce77408dc3ff0","[{\"path\":\"SKILL.md\",\"isDirectory\":false,\"size\":4337}]",{"code":44,"message":45,"data":46},200,"success",{"items":47,"stats":48,"page":51},[],{"averageRating":49,"totalRatings":49,"ratingCounts":50},0,[49,49,49,49,49],{"limit":52,"offset":49,"hasMore":53,"nextOffset":52,"ratedOnly":16},15,false]