mcpField
D
design-to-issues

design-to-issues

github.com/eho开发139 次安装9 周前更新
代码仓库

关于 design-to-issues

用于将设计文档中的用户故事同步到 GitHub Issues 的技能。它会校验故事契约、创建或更新受管理的 Issue,并核对内容与状态是否符合设计。

主要功能

  1. 01校验设计与故事契约
  2. 02将故事匹配到规范 Issue
  3. 03创建和更新 GitHub Issues
  4. 04契约变更时重新开启 Issue
  5. 05核验 Issue 内容与状态

适用场景

  1. 01将修订后的设计故事转为 Issue
  2. 02故事需求变化后更新 Issue
  3. 03检查 Issue 依赖和里程碑
  4. 04识别需要决策的已删除故事

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/eho/agent-skills --skill design-to-issues

安装后在 Claude Code 中输入/design-to-issues确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

scripts/
create_issue.sh
create_milestone.sh
render_issue_body.py
story_contract.py
tests/
create_milestone_test.sh
render_issue_body_test.py
story_contract_test.py

详细介绍

从设计到 Issues

将当前用户故事同步到 GitHub。设计文档定义预期范围;GitHub Issues 用于跟踪交付进度。

前提条件

  • 阅读仓库说明和完整设计文档。
  • 要求提供精确的设计路径。
  • 正常同步要求 Status: Revised,这表示最新一次独立评审没有阻塞项,且机械验证已通过。用户可以明确覆盖语义评审风险,但交付模式下的机械验证仍必须通过。
  • 使用已通过身份验证的 GitHub CLI,并遵循仓库策略。

规范身份标识

通过相对于仓库的设计路径和故事 ID,识别受管理的 issue:



在交付模式下解析并运行 scripts/story_contract.py,以验证状态、故事结构、稳定 ID 和依赖关系。将其规范化的故事源用作受管理 issue 的契约。该脚本生成的哈希可用于比较内容,但 GitHub 进度无需单独的跟踪系统。

每个故事都是规范内容,必须包含所有影响其实现的共享架构、数据、安全、迁移、兼容性或推出要求。此类要求发生变化时,请更新所有受影响的故事;已更改的故事正文会导致已完成的工作重新开启。

搜索打开和已关闭的 issues,查找精确的标记对。只有在查找旧版候选项时才使用精确的故事 ID 标题;只有当设计路径、内容和历史记录能明确匹配时才采用。发现重复候选项时停止。

同步

  1. 运行:

    python3 /absolute/path/to/scripts/story_contract.py \
      <design-doc> --repo-root <repository-root> --mode delivery \
      --include-source \
      > <temporary-manifest.json>
    
  2. 确定仓库、默认分支、里程碑、标签和稳定的设计 URL。

  3. 在进行任何更改之前,构建完整的当前 issue 映射。

  4. 创建或复用里程碑。未经用户或仓库策略授权,不要重新打开已关闭的里程碑。

  5. 为所有缺失的故事 issue 创建条目。使用附带的渲染器,确保 issue 正文包含精确的规范化故事源和规范依赖链接。

  6. 当受管理的故事正文、标题、依赖关系、标签或里程碑不同时,直接更新现有 issue。

  7. 当故事契约发生变化时,重新打开已完成的 issue。未更改的已完成 issue 保持关闭。

  8. 重新读取每个规范 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.sh
  • scripts/create_milestone.sh
  • scripts/story_contract.py
  • scripts/render_issue_body.py

相对于此技能解析脚本。多行正文请使用临时文件,并保留仓库中无关的更改。

评论

支持 Markdown