关于 design-to-issues
用于将设计文档中的用户故事同步到 GitHub Issues 的技能。它会校验故事契约、创建或更新受管理的 Issue,并核对内容与状态是否符合设计。
主要功能
- 01校验设计与故事契约
- 02将故事匹配到规范 Issue
- 03创建和更新 GitHub Issues
- 04契约变更时重新开启 Issue
- 05核验 Issue 内容与状态
适用场景
- 01将修订后的设计故事转为 Issue
- 02故事需求变化后更新 Issue
- 03检查 Issue 依赖和里程碑
- 04识别需要决策的已删除故事
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ eho/ agent-skills --skill design-to-issues安装后在 Claude Code 中输入/design-to-issues确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
scripts/create_issue.shcreate_milestone.shrender_issue_body.pystory_contract.pytests/create_milestone_test.shrender_issue_body_test.pystory_contract_test.py详细介绍
从设计到 Issues
将当前用户故事同步到 GitHub。设计文档定义预期范围;GitHub Issues 用于跟踪交付进度。
前提条件
- 阅读仓库说明和完整设计文档。
- 要求提供精确的设计路径。
- 正常同步要求
Status: Revised,这表示最新一次独立评审没有阻塞项,且机械验证已通过。用户可以明确覆盖语义评审风险,但交付模式下的机械验证仍必须通过。 - 使用已通过身份验证的 GitHub CLI,并遵循仓库策略。
规范身份标识
通过相对于仓库的设计路径和故事 ID,识别受管理的 issue:
在交付模式下解析并运行 scripts/story_contract.py,以验证状态、故事结构、稳定 ID 和依赖关系。将其规范化的故事源用作受管理 issue 的契约。该脚本生成的哈希可用于比较内容,但 GitHub 进度无需单独的跟踪系统。
每个故事都是规范内容,必须包含所有影响其实现的共享架构、数据、安全、迁移、兼容性或推出要求。此类要求发生变化时,请更新所有受影响的故事;已更改的故事正文会导致已完成的工作重新开启。
搜索打开和已关闭的 issues,查找精确的标记对。只有在查找旧版候选项时才使用精确的故事 ID 标题;只有当设计路径、内容和历史记录能明确匹配时才采用。发现重复候选项时停止。
同步
-
运行:
python3 /absolute/path/to/scripts/story_contract.py \ <design-doc> --repo-root <repository-root> --mode delivery \ --include-source \ > <temporary-manifest.json> -
确定仓库、默认分支、里程碑、标签和稳定的设计 URL。
-
在进行任何更改之前,构建完整的当前 issue 映射。
-
创建或复用里程碑。未经用户或仓库策略授权,不要重新打开已关闭的里程碑。
-
为所有缺失的故事 issue 创建条目。使用附带的渲染器,确保 issue 正文包含精确的规范化故事源和规范依赖链接。
-
当受管理的故事正文、标题、依赖关系、标签或里程碑不同时,直接更新现有 issue。
-
当故事契约发生变化时,重新打开已完成的 issue。未更改的已完成 issue 保持关闭。
-
重新读取每个规范 issue,并验证其标记、受管理正文、依赖关系、标签、里程碑和状态。
不要静默关闭设计中已移除的故事。报告这些故事现有的 issues,并询问应将其移除、推迟还是恢复。将用户的决定保存到 issue 上,以便后续运行无需再次询问。
受管理的 issue 正文
## Managed Story Contract
<exact normalized story source>
## Canonical Dependencies
<canonical numbered issue references or None>
## Design Doc
[View in Design Doc](<repository blob URL>)
清单哈希可用于协助同步比较内容,但使用方应依赖规范 issue 正文和 GitHub 当前状态,而不是复现哈希转换规则。
结果
- Design:
- Milestone:
- Issues created:
- Issues updated:
- Changed completed issues reopened:
- Unchanged completed issues:
- Removed-story issues requiring a decision:
- Blocker:
脚本
scripts/create_issue.shscripts/create_milestone.shscripts/story_contract.pyscripts/render_issue_body.py
相对于此技能解析脚本。多行正文请使用临时文件,并保留仓库中无关的更改。