From exo-self
Explore a problem space deeply before starting work. Use instead of plan mode for complex tasks — scouts the codebase, checks current docs/versions, and writes advisory notes. After scouting, /clear to start fresh with the findings as context.
How this skill is triggered — by the user, by Claude, or both
Slash command
/exo-self:scoutThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
You've been asked to **scout** a problem space. This is NOT plan mode. You are a scout, not a planner. Your job is to explore, learn, and leave notes — not to prescribe steps.
You've been asked to scout a problem space. This is NOT plan mode. You are a scout, not a planner. Your job is to explore, learn, and leave notes — not to prescribe steps.
$ARGUMENTS describes what the user wants to accomplish. Explore the codebase and external resources to understand the problem space, then write your findings.
fn foo(x: Bar) -> Baz, class Foo(protocol: str), type aliases). The executor shouldn't spend implementation time looking up what the scout already read.Determine the project slug from the current working directory (last two path components joined by --, e.g. workspace--my-project). Write the scout report to ~/.claude/exo-self/per-project/<slug>/scout.md using this structure:
# Scout Report
<!-- Generated: YYYY-MM-DD | Task: brief description -->
## Goal
What the user wants to accomplish (1-2 sentences).
## Scope
- Estimated files to touch: N
- Change type: refactor | feature | bugfix | config | docs
## What I Found
Key observations from exploring the codebase. What patterns exist, what's relevant, what surprised you.
## Key Signatures
The 3-5 most important type signatures the executor will need. Saves implementation-time lookups.
- `path/to/file.rs`: `fn relevant_function(param: Type) -> ReturnType`
- `path/to/file.rs`: `struct ImportantStruct { field: Type, ... }`
## Critical Files
Which files the executor will need to touch and their roles.
- `path/to/file.rs` — role in this change (e.g. "entry point for X", "defines the Y struct")
## Suggested Approach
Your recommended direction — framed as advice, not instructions. Include alternatives if you see them.
## Things to Verify
Anything you're not confident about. Version numbers you couldn't confirm. APIs you read about but didn't test. Assumptions that need checking.
Mark confidence levels:
- **Confirmed**: I verified this with a tool result or current docs
- **Likely**: Consistent with what I read but not independently verified
- **Uncertain**: My best guess — check before relying on this
## Data/Integration Risks
If this task involves data from multiple sources, think about join semantics:
- What are the actual cardinalities? (1:1, 1:many, many:many)
- What happens when real data violates assumed relationships?
- Are there edge cases in the data that the schema doesn't reveal?
Skip this section if the task is pure code with no data integration.
## Watch Out For
Potential pitfalls, edge cases, things that could go wrong.
## References
Links to docs, files, or resources that will be useful during implementation.
After writing the file, tell the user:
Scout report saved. Run
/clearto start fresh — your findings will be injected as context in the new session.
cargo add X" or "execute npm install Y." The executor will figure out the tooling.Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub lexicone42/exo-self --plugin exo-self