canonical-advisor-routing · diff
git:20260504.389fdbd to git:20260606.2fcb67e
41 added, 20 removed. Audit A to A.
---
name: canonical-advisor-routing
- description: Process-first advisor routing with artifact capture
+ description: Use when routing a prompt to a local provider CLI for a second opinion, review, or plan -- you are about to call a provider directly, need the response saved for later, or want a single consistent way to invoke codex/gemini/claude.
---
- # Canonical Advisor Routing
+ ## Purpose
- Route a prompt through a local provider CLI and persist the result as an artifact.
+ Route a prompt through a local provider CLI and persist the result as an artifact. The execution path is process-first: always go through the canonical `apx ask-*` wrappers rather than hand-assembled raw provider commands, so routing and artifact capture stay consistent.
- ## Usage
+ ## When to Use
- Use the provided command wrappers:
+ - You want a focused second opinion, review, or plan from a local provider
+ - You are about to invoke a provider CLI directly and want a consistent entry point
+ - The response needs to be saved to disk for later reference, not just printed
+ - A previous wrapper run misbehaved and you are debugging the routing
- ```bash
- apx ask-codex "review this patch from a security perspective"
- apx ask-gemini "suggest UX improvements for this flow"
- apx ask-claude "draft an implementation plan for issue #123"
- ```
+ ## Inputs
- ## Routing
+ - A clear prompt describing the task for the advisor
+ - The chosen provider (codex, gemini, or claude) installed and authenticated locally
- **Required execution path:**
+ ## Workflow
- Invoke the provider CLI via the canonical `apx ask-*` wrappers. Do not manually assemble raw provider CLI commands unless debugging the wrapper.
+ 1. **Pick the provider and frame the prompt.** Choose `ask-codex`, `ask-gemini`, or `ask-claude` based on the task, and write a single self-contained prompt string.
- ## Requirements
+ 2. **Invoke the canonical wrapper.** Run the prompt through the `apx ask-*` command. Do not manually assemble raw provider CLI commands unless you are debugging the wrapper itself.
- - The selected local CLI must be installed and authenticated.
+ ```bash
+ apx ask-codex "review this patch from a security perspective"
+ apx ask-gemini "suggest UX improvements for this flow"
+ apx ask-claude "draft an implementation plan for issue #123"
+ ```
- ## Artifacts
+ 3. **Confirm prerequisites if the call fails.** Verify the selected local CLI is installed and authenticated before retrying; a missing or unauthenticated CLI is the usual cause.
- Write the response to the standard artifact location:
+ 4. **Persist the response as an artifact.** Write the result to the standard artifact location so it can be reviewed later. The path is .agent-powerups/artifacts/ask/ with a filename of the form provider-slug-timestamp (Markdown extension).
- ```text
- .agent-powerups/artifacts/ask/<provider>-<slug>-<timestamp>.md
- ```
+ 5. **For multi-turn or session work, defer to the relay skills.** When the task needs cross-turn context rather than a one-shot answer, route through the relay siblings (`relay-codex`, `relay-gemini`, `relay-claude`) instead of repeated `ask-*` calls.
+
+ ## Output
+
+ - The provider's response written under `.agent-powerups/artifacts/ask/` with a provider-slug-timestamp Markdown filename
+ - A consistent, reproducible routing path that other agents can follow
+
+ ## Verification
+
+ - [ ] The provider was invoked through an `apx ask-*` wrapper, not a hand-built raw command
+ - [ ] The selected local CLI was installed and authenticated before the call
+ - [ ] The response was written to the standard `.agent-powerups/artifacts/ask/` location
+ - [ ] The artifact filename follows the provider-slug-timestamp pattern
+
+ ## Failure Modes
+
+ - **Bypassing the wrapper** — assembling raw provider CLI commands by hand outside of debugging, which loses consistent routing and artifact capture.
+ - **Unauthenticated CLI** — invoking a provider whose local CLI is not installed or signed in, so the call fails before producing any artifact.
+ - **Lost response** — reading the answer from stdout only and never writing it to the artifact location, leaving nothing to review later.
+ - **Wrong tool for the job** — using one-shot `ask-*` for work that needs cross-turn context instead of the relay siblings.