Spin up a single agent as an advisor - second opinion on the current task. Use when the user says "advisor", "second opinion", "what does X think", or wants an outside take without delegating the work itself.
Installs into .claude/skills of the current project.
Are you the author of Otto Advisor?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/draek2077-otto-advisor)
---
name: otto-advisor
description: Spin up a single agent as an advisor - second opinion on the current task. Use when the user says "advisor", "second opinion", "what does X think", or wants an outside take without delegating the work itself.
user-invocable: true
argument-hint: "[--profile <name>] <question or topic>"
---
# Otto Advisor
Single agent. Reads the situation you're in. Gives a judgment. You decide what to do - the advisor doesn't drive the work.
**User's request:** $ARGUMENTS
## Prerequisites
Read the **otto** skill. Call `list_agent_profiles` before choosing the advisor, and read every entry's `roles` and `guidance`. Do not create the advisor until you have inspected the available agent profiles.
## Picking the advisor
1. **User named one** (`--profile "UI Work"`) → select it by name.
2. **Otherwise** choose the agent profile whose `notes` best fit the question: design and approach, audit and review, or research and root-cause analysis.
3. **Contrast helps.** When several fit, prefer a different provider family from your own so the second opinion is genuinely fresh.
Pass its name as `create_chat`'s `agentProfile`, as described by the **otto** skill. If none fits, use Otto's provider-discovery fallback and tell the user.
## The briefing
The advisor has zero context. Make it self-contained:
- The question, sharply.
- What you've considered and what you've ruled out.
- Relevant files by path (don't paste - let the agent read).
- Explicit ask: "give me a recommendation, with reasoning."
End with the no-edits suffix:
```
This is analysis only. Do NOT edit, create, or delete any files. Do NOT write code.
```
## Forwarded skills
If `$ARGUMENTS` contains another skill reference - `/unslop`, `/unslop-risk`, `$unslop`, etc. - the user is asking the advisor to run that skill against the current task. Examples:
- `/otto-advisor /unslop` → advisor runs `/unslop` on the current diff.
- `/otto-advisor /unslop-risk` → advisor does an unslop-risk review.
- `/otto-advisor $diagnose this build failure` → advisor invokes `/diagnose`.
Parse the forwarded skill name out of `$ARGUMENTS` (`/<name>` or `$<name>`). In the briefing, tell the advisor explicitly:
```
Invoke the `<name>` skill against this task. Load it via the Skill tool before doing anything else.
```
Pass through any remaining arguments after the skill name as the skill's own input. The advisor - not you - runs the skill; you're still just the orchestrator handing it the work.
## Launch and synthesize
Create the advisor agent via Otto with a `[Advisor] <topic>` title, the briefing as the initial prompt, `relationship: { kind: "subagent" }`, and `workspace: { kind: "current" }`. Wait for it to finish. Read its response. Synthesize for the user - the advisor's verdict + your recommendation.
## Persistent advisor
If the user wants ongoing input ("keep this advisor for the next few decisions"), don't archive after the first reply. Send follow-ups when you need another take. Archive when the user says they're done, or when the topic shifts and a fresh context would serve better.