ethanreedlabs/sulde/crash-fix
Claude Code and agent skill by ethanreedlabs/sulde
- community
Checking that the SKILL.md file is still in the repository.
崩溃修复 / 闪退排查 / 编译错误 / ANR / 看堆栈 / fix crash / debug crash — 自动拉取崩溃日志或编译错误,4 阶段诊断(症状→根因→排除→修复),定位责任 Dev,执行修复。当用户说"App 闪退""崩溃""crash""compile error""编译失败""ANR / EXC_BAD_ACCESS""看一下崩溃日志""修一下这个错误"、提供堆栈或错误信息时自动触发。stack 中性 — 日志命令 / 编译命令 / 崩溃模式表从 references/{stack}.md 读。
Install
npx vskill@latest install ethanreedlabs/sulde/crash-fixSKILL.md
崩溃快速修复
自动拉崩溃日志,诊断根因,定位责任 Dev,执行修复。
stack 决定后必先 Read 对应 references:
| Frontend stack | 必 Read | |
|---|---|---|
mobile-android | references/android.md | |
mobile-ios | references/ios.md | |
mobile-flutter | references/flutter.md | |
mobile-harmony | references/harmony.md |
§1 思考模式(强制)
执行 `/crash-fix` 时必须启用 think hard 深度思考。崩溃诊断易被表面症状误导,必用结构化思考找根因:
§2 启动方式
用户输入 /crash-fix 后,询问崩溃来源(选项因 stack 不同):
通用类目:
- runtime(运行时崩溃)— 从设备 / 模拟器拉
- build — 编译错误
- paste — 用户粘贴日志
- crashlytics — Firebase Crashlytics 报告
- anr(Android)/ hang(iOS / Harmony)/ frame drop(Flutter)— 无响应类
具体命令见 references/{stack}.md §1。
§3 Step 1:自动拉日志
按 references/{stack}.md §1 的命令拉:
- runtime:拉最近 fatal exception(stack 的 log 系统)
- build:跑编译命令并 grep error
- 设备信息:自动采集型号 / 系统版本 / App 版本
将拉到的关键日志摘要放到本对话上下文,完整原文归档到 .ai-workspace/diag/{date}-crash-{slug}.log。
§4 Step 2:诊断根因
拿到日志后,按以下顺序分析:
§4.1 提取关键信息
从崩溃堆栈 / 编译错误中提取:
- 异常类型(stack 特定见 references/{stack}.md §2 "常见崩溃模式" 表)
- 崩溃位置(文件名:行号)
- 调用链(从 App 代码到崩溃点的路径)
- 触发场景(哪个 view → state machine → action)
- 线程信息(主线程 / 后台 / async)
§4.2 查找相关代码
§4.3 分析架构链路
按 stack 特定的架构模式诊断(MVI / TCA / Riverpod / ArkUI):
- 检查状态机分支是否覆盖完整
- 检查 unsafe cast / 强解包 / 类型转换
- 检查 effect / async 操作的错误处理
- 检查依赖注入是否完整
详 references/{stack}.md §3。
§4.4 生成诊断报告
§5 Step 3:定位责任 Dev
根据崩溃文件路径自动判断责任 Dev。项目特定 mapping 在 `<docs-hub>/page-owner-map.yaml`(若存在) 或 .sulde-config.yaml: team[].frontend / .modules(若项目登记)。stack 特定模块路径前缀见 references/{stack}.md §4。
崩溃涉及多个模块时,优先按崩溃点(顶层堆栈帧)判断。
§6 Step 4:执行修复
确认诊断后,自动切换到对应分支执行修复:
§6.1 修复原则
- 最小改动:只修崩溃点,不顺带重构
- 防御性修复:加空值检查 / guard / 边界检查 / 类型守卫,不假设上游正确
- 主线程保护:UI 操作确保主线程(stack 特定见 references)
- 保留现场:修复前先记录崩溃复现条件到
.ai-workspace/diag/ - 验证编译:修复后跑 stack 编译命令(见 references)确认编译通过
- 提交由 Agent 完成:验证与报告通过后按 §7 提交;若发现超出原任务的语义选择或高风险效果,先走宿主原生 Allow/Deny,不让用户代跑 Git
§6.2 验证(必跑)
跑 stack-specific 验证(/assign skill §5 verify strict):
- 重新 build → exit 0
- install → exit 0
- launch → 触达原崩溃场景 → 不再 crash
- 抓 log 30s → 无新 crash / fatal
详 references/{stack}.md §5。
§6.3 崩溃报告归档
写入 .ai-workspace/diag/{date}-crash-{slug}-report.md:
§7 与 /postmortem 衔接
崩溃修复完工后(commit 前)必跑 `/postmortem` skill,走 4 问漏斗:
- Q1 以前踩过这个 pattern 吗?(grep 反模式集合)
- Q2 会再踩吗?
- Q3 能不能 lint 化?
- Q4 其他 frontend 也有吗?
详 postmortem SKILL。修复 + /postmortem 通过后才 commit。
§8 示例
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/dev/crash-fix/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/ethanreedlabs/sulde/crash-fix)