From fieldwork
Triggers when the user describes a new idea, feature request, problem, or opportunity and no approved opportunity document exists for it yet. Explores it through structured questions before any spec or plan is written. Does NOT trigger if an opportunity document already exists for this feature with status: approved - in that case, ask the user if they want to proceed to write-spec.
How this skill is triggered — by the user, by Claude, or both
Slash command
/fieldwork:discoverThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Turn a rough idea into a validated opportunity through structured dialogue. Ask questions one at a time. Explore the problem before the solution. Surface and map assumptions. End with a written opportunity document the PM approves before any spec work begins.
Turn a rough idea into a validated opportunity through structured dialogue. Ask questions one at a time. Explore the problem before the solution. Surface and map assumptions. End with a written opportunity document the PM approves before any spec work begins.
Announce at start: "I'm using the Fieldwork discover skill to explore this opportunity."
Do NOT invoke write-spec or any downstream skill until: 1. The opportunity document has been written AND 2. The user has explicitly approved it (status: approved in frontmatter)If context/project-context.md is missing, run onboard first. Do not proceed without it.
Read these on demand using the Read tool - do not read all at once. Use the path relative to the project root (where CLAUDE.md lives):
skills/discover/question-bank.md - full question library (read when exploring the problem)skills/discover/opportunity-framing.md - framing patterns and examples (read when proposing framings)skills/discover/assumption-mapping.md - 2x2 map, dimension definitions, validation ideas (read when surfacing assumptions)If the Fieldwork plugin is installed via Claude Code plugin system, these files are at {plugin_root}/skills/discover/{filename}. Use the Read tool with the absolute path if relative paths fail.
spike first. Ask: "Is this something you're ready to commit engineering time to, or do you want to test the idea first?"context/project-context.md exist? If no - stop, run onboard first.context/product-context.md exist? If no - stop, run onboard first.outputs/opportunities/{feature-name}/opportunity.md already exist?
approved - tell the user: "An approved opportunity already exists. Want to proceed to write-spec, or revisit the opportunity?"draft - load it and continue from where it left off.outputs/opportunities/{feature-name}/assumptions.md exist (Fieldwork discover output)?
context/project-context.mdcontext/product-context.mdcontext/constraints.md if it existsRead skills/discover/question-bank.md using the Read tool. Pick the most relevant questions for this idea. Do not ask all of them. Start with:
Read skills/discover/opportunity-framing.md using the Read tool.
Read skills/discover/assumption-mapping.md using the Read tool.
outputs/opportunities/{feature-name}/ if it does not existstatus: draftoutputs/opportunities/{feature-name}/assumptions.mdoutputs/opportunities/{feature-name}/assumptions.md. Identify any assumptions rated high-importance AND weak-evidence or none. If any exist, name them explicitly: "Before I mark this approved — these assumptions are high-importance / weak-evidence: [list each one]. Do any of these need a spike to validate before we commit to a spec?" Wait for a real answer. If yes, stop and trigger spike. If no, record the PM's reasoning in the opportunity document under "Assumptions accepted without validation".approved---
feature: {feature-name}
status: draft | approved
date: YYYY-MM-DD
---
# Opportunity: {Feature Name}
## Problem
[What problem exists, for whom, how often, how painful]
## Current behaviour
[How users deal with this today - workarounds, competing tools, manual steps]
## Proposed opportunity
[What we could build - framed as an opportunity, not a solution]
## Success metrics
[How we'll know this worked - specific and measurable]
## Riskiest assumptions
[Top 3 from the assumption map - the ones that could kill this if wrong]
## Scope boundary
[What this is NOT - explicit non-goals]
## Open questions
[What we don't know yet]
## Prediction
_Written at approval. Compared against at retro._
[If this works, what will we observe at 30 / 60 / 90 days? Specific and measurable.]
See skills/discover/assumption-mapping.md for the full output format.
"Opportunity saved to outputs/opportunities/{feature-name}/opportunity.md.
Assumption map saved to outputs/opportunities/{feature-name}/assumptions.md.
Three paths from here:
spike to test before committing to a spec. After the spike is shown to a user or stakeholder, run measure.synthesise-research and feed findings back into this opportunity.Which would you like?"
If the PM chooses path 2, ask before starting:
"How do you want to run this?
write-spec → review-spec → write-plan → scaffold-tasks autonomously and only stop if I hit a blocker I can't resolve on my own"If step by step (2a): Proceed with write-spec as normal. Each skill hands off to the next only when the PM explicitly proceeds.
If full run (2b):
write-spec — do not stop for PM approval between sections; run the hill-climbing pass; present spec summary and proceed without waiting for PM sign-off unless the PM has set working-style: 1 (section by section) earlier in this session.review-spec — dispatch reviewer subagent; resolve any IMPORTANT or MINOR issues autonomously where the resolution is unambiguous; stop and wait for PM input only if a BLOCKER requires a decision that cannot be resolved from the spec, opportunity, or constraints files alone.write-plan — proceed autonomously.scaffold-tasks — proceed autonomously.Full run rules:
npx claudepluginhub jklazinga/fieldwork --plugin fieldworkGuides product discovery: maps opportunity space, surfaces risky assumptions, and designs cheap tests. Run before committing to build decisions.
Builds an Opportunity Solution Tree from stakeholder requests, mapping outcomes to opportunities, solutions, and tests for structured product discovery.
Use this skill when the user asks about "opportunity solution tree", "OST", "Teresa Torres framework", "build my OST", "map opportunities to solutions", "how should we structure our discovery", "connect outcomes to opportunities", "continuous discovery framework", or wants to visually structure the relationship between outcomes, opportunities, and solutions. Also use this skill when a user has a list of ideas and wants to organize them against user outcomes.