Build Evidence Map
Turn one contested question into a portable decision artifact that shows what supports the current position, what pushes against it, and what remains unknown. Do not use a graph to decorate an answer that has not been sourced.
For a simple factual claim or a general fact-checking request, use a verification
workflow such as doublecheck instead. Use this skill when the relationships
between evidence, intermediate claims, trade-offs, and missing facts matter.
Workflow
-
Frame one decision. Write one falsifiable question and one provisional position. Narrow the question until a reader can identify what action or belief the map is testing.
-
Collect bounded source regions. Prefer direct observations and primary sources. Record the URL or absolute local path, publisher, publication date, retrieval date, section/page/line/timestamp locator, and a short checkable excerpt. Read references/evidence-ladder.md when source quality is disputed.
-
Atomize the reasoning. Create only four node types:
position: the single current verdict;claim: an intermediate proposition;evidence: a faithful statement of one source region;unknown: a specific missing fact that could change the verdict.
-
Type every edge. Use
supports,contradicts,qualifies, ormissing. Add a plain-language note explaining why the source node bears on the target. Topical similarity is not support. Different scope, date, or population is not automatically a contradiction. -
Preserve counterevidence. Do not delete contrary evidence because the provisional verdict survives it. Represent scope differences with
qualifiesedges. -
Express uncertainty structurally. Do not invent confidence percentages. Add an
unknown, narrow the position, or qualify a claim. -
Write UTF-8 JSON with a
.doubt.jsonsuffix. Follow references/map-schema.md. Keep IDs short, stable, and semantic. -
Validate fail-closed. Resolve
scripts/validate.mjsrelative to thisSKILL.md, then run it with Node.js 18 or newer:node <skill-directory>/scripts/validate.mjs decision.doubt.jsonThe bundled validator uses only Node.js built-ins and does not require npm or network access. Fix every finding before reporting success. Only say the map is valid when the command exits
0and printsVALIDfollowed by a 64-character receipt. A file hash, node count, JSON parse, or manual schema review is not a Doubt receipt. If deterministic validation cannot run, report that block instead of inventing success.Render the validated map only when the user has already installed
doubt-ai@0.8.0; do not install or execute a remote package implicitly:doubt map decision.doubt.json --out decision.html -
Verify source snapshots only with explicit network permission. The following command retrieves each recorded HTTP(S) source and fails closed if an excerpt cannot be matched:
doubt verify decision.doubt.json \ --out decision.verified.doubt.jsonNever run this command implicitly. Local file verification does not use the network. Do not write a
verificationobject by hand or hide a mismatch. -
Inspect the deliverable. Confirm that the question, verdict, counterevidence, unknowns, edge notes, and exact source regions remain readable. Treat JSON as the canonical editable artifact; HTML is a shareable view.
Quality gates
A finished map must satisfy all of these:
- exactly one
positionhas incoming reasoning; - every evidence node names one source and participates in an edge;
- every source is used and has dates, a bounded locator, and a substantive excerpt;
- every non-position node has a directed path to the position;
- the reasoning graph has no duplicate edges or directed cycles;
- contrary or qualifying evidence is present when the source set contains it;
- each decision-changing gap is an explicit
unknownnode; - every edge note explains support, contradiction, qualification, or absence;
- the verdict is no broader than the evidence.
Deliver the result
Report:
- the current position in one sentence;
- the strongest counterevidence or qualification;
- the most important unresolved unknown;
- paths to the canonical JSON and any rendered HTML;
- whether deterministic validation and explicit source verification ran.
Never describe a structurally valid map as proven true. Validation establishes traceability and graph integrity; source quality and inference quality still require human review.