【免费下载链接】gsd-coreGit. Ship. Done - Core项目地址https://gitcode.com/gh_mirrors/ge/gsd-core点击查看免费下载导读本篇围绕 gsd-core 中/gsd-capture --seed idea命令的一次关键行为变更展开种子捕获从强制填写 Trigger / Why / Scope 问卷回归为**一键写入one-shot**模式三个元数据字段全部变成带合理默认值的可选输入。读完本文你将理解种子Seed机制的设计动机、一键捕获的完整写入流程与默认值语义、--enrich延迟补全的使用方法以及它在new-milestone扫描中的自动浮出原理从而在自己的 GSD 工作流中做到先捕获、后补全不再被问卷打断思路。一、变更背景changeset 说了什么.changeset/archived/sturdy-sloths-hum.md记录了 PR 3250 的一次修复原文如下/gsd-capture --seed ideais one-shot again— Trigger / Why / Scope are optional inputs with sensible defaults instead of a mandatory pre-capture questionnaire. Users capturing a stream of ideas no longer get blocked between writes.翻译过来就是三条核心事实模式回归/gsd-capture --seed idea重新变为一次写入操作——只要给出一句话的想法idea种子文件会立刻落盘字段可选Trigger触发条件、Why为什么重要、Scope规模估计三个字段不再是写前必填的问卷项而是可选输入并且带有合理默认值体验目标正在连续记录多个想法的用户不再因为必须先答完问卷才能写下一个而在两次写入之间被卡住。这条变更的实质是把捕获与补全两个动作彻底解耦捕获时零摩擦、零阻塞补全放在捕获之后、按需进行。下面我们结合仓库源码看这套机制如何落地。二、命令路由--seed 从哪来、到哪去/gsd-capture是一个多模式路由命令其定义位于 commands/gsd/capture.mdAgent 技能描述位于 skills/gsd-capture/SKILL.md。命令通过解析$ARGUMENTS的第一个 token 决定进入哪个工作流Flag目的地对应工作流无 flag.planning/todos/下的结构化 todoadd-todo--note时间戳笔记文件追加/列出/晋升note--backlogROADMAP.md的 backlog 区段999.x 编号add-backlog--seed.planning/seeds/SEED-YYMMDD-xxx-slug.mdplant-seed--list交互式 todo 浏览 动作路由check-todos--list-seeds只读种子列表/审计可选状态过滤list-seeds也就是说--seed只是把捕获请求转发给plant-seed工作流真正实现一键语义的是该工作流本身。三、一键捕获的实现plant-seed 工作流核心实现在 gsd-core/workflows/plant-seed.md。其 purpose 段落明确写下了与 changeset 一致的设计承诺One-shot capture: the seed file is written immediately from the idea text alone. Trigger / Why / Scope are optional enrichment — they can be provided now or added later. The file is never gated behind questions.即种子文件仅凭想法文本立即写入Trigger / Why / Scope 是可选补全项文件永远不会被问题挡住。整个流程包含parse-idea→create-seed-dir→generate-seed-id→write-seed→collect-breadcrumbs→commit-seed→confirm以及仅在携带--enrich时才会执行的enrich-seed步骤。3.1 只在无任何参数时才提问parse-idea步骤的判定逻辑是若$ARGUMENTS非空且不含--enrich则整个参数串直接作为$IDEA不提问若$ARGUMENTS为空且无 enrich 目标才回退为向用户询问一句话想法IDEAuser response。这正是one-shot again的直接代码体现只要你在命令里带了想法文本流程就不会插入任何前置问卷。3.2 合理的默认值trigger 与 scopewrite-seed步骤在写入时自动填充两个关键默认值trigger_when默认when relevant——种子会在任何一次 new-milestone 扫描中浮出用户之后可通过--enrich收窄若想法文本本身用自然语言写明了触发条件则直接从中提取并覆盖默认值scope默认unknown——后续可用--enrich更新。由此生成的种子文件模板frontmatter 正文骨架如下--- id: {SEED_ID} status: dormant planted: {ISO date} planted_during: {current milestone/phase from STATE.md, or unknown if not in a GSD project} trigger_when: when relevant scope: unknown --- # {SEED_ID}: {$IDEA} ## Why This Matters _To be filled in. Run /gsd:capture --seed --enrich {SEED_ID} to add context._ ## When to Surface **Trigger:** when relevant This seed will surface during /gsd:new-milestone when the milestone scope matches. ## Scope Estimate **Unknown** — run /gsd:capture --seed --enrich {SEED_ID} to estimate effort. ## Breadcrumbs _No breadcrumbs collected yet._ ## Notes _Captured via one-shot seed capture. Enrich with trigger, why, and scope at your convenience._注意模板中的三处自述文件是在一次写入中诞生的Why 与 Scope 均提示用--enrich补全。这就是 changeset 所说sensible defaults的落地形态。3.3 写入即提交一次完成commit-seed步骤在文件写好后立即通过gsd_run query commit docs: plant seed — {$IDEA} --files .planning/seeds/{SEED_ID}-{slug}.md提交到 git随后confirm步骤输出确认信息并明确提示Trigger and scope are set to defaults. Run/gsd:capture --seed --enrich {SEED_ID}to add trigger conditions, rationale, and scope estimate at your convenience. This seed will surface automatically when you run /gsd:new-milestone.即捕获 落盘 提交 确认一步完成后续补全完全自愿。四、捕获之后--enrich 延迟补全一键捕获并不等于放弃元数据。plant-seed.md的enrich-seed步骤只在--enrichflag 出现时运行且会先锚定完整的种子 IDENRICH_MATCH$(echo $ARGUMENTS | grep -oE \-\-enrich[[:space:]]SEED-[0-9](-[a-zA-Z0-9]{3})? | head -1)随后依次收集三个可选字段Trigger开放式提问——这个想法应该在什么时候浮出例如当我们加入用户账号时、下一个大版本、当性能成为优先事项时Why开放式提问——它为什么重要解决什么问题或创造什么机会Scope三档选择题——Small几小时可作为快速任务、Medium一到两个 phase需要规划、Large完整里程碑工作量显著收集完成后更新种子文件 frontmatter 与正文并再次提交。若运行环境不支持AskUserQuestion如 OpenAI Codex、Antigravity 等非 Claude 运行时可通过--text或workflow.text_mode配置切换到纯文本编号选择模式。配套的只读审计命令是/gsd-capture --list-seeds [status]gsd-core/workflows/list-seeds.md它以表格形式展示每个种子的 ID、状态、scope、trigger 与标题支持dormant/active/triggered等状态过滤并可给出按状态的汇总计数——同样绝不修改种子文件。五、种子为什么值得先捕获后补全5.1 种子优于普通延期事项plant-seed.md在开头给出了明确对比种子Seed比延期待办更强因为保留想法的WHY不只是 WHAT定义WHEN浮出触发条件而非人工扫描追踪breadcrumbs代码引用、相关决策在正确的时机通过new-milestone 扫描自动呈现。5.2 捕获后自动浮出的机制种子不是躺在.planning/seeds/里的死文件。new-milestone工作流包含种子扫描步骤2.5当新里程碑的 scope 与种子的trigger_when匹配时种子会自动浮出供规划阶段纳入考虑。tests/seed-scan-new-milestone.test.cjs专门验证了两点new-milestone.md必须包含.planning/seeds/扫描指令且plant-seed.md仍承诺自动浮出。这也解释了为什么trigger_when的默认值要设为when relevant——在未收窄触发条件前种子会参与每一次里程碑规划扫描确保想法不丢失。5.3 种子 ID 生成的可靠性设计一键捕获要求写入路径完全无阻塞因此种子 ID 的生成不能依赖任何跨工作流共享的计数器。generate-seed-id步骤使用本地日期 3 位随机 base36 后缀date %y%m%d拼接LC_ALLC tr -dc a-z0-9 /dev/urandom | head -c 3形如SEED-260926-abc并带有当日重生成守卫find存在性测试与 2 次尝试上限。tests/plant-seed-id.test.cjs从 writer 契约角度固定了这一行为明确断言日期部分来自date %y%m%d、后缀来自 base36 随机、且文件中不得残留计数时代的SEED-{PADDED}占位符——因为工作流 Markdown 本身就是运行时加载的产品文本测试直接断言其内容即测试了部署契约。5.4 一键捕获与并行的关系不依赖共享计数器并非偶然.planning/seeds/目录被多个 worktree 共享但每个 worktree 只能看到已合并的文件若用ls | wc -l计数推导下一个 ID两个并行 workstream 在各自合并前会算出相同 ID随后 git 合并时静默冲突。随机后缀方案让 ID 可在单个 worktree 内独立计算把残余碰撞概率压到同日同后缀的水平约每对 1/46656与.planning/quick/方案接受的边界一致。六、变更对使用方式的影响前后对比维度变更前强制问卷变更后one-shot 默认值捕获动作必须先回答 Trigger / Why / Scope 三问一句想法直接落盘连续记录体验两次写入之间被问卷阻塞连续多条灵感零摩擦写入元数据完备性写时即完整先带默认值--enrich按需补全浮出时机依赖捕获时给定的触发条件默认when relevant参与每次 new-milestone 扫描提交粒度捕获流程结束才提交写盘后立即提交补全单独提交七、实操速查1. 一键捕获推荐日常用法/gsd-capture --seed 支持从外部 tracker 导入 issue 作为里程碑输入效果立即在.planning/seeds/SEED-260926-xxx-xxx.md生成种子文件trigger_when: when relevant、scope: unknown提交到 git输出确认。2. 延迟补全元数据/gsd-capture --seed --enrich SEED-260926-abc效果按 Trigger → Why → Scope 顺序收集信息更新种子文件并再次提交。3. 只读审计种子库/gsd-capture --list-seeds /gsd-capture --list-seeds dormant效果表格列出全部种子或仅dormant状态含状态、scope、trigger 与标题汇总。4. 触发自动浮出在后续任意时刻运行/gsd:new-milestonescope 匹配的种子会自动出现在规划视野中无需人工翻找。八、小结.changeset/archived/sturdy-sloths-hum.md记录的不只是一次命令行为修复而是一整套捕获与补全分离的设计取舍捕获阶段零摩擦、零阻塞靠trigger_when: when relevant与scope: unknown两个合理默认值保证种子立即可用补全阶段通过--enrich按需进行元数据永远可以在方便的时候补齐。配合随机后缀的 ID 生成、list-seeds只读审计与new-milestone自动扫描这套机制让连续记录灵感流成为日常操作也让每个被记录的想法拥有明确的意义与浮出时机。如果想深入验证本文描述的实现细节可直接阅读 gsd-core/workflows/plant-seed.md、gsd-core/workflows/list-seeds.md以及 tests/plant-seed-id.test.cjs 与 tests/seed-scan-new-milestone.test.cjs 两处契约测试命令的路由全貌见 commands/gsd/capture.md。赞分享【免费下载链接】gsd-coreGit. Ship. Done - Core项目地址https://gitcode.com/gh_mirrors/ge/gsd-core点击查看免费下载相关推荐gsd-core 修复 3135/gsd-capture --backlog 路由与 add-backlog 工作流的完整实现gsd core 修复 3135 /gsd capture backlog 路由与 add backlog 工作流的完整实现 导读 /gsd capturegsd-core Graphify 自动更新钩子修复让 gsd-tools query commit 触发的每次提交都能被 PostToolUse 钩子识别gsd core Graphify 自动更新钩子修复让 gsd tools query commit 触发的每次提交都能被 PostToolUse 钩子识别Skills灵感流水线Daily UI Inspiration Capture每日UI灵感自动捕获工作流详解Skills灵感流水线Daily UI Inspiration Capture每日UI灵感自动捕获工作流详解 在 Skills 项目中 Daily UI I上一篇cosign bundle create 实战指南用 Sigstore Protobuf Bundle 打包签名与透明度日志证据下一篇打造本地语音助手Piper TTS如何用40语言彻底改变离线语音合成创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考