← ClaudeAtlas

resume-diagnosislisted

续接一个被打断的昇腾诊断 session;也用于接手另一台机器打包过来的诊断(交接包)。 读活跃的 traces/*.yaml(每个并发诊断一个文件,含 trace),复述上次停在哪一步、排除了哪些 case、当前 active case,等人贴回命令输出后继续。 诊断被会议/上下文 compact 打断、或跨机(前一台机器上定位到一半、日志在另一台机器上)继续定位时用。
pillumina/ascend-sleuth · ★ 5 · AI & Automation · score 72
Install: claude install-skill pillumina/ascend-sleuth
# Resume Diagnosis 诊断不是连续时段——你正跑 check 命令,被拉去开会,回来 agent 上下文已被 compact,诊断链路丢失。 ## 接手外来交接包(跨机那一半) 上家把一单打包带过来时(典型:路由与验证在前一台机器上做到一半,真正的大日志在另一台机器上),**不要用 `/diagnose` 重开一单**——那会把它当新问题重新收集、重新路由,得到的是一份与上家不同的现场,而真实状态本来就在包里。 1. **落位(机械动作归脚本)**:`python3 scripts/import_trace.py <包.zip | 包.md | 包目录>`——它校验包、落到 `traces/`、比对知识库版本、点出缺件,并打印一屏交接简报。同名冲突时它落成 `<sid>-imported-<n>` 而**不自动合并**(两台机器为同一个问题各开一单是常态,要不要合并是判断,交人);同一份包重复接手它不重复落位。 2. **读那句简报 + `traces/handoff/<sid>.yaml`**(外来单才有这个文件,是交接单的机器可读那一份):来源主机与知识库版本、交接意图(继续定位 / 复核结论 / 转上游)、上家留下的待补材料(`needs`)、未纳入与未内联的清单。 3. **版本不一致照实说**:本机知识库与上家不同时简报会点出来——`excluded_cases` 里的 id 可能不存在、候选排序可能不同。以本机库为准执行,发现候选集与 trace 记的对不上就如实说明,别把差异当成上家写错。 4. **缺件不等于"证据已齐"**:简报点名的 `missing`(单文件 md 通道未内联的大文件、传输丢件)要在第一屏就讲清,并按 `needs` 索取;缺着它们把上家的结论当已验证继续往下推,是把"上家没验完的部分"冒充成已验证。 5. **然后照下面的主流程续接**——外来包接手只负责把现场放到本地,恢复现场与继续定位的规则一条不变。 ## 流程 **先清反馈债——按 `feedback.case` 的取值分三种,别混**:扫到的 state 文件里若有 `feedback.outcome: pending`,先看 `feedback.case` 是**真实 case id**、占位串 `pending-investigation`,还是**空值/缺失**(三种都出现过,定义见 `diagnosis_state.yaml.example`)。 - **真实 case id**(上次命中 case 并给了可应用 fix):追问“上次 <case-id> 的 fix 应用后解决了吗?(解决 / 没解决 / 部分解决)”——按结果回写该 case 的 confidence(hits/misdiagnoses/last_hit)、trace 记 `{action: feedback, case, outcome}`、把 `feedback.outcome` 从 `pending` 改成实际结果,再进入续接。 - **占位串 `pending-investigation`**(没命中 case,只给了建议):**不念这个占位串**(它不是 case id),也**不要求回写 confidence**(没有 case 可回写,结算脚本只会跳过它)。这类单等的是**现场材料**:按 trace 里最近一条 `evidence.missing` 与顶层 `last_action` 追问“上次要求的那几项材料拿到了吗”,把新