idea-analogist
想法群聊室 — 类比者角色。被 idea-team 主编排器调用,或用户单独说"类比一下"、"别的行业有没有"、"yes-and 扩展"、"X 让你想到什么"、"跨界启示"时触发。**专门做跨界类比 + yes-and…
Ask Grok or Gemini via opencli (browser-session based, no API cost). Use when the user says "问 grok", "问 gemini", "ask grok", "ask gemini", "用 grok 查", "grok 怎么看", "让 gemini 分析", or wants a second opinion from Grok/Gemini without paying API tokens. Routes to opencli which drives
Claude Code
$ npx -y skills add majiayu000/spellbook --skill ask-opencli --agent claude-code
Codex
$ npx skills add majiayu000/spellbook --skill ask-opencli -a codex -y
Cursor
$ npx skills add majiayu000/spellbook --skill ask-opencli -a cursor -y
Gemini CLI
$ npx skills add majiayu000/spellbook --skill ask-opencli -a gemini-cli -y
GitHub Copilot
$ npx skills add majiayu000/spellbook --skill ask-opencli -a github-copilot -y
OpenCode
$ npx skills add majiayu000/spellbook --skill ask-opencli -a opencode -y
Windsurf
$ npx skills add majiayu000/spellbook --skill ask-opencli -a windsurf -y
name: ask-opencli description: Ask Grok or Gemini via opencli (browser-session based, no API cost). Use when the user says "问 grok", "问 gemini", "ask grok", "ask gemini", "用 grok 查", "grok 怎么看", "让 gemini 分析", or wants a second opinion from Grok/Gemini without paying API tokens. Routes to opencli which drives the already-logged-in Chrome session.
Use `opencli` to query Grok or Gemini through the user's already-logged-in Chrome session. Zero API cost, fully driven by the existing browser session.
> **opencli 项目**:https://github.com/jackwener/opencli > **安装**:`npm install -g @jackwener/opencli`(需要 Node ≥20) > **首次运行**:`opencli doctor` 会自动引导安装 Chrome Browser Bridge 扩展 > **登录**:用装了扩展的 Chrome profile 打开 grok.com 和 gemini.google.com 登录一次 > **必须环境变量**:`export OPENCLI_BROWSER_COMMAND_TIMEOUT=300`(写进 shell rc) > **更深度的多 AI 并行调研工作流**:use the `multi-ai-research` skill instead
**When to trigger**:
**When NOT to trigger**:
If the user doesn't specify which model, default to **Grok** for real-time / social / news / tech-trend questions, and **Gemini** for long-form reasoning, research, coding, and document analysis.
If still ambiguous, ask the user which one to use before sending.
| ❌ 错误 | ✅ 正确 | 原因 | |---|---|---| | `opencli gemini chat "..."` | `opencli gemini ask "..."` | 没有 `chat` 子命令 | | `opencli grok chat "..."` | `opencli grok ask "..."` | 只有 `ask` 子命令 | | `opencli grok new` | `opencli grok ask "..." --new true` | grok 的"新对话"是 `ask` 的参数 | | `opencli gemini query "..."` | `opencli gemini ask "..."` | 没有 `query` 子命令 |
**完整子命令速查**(运行 `opencli grok --help` 或 `opencli gemini --help` 查看):
Grok: ask <prompt> # 唯一命令 Gemini: ask <prompt> # 最常用 new # 开新对话 deep-research <prompt> # Deep Research 模式 deep-research-result [query] # 取 Deep Research 结果 image <prompt> # 图片生成
opencli has **two independent timeout layers**, both must be set for grok to wait long enough:
1. **Inner**: `--timeout 300` — grok.com web response wait time 2. **Outer**: `OPENCLI_BROWSER_COMMAND_TIMEOUT=300` environment variable — entire browser command execution timeout (**default 60s**, hardcoded in `runtime.js:25`)
The outer takes **priority over** the inner. Setting only `--timeout 300` still gets killed at 60s. You MUST set both.
Source code: `.omx/reference/opencli/dist/src/runtime.js:25`:
export const DEFAULT_BROWSER_COMMAND_TIMEOUT = parseEnvTimeout('OPENCLI_BROWSER_COMMAND_TIMEOUT', 60);**Recommended**: add `export OPENCLI_BROWSER_COMMAND_TIMEOUT=300` to `~/.zshrc` so every grok/gemini call has room to breathe.
OPENCLI_BROWSER_COMMAND_TIMEOUT=300 opencli grok ask "{{PROMPT}}" --timeout 300 -f jsonOr if env var already exported in shell:
opencli grok ask "{{PROMPT}}" --timeout 300 -f jsonFlags:
opencli gemini ask "{{PROMPT}}" --format plainGemini is more stable than grok and usually doesn't hit the 60s timeout. No env var required but adding it doesn't hurt:
OPENCLI_BROWSER_COMMAND_TIMEOUT=300 opencli gemini ask "{{PROMPT}}" --format plainFlags:
To call grok and gemini in parallel from Claude Code, use the Bash tool with `run_in_background=true` for both calls in the same assistant turn. Claude Code will launch them concurrently and wait for task-completion notifications.
For deep cross-validation workflows (N internal sub-agents + 2 external AIs, confidence-tiered synthesis), **use the `multi-ai-research` skill** instead — it covers the full orchestration pattern.
1. **opencli installed**: `opencli --version` should print a version. 2. **Chrome running with Browser Bridge extension loaded** — the extension is installed from `~/Desktop/code/AI/tools/opencli/extension/` via `chrome://extensions` → Developer mode → Load unpacked. If the extension is missing, `opencli doctor` will flag it. 3. **Logged in to the target site**:
4. **Daemon connectivity**: run `opencli doctor` once per session if unsure.
If any check fails, **do not fall back to another tool silently**. Report the missing prerequisite and ask the user to fix it (per U-23 no-silent-degradation rule).
1. Decide which model to use (Grok vs Gemini). If unclear, ask. 2. Build the prompt. Be explicit — these browser UIs have no system prompt so the full question must be self-contained. 3. Run the opencli command with `--format plain`. 4. Capture the response. If the command fails with a session/auth/challenge message, stop and surface the error to the user. Do NOT retry blindly. 5. Save an artifact (see below). 6. Report back to the user: model used, summary of response, and path to the artifact.
想法群聊室 — 类比者角色。被 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.