Consult claude
Skill pablonification/grok-build-consult-claude/skills/consult-claude
Read-only second opinion from Claude Code (claude -p). Use when the user explicitly asks ("ask Claude", "second opinion", "/consult-claude") OR when a HARD GATE passes: high-stakes architecture/security decisions, 2+ credible approaches with real trade-offs, or blocked after 2+ distinct attempts. Modes: plan, review, advice. Do NOT use for routine coding, debugging, file edits, or "just to be thorough". Grok implements any follow-up changes.From its SKILL.md
npx -y skills add pablonification/grok-build-consult-claude --skill consult-claudeAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 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.
SKILL.md
6.5 KB, ~1.5k tokens by cl100k_base, as published. Nobody here has run it
Consult Claude (read-only)
Grok Build stays primary. Claude Code is an expensive advisor only — never an implementer.
<HARD-GATE> Do NOT consult unless **one** of these is true:- Explicit — user asked for Claude's opinion, second opinion, or ran
/consult-claude. - Implicit — ALL of:
- Stakes are high (wrong choice wastes significant time, or touches security/auth/data/migrations/concurrency), AND
- Genuinely uncertain (2+ credible approaches, or stuck after 2+ distinct attempts on the same blocker), AND
- Not answerable from repo/docs alone without gambling.
If the gate fails, continue as Grok. Do not consult "to be safe." </HARD-GATE>
Limits
- Read-only — Claude must not edit files. Grok applies changes if needed.
- Max 1 implicit consult per user task unless the user asks again.
- No consult loops — do not ping-pong Grok ↔ Claude repeatedly.
- Log the reason — always tell the user why Claude was consulted.
Model selection (always latest family alias)
Pass --model <alias> to the wrapper. Aliases resolve to the latest model in each family (e.g. opus → current Opus, sonnet → current Sonnet, fable → current Fable). Never hardcode dated model IDs.
| Alias | Use when |
|---|---|
| opus | Architecture with hard trade-offs, security/auth threat modeling, concurrency/distributed design, ambiguous high-stakes decisions, deep review of a large risky change |
| sonnet | Plan critique, code/design review, implementation approach comparison, "is this plan sound?", medium-scope advice where speed/cost matter |
| fable | Greenfield product shape, UX/flow exploration, creative alternatives, early brainstorming before commitment — exploratory, not final security sign-off |
Default if unsure: sonnet for review/plan modes; opus for advice when security or irreversible architecture is involved; fable only when exploring options, then re-consult with opus or sonnet before committing.
Override with --model when the user requests a specific family.
Invocation
/consult-claude plan [question]
/consult-claude review [question]
/consult-claude advice [question]
/consult-claude review --model opus
/consult-claude # infer mode from context; ask if unclear
Orchestration steps
Resolve paths once at start:
SKILL_DIR = <dirname of this SKILL.md>
CONSULT_SH = ${SKILL_DIR}/scripts/consult.sh
RUBRIC = ${SKILL_DIR}/references/gating-rubric.md
PROMPTS_DIR = ${SKILL_DIR}/references/prompts
1. Gate
- If implicit: read
${RUBRIC}, confirm the gate passes, write a one-sentence consult reason. - If explicit: skip gate but still use read-only wrapper.
2. Choose mode and model
| Mode | Purpose | Prompt template |
|---|---|---|
plan | Critique or compare approaches before implementation | ${PROMPTS_DIR}/plan.md |
review | Review diff, design, or current code state | ${PROMPTS_DIR}/review.md |
advice | Unblock a specific decision or failure | ${PROMPTS_DIR}/advice.md |
Pick model per table above. State mode, model alias, and reason in your reply preamble.
3. Assemble context bundle
Build a focused prompt (not the whole repo):
- Goal — one sentence
- Open question — what Claude must answer
- Grok's current position — draft plan, hypothesis, or summary (ask Claude to critique, not restart)
- Relevant files — paths and contents (only what matters; cap ~30k chars unless user asked for more)
- Constraints — stack, non-goals, deadlines
- Attempt history (advice mode) — what was tried and what failed
Write the assembled prompt to a temp file, e.g. /tmp/consult-claude-prompt-$$.md.
4. Run consult (blocking)
From the workspace root of the project under discussion:
"${CONSULT_SH}" \
--mode <plan|review|advice> \
--model <opus|sonnet|fable> \
--workspace "<absolute-workspace-path>" \
--prompt-file "/tmp/consult-claude-prompt-$$.md" \
--reason "<consult reason>"
- Set
block_until_ms≥ 120000 (Claude can take 30–90s). - Do not background this unless the user asked to wait asynchronously.
- On non-zero exit: report stderr; do not pretend the consult succeeded.
5. Read output
The script prints JSON to stdout and writes artifacts under /tmp/consult-claude-<run_id>/:
| File | Contents |
|---|---|
result.json | Full Claude --output-format json payload |
response.txt | Human-readable reply text |
pre-workspace.snapshot | git diff HEAD + staged diff + untracked list before consult |
post-workspace.snapshot | Same snapshot after consult |
files-changed.txt | Paths that changed (should be empty) |
Read response.txt and files-changed.txt. If summary JSON has "is_error": true, treat as failure — do not use the response as advice. If files-changed.txt is non-empty, warn the user — Claude was supposed to be read-only.
6. Synthesize (Grok owns the decision)
Do not dump Claude's reply verbatim. Provide:
- Consult meta — mode, model alias, reason, cost if present in JSON
- Claude's assessment — concise summary
- Agreement — what Grok accepts
- Disagreement — what Grok rejects and why (repo context Grok has that Claude may not)
- Recommended next step — Grok executes changes, not Claude
What NOT to pass to Claude
- Entire monorepos or node_modules
- Secrets, API keys, tokens (redact first)
- Vague "what do you think?" without Grok's draft position
- Tasks Grok can resolve with one file read or a test run
Error handling
| Situation | Action |
|---|---|
claude not found | Tell user to install Claude Code; stop |
| Auth failure | Tell user to run claude interactively to refresh login |
| Timeout | Retry once with sonnet; if still failing, report and continue as Grok |
| Unexpected file changes | Show diff summary; do not auto-apply; ask user |
What ships with it: 5 files
11.0 KB alongside SKILL.md, 1 of them executable
references/
- gating-rubric.md2.0 KB
- prompts/advice.md745 B
- prompts/plan.md876 B
- prompts/review.md824 B
scripts/
- consult.shruns6.6 KB