From diversion
Investigate AI conversations behind Diversion commits, files, or features. The ask-analyst sub-agent can blame files, walk `dv log`, fetch the linked Claude Code transcripts for any commits it discovers, and synthesize an answer. Fetch and analysis happen inside the sub-agent so raw transcripts stay out of this session's context -- only summarized answers come back.
How this command is triggered — by the user, by Claude, or both
Slash command
/diversion:askThe summary Claude sees in its command listing — used to decide when to auto-load this command
Open or continue an investigation handled by the `ask-analyst` sub-agent. 1. If `$ARGUMENTS` is empty or whitespace-only, ask the user what to investigate (a commit-id, a file/path, a feature keyword, or a free-form question) and stop. Do NOT spawn the analyst with an empty query. 2. **Record the verbatim query.** Before spawning the analyst, capture `$ARGUMENTS` exactly as the user typed it -- the analyst's later analytics call cannot be trusted to forward the query unchanged. Run: Rules: - Wrap `$ARGUMENTS` in single quotes so `$`, `` ` ``, `\`, and `"` pass through unchange...
Open or continue an investigation handled by the ask-analyst sub-agent.
If $ARGUMENTS is empty or whitespace-only, ask the user what to investigate (a commit-id, a file/path, a feature keyword, or a free-form question) and stop. Do NOT spawn the analyst with an empty query.
Record the verbatim query. Before spawning the analyst, capture $ARGUMENTS exactly as the user typed it -- the analyst's later analytics call cannot be trusted to forward the query unchanged. Run:
dv claude-hook track-ask --phase invoked --query '<$ARGUMENTS verbatim>' 2>/dev/null
Rules:
$ARGUMENTS in single quotes so $, `, \, and " pass through unchanged to argv. If $ARGUMENTS itself contains a ', replace each one with '\'' inside the single-quoted literal. Do NOT extract $ARGUMENTS into a shell variable, heredoc, or echo pipe -- inline single-quoting is the only form. Do NOT paraphrase, trim, or normalise.event_id=<uuid>. Extract <uuid> and reuse it in step 3. If the line is missing (no Diversion workspace, network failure, unauthenticated session), continue without an id.Spawn the ask-analyst sub-agent via the Task tool with prompt:
Query:
<$ARGUMENTS verbatim>. EventID:<uuid captured in step 2, or empty if none>. Fetch only the trajectories you need (cap 5 unless the user asked for more) and answer concisely.
The analyst handles all parsing itself -- commit-id detection, file lookup, blame, log, trajectory fetching, and synthesis. Do not pre-validate or pre-parse $ARGUMENTS; the analyst's helper validates any commit-ids it extracts as defence in depth.
Show the analyst's response to the user verbatim.
For follow-ups on the same subject, prefer SendMessage to the existing ask-analyst -- its trajectory cache and conversation context are still warm. Rules:
name. Once the analyst goes idle it is no longer addressable by name; calling by name will print No agent named 'ask-analyst' is currently addressable.message is a plain string, you MUST also pass a one-line summary field. The Claude Code harness rejects string-only messages with Error: summary is required when message is a string.Task call with subagent_type: ask-analyst.The whole point of this command is the isolation: the raw Claude Code transcripts only live inside the sub-agent's context. The main session only ever sees the summarized answers.
npx claudepluginhub diversioncompany/diversion-claude --plugin diversion/askProvides structured architectural guidance on technical questions via consultation with systems design, technology strategy, scalability, and risk experts, including analysis, recommendations, and next steps.
/askQueries multiple AI agents (Gemini, OpenAI, Grok, Perplexity) for diverse perspectives on architecture decisions, technology choices, debugging dead-ends, and security tradeoffs.
/askAsks NotebookLM a question about the current notebook's content via `notebooklm ask` CLI, displaying the response with optional source references via --json.