# Maycur AI Bug Clue Analyzer

> 缺陷线索分析（AI 平台）。从 TB（调 tb skill）或用户对话提取缺陷线索，校验必填信息，计算时间窗，产出 clue/clue.md（+ {tb_id}.md）。由 bug-killer 编排器作为链路起点调度。触发词：缺陷线索、bug 线索、信息收集。

- Skill: `jeandoom/maycur-ai-bug-clue-analyzer` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add jeandoom/maycur-ai-bug-clue-analyzer`
- Raw SKILL.md: https://api.skillmd.com/api/skills/jeandoom/maycur-ai-bug-clue-analyzer/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: Jeandoom (https://skillmd.com/u/jeandoom)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/jeandoom/maycur-ai-bug-clue-analyzer

---


# maycur-ai-bug-clue-analyzer — 缺陷线索分析

链路起点：从用户输入或 TB 提取缺陷线索，产出 `clue/clue.md` 指引下游 log-analyzer 查日志。**不支持独立使用**，只在 bug-killer 编排下跑。

## 收集优先级

1. 对话或 TB 中出现 **traceId** → 立即结束收集，直接进日志分析
2. 有 TB → 重点提取异常代码/异常提示（便于日志查询）→ 其次 entCode/单据号/环境
3. 都没有 → 向用户索取

## 必填校验（collect_clue.py 执行）

- 有 traceId → 通过
- 否则必须：entCode + 环境 +（单据号 OR 异常信息）齐全

## Claude vs 脚本分工

- **Claude**：调 tb skill `QueryTaskV3`（TB 方式）+ 语义提取字段
- **collect_clue.py**：必填校验 + 时间窗 + 生成 clue.md / {tb_id}.md

## 执行流程

1. 接收 bug-killer 编排器传入 `{bug_dir, 用户原始输入}`
2. 判断来源：
   - 输入含 tb id → **TB 方式**：调 tb skill `QueryTaskV3` 拿 TB 详情（存入 tb_raw）
   - 否则 → **对话方式**：AskUserQuestion 收集（traceId？entCode？单据号？环境？异常代码/提示？）
3. 语义提取字段：entCode / 单据号 / 环境 / 异常代码 / 异常提示 / traceId / 发生时间（TB 自定义字段优先，回退创建时间）
4. 若已获 traceId → 跳过进一步收集
5. 组装 payload JSON：

```json
{
  "bug_id": "...", "source": "tb|dialogue", "tb_id": "...",
  "summary": "一句话现象",
  "tb_raw": { "...QueryTaskV3 返回..." },
  "fields": {"entCode":"...","单据号":"...","环境":"prod|sit|uat",
             "异常代码":"...","异常提示":"...","traceId":"...",
             "发生时间":"ISO本地时间","env_source":"用户明确|TB字段|堆栈推断"},
  "output_dir": "<bug_dir>/clue"
}
```

6. 调脚本：

```bash
python <skill-dir>/scripts/collect_clue.py --input <payload.json>
```

7. 脚本退出码 1（校验失败）→ 读 stderr 缺失字段 → AskUserQuestion 补 → 重调脚本
8. 退出码 0 → `clue/clue.md`（+ `clue/{tb_id}.md`）已生成，结束

## 时间窗（脚本计算）

- 有 TB：`from = 发生时间 - 1天`，`to = 发生时间`
- 无 TB：`from = now - 48h`，`to = now`

## 产出

- `clue/clue.md`（必有）：线索摘要 + 关键字段 + 时间窗 + 日志查询建议
- `clue/{tb_id}.md`（TB 方式）：TB 完整信息文档

## 边界

- 不查日志（log-analyzer）、不调 opser（code-manager）、不做代码分析（code-analyzer）
- 单一路径：查日志（sls + langfuse）
- 不独立使用

## 依赖

- tb skill（TB 方式）：`QueryTaskV3`
- collect_clue.py（自带脚本）

