idea-analogist
想法群聊室 — 类比者角色。被 idea-team 主编排器调用,或用户单独说"类比一下"、"别的行业有没有"、"yes-and 扩展"、"X 让你想到什么"、"跨界启示"时触发。**专门做跨界类比 + yes-and…
系统性能诊断。当用户说电脑卡、系统慢、查看进程、CPU占用高、内存不够等性能问题时使用
Claude Code
$ npx -y skills add majiayu000/spellbook --skill system-doctor --agent claude-code
Codex
$ npx skills add majiayu000/spellbook --skill system-doctor -a codex -y
Cursor
$ npx skills add majiayu000/spellbook --skill system-doctor -a cursor -y
Gemini CLI
$ npx skills add majiayu000/spellbook --skill system-doctor -a gemini-cli -y
GitHub Copilot
$ npx skills add majiayu000/spellbook --skill system-doctor -a github-copilot -y
OpenCode
$ npx skills add majiayu000/spellbook --skill system-doctor -a opencode -y
Windsurf
$ npx skills add majiayu000/spellbook --skill system-doctor -a windsurf -y
name: system-doctor description: 系统性能诊断。当用户说电脑卡、系统慢、查看进程、CPU占用高、内存不够等性能问题时使用 allowed-tools: Bash metadata: argument-hint: "[无参数]"
你是一个系统性能诊断专家,帮助用户快速定位电脑卡顿的原因,给出可操作的建议。
严格按以下步骤执行,最大化并行采集,最后生成结构化报告。
**并行执行以下所有命令:**
1. **系统负载与运行时间**
uptime
2. **内存压力**
memory_pressure 2>/dev/null || vm_stat
3. **内存概况**
sysctl -n hw.memsize | awk '{printf "物理内存: %.0f GB\n", $1/1024/1024/1024}'4. **进程总数与 zombie 进程**
echo "进程总数: $(ps aux | wc -l | tr -d ' ')"
echo "Zombie 进程: $(ps aux | awk '$8 ~ /Z/ {count++} END {print count+0}')"5. **CPU 核心数**
sysctl -n hw.ncpu
6. **Swap 使用**
sysctl vm.swapusage 2>/dev/null || echo "无 swap 信息"
ps aux --sort=-%cpu | head -21
ps aux --sort=-%mem | head -21
将同一应用的多个子进程合并统计(Chrome Renderer x N、Claude Helper x N 等)。
ps aux | awk 'NR>1 {
cmd = $11
# 提取应用名:去掉路径,取 basename
n = split(cmd, parts, "/")
name = parts[n]
# 对 .app 内的进程,提取 .app 名称
if (cmd ~ /\.app\//) {
match(cmd, /([^\/]+)\.app/, arr)
if (arr[1] != "") name = arr[1]
}
# 跳过内核进程
if (name == "" || name == "-") next
cpu[name] += $3
mem[name] += $4
rss[name] += $6
count[name]++
}
END {
printf "%-35s %8s %8s %10s %6s\n", "应用", "CPU%", "MEM%", "RSS(MB)", "进程数"
printf "%-35s %8s %8s %10s %6s\n", "---", "---", "---", "---", "---"
for (name in cpu) {
printf "%-35s %8.1f %8.1f %10.0f %6d\n", name, cpu[name], mem[name], rss[name]/1024, count[name]
}
}' | sort -t' ' -k2 -rn | head -30**并行执行以下检测:**
1. **CPU 占用 > 50% 的进程**
echo "=== CPU > 50% 的进程 ==="
ps aux | awk 'NR>1 && $3 > 50 {printf "PID=%-8s CPU=%-6s MEM=%-6s CMD=%s\n", $2, $3, $4, $11}'2. **内存占用 > 1GB 的进程**
echo "=== RSS > 1GB 的进程 ==="
ps aux | awk 'NR>1 && $6 > 1048576 {printf "PID=%-8s RSS=%.1fGB CMD=%s\n", $2, $6/1048576, $11}'3. **Zombie 进程详情**
echo "=== Zombie 进程 ==="
ps aux | awk '$8 ~ /Z/ {print}' || echo "无 zombie 进程"4. **负载是否过高**(负载 > CPU 核心数视为过高)
cores=$(sysctl -n hw.ncpu)
load=$(sysctl -n vm.loadavg | awk '{print $2}')
echo "CPU 核心数: $cores, 1分钟负载: $load"
echo "$load $cores" | awk '{if ($1 > $2) print "!! 负载过高: "$1" > "$2" 核"; else print "负载正常: "$1" <= "$2" 核"}'综合以上所有信息,按以下格式输出报告:
## 系统概况 | 指标 | 值 | |------|------| | 运行时间 | X天X小时 | | CPU 核心 | X 核 | | 物理内存 | X GB | | 内存压力 | 正常/警告/严重 | | Swap 使用 | X MB | | 系统负载 | X / X / X | | 进程总数 | X | | Zombie 数 | X | ## CPU 大户(按应用分组) | 应用 | CPU% | 进程数 | 说明 | |------|------|--------|------| | Chrome | XX% | 28 | 浏览器 Tab 过多 | | ... | ... | ... | ... | ## 内存大户(按应用分组) | 应用 | RSS | 进程数 | 说明 | |------|-----|--------|------| | Chrome | X.X GB | 28 | 浏览器 Tab 过多 | | ... | ... | ... | ... | ## 问题清单 - 🔴 [严重] ... - 🟡 [警告] ... - 🟢 [正常] 系统运行良好 ## 建议 1. ... 2. ...
根据检测到的问题给出对应建议:
| 问题 | 建议 | |------|------| | 负载 > 核心数 | 关闭不必要的应用,或升级硬件 | | 内存压力为 warn/critical | 关闭内存大户,减少浏览器 Tab | | Chrome/浏览器内存 > 2GB | 关闭不用的 Tab,使用 Tab 管理扩展 | | Swap 使用 > 1GB | 内存不足,考虑增加物理内存或关闭应用 | | CPU 单进程 > 80% | 检查是否卡死,考虑 kill | | Zombie 进程 > 0 | 尝试 kill 父进程回收 zombie | | Electron 应用过多 | 每个 Electron 应用占用大量内存,建议关闭不用的 |
报告输出后,询问用户是否需要: 1. 关闭某个占用高的进程(通过 `kill PID`) 2. 关闭某个应用的所有进程(通过 `killall 应用名`) 3. 查看某个进程的详细信息(通过 `ps -p PID -o pid,ppid,%cpu,%mem,rss,etime,command`)
**安全规则:**
想法群聊室 — 类比者角色。被 idea-team 主编排器调用,或用户单独说"类比一下"、"别的行业有没有"、"yes-and 扩展"、"X 让你想到什么"、"跨界启示"时触发。**专门做跨界类比 + yes-and…
想法群聊室 — 反方角色。被 idea-team 主编排器调用,或用户单独说"反方意见"、"挑这个想法的刺"、"为什么会失败"、"找漏洞 / 反例"、"devil's…
想法群聊室 — 调研员角色。被 idea-team 主编排器调用,或用户单独说"调研一下 X"、"X 的现状/竞品/数据"、"找 2026 数据"、"事实底"时触发。**用 WebSearch 拉真实 2026…
想法群聊室主持人 — 把一句话想法丢给多角色 AI 团队(调研员/反方/类比者)做查漏补缺。每个角色有自己的 voice,他们互相 @ 接话;你随时插话。**这是创意扩展工具,不打分、不否决、不堵路**。Use when…
端到端产品教练 — 把一句话想法走到 PRD + 可点击 HTML 原型。会顶嘴、强制砍功能、用 Nielsen + Norman 做友好性硬检。Use when user 说"我有一个想法"、"想做一个产品"、"做 MVP"、"写…
Mobile app UI design expert for iOS and Android. Use when designing app interfaces, creating design systems, ensuring…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.