
Concept:【免费下载链接】spec-kit Toolkit to help you get started with Spec-Driven Development项目地址: https://gitcode.com/GitHub_Trending/sp/spec-kitSlug: ASSESS_SLUGCreated: ISO 8601 dateRecommended option: | noneOptionsOption A —Sketch:Appetite: small | medium | largeTrade-offs: wins vs. sacrifices, risksRabbit holes:Option B —...Option C — (optional)...RecommendationWhich option, and why — tied to goals and success metrics. Or: recommend not proceeding, with reason.Out of Scope (for the recommended option)Assumptions to Validate字段解读 - Recommended option 允许取 none——“推荐没有任何选项值得做”是合法结论 - Appetite 三档是刻意粗糙的量级它回答“预算级别”而非工期承诺这与 guardrail “Never invent an appetite the evidence cannot support — mark uncertainty plainly”不要编造证据不支持的 appetite不确定就明说配套 - Out of Scope 是**针对被推荐选项**的排除清单它会被下游 speckit.assess.decide 的 go 交接handoff中的 in/out of scope 摘要直接引用 - Assumptions to Validate 让假设显式化、可追踪避免它们无声地进入规格。 写完后的回报Report back要求slug独占一行、concept.md 路径、推荐选项或 none以及下一步命令 speckit.assess.decide slugASSESS_SLUG。 ## 占位符如何在源码层面解析 shape 命令文本中的 __SPECKIT_COMMAND_SPECIFY__、__SPECKIT_COMMAND_ASSESS_DECIDE__ 等不是死文本。从源码结构看扩展安装/注册命令时[扩展管理器](https://link.gitcode.com/i/43561df67bb85372a0fd0c9b32d5714a) 中的 _resolve_command_ref_tokens 用正则 __SPECKIT_COMMAND_([A-Z][A-Z0-9_]*)__ 匹配这些 token并按当前 agent 的调用风格invoke style替换为真实调用串 python def _replacement(match: re.Match[str]) - str: command_name speckit. match.group(1).lower().replace(_, .) if is_dollar_skills_agent(selected_ai, ai_skills_enabled): return $ command_name.replace(speckit., speckit-).replace(., -) if is_slash_skills_agent(selected_ai, ai_skills_enabled): return / command_name.replace(speckit., speckit-).replace(., -) ... return re.sub( r__SPECKIT_COMMAND_([A-Z][A-Z0-9_]*)__, _replacement, body )也就是说同一份命令源文件在安装到 Claude Code、Copilot 等不同 agent 后占位符会被渲染为各自的/speckit-assess-decide、$speckit-...或集成器自定义调用形式——这就是命令文件可以保持 agent 无关写法的原因。同段代码还包含安装期防护对manifest.commands中每个file相对路径做绝对路径拒绝与relative_to(ext_root)校验阻止扩展清单把命令文件指向扩展目录之外扩展管理器。安装、注册与测试保障安装 assess 只需一条命令见 READMEspecify extension add assess禁用/启用specify extension disable assess specify extension enable assess捆绑布局与行为由 test_assess_extension.py 锁定其中与 shape 直接相关的断言包括extension.yml的五个命令名集合必须精确等于{speckit.assess.intake, speckit.assess.research, speckit.assess.define, speckit.assess.shape, speckit.assess.decide}shape 的描述字符串也来自 extension.yml 的provides.commandsassess 不得注册任何 lifecycle hookstest_declares_no_hooks——这是“assess 是独立流水线、绝不插入/speckit.specify”这一设计约束的机械化验证唯一的耦合是 decide 的 go 判定向前交接目录位于extensions/catalog.json中且bundled: true可通过_locate_bundled_extension(assess)从 wheel 或源码检出中定位ExtensionManager.install_from_directory安装后.specify/extensions/assess/commands/下五个命令文件含speckit.assess.shape.md全部就位且安装清单暴露的命令名与期望集合一致。完整实战流程中的 shape结合 README 的 Typical Flowshape 在整条流水线的用法为# 1. 捕获一个想法粘贴文本、URL或 assess this repo /speckit.assess.intake Let users work offline and sync when they reconnect slugoffline-mode # 2. 收集证据——包括它可能不值得做的理由 /speckit.assess.research slugoffline-mode # 3. 定义真正的问题 /speckit.assess.define slugoffline-mode # 4. 塑造 2–3 个带 appetite 的概念选项 /speckit.assess.shape slugoffline-mode # 5. 决策——go、clarify或 kill /speckit.assess.decide slugoffline-mode # → 若 go将 decision.md 的交接摘要交给 /speckit.specify【免费下载链接】spec-kit Toolkit to help you get started with Spec-Driven Development项目地址: https://gitcode.com/GitHub_Trending/sp/spec-kit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考