4.7 KiB
4.7 KiB
name, description
| name | description |
|---|---|
| ask-claude | Invoke Claude (any agent or model) for an opinion, review, or analysis. Use when the user asks you to ask a specific Claude about something specific — e.g. trade-offs of an approach, a focused review, or a second opinion. |
Ask Claude
Use ask_claude to consult Claude with any combination of agent, model, question, and prompt.
Parameters
| Parameter | Required | Description |
|---|---|---|
prompt |
yes | The content for Claude to reason about (context, code, plan, bug report, etc.) |
question |
no | What specifically to ask — prepended as a focused review directive |
agent |
no | Agent name from ~/.claude/agents/. See Available agents below. |
model |
no | Override the model: "opus", "sonnet", "haiku" |
session_id |
no | Resume a prior conversation (returned in every response) |
If neither agent nor model is set, defaults to Claude Sonnet.
Multi-turn: Every response includes a
session_id. Pass it back in a subsequentask_claude()call to continue the same conversation with the same agent/model.
Available agents
See ~/.claude/agents/ for the full list. Common agents:
| Agent | Model | Tools | Use when |
|---|---|---|---|
plan_review |
Opus | Read, Bash | Reviewing plans for correctness, completeness, feasibility, and risk |
code_review |
Sonnet | Read, Bash, Edit, Write | Reviewing implementations; can apply fixes directly |
debug |
Sonnet | Read, Bash | Tracing bugs and root causes; will NOT apply fixes |
oracle |
Opus | Read, Bash | Hard problems, architectural decisions, when you're stuck |
Pick the agent that matches the task. If unsure, ask the user which agent to use, or use a raw model= instead of an agent.
Common patterns
Plan review
ask_claude({
agent: "plan_review",
question: "Review for correctness, completeness, feasibility, and risk. Highlight missing steps or unclear requirements.",
prompt: `
## Project Context
[Key facts from CLAUDE.md]
## Codebase Exploration
[Modules/files you read]
## Implementation Plan
[Your full plan, step by step]
## Open Questions
[Anything uncertain]
`
})
Code review (with fix capability)
ask_claude({
agent: "code_review",
question: "Review for bugs, architectural issues, style, and correctness. Apply fixes for any issues you find.",
prompt: `
## Project Conventions
[Relevant context not in CLAUDE.md]
## What Was Implemented
[Brief description]
## Plan That Was Followed
[The implementation plan]
## Files Changed
- path/to/file.ts — [what changed]
## Code to Review
[Paste key sections OR instruct the agent to read the files above]
`
})
Debugging
ask_claude({
agent: "debug",
question: "Trace the root cause. Provide specific file paths, line numbers, and the exact code responsible. Suggest a fix but do not apply it.",
prompt: `
## The Issue
[What's happening vs. what should happen]
## Error Output
[Any logs, stack traces, or error messages]
## Relevant Files
- path/to/file.ts — [why it's relevant]
## What I've Already Tried
[Hypotheses tested, things ruled out]
`
})
Oracle (hard problems)
ask_claude({
agent: "oracle",
question: "Analyze this problem and provide guidance. Explain your reasoning and recommend the best path forward.",
prompt: `
## The Problem
[What you're trying to solve and why it's hard]
## Codebase Context
[Relevant files, modules, and patterns explored]
## Options Considered
[Approaches evaluated and their trade-offs]
## What I Need Clarified
[Specific question or decision point]
`
})
Free-form model question (no agent)
ask_claude({
model: "opus",
question: "What are the trade-offs of this approach vs using a message queue?",
prompt: `We're considering polling a database table every 5 seconds for new jobs instead of a queue...`
})
Continuing a conversation
When Claude returns a session_id in its response, pass it back to continue the same conversation:
ask_claude({
agent: "code_review",
question: "Apply the fixes you identified.",
session_id: "<session_id from prior response>",
prompt: "Please proceed with the fixes."
})
After the response
- Summarize Claude's key points for the user.
- If Claude raises blockers or important concerns, address them before proceeding.
- For plan reviews: if blockers or missing steps are flagged, update the plan and re-invoke if changes are significant.
- For code reviews: Claude (via
code_review) may apply fixes directly — summarize what was changed. - For debugging: apply the fix yourself or delegate to a coding agent.
- For oracle: proceed with the recommended approach, or loop back if more clarification is needed.