
Market & Landscape Scan
Survey a market or landscape and write a scan that sizes it, maps the players, and surfaces trends: a planner scopes the market boundary and the lenses (size, segments, players, trends, drivers, risks), a researcher gathers sized figures and landscape facts with sources, and a copywriter writes a structured landscape report. The ordering matters because a scan without a defined boundary mixes adjacent markets and inflates numbers, and one without locked lenses skips the dimensions a decision-maker needs; fixing boundary and lenses first keeps the scan focused and comparable. Use this for market landscape scans, industry overviews, TAM/segmentation reads, trend analyses, and 'give me the lay of the land in X' requests.
Steps
Entry step: scope. Each step names the specialist role it wants; the full working prompt is expandable.
- Scope the scanplannerentry
define the market boundary + analysis lenses
Show working prompt
1. Define the market boundary precisely: what product/service category, geography, and timeframe — and state explicitly what adjacent markets are excluded. 2. Lock the lenses the scan will cover (e.g. market size & growth, key segments, major players/share, demand drivers, trends, risks/headwinds) and what each must contain. 3. Decide the report structure and where sized figures come from (state that figures must cite a source and a date). 4. Write an acceptance-criteria checklist (e.g. 'market boundary is stated and exclusions named', 'each lens has its own section', 'every sized figure cites a source + date', 'at least N notable players are mapped', 'a trends section with 3+ named trends exists'). 5. Record decisions. Call write_task_note with the boundary, lenses, and checklist; write the same to notes/scope.md.
- Gather landscape factsresearcher
sized figures, players, and trends with sources
Show working prompt
1. For each locked lens, gather concrete facts into notes/findings.md: market size/growth figures (with the figure, the year, and the source [n]), the key segments, the notable players with what each is known for, the demand drivers, and 3+ named trends with evidence. 2. Cite every sized figure to a dated source; prefer recent, reputable data and reconcile conflicting numbers by noting the range and which source you trust. 3. Map at least the required number of players, each with a one-line positioning. 4. Flag estimates vs hard figures, and mark anything unverifiable as UNVERIFIED. Good looks like a findings file where each lens already has its evidence. Do not write the narrative yet.
- Write the scancopywriter
structured landscape report from the findings
Show working prompt
1. Write scan.md with a section per locked lens: an opening that states the market boundary and exclusions, then size & growth, segments, players (a short table or list), drivers, trends, and risks. 2. Every sized figure carries its citation [n] and year; never state a number without a source. 3. Lead with the headline read of the market, then the supporting detail. 4. Close with a short 'so what' takeaway. 5. Add a References list from notes/findings.md so every [n] resolves. 6. On a loop-back, fix only the named gaps. 7. Call write_task_note with the scan path and which criteria now pass.
- Evaluatereviewer
Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.
Show working prompt
Open scan.md and check EACH criterion PASS/FAIL: (1) the market boundary and exclusions are stated; (2) every locked lens has its own section; (3) every sized figure carries a source and year (spot-check 3 against notes/findings.md); (4) at least the required number of players are mapped with positioning; (5) a trends section names 3+ trends with evidence; (6) a 'so what' takeaway exists. A scan that mixes adjacent markets or states unsourced figures FAILS. Then route — this is the whole point of the loop: - **Every criterion PASSES →** call `advance_task_step({ ref, stepId: "evaluate", next: "finish" })`. - **Any criterion FAILS →** write the specific gaps to notes, then call `advance_task_step({ ref, stepId: "evaluate", next: "write" })` to loop back. The builder fixes exactly those gaps. Never route to `finish` while any criterion is unmet. The build phase's completion gate already blocked a grossly-incomplete deliverable; your job is the judgment an automated check cannot make (does it actually work, read well, look right). After ~3 unproductive loops, stop and report DONE_WITH_CONCERNS so the user can step in. - Finishdeveloper
All acceptance criteria met. Stamp a short summary and report DONE.
Show working prompt
Every acceptance criterion passed. Write a one-paragraph DONE summary to task notes via `write_task_note`: what was built, the deliverable path(s), and a one-line confirmation that each criterion is met. Then report DONE.
Triggers
Phrases that suggest this craftbook to a crew.
- market scan
- landscape overview
- lay of the land
- industry analysis
- market sizing and trends
Source
View this craftbook on GitHub · MIT license