unknowns-discovery · git:20260806.2b93f5a · 2026-08-06 · sha256 26a2109cc9bb2fb8
unknowns-discovery git:20260806.2b93f5aA
Immutable. This exact content is served forever at /api/v1/blob/26a2109cc9bb2fb8.
--- name: unknowns-discovery description: Discover and reduce task unknowns — blindspots, missing context, and unknown unknowns — before committing to a plan, implementation, review, or merge. --- # Unknowns Discovery Use this skill when an agent should **discover what the user, spec, prompt, or codebase is missing** before it commits to a plan, implementation, review, or merge. The prompt, skill, ticket, screenshot, and context window are the **map**. The real codebase, product, users, data, constraints, history, and reviewer expectations are the **territory**. The gap between them is the task's **unknowns**. ## Unknown types | Type | Meaning | Agent move | |---|---|---| | Known knowns | Explicit facts and constraints in the prompt | Preserve and restate briefly | | Known unknowns | Questions already recognized as open | Ask, research, parameterize, or gate | | Unknown knowns | Tacit standards the user would recognize only after seeing them | Prototype, mock, compare, or interview | | Unknown unknowns | Hidden constraints, missing vocabulary, prior art, traps, or quality ceilings nobody mentioned | Run blindspot passes, inspect references, search code/history, and surface landmines | ## When to activate Activate this skill when any of these are true: - The work is multi-step, ambiguous, unfamiliar, high-risk, or likely to require judgment. - The user mentions “blindspot pass,” “unknown unknowns,” “what am I missing,” “interview me,” “prototype first,” “implementation notes,” “buy-in doc,” “quiz me,” or similar. - The user lacks domain vocabulary or does not know what good looks like. - The task involves codebase history, architecture, data model, permissions, migrations, UX, visual design, product scope, rollout, or reviewer approval. - The agent is about to start a long-horizon implementation or has already discovered that the plan and codebase disagree. Do **not** activate for tiny deterministic tasks where exploration would add friction, such as fixing a typo, renaming a variable, or answering a direct question with no meaningful unknowns. ## Core loop 1. **State the map.** Restate the task, constraints, and what the user says they know. 2. **Inspect the territory.** Read relevant files, docs, examples, data, screenshots, references, prior work, or user-provided context. 3. **Build an unknowns matrix.** Separate known knowns, known unknowns, unknown knowns, and unknown unknowns. 4. **Choose the cheapest useful artifact.** Pick the mode that exposes the highest-blast-radius unknown earliest. 5. **Gate implementation.** Proceed only when dangerous unknowns are resolved, explicitly accepted, or isolated behind reversible decisions. 6. **Carry discoveries forward.** Fold the discoveries into a better prompt, plan, implementation note, buy-in doc, quiz, tests, or review artifact. ## Artifact mode selector | Mode | Use when | Output | |---|---|---| | `blindspot-pass` | Unfamiliar codebase/domain/design area; likely unknown unknowns | Blindspot cards + better implementation prompt | | `teach-me-my-unknowns` | User lacks vocabulary or quality criteria | Mental model + vocabulary ladder + improved prompts | | `brainstorm-prototype` | User will know it when they see it | Divergent prototypes/options + reaction template | | `mock-before-wire` | Need to see UI/flow before backend/state/app changes | Throwaway mock with fake data + wiring plan | | `option-space-brainstorm` | Problem framing may be too narrow or too wide | Ranked interventions from cheapest to ambitious | | `one-question-interview` | Ambiguity remains after exploration | One question at a time, ordered by blast radius | | `reference-semantics-map` | Existing code/design/doc is the best description | Semantics map before porting/adapting | | `tweakable-plan` | Ready to implement but human should review change-prone parts | Plan sorted by likely human-tweak points before execution order | | `implementation-notes` | Implementation is underway and surprises appear | Running log of deviations and conservative choices | | `buy-in-doc` | Work needs approval or stakeholder alignment | Demo-first pitch/explainer with objections and signoffs | | `merge-readiness-quiz` | Human must understand a complex change before merge/release | Report + quiz with pass criteria | Detailed procedures are in [references/WORKFLOWS.md](references/WORKFLOWS.md). Copyable prompt cards are in [references/PROMPT_PATTERNS.md](references/PROMPT_PATTERNS.md). Output schemas are in [references/OUTPUT_SCHEMAS.md](references/OUTPUT_SCHEMAS.md). ## Default output contract Every unknowns artifact should include: 1. **Scope read:** What was inspected or assumed. 2. **Unknowns found:** Labels by unknown type and severity. 3. **Blast radius:** What changes if this unknown is answered differently. 4. **Conservative default:** What the agent will do if forced to proceed. 5. **Decision needed:** What the user must choose, if anything. 6. **Prompt upgrade:** A revised prompt/instruction incorporating discoveries. 7. **Stop conditions:** Cases where guessing is unacceptable. ## Autonomy rules - Ask before acting when an unknown can change architecture, data model, auth, privacy, compliance, cost, public API, migration, rollout, or user-facing behavior. - Proceed conservatively when the unknown is low-risk, reversible, and the user has asked not to be interrupted. Label assumptions as `ASSUMED`. - Prototype before wiring when feedback depends on taste, layout, copy tone, interaction flow, information architecture, or data density. - Prefer source references over prose when behavior already exists elsewhere. - During implementation, log every material deviation before continuing. - Do not merge complex agent work on diff-skimming alone; create a report and quiz if understanding matters. ## Stop immediately when - The territory contradicts the task goal. - The unknown could cause data loss, auth bypass, privacy leak, billing impact, destructive migration, public API break, or compliance failure. - A prior failed/reverted attempt appears and the reason still applies. - Exact legal/security/compliance behavior is requested but the authoritative source is absent. ## Minimal examples ```text Do a blindspot pass before implementation. Find unknown unknowns, explain why each matters, and rewrite my prompt with the discoveries folded in. ``` ```text Before touching the app, make a single HTML mock with fake data so I can react to layout and product decisions. ``` ```text Keep implementation-notes.md as you build. If code forces a plan deviation, choose the conservative option, log it under Deviations, and continue unless it affects security/data/migrations/API/compliance. ``` ```text Give me a merge-readiness report with a quiz at the bottom. I should not merge until I pass it perfectly. ``` ## Packaged resources - [references/ARTICLE_DIGEST.md](references/ARTICLE_DIGEST.md) — faithful extracted digest of the supplied article. - [references/WORKFLOWS.md](references/WORKFLOWS.md) — detailed procedure for each artifact mode. - [references/PROMPT_PATTERNS.md](references/PROMPT_PATTERNS.md) — reusable prompt cards. - [references/OUTPUT_SCHEMAS.md](references/OUTPUT_SCHEMAS.md) — artifact schemas and gates. - [references/EVALUATION.md](references/EVALUATION.md) — eval prompts and quality rubrics. - [references/SOURCE_INDEX.md](references/SOURCE_INDEX.md) — source and format references. - [assets/templates/](assets/templates/) — reusable Markdown templates. - [examples/](examples/) — example applications across coding, product/design, and research. - [scripts/](scripts/) — optional helper scripts for template generation and validation.