explore-unknowns
GitHub通过四象限法引导用户梳理任务中的已知与未知信息,适用于需求模糊、领域陌生或需澄清意图的场景。旨在降低沟通成本,明确范围后再进入开发或评审阶段。
Trigger Scenarios
Install
npx skills add dzhng/skills --skill explore-unknowns -g -y
SKILL.md
Frontmatter
{
"name": "explore-unknowns",
"description": "Guide the user through a quadrant walk that maps the unknowns of a task — open by listing the known knowns, then work through known unknowns, unknown knowns, and unknown unknowns one stage at a time, ending with a complete four-quadrant map in the user's hands. Use when a request is ambiguous or underspecified, the codebase or domain is unfamiliar, the user will \"know it when they see it\", a reference implementation must be understood before porting, mid-build deviations from the plan need capturing, or a finished change needs buy-in or verified understanding before merge. Pairs with [write-spec](..\/write-spec\/SKILL.md) — walk the quadrants to burn off fog before slicing, and feed the finished map into the spec."
}
Explore Unknowns
The map is not the territory. The prompt, the plan, and the context window are the map; the codebase, the domain, and the user's actual intent are the territory. The gap between them is the unknowns — and an unknown found before code is written costs minutes, while the same unknown found three PRs later costs the three PRs.
This skill is a guided conversation: the quadrant walk. Together with the user you fill in a four-quadrant map of the task, one quadrant per stage, and the user walks away holding the completed map. The map is the deliverable; implementation is a different task that starts only after the map is handed over.
Two moves apply at every stage:
- Reacting beats imagining. Never ask the user to describe what they want when you can hand them something concrete to react to — a rendered option, a clickable mock, a decisions table. Reacting extracts knowledge the user has but cannot articulate unprompted.
- Every artifact assembles the reply. End each artifact with the user's next message pre-drafted: steal/skip chips, resonate checkboxes, a decisions table, a copyable sharpened prompt — so their reaction becomes their next message with near-zero typing.
The Quadrant Walk
Five stages, walked in order, one at a time. When you enter a stage, read its reference file and follow it. Name the current quadrant as you go — the user should always know where they stand on the map — and finish the stage in front of you before opening the next.
- Known knowns — scan the territory, then open with the settled ground.
- Known unknowns — the questions you can name; resolve them one at a time.
- Unknown knowns — extract the taste and tacit context nobody has put into words.
- Unknown unknowns — sweep the territory for landmines.
- Hand over the map — the completed four-quadrant map, the walk's only done-condition.
When the user moves on to build, review, or merge what the walk mapped, read after the walk — the map lives on past planning.
Rules
- Walk the quadrants in order, one stage at a time, naming the current quadrant. The walk ends with the map in the user's hands — no map, not done.
- Stages order the walk; they never embargo information. A finding that materially bears on a decision in flight is disclosed the moment you have it, then filed on the map under its quadrant — never held back for its stage's scheduled turn.
- Nothing closes off-screen. Any question or judgment call the map records as closed must have been shown to the user first — including ones the territory answered.
- Close items as decisions, not discussions. Each resolved unknown ends as a one-line decision plus its why, phrased so the spec can carry it verbatim as a given. Every choice a builder later invents unsupervised is an unknown this walk missed — a map that leaves the implementer deciding is incomplete.
- Claims about the territory cite real files actually read; invented data is labeled as such. A fabricated specific destroys the map's authority.
- HTML artifacts are self-contained single files: inline CSS/JS, no external requests, plausible fake data over lorem ipsum.
- Stop at every stage boundary that needs the user's reaction. Never barrel into implementation on unconfirmed guesses — implementing is a separate task that begins after the map is delivered.
Version History
- c795702 Current 2026-09-08 17:34


