mcpField
G
gsd-debug

gsd-debug

github.com/shoootyou开发22115 次安装32 周前更新
代码仓库

关于 gsd-debug

通过专门的 gsd-debugger Agent 协调问题调查的调试技能。它收集症状、管理调查检查点,并根据是否找到根因或调查结论是否明确,提供后续处理选项。

主要功能

  1. 01收集预期与实际行为
  2. 02检查并恢复活跃调试会话
  3. 03委派调查给 gsd-debugger
  4. 04处理检查点与后续调查
  5. 05依据调查结果提供处理选项

适用场景

  1. 01调查新报告的软件问题
  2. 02恢复未完成的调试会话
  3. 03根据发现选择修复或继续调查

安装

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

$npx skills add https://github.com/shoootyou/get-shit-done-multi --skill gsd-debug

安装后在 Claude Code 中输入/gsd-debug确认已加载。

详细介绍

使用科学方法并通过子 Agent 隔离来调试问题。

协调者角色: 收集症状、启动 gsd-debugger Agent、处理检查点、启动后续 Agent。

为什么使用子 Agent: 调查会迅速消耗上下文(读取文件、形成假设、进行测试)。每次调查都能获得全新的 200k 上下文。主上下文则能保持精简,专注于与用户交互。

用户的问题:$ARGUMENTS

检查是否存在活动会话:

ls .planning/debug/*.md 2>/dev/null | grep -v resolved | head -5

0. 初始化上下文

INIT=$(node {{PLATFORM_ROOT}}/get-shit-done/bin/gsd-tools.cjs state load)

从初始化 JSON 中提取 commit_docs。解析调试器模型:

DEBUGGER_MODEL=$(node {{PLATFORM_ROOT}}/get-shit-done/bin/gsd-tools.cjs resolve-model gsd-debugger --raw)

1. 检查活动会话

如果存在活动会话,且没有 $ARGUMENTS:

  • 列出会话的状态、假设和后续操作
  • 由用户选择要恢复的会话编号,或描述新问题

如果提供了 $ARGUMENTS,或用户描述了新问题:

  • 继续收集症状

2. 收集症状(针对新问题)

针对每项使用 AskUserQuestion:

  1. 预期行为 - 应该发生什么?
  2. 实际行为 - 实际发生了什么?
  3. 错误消息 - 有错误吗?(粘贴或描述)
  4. 时间线 - 这个问题是什么时候开始的?之前正常工作过吗?
  5. 复现方法 - 如何触发这个问题?

收集完所有信息后,确认是否可以开始调查。

3. 启动 gsd-debugger Agent

填写提示词并启动:

<objective>
Investigate issue: {slug}

**Summary:** {trigger}
</objective>

<symptoms>
expected: {expected}
actual: {actual}
errors: {errors}
reproduction: {reproduction}
timeline: {timeline}
</symptoms>

<mode>
symptoms_prefilled: true
goal: find_and_fix
</mode>

<debug_file>
Create: .planning/debug/{slug}.md
</debug_file>
Task(
  prompt=filled_prompt,
  subagent_type="gsd-debugger",
  model="{debugger_model}",
  description="Debug {slug}"
)

4. 处理 Agent 返回结果

如果出现 ## ROOT CAUSE FOUND:

  • 展示根本原因和证据摘要
  • 提供以下选项:
    • “立即修复” - 启动修复子 Agent
    • “规划修复” - 建议使用 {{COMMAND_PREFIX}}plan-phase --gaps
    • “手动修复” - 完成

如果出现 ## CHECKPOINT REACHED:

  • 向用户展示检查点详情
  • 获取用户回复
  • 如果检查点类型为 human-verify:
    • 如果用户确认问题已修复:继续,以便 Agent 完成最终处理、解决问题并归档
    • 如果用户报告问题仍存在:继续,以便 Agent 返回调查或修复
  • 启动后续 Agent(见第 5 步)

如果出现 ## INVESTIGATION INCONCLUSIVE:

  • 展示已检查并排除的内容
  • 提供以下选项:
    • “继续调查” - 使用补充上下文启动新 Agent
    • “手动调查” - 完成
    • “补充更多上下文” - 收集更多症状后再次启动

5. 启动后续 Agent(检查点之后)

用户回复检查点后,启动新的 Agent:

<objective>
Continue debugging {slug}. Evidence is in the debug file.
</objective>

<prior_state>
<files_to_read>
- .planning/debug/{slug}.md (Debug session state)
</files_to_read>
</prior_state>

<checkpoint_response>
**Type:** {checkpoint_type}
**Response:** {user_response}
</checkpoint_response>

<mode>
goal: find_and_fix
</mode>
Task(
  prompt=continuation_prompt,
  subagent_type="gsd-debugger",
  model="{debugger_model}",
  description="Continue debug {slug}"
)

<success_criteria>

  • 已检查活动会话
  • 已收集症状(针对新问题)
  • 已根据上下文启动 gsd-debugger
  • 已正确处理检查点
  • 修复前已确认根本原因 </success_criteria>

评论

支持 Markdown