Java 异常诊断

SKILL开发
开发 未标注权限 许可证不明确
安装这个技能

根据 Java 异常堆栈、版本与相关代码做证据驱动的定位,给出候选根因与最小验证步骤,严格区分已证实与待验证。当用户说「这个报错什么意思」「看看这个堆栈」「Java 报错」时使用。 也适用于「Java报错」「看堆栈」「异常定位」「exception」「stacktrace」这类说法。

一句话选型结论

按资料字段整理

Java 异常诊断是开发类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类开发 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_01de61f3/ym-java-exception-triage
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

开发
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_01de61f3仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791621723
正文体量7.1 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
写代码与改 bug

按需求补代码、定位并修掉报错。

读仓库与生成改动

让模型读懂项目结构,再给出可落地的改动。

跑测试与排查故障

按现象排查问题,补测试用例并复跑。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在开发场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
Java 异常诊断当前 未标注权限 未标注 未标注 未标注 有
技能审查员 浏览器控制 ClawHub 市场 877.9 万 OpenClaw 有
Vercel React 最佳实践 浏览器控制 GitHub 仓库 849.1 万 Codex、Claude、Cursor 有
GitHub 代码协作 联网访问 ClawHub 市场 763.3 万 OpenClaw 有
网页设计指南 联网访问 GitHub 仓库 668.6 万 Codex、Claude、Cursor 有
本体论 只读 ClawHub 市场 663.7 万 OpenClaw 有

SKILL.md 全文

7.1 KB
模型实际读到的说明书原文,来自技能仓库

Java 异常诊断 (ym-java-exception-triage)

按堆栈证据给 Java 异常定位根因,每条结论都能回溯到具体一行,并严格区分「已证实」和「待验证」——普通对话最容易把「可能」说成「就是」,还爱编运行结果,这里用标签和证据链堵住。

何时使用

  • 用户说「这个报错什么意思」「看看这个堆栈」「线上报了这个异常」「Java 报错」「看堆栈」「异常定位」「exception」「stacktrace」时
  • 用户贴了 Spring Boot / MyBatis / JPA 的异常堆栈,问「为什么炸」「第几行的问题」时

运行前提

  • 依赖:无第三方库,纯文本分析。
  • 不执行代码、不连接服务器、不读取项目文件(除非用户明确给路径)。
  • 不联网、不上传任何数据;堆栈可能含内网地址、包名、账号等敏感信息,提醒用户粘贴前脱敏。

输入契约

项 必需 说明
异常堆栈 必需 可含 Caused by 链;越完整越好
JDK 版本 强烈建议 如 17.0.9;缺则按通用情况分析并标注「未确认版本」
框架及版本 强烈建议 如 Spring Boot 3.2、MyBatis 3.5
相关代码片段 强烈建议 出错类/方法;缺则只基于堆栈分析,不臆测业务代码逻辑
复现步骤 强烈建议 帮助锁定触发条件

缺失处理:

  • 缺版本 → 按通用情况分析,所有结论标注「未确认版本」。
  • 缺代码 → 只基于堆栈说话,不猜测业务代码里发生了什么。
  • 只有一句「报错了」没有堆栈 → 列出需要补充的四项信息(完整堆栈 / 版本 / 框架 / 相关代码),不猜。

执行步骤

  1. 解析异常链 — 找最内层 Caused by(根因通常在最里面,不是最上面那行)。判定规则见 references/exception-patterns.md 第一节。

  2. 提取关键证据 — 异常类型、异常消息、出错的类与方法、行号、框架包名。把这些信息原样列出,作为后续所有结论的锚点。

  3. 区分帧类型 — 标出第一个业务帧,区分三方框架帧与业务帧,圈定「问题很可能落在哪个业务方法」。规则见 references 第二节。

  4. 列候选根因 — 每条必须含:根因假设 / 支持它的证据(堆栈具体行)/ 反驳它的证据 / 最小验证步骤。参考 references 第三节的速查表找方向,但必须回用户堆栈取证据。

  5. 打状态标签 — 每条根因标 【已证实】(堆栈里能直接读到)或 【待验证】(需跑一下才知道)。这是本技能最硬的设计,缺标签不准输出。规则见 references 第四节。

  6. 给最小验证步骤 — 具体到「在哪个类哪行加什么日志、打什么断点、执行什么命令」,禁止写「检查一下配置」。参考 references 第五节。

  7. 修复建议放验证后 — 针对已证实根因给改法并标风险;针对待验证根因的改法必须注明「未经验证,不要直接上生产」。

  8. 硬性约束:不编造运行结果;不把「可能」写成「就是」;不输出没有任何对应证据的根因;堆栈被截断时明确说信息不足并列出待补内容。

输出格式

Markdown,套用 templates/triage-report-template.md:

## 一句话结论
## 异常链解读
## 候选根因(表:假设 / 状态 / 支持证据 / 反驳证据 / 验证步骤)
## 最小验证清单
## 修复建议(标注风险)

能力边界

  • 不执行代码、不连接服务器、不读取项目文件(除非用户明确给路径)。
  • 不自动改代码、不替用户发版。
  • 不做堆内存 dump 深度分析(OutOfMemoryError 只能给方向,不能替代 MAT 分析)。
  • 不声称覆盖所有 Java 技术栈;首版聚焦 Spring Boot / MyBatis / JPA 常见异常。

常见坑

  1. 根因找错层 — 现象:盯着最外层 ServletException 给结论,修了一通没用。原因:没往 Caused by 最内层找。规避:先定位最内层 Caused by,它才是根因。
  2. 把「可能」写成「就是」 — 现象:堆栈只显示超时,模型直接下结论「连接池耗尽」。原因:用推测代替证据。规避:凡需运行才能确认的,一律标【待验证】并给验证步骤。
  3. 臆测业务代码 — 现象:用户没给代码,模型编出「你这里少写了个判空」。原因:把自己当成代码作者。规避:缺代码时只基于堆栈分析,明确说「未看到相关代码,以下为基于堆栈的推测」。
  4. 验证步骤写空话 — 现象:写「检查一下配置是否正确」。原因:没落到动作。规避:必须到「在 X 类第 N 行加日志打印 Y 变量」这种粒度。
  5. 不分三方帧与业务帧 — 现象:根因归到 org.springframework 内部,其实是用错了。原因:没区分帧类型。规避:优先圈定第一个业务帧;三方包内部异常先按「用法错误」排查(见 references 第六节)。
  6. 截断堆栈硬编 — 现象:用户只贴了最外层一行,模型编出完整调用链。原因:把猜测当事实。规避:信息不足就明说,列出需要补充的四项信息,不猜。

验收用例

  • 正常:Spring Boot + MyBatis 的 NullPointerException 完整堆栈 → 定位到具体 Mapper/方法,给出验证步骤,根因带【已证实】。
  • 边界 1:堆栈被截断只剩最外层 → 明确说明信息不足,列出需要补充的部分。
  • 边界 2:异常来自三方包内部 → 区分「用法错误 / 版本不兼容 / 三方 bug」三种可能,默认先归用法错误。
  • 失败:用户只说「报错了」→ 不猜,列出需要补充的四项信息。

目录说明

  • references/exception-patterns.md — 异常链解析、帧分类、常见异常速查、状态标签与验证步骤规范
  • templates/triage-report-template.md — 诊断报告输出模板

常见问题

5 问
答案由本站依据条目字段整理
Java 异常诊断怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_01de61f3/ym-java-exception-triage。安装方式为未标注。装完刷新技能列表或重开客户端。

Java 异常诊断支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

Java 异常诊断权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

Java 异常诊断收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

Java 异常诊断用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。