Moa
Skill ele-yufo/unstuck/moa
多模型只读顾问会诊——主 Claude Code agent 卡住或面临高风险决策时,并行问 N 个不同家族模型(opencode 顾问,可在隔离 worktree 跑代码)+ 1 个空上下文 Claude subagent,拿到带标原话后先出分歧地图再综合,用推理时集成消除单模型偏置。Use when: agent 卡住 / 高风险决策 / 想要 second opinion / 怀疑自己在钻牛角尖 / 多模型会诊 / 分歧地图 / Mixture of Agents / MoA / N+1 会诊 / 避免单模型偏差 / 决策失误 / 多视角交叉验证 / 不确定该走哪条技术路线。From its SKILL.md
npx -y skills add ele-yufo/unstuck --skill moaAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 1 command, including `printf '%s' "<问题 + 上下文>" | python3 "$HOME/.agents/skills/moa/scripts/dispatch.py" --project "$(pwd)" --tier mid`.
SKILL.md
4.2 KB, ~1.4k tokens by cl100k_base, as published. Nobody here has run it
MoA — 多模型只读顾问会诊(N+1)
你是 judge / 执行者。本 skill 给你"外部多视角第二意见":N 个不同家族的 opencode 顾问(各自在隔离 worktree 可跑代码自验)+ 1 个空上下文 Claude subagent(清空状态的同族视角,补你因上下文深陷产生的偏置)。你不直接选其中一个,先出"分歧地图"再综合。
红线
- N+1 一起进分歧地图。opencode N 路 + Claude subagent 1 路,都是输入;别漏掉 Claude 那一路。
- 不预综合、别挑一个。先分歧地图(共识/矛盾/独有洞见/盲区),再综合 —— 见
references/judge-protocol.md。 - 顾问只是顾问。opencode 顾问只读、可在 worktree 跑代码自验;Claude subagent 只读分析。最终实现是你做的。
- 任一路失败不中断。失败/超时路显示
[failed:…]/[timed out…]/[quota…],其余照常。 - 有成本。一路 ~16k+ input token,按档位线性涨。卡住或高风险再用,别琐碎调用。
选档 rubric(你自已选 --tier)
| 档 | 场景 |
|---|---|
low(3 路 +1) | 大概有方向,想要个快速 second opinion 确认没跑偏 / 低风险 / 时间敏感 |
mid(5 路 +1,默认) | 真实决策 / 实现卡住 / 中等风险 |
high(7 路 +1,墙钟最坏 ~10min) | 高风险 / 不可逆 / 架构级 / 预期分歧大 / 低档没解决想扩大覆盖 |
怎么派发(N+1,同一条消息并行)
在同一条消息里发两个独立工具调用(它们会并发执行):
- Bash 跑 dispatch(N 路 opencode 顾问):
printf '%s' "<问题 + 上下文>" | python3 "$HOME/.agents/skills/moa/scripts/dispatch.py" --project "$(pwd)" --tier mid - Agent 工具派 1 个空上下文 Claude subagent,prompt = 下面这段顾问提示词 + 问题上下文(不带主对话历史):
你是一个只读顾问,不是执行者。不要产出最终实现,也不要直接改动项目文件。若当前目录有相关项目文件,你可以跑代码验证判断;但纯策略/分析问题直接推理即可,别为跑代码而跑代码。基于给定上下文推理,假设引用到的文件都存在。简洁返回四点:①你对当前情况的判断;②你看到的主要风险或盲区;③你建议的方向;④你的置信度。
问题与上下文:<问题 + 上下文>
两路结果收齐后 → read references/judge-protocol.md → 分歧地图 → 综合落地。
- 临时换模型:
--models a,b,c(优先于 --tier);改超时:--timeout 120(覆盖所有 per-model timeout);prompt 也可--prompt-file <path>;只看用量:--stats。 - ⚠️ Bash 工具 timeout 务必设到 ≥600000ms:dispatch 墙钟 high 档最坏 600s(GLM/Kimi 300s×2 重试),Bash 默认 120s 会杀进程 + 孤儿化 worktree。
- config 在
~/.agents/skills/moa/config.json(三档 roster / 超时 / 并行 / 重试 / 额度)。 - opencode 顾问在 worktree 的 HEAD 跑,看不到未提交改动;Claude subagent 在活项目里跑、看得到 WIP——这正好是两类视角。想让 opencode 顾问也看最新代码就先 commit。
加载纪律
派发前选档即可(不必读 reference)。拿到两路结果后,只 read references/judge-protocol.md 做综合;排错/调档/看额度 read references/dispatch-internals.md;换/加/查模型 read references/models.md;派发前想确认用法 / 拿到结果后自审 read references/gotcha-gallery.md。不要一次 read 全部 references。
What ships with it: 16 files
96.3 KB alongside SKILL.md, 9 of them executable
agents/
- openai.yaml209 B
references/
- backends.md3.7 KB
- dispatch-internals.md4.1 KB
- gotcha-gallery.md4.6 KB
- judge-protocol.md1.9 KB
scripts/
- backends/claude_headless.pyruns9.2 KB
- backends/claudex.pyruns3.5 KB
- backends/glm.pyruns3.9 KB
- dispatch.pyruns33.4 KB
tests/
- fake_backend.pyruns3.3 KB
- fake_claude_cli.pyruns1.9 KB
- fake_claudex_cli.pyruns2.1 KB
- test_adapters.pyruns4.8 KB
- test_dispatch.pyruns16.3 KB
- config.json1.1 KB
- README.md2.3 KB