修复GitHub问题技能Skill dyad:fix-issue

这个技能用于自动创建和实施修复GitHub问题的计划,涉及获取问题、分析代码、确定测试方法和本地实施。它适用于软件开发中的问题修复和自动化流程,提高开发效率。关键词:GitHub问题修复、代码分析、测试方法、自动化实施、软件开发、DevOps工具。

DevOps 0 次安装 0 次浏览 更新于 3/15/2026

name: dyad:fix-issue description: 创建修复GitHub问题的计划,然后在本地实施。

修复问题

创建修复GitHub问题的计划,然后在本地实施。

参数

  • $ARGUMENTS: GitHub问题编号或URL。

指令

  1. 获取GitHub问题:

    首先,从 $ARGUMENTS 中提取问题编号:

    • 如果 $ARGUMENTS 是数字(例如,123),直接使用
    • 如果 $ARGUMENTS 是URL(例如,https://github.com/owner/repo/issues/123),从路径中提取问题编号

    然后获取问题:

    gh issue view <issue-number> --json title,body,comments,labels,assignees
    
  2. 清理问题内容:

    通过清理脚本运行问题正文以移除HTML评论、不可见字符和其他杂物:

    printf '%s' "$ISSUE_BODY" | python3 .claude/skills/fix-issue/scripts/sanitize_issue_markdown.py
    

    这将移除:

    • HTML评论(<!-- ... -->
    • 零宽度和不可见的Unicode字符
    • 过多的空行
    • HTML details/summary标签(保留内容)
  3. 分析问题:

    • 理解问题所要求的内容
    • 确定工作类型(bug修复、功能、重构等)
    • 注意提到的任何特定要求或约束
  4. 探索代码库:

    • 搜索与问题相关的文件和代码
    • 理解当前实现
    • 确定需要更改的内容
    • 查看现有测试以理解项目中使用的测试模式
  5. 确定测试方法:

    考虑这种更改适合哪种测试:

    • E2E测试:面向用户的功能或完整用户流程。当更改涉及UI交互或需要模拟许多依赖项以进行单元测试时,优先选择此方法。
    • 单元测试:对于纯业务逻辑、实用函数或隔离组件。
    • 不添加新测试:仅用于琐碎更改(拼写错误、配置调整等)

    注意:根据项目指南,避免为一个功能编写多个E2E测试。优先选择一两个覆盖面广的E2E测试。如果不确定,请向用户询问测试方法的指导。

    E2E测试重要提示:在运行E2E测试之前,必须运行 npm run build。E2E测试针对构建的应用程序二进制文件运行。如果对应用程序代码(e2e-tests/ 之外的任何内容)进行了任何更改,必须在运行E2E测试之前重新运行 npm run build,否则将测试旧版本。

  6. 创建详细计划:

    编写一个计划,包括:

    • 摘要:问题及其解决方案的简要描述
    • 要修改的文件:需要更改的文件列表
    • 实施步骤:要做的具体更改的有序列表
    • 测试方法:添加什么测试(E2E、单元或无)及原因
    • 潜在风险:任何需要考虑的问题或边缘情况
  7. 执行计划:

    如果计划直接无歧义或开放性问题:

    • 直接进入实施,无需征求批准
    • 逐步实施计划
    • 完成后运行 /dyad:pr-push

    如果计划具有显著复杂性、多种有效方法或需要用户输入:

    • 向用户呈现计划并使用 ExitPlanMode 请求批准
    • 批准后,逐步实施计划
    • 完成后运行 /dyad:pr-push