← All craftbooks

Market & Landscape Scan

Knowledge and researchevalv1.0.0released 2026-06-05workflow: build-loop

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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.

Source

View this craftbook on GitHub · MIT license