| name | scout-writer |
| version | 1.0.1 |
| model | sonnet |
| description | Produces a scout document: identifies a tension, generates 3-5 distinct routes with tradeoffs, synthesizes a recommendation, and proposes a first action. Lean single-file variant with no scout-to-spec pipeline scaffolding — full version: `strategic-thinking:strategic-scout`. Use when: 'scout this', 'strategic scout', 'explore options for', 'what are the routes'. |
| triggers | ["scout this","strategic scout","explore options for","what are the routes"] |
| category | scout-position |
| inputs | [{"name":"situation","type":"string","description":"The situation, tension, or decision landscape to scout","required":true}] |
| outputs | [{"name":"scout_document","type":"ref","format":"markdown","description":"Scout document with tension framing, 3-5 routes with tradeoffs, comparison table, synthesized recommendation, and first action"}] |
Scout Writer Skill
I. Philosophy
A scout does not arrive with a solution. A scout arrives with a map.
The most expensive engineering decisions are the ones made before the terrain was understood. A well-written scout document is the cheapest possible way to stress-test a direction before committing resources. It costs an hour of careful thinking and saves days or weeks of course-correction.
The scout is not neutral. The scout has a point of view — grounded in evidence, stated explicitly, open to reframe. "Here are some options" is not scouting. Scouting is: "Here is the landscape, here is what I see in it, here is where I would go and why — and here is what would change my mind."
II. When to Use
- Before committing to an architectural direction with significant consequences
- When a team is stuck between competing legitimate approaches
- Before writing a specification — the scout produces the "why" that the spec translates into "what"
- When the question is "which direction?" not "how do we implement this direction?"
- As input to the
adr-writer skill when the decision warrants formal recording
Do not use this skill when the direction is already decided and the question is implementation. Scouting a decided question wastes time and introduces doubt where certainty is needed.
III. Workflow
Step 1: TENSION
Frame the situation as a tension between competing forces — not a problem to solve, but a landscape to navigate.
A tension statement has the form: "[Force A] vs. [Force B]" with a brief explanation of why both forces are legitimate and why they pull in different directions.
Examples:
- "Velocity vs. coherence: shipping fast risks architectural drift, but slowing down to audit means missing the grant deadline."
- "Simplicity vs. extensibility: a single-file solution ships today but cannot accommodate the multi-tenant requirement arriving in Q3."
- "Build vs. buy: the existing library covers 80% of the need but the missing 20% is load-bearing."
A tension framed well reveals the routes naturally. A tension framed poorly produces routes that are all variations on one approach.
Step 2: ROUTES
Generate 3-5 distinct approaches. Distinct means architecturally different, not just implementation variations.
For each route, produce:
| Field | Content |
|---|
| Name | Short label (e.g., "Route A: Minimal Wedge") |
| Description | What does this approach actually do? 2-4 sentences. |
| Risk Level | Low / Medium / High — with the specific risk named |
| Time Estimate | Rough order of magnitude (hours, days, weeks) |
| Key Tradeoff | What does this route give up to get its benefits? |
| When it wins | Under what conditions is this the right choice? |
Generate routes that represent genuine alternatives. If you cannot name what a route gives up, you have not understood it.
Step 3: COMPARE
Build a route comparison table. This is the artifact that makes the scout document scannable in 30 seconds.
| Route | Description | Risk | Time | Key Tradeoff | Wins When |
|---|
| A | ... | Low | 2d | ... | ... |
| B | ... | High | 1d | ... | ... |
| C | ... | Med | 3d | ... | ... |
The table forces honest comparison. If one route dominates on all dimensions, that is suspicious — it means the routes are not genuinely distinct, or the "losing" routes need better articulation of when they would win.
Step 4: SYNTHESIZE
After laying out the routes, ask: can any of them be combined?
The best solutions often are not Route A or Route B — they are the part of Route A that addresses Force 1, combined with the part of Route B that addresses Force 2.
Identify synthesis opportunities:
- Which routes share underlying assumptions that make them combinable?
- Which routes address different aspects of the tension (not the same aspect from different angles)?
- What hybrid approach takes the ceiling of each route's strengths while avoiding its floor?
Synthesis is a creative act. Not every scout produces a hybrid. But looking for one forces you to understand the routes at a deeper level.
Step 5: DECIDE
Produce a recommendation with explicit rationale.
The recommendation has four parts:
- Selected route (or hybrid): Which approach? Be specific.
- Decisive factors: What made this route win? Name the 2-3 factors that tipped the decision. If one factor was decisive above all others, name it.
- What would change this: Under what conditions would a different route be better? This makes the recommendation conditional and honest — it tells the reader when to revisit.
- First concrete action: What is the single next step that commits to this route? Naming it converts the scout from analysis to motion.
A recommendation without rationale is a guess. A recommendation without a first action is still just analysis.
Step 6: FORMAT
Produce the scout document as structured markdown.
# Scout: [Topic]
**Date:** YYYY-MM-DD
**Tension:** [one sentence]
## Context
[2-3 sentences on what prompted this scout. What is the forcing function?]
## Tension
[The tension statement from Step 1 — expanded to a paragraph if needed.]
## Routes
### Route A: [Name]
[Description, risk, time, key tradeoff, when it wins]
### Route B: [Name]
[...]
### Route C: [Name]
[...]
## Comparison
[The table from Step 3]
## Synthesis
[Hybrid opportunity or note that no synthesis applies]
## Recommendation
**Selected:** [Route or hybrid]
**Decisive factors:**
- [Factor 1]
- [Factor 2]
**What would change this:** [Condition]
**First action:** [Specific next step]
## Next Steps
- If proceeding to a formal decision: invoke `adr-writer` with this scout as input
- If proceeding to specification: invoke `release-specification` or `specification-writer`
- Review point: [When to re-evaluate — date, event, or metric]
Save the document to thinking/[topic]-scout.md or the equivalent docs directory for the project.
IV. Quality Checklist
V. Common Pitfalls
- Presenting routes that are not distinct. If Routes B and C are both "use a managed service" with different providers, collapse them. The strategic choice is "managed service vs. self-hosted" — the provider is an implementation detail.
- Recommending before all routes are laid out. The recommendation comes after the comparison table. Anchoring the reader to a preferred route before the alternatives are presented biases the analysis.
- No decisive factors. "This route seems best" is not a recommendation. "This route wins because our timeline eliminates Route B and our team has no Rust experience to make Route C viable" is a recommendation.
- Scout as substitute for decision. The scout produces clarity, not closure. A scout that ends without a recommendation or a first action is an incomplete artifact.
- Retrospective scouting of decided questions. If the decision is already irreversible, write an ADR instead — not a scout. The scout is for before commitment, not after.
VI. Related Skills
adr-writer (dojo-craft) — The natural next step after a scout: once the recommendation is made, use adr-writer to produce a numbered, numbered decision record with propagation checklist
specification-writer (specification-driven-development) — When the scout concludes with a selected route, use this to translate the recommendation into a formal implementation spec
release-specification (specification-driven-development) — For scouts that resolve a release-blocking question, this skill converts the first action into a ship-ready specification
adversarial-reviewer (strategic-thinking) — After producing a recommendation, invoke this to stress-test the reasoning before committing resources
VII. Output
- Scout document saved to
thinking/[topic]-scout.md
- Recommendation with first action clearly stated
- If the scout reveals the decision warrants an ADR: explicit prompt to invoke
adr-writer
- If the scout reveals the decision is more complex than expected: note the reframe before proceeding
Examples
Scenario 1: "Scout whether to use SSE or WebSockets for the Gateway streaming interface."
→ Tension: "Protocol simplicity vs. bidirectional capability." Routes: SSE-only, WebSocket-only, SSE for server-push + REST for client-to-server, WebSocket with SSE fallback. Comparison table. Synthesis: SSE + REST is the hybrid that matches current usage patterns without the complexity of WebSocket upgrade handshake. Recommendation: SSE + REST; decisive factors: existing CLI uses REST already, server-push is 95% of traffic, WebSocket adds complexity for 5% gain.
Scenario 2: "Explore options for how the CLI should discover available skills."
→ Tension: "Discovery completeness vs. startup latency." Routes: filesystem scan on startup, cached manifest with TTL, on-demand load per invocation, remote registry pull. Comparison table. Synthesis: cached manifest (filesystem scan once, invalidate on file change) takes the startup speed of on-demand with the completeness of full scan. Recommendation: cached manifest + inotify invalidation. First action: add manifest file write to the existing skill-validate.sh hook.
Edge Cases
- If the situation has only two genuine routes (binary choice), document both with full rigor and note explicitly that no third route was found after honest search. Do not invent a third route to fill the template.
- If external constraints eliminate routes before the scout begins, document those constraints in the Context section and start the routes from the remaining viable space.
- If the scout reveals that the question being asked is the wrong question, name the reframe explicitly before producing routes. A scout that maps the wrong landscape is worse than no scout.
Anti-Patterns
- Producing routes without tradeoffs — a route without a stated cost is not an honest analysis of that route.
- Treating "more information needed" as a scout output — if you cannot characterize the routes without more information, name exactly what information is needed and from where, then pause.
- Generating routes to fill a quota — three genuine routes are better than five padded ones. Quality over count.
- Scouting as a delay tactic — if a route is clearly correct and the only question is how to implement it, say so and proceed to specification. A scout that re-derives an obvious conclusion wastes time.