{"id":"45f0d9b6-1c9b-4cfd-a9fd-05f134d11878","shortId":"fP2wAP","kind":"skill","title":"speckit-clarify","tagline":"Identify underspecified areas in the current feature spec by asking up to 5 highly targeted clarification questions and encoding answers back into the spec.","description":"# Spec Kit Clarify Skill\n\n## When to Use\n\n- The feature spec exists but needs targeted clarification before planning.\n\n## Inputs\n\n- The current feature spec in `specs/<feature>/spec.md`.\n- The user's clarification intent or constraints from the request.\n\nIf the request is empty or the spec is missing, ask a targeted question before proceeding.\n\n## Workflow\n\nGoal: Detect and reduce ambiguity or missing decision points in the active feature specification and record the clarifications directly in the spec file.\n\nNote: This clarification workflow is expected to run (and be completed) BEFORE the speckit-plan skill. If the user explicitly states they are skipping clarification (e.g., exploratory spike), you may proceed, but must warn that downstream rework risk increases.\n\nExecution steps:\n\n1. Run `.specify/scripts/bash/check-prerequisites.sh --json --paths-only` from repo root **once** (combined `--json --paths-only` mode / `-Json -PathsOnly`). Parse minimal JSON payload fields:\n   - `FEATURE_DIR`\n   - `FEATURE_SPEC`\n   - (Optionally capture `IMPL_PLAN`, `TASKS` for future chained flows.)\n   - If JSON parsing fails, abort and instruct the user to re-run speckit-specify or verify the feature branch environment.\n   - For single quotes in args like \"I'm Groot\", use escape syntax: e.g 'I'\\''m Groot' (or double-quote if possible: \"I'm Groot\").\n\n2. Load the current spec file. Perform a structured ambiguity & coverage scan using this taxonomy. For each category, mark status: Clear / Partial / Missing. Produce an internal coverage map used for prioritization (do not output raw map unless no questions will be asked).\n\n   Functional Scope & Behavior:\n   - Core user goals & success criteria\n   - Explicit out-of-scope declarations\n   - User roles / personas differentiation\n\n   Domain & Data Model:\n   - Entities, attributes, relationships\n   - Identity & uniqueness rules\n   - Lifecycle/state transitions\n   - Data volume / scale assumptions\n\n   Interaction & UX Flow:\n   - Critical user journeys / sequences\n   - Error/empty/loading states\n   - Accessibility or localization notes\n\n   Non-Functional Quality Attributes:\n   - Performance (latency, throughput targets)\n   - Scalability (horizontal/vertical, limits)\n   - Reliability & availability (uptime, recovery expectations)\n   - Observability (logging, metrics, tracing signals)\n   - Security & privacy (authN/Z, data protection, threat assumptions)\n   - Compliance / regulatory constraints (if any)\n\n   Integration & External Dependencies:\n   - External services/APIs and failure modes\n   - Data import/export formats\n   - Protocol/versioning assumptions\n\n   Edge Cases & Failure Handling:\n   - Negative scenarios\n   - Rate limiting / throttling\n   - Conflict resolution (e.g., concurrent edits)\n\n   Constraints & Tradeoffs:\n   - Technical constraints (language, storage, hosting)\n   - Explicit tradeoffs or rejected alternatives\n\n   Terminology & Consistency:\n   - Canonical glossary terms\n   - Avoided synonyms / deprecated terms\n\n   Completion Signals:\n   - Acceptance criteria testability\n   - Measurable Definition of Done style indicators\n\n   Misc / Placeholders:\n   - TODO markers / unresolved decisions\n   - Ambiguous adjectives (\"robust\", \"intuitive\") lacking quantification\n\n   For each category with Partial or Missing status, add a candidate question opportunity unless:\n   - Clarification would not materially change implementation or validation strategy\n   - Information is better deferred to planning phase (note internally)\n\n3. Generate (internally) a prioritized queue of candidate clarification questions (maximum 5). Do NOT output them all at once. Apply these constraints:\n   - Maximum of 10 total questions across the whole session.\n   - Each question must be answerable with EITHER:\n     - A short multiple‑choice selection (2–5 distinct, mutually exclusive options), OR\n     - A one-word / short‑phrase answer (explicitly constrain: \"Answer in <=5 words\").\n   - Only include questions whose answers materially impact architecture, data modeling, task decomposition, test design, UX behavior, operational readiness, or compliance validation.\n   - Ensure category coverage balance: attempt to cover the highest impact unresolved categories first; avoid asking two low-impact questions when a single high-impact area (e.g., security posture) is unresolved.\n   - Exclude questions already answered, trivial stylistic preferences, or plan-level execution details (unless blocking correctness).\n   - Favor clarifications that reduce downstream rework risk or prevent misaligned acceptance tests.\n   - If more than 5 categories remain unresolved, select the top 5 by (Impact \\* Uncertainty) heuristic.\n\n4. Sequential questioning loop (interactive):\n   - Present EXACTLY ONE question at a time.\n   - For multiple‑choice questions:\n     - **Analyze all options** and determine the **most suitable option** based on:\n       - Best practices for the project type\n       - Common patterns in similar implementations\n       - Risk reduction (security, performance, maintainability)\n       - Alignment with any explicit project goals or constraints visible in the spec\n     - Present your **recommended option prominently** at the top with clear reasoning (1-2 sentences explaining why this is the best choice).\n     - Format as: `**Recommended:** Option [X] - <reasoning>`\n     - Then render all options as a Markdown table:\n\n     | Option | Description                                                                                         |\n     | ------ | --------------------------------------------------------------------------------------------------- |\n     | A      | <Option A description>                                                                              |\n     | B      | <Option B description>                                                                              |\n     | C      | <Option C description> (add D/E as needed up to 5)                                                  |\n     | Short  | Provide a different short answer (<=5 words) (Include only if free-form alternative is appropriate) |\n     - After the table, add: `You can reply with the option letter (e.g., \"A\"), accept the recommendation by saying \"yes\" or \"recommended\", or provide your own short answer.`\n\n   - For short‑answer style (no meaningful discrete options):\n     - Provide your **suggested answer** based on best practices and context.\n     - Format as: `**Suggested:** <your proposed answer> - <brief reasoning>`\n     - Then output: `Format: Short answer (<=5 words). You can accept the suggestion by saying \"yes\" or \"suggested\", or provide your own answer.`\n   - After the user answers:\n     - If the user replies with \"yes\", \"recommended\", or \"suggested\", use your previously stated recommendation/suggestion as the answer.\n     - Otherwise, validate the answer maps to one option or fits the <=5 word constraint.\n     - If ambiguous, ask for a quick disambiguation (count still belongs to same question; do not advance).\n     - Once satisfactory, record it in working memory (do not yet write to disk) and move to the next queued question.\n   - Stop asking further questions when:\n     - All critical ambiguities resolved early (remaining queued items become unnecessary), OR\n     - User signals completion (\"done\", \"good\", \"no more\"), OR\n     - You reach 5 asked questions.\n   - Never reveal future queued questions in advance.\n   - If no valid questions exist at start, immediately report no critical ambiguities.\n\n5. Integration after EACH accepted answer (incremental update approach):\n   - Maintain in-memory representation of the spec (loaded once at start) plus the raw file contents.\n   - For the first integrated answer in this session:\n     - Ensure a `## Clarifications` section exists (create it just after the highest-level contextual/overview section per the spec template if missing).\n     - Under it, create (if not present) a `### Session YYYY-MM-DD` subheading for today.\n   - Append a bullet line immediately after acceptance: `- Q: <question> → A: <final answer>`.\n   - Then immediately apply the clarification to the most appropriate section(s):\n     - Functional ambiguity → Update or add a bullet in Functional Requirements.\n     - User interaction / actor distinction → Update User Stories or Actors subsection (if present) with clarified role, constraint, or scenario.\n     - Data shape / entities → Update Data Model (add fields, types, relationships) preserving ordering; note added constraints succinctly.\n     - Non-functional constraint → Add/modify measurable criteria in Non-Functional / Quality Attributes section (convert vague adjective to metric or explicit target).\n     - Edge case / negative flow → Add a new bullet under Edge Cases / Error Handling (or create such subsection if template provides placeholder for it).\n     - Terminology conflict → Normalize term across spec; retain original only if necessary by adding `(formerly referred to as \"X\")` once.\n   - If the clarification invalidates an earlier ambiguous statement, replace that statement instead of duplicating; leave no obsolete contradictory text.\n   - Save the spec file AFTER each integration to minimize risk of context loss (atomic overwrite).\n   - Preserve formatting: do not reorder unrelated sections; keep heading hierarchy intact.\n   - Keep each inserted clarification minimal and testable (avoid narrative drift).\n\n6. Validation (performed after EACH write plus final pass):\n   - Clarifications session contains exactly one bullet per accepted answer (no duplicates).\n   - Total asked (accepted) questions ≤ 5.\n   - Updated sections contain no lingering vague placeholders the new answer was meant to resolve.\n   - No contradictory earlier statement remains (scan for now-invalid alternative choices removed).\n   - Markdown structure valid; only allowed new headings: `## Clarifications`, `### Session YYYY-MM-DD`.\n   - Terminology consistency: same canonical term used across all updated sections.\n\n7. Write the updated spec back to `FEATURE_SPEC`.\n\n8. Report completion (after questioning loop ends or early termination):\n   - Number of questions asked & answered.\n   - Path to updated spec.\n   - Sections touched (list names).\n   - Coverage summary table listing each taxonomy category with Status: Resolved (was Partial/Missing and addressed), Deferred (exceeds question quota or better suited for planning), Clear (already sufficient), Outstanding (still Partial/Missing but low impact).\n   - If any Outstanding or Deferred remain, recommend whether to proceed to speckit-plan or run speckit-clarify again later post-plan.\n   - Suggested next step.\n\nBehavior rules:\n\n- If no meaningful ambiguities found (or all potential questions would be low-impact), respond: \"No critical ambiguities detected worth formal clarification.\" and suggest proceeding.\n- If spec file missing, instruct the user to run speckit-specify first (do not create a new spec here).\n- Never exceed 5 total asked questions (clarification retries for a single question do not count as new questions).\n- Avoid speculative tech stack questions unless the absence blocks functional clarity.\n- Respect user early termination signals (\"stop\", \"done\", \"proceed\").\n- If no questions asked due to full coverage, output a compact coverage summary (all categories Clear) then suggest advancing.\n- If quota reached with unresolved high-impact categories remaining, explicitly flag them under Deferred with rationale.\n\nContext for prioritization: the user's request and any stated constraints\n\n## Outputs\n\n- Updated `specs/<feature>/spec.md` with clarifications appended and integrated\n\n## Next Steps\n\nAfter clarifications are resolved:\n\n- **Plan** implementation with speckit-plan.","tags":["speckit","clarify","agent","skills","dceoy","agent-skills","ai-agents","ai-coding","claude-code","codex-cli","developer-tools","gemini-cli"],"capabilities":["skill","source-dceoy","skill-speckit-clarify","topic-agent-skills","topic-ai-agents","topic-ai-coding","topic-claude-code","topic-codex-cli","topic-developer-tools","topic-gemini-cli","topic-github-copilot","topic-spec-kit","topic-specifications","topic-workflow-automation"],"categories":["speckit-agent-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/dceoy/speckit-agent-skills/speckit-clarify","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add dceoy/speckit-agent-skills","source_repo":"https://github.com/dceoy/speckit-agent-skills","install_from":"skills.sh"}},"qualityScore":"0.488","qualityRationale":"deterministic score 0.49 from registry signals: · indexed on github topic:agent-skills · 76 github stars · SKILL.md body (11,757 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-02T06:55:43.320Z","embedding":null,"createdAt":"2026-04-18T22:13:42.666Z","updatedAt":"2026-05-02T06:55:43.320Z","lastSeenAt":"2026-05-02T06:55:43.320Z","tsv":"'-2':680 '/spec.md':52,1473 '1':145,679 '10':478 '2':229,497 '3':454 '4':613 '5':16,465,498,515,601,608,713,720,784,833,898,920,1197,1388 '6':1173 '7':1248 '8':1257 'abort':186 'absenc':1411 'accept':401,596,744,788,924,996,1189,1195 'access':313 'across':481,1103,1244 'activ':91 'actor':1022,1028 'ad':1051,1111 'add':430,707,734,1014,1044,1080 'add/modify':1058 'address':1293 'adject':417,1070 'advanc':851,907,1441 'align':656 'allow':1229 'alreadi':572,1304 'altern':389,728,1222 'ambigu':84,238,416,837,879,919,1011,1124,1344,1358 'analyz':629 'answer':23,489,510,513,521,573,719,757,760,769,783,800,804,821,825,925,950,1190,1207,1271 'append':990,1476 'appli':473,1001 'approach':928 'appropri':730,1007 'architectur':524 'area':6,564 'arg':208 'ask':13,73,270,552,838,873,899,1194,1270,1390,1426 'assumpt':303,345,363 'atom':1150 'attempt':542 'attribut':293,321,1066 'authn/z':341 'avail':330 'avoid':395,551,1170,1404 'b':705 'back':24,1253 'balanc':541 'base':638,770 'becom':885 'behavior':273,532,1339 'belong':845 'best':640,687,772 'better':447,1299 'block':584,1412 'branch':202 'bullet':992,1016,1083,1187 'c':706 'candid':432,461 'canon':392,1241 'captur':174 'case':365,1077,1086 'categori':246,424,539,549,602,1286,1437,1450 'chain':180 'chang':440 'choic':495,627,688,1223 'clarif':19,42,56,97,105,128,436,462,587,956,1003,1120,1166,1182,1232,1362,1392,1475,1482 'clarifi':3,30,1033,1330 'clariti':1414 'clear':249,677,1303,1438 'combin':156 'common':646 'compact':1433 'complet':113,399,890,1259 'complianc':346,536 'concurr':376 'conflict':373,1100 'consist':391,1239 'constrain':512 'constraint':59,348,378,381,475,663,835,1035,1052,1057,1469 'contain':1184,1200 'content':945 'context':775,1148,1459 'contextual/overview':967 'contradictori':1135,1213 'convert':1068 'core':274 'correct':585 'count':843,1400 'cover':544 'coverag':239,255,540,1280,1430,1434 'creat':959,977,1090,1381 'criteria':278,402,1060 'critic':307,878,918,1357 'current':9,47,232 'd/e':708 'data':290,300,342,359,525,1038,1042 'dd':986,1237 'decis':87,415 'declar':284 'decomposit':528 'defer':448,1294,1316,1456 'definit':405 'depend':353 'deprec':397 'descript':703 'design':530 'detail':582 'detect':81,1359 'determin':633 'differ':717 'differenti':288 'dir':170 'direct':98 'disambigu':842 'discret':764 'disk':864 'distinct':499,1023 'domain':289 'done':407,891,1421 'doubl':222 'double-quot':221 'downstream':139,590 'drift':1172 'due':1427 'duplic':1131,1192 'e.g':129,216,375,565,742 'earli':881,1265,1417 'earlier':1123,1214 'edg':364,1076,1085 'edit':377 'either':491 'empti':67 'encod':22 'end':1263 'ensur':538,954 'entiti':292,1040 'environ':203 'error':1087 'error/empty/loading':311 'escap':214 'exact':619,1185 'exceed':1295,1387 'exclud':570 'exclus':501 'execut':143,581 'exist':38,912,958 'expect':108,333 'explain':682 'explicit':123,279,385,511,659,1074,1452 'exploratori':130 'extern':352,354 'fail':185 'failur':357,366 'favor':586 'featur':10,36,48,92,169,171,201,1255 'field':168,1045 'file':102,234,944,1140,1368 'final':1180 'first':550,948,1378 'fit':831 'flag':1453 'flow':181,306,1079 'form':727 'formal':1361 'format':361,689,776,781,1153 'former':1112 'found':1345 'free':726 'free-form':725 'full':1429 'function':271,319,1010,1018,1056,1064,1413 'futur':179,903 'generat':455 'glossari':393 'goal':80,276,661 'good':892 'groot':212,219,228 'handl':367,1088 'head':1160,1231 'heurist':612 'hierarchi':1161 'high':17,562,1448 'high-impact':561,1447 'highest':546,965 'highest-level':964 'horizontal/vertical':327 'host':384 'ident':295 'identifi':4 'immedi':915,994,1000 'impact':523,547,556,563,610,1311,1354,1449 'impl':175 'implement':441,650,1486 'import/export':360 'in-memori':930 'includ':518,722 'increas':142 'increment':926 'indic':409 'inform':445 'input':45 'insert':1165 'instead':1129 'instruct':188,1370 'intact':1162 'integr':351,921,949,1143,1478 'intent':57 'interact':304,617,1021 'intern':254,453,456 'intuit':419 'invalid':1121,1221 'item':884 'journey':309 'json':148,157,162,166,183 'keep':1159,1163 'kit':29 'lack':420 'languag':382 'latenc':323 'later':1332 'leav':1132 'letter':741 'level':580,966 'lifecycle/state':298 'like':209 'limit':328,371 'line':993 'linger':1202 'list':1278,1283 'load':230,937 'local':315 'log':335 'loop':616,1262 'loss':1149 'low':555,1310,1353 'low-impact':554,1352 'm':211,218,227 'maintain':655,929 'map':256,264,826 'mark':247 'markdown':700,1225 'marker':413 'materi':439,522 'maximum':464,476 'may':133 'meaning':763,1343 'meant':1209 'measur':404,1059 'memori':858,932 'metric':336,1072 'minim':165,1145,1167 'misalign':595 'misc':410 'miss':72,86,251,428,974,1369 'mm':985,1236 'mode':161,358 'model':291,526,1043 'move':866 'multipl':494,626 'must':136,487 'mutual':500 'name':1279 'narrat':1171 'necessari':1109 'need':40,710 'negat':368,1078 'never':901,1386 'new':1082,1206,1230,1383,1402 'next':869,1337,1479 'non':318,1055,1063 'non-funct':317,1054,1062 'normal':1101 'note':103,316,452,1050 'now-invalid':1219 'number':1267 'observ':334 'obsolet':1134 'one':506,620,828,1186 'one-word':505 'oper':533 'opportun':434 'option':173,502,631,637,671,692,697,702,740,765,829 'order':1049 'origin':1106 'otherwis':822 'out-of-scop':280 'output':262,468,780,1431,1470 'outstand':1306,1314 'overwrit':1151 'pars':164,184 'partial':250,426 'partial/missing':1291,1308 'pass':1181 'path':150,159,1272 'paths-on':149,158 'pathson':163 'pattern':647 'payload':167 'per':969,1188 'perform':235,322,654,1175 'persona':287 'phase':451 'phrase':509 'placehold':411,1096,1204 'plan':44,118,176,450,579,1302,1325,1335,1485,1490 'plan-level':578 'plus':941,1179 'point':88 'possibl':225 'post':1334 'post-plan':1333 'postur':567 'potenti':1348 'practic':641,773 'prefer':576 'present':618,668,980,1031 'preserv':1048,1152 'prevent':594 'previous':816 'priorit':259,458,1461 'privaci':340 'proceed':78,134,1321,1365,1422 'produc':252 'project':644,660 'promin':672 'protect':343 'protocol/versioning':362 'provid':715,753,766,797,1095 'q':997 'qualiti':320,1065 'quantif':421 'question':20,76,267,433,463,480,486,519,557,571,615,621,628,848,871,875,900,905,911,1196,1261,1269,1296,1349,1391,1397,1403,1408,1425 'queu':870,883,904 'queue':459 'quick':841 'quot':206,223 'quota':1297,1443 'rate':370 'rational':1458 'raw':263,943 're':193 're-run':192 'reach':897,1444 'readi':534 'reason':678 'recommend':670,691,746,751,811,1318 'recommendation/suggestion':818 'record':95,854 'recoveri':332 'reduc':83,589 'reduct':652 'refer':1113 'regulatori':347 'reject':388 'relationship':294,1047 'reliabl':329 'remain':603,882,1216,1317,1451 'remov':1224 'render':695 'reorder':1156 'replac':1126 'repli':737,808 'repo':153 'report':916,1258 'represent':933 'request':62,65,1465 'requir':1019 'resolut':374 'resolv':880,1211,1289,1484 'respect':1415 'respond':1355 'retain':1105 'retri':1393 'reveal':902 'rework':140,591 'risk':141,592,651,1146 'robust':418 'role':286,1034 'root':154 'rule':297,1340 'run':110,146,194,1327,1374 'satisfactori':853 'save':1137 'say':748,792 'scalabl':326 'scale':302 'scan':240,1217 'scenario':369,1037 'scope':272,283 'section':957,968,1008,1067,1158,1199,1247,1276 'secur':339,566,653 'select':496,605 'sentenc':681 'sequenc':310 'sequenti':614 'services/apis':355 'session':484,953,982,1183,1233 'shape':1039 'short':493,508,714,718,756,759,782 'signal':338,400,889,1419 'similar':649 'singl':205,560,1396 'skill':31,119 'skill-speckit-clarify' 'skip':127 'source-dceoy' 'spec':11,27,28,37,49,51,70,101,172,233,667,936,971,1104,1139,1252,1256,1275,1367,1384,1472 'specif':93 'specifi':197,1377 'specify/scripts/bash/check-prerequisites.sh':147 'speckit':2,117,196,1324,1329,1376,1489 'speckit-clarifi':1,1328 'speckit-plan':116,1323,1488 'speckit-specifi':195,1375 'specul':1405 'spike':131 'stack':1407 'start':914,940 'state':124,312,817,1468 'statement':1125,1128,1215 'status':248,429,1288 'step':144,1338,1480 'still':844,1307 'stop':872,1420 'storag':383 'stori':1026 'strategi':444 'structur':237,1226 'style':408,761 'stylist':575 'subhead':987 'subsect':1029,1092 'success':277 'succinct':1053 'suffici':1305 'suggest':768,778,790,795,813,1336,1364,1440 'suit':1300 'suitabl':636 'summari':1281,1435 'synonym':396 'syntax':215 'tabl':701,733,1282 'target':18,41,75,325,1075 'task':177,527 'taxonomi':243,1285 'tech':1406 'technic':380 'templat':972,1094 'term':394,398,1102,1242 'termin':1266,1418 'terminolog':390,1099,1238 'test':529,597 'testabl':403,1169 'text':1136 'threat':344 'throttl':372 'throughput':324 'time':624 'today':989 'todo':412 'top':607,675 'topic-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-claude-code' 'topic-codex-cli' 'topic-developer-tools' 'topic-gemini-cli' 'topic-github-copilot' 'topic-spec-kit' 'topic-specifications' 'topic-workflow-automation' 'total':479,1193,1389 'touch':1277 'trace':337 'tradeoff':379,386 'transit':299 'trivial':574 'two':553 'type':645,1046 'uncertainti':611 'underspecifi':5 'uniqu':296 'unless':265,435,583,1409 'unnecessari':886 'unrel':1157 'unresolv':414,548,569,604,1446 'updat':927,1012,1024,1041,1198,1246,1251,1274,1471 'uptim':331 'use':34,213,241,257,814,1243 'user':54,122,190,275,285,308,803,807,888,1020,1025,1372,1416,1463 'ux':305,531 'vagu':1069,1203 'valid':443,537,823,910,1174,1227 'verifi':199 'visibl':664 'volum':301 'warn':137 'whether':1319 'whole':483 'whose':520 'word':507,516,721,785,834 'work':857 'workflow':79,106 'worth':1360 'would':437,1350 'write':862,1178,1249 'x':693,1116 'yes':749,793,810 'yet':861 'yyyi':984,1235 'yyyy-mm-dd':983,1234","prices":[{"id":"4fc0660f-6743-4ddd-8bd1-58edbb8a7ffd","listingId":"45f0d9b6-1c9b-4cfd-a9fd-05f134d11878","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"dceoy","category":"speckit-agent-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T22:13:42.666Z"}],"sources":[{"listingId":"45f0d9b6-1c9b-4cfd-a9fd-05f134d11878","source":"github","sourceId":"dceoy/speckit-agent-skills/speckit-clarify","sourceUrl":"https://github.com/dceoy/speckit-agent-skills/tree/main/skills/speckit-clarify","isPrimary":false,"firstSeenAt":"2026-04-18T22:13:42.666Z","lastSeenAt":"2026-05-02T06:55:43.320Z"}],"details":{"listingId":"45f0d9b6-1c9b-4cfd-a9fd-05f134d11878","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"dceoy","slug":"speckit-clarify","github":{"repo":"dceoy/speckit-agent-skills","stars":76,"topics":["agent-skills","ai-agents","ai-coding","claude-code","codex-cli","developer-tools","gemini-cli","github-copilot","spec-kit","specifications","workflow-automation"],"license":"agpl-3.0","html_url":"https://github.com/dceoy/speckit-agent-skills","pushed_at":"2026-03-14T17:14:42Z","description":"Agent skills for Spec Kit","skill_md_sha":"3902566ade84ee8abaee7d5aa3beaf34b1fa3872","skill_md_path":"skills/speckit-clarify/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/dceoy/speckit-agent-skills/tree/main/skills/speckit-clarify"},"layout":"multi","source":"github","category":"speckit-agent-skills","frontmatter":{"name":"speckit-clarify","description":"Identify underspecified areas in the current feature spec by asking up to 5 highly targeted clarification questions and encoding answers back into the spec."},"skills_sh_url":"https://skills.sh/dceoy/speckit-agent-skills/speckit-clarify"},"updatedAt":"2026-05-02T06:55:43.320Z"}}