Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Build an auditable evidence map for a contested technical choice, research synthesis, proposal review, or consequential decision. Use when Copilot must preserve supporting, contradicting, qualifying, and missing evidence with exact source regions instead of collapsing disagreement into prose.
.claude/skills/github-build-evidence-map/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | 47% | 0% |
| case-19 | ✗→✓ | ▲ Improved | 87% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 780% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 229% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 70% | 0% |
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.
position. Narrow the question until a reader can identify what action or belief the map is testing.
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.
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.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.
provisional verdict survives it. Represent scope differences with qualifies edges.
Add an unknown, narrow the position, or qualify a claim.
.doubt.json suffix. Followreferences/map-schema.md. Keep IDs short, stable, and semantic.
scripts/validate.mjs relative to this SKILL.md, then run it with Node.js 18 or newer:
bash node <skill-directory>/scripts/validate.mjs decision.doubt.json
The 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 0 and prints VALID followed 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:
bash doubt map decision.doubt.json --out decision.html
following command retrieves each recorded HTTP(S) source and fails closed if an excerpt cannot be matched:
bash doubt verify decision.doubt.json \ --out decision.verified.doubt.json
Never run this command implicitly. Local file verification does not use the network. Do not write a verification object by hand or hide a mismatch.
counterevidence, unknowns, edge notes, and exact source regions remain readable. Treat JSON as the canonical editable artifact; HTML is a shareable view.
A finished map must satisfy all of these:
position has incoming reasoning;excerpt;
unknown node;Report:
Never describe a structurally valid map as proven true. Validation establishes traceability and graph integrity; source quality and inference quality still require human review.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 70,310 | 66,739 | -5% | 1 | 1 | 0% | 4,920 | 9,391 | +91% | 0 | 0 | — |
case-02 | fail→fail | 53,037 | 7,599 | -86% | 1 | 1 | 0% | 438 | 1,559 | +256% | 0 | 0 | — |
case-03 | fail→pass | 31,657 | 33,858 | +7% | 1 | 1 | 0% | 4,761 | 6,995 | +47% | 0 | 0 | — |
case-04 | pass→pass | 2,286 | 10,402 | +355% | 1 | 1 | 0% | 356 | 2,930 | +723% | 0 | 0 | — |
case-05 | pass→pass | 3,843 | 10,374 | +170% | 1 | 1 | 0% | 573 | 2,907 | +407% | 0 | 0 | — |
case-06 | pass→pass | 4,428 | 13,921 | +214% | 1 | 1 | 0% | 708 | 3,054 | +331% | 0 | 0 | — |
case-07 | fail→fail | 26,768 | 11,987 | -55% | 1 | 1 | 0% | 4,286 | 2,065 | -52% | 0 | 0 | — |
case-08 | fail→fail | 24,432 | 59,998 | +146% | 1 | 1 | 0% | 5,072 | 9,327 | +84% | 0 | 0 | — |
case-09 | fail→fail | 5,169 | 49,447 | +857% | 1 | 1 | 0% | 247 | 9,333 | +3679% | 0 | 0 | — |
case-19 | fail→pass | 15,387 | 15,309 | -1% | 1 | 1 | 0% | 1,916 | 3,592 | +87% | 0 | 0 | — |
case-10 | fail→pass | 4,307 | 26,791 | +522% | 1 | 1 | 0% | 660 | 5,809 | +780% | 0 | 0 | — |
case-11 | fail→fail | 9,957 | 42,153 | +323% | 1 | 1 | 0% | 889 | 9,314 | +948% | 0 | 0 | — |
case-12 | fail→fail | 39,496 | 50,239 | +27% | 1 | 1 | 0% | 8,143 | 9,323 | +14% | 0 | 0 | — |
case-13 | fail→pass | 16,585 | 37,314 | +125% | 1 | 1 | 0% | 2,552 | 8,390 | +229% | 0 | 0 | — |
case-20 | fail→fail | 4,986 | 6,344 | +27% | 1 | 1 | 0% | 225 | 1,285 | +471% | 0 | 0 | — |
case-14 | fail→pass | 33,190 | 50,654 | +53% | 1 | 1 | 0% | 5,212 | 8,857 | +70% | 0 | 0 | — |
case-15 | fail→pass | 30,331 | 42,633 | +41% | 1 | 1 | 0% | 4,685 | 9,317 | +99% | 0 | 0 | — |
case-16 | fail→pass | 17,140 | 37,186 | +117% | 1 | 1 | 0% | 2,802 | 6,323 | +126% | 0 | 0 | — |
case-17 | fail→pass | 11,841 | 37,240 | +215% | 1 | 1 | 0% | 1,617 | 6,091 | +277% | 0 | 0 | — |
case-18 | fail→fail | 11,353 | 8,863 | -22% | 1 | 1 | 0% | 1,812 | 1,573 | -13% | 0 | 0 | — |
case-21 | fail→pass | 3,998 | 12,526 | +213% | 1 | 1 | 0% | 564 | 2,833 | +402% | 0 | 0 | — |
case-22 | pass→pass | 9,223 | 52,262 | +467% | 1 | 1 | 0% | 1,355 | 9,328 | +588% | 0 | 0 | — |
case-23 | fail→fail | 8,244 | 33,194 | +303% | 1 | 1 | 0% | 1,161 | 7,293 | +528% | 0 | 0 | — |
case-24 | fail→pass | 6,721 | 17,094 | +154% | 1 | 1 | 0% | 839 | 3,480 | +315% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 24 cases were attempted, and 17 counted toward the lift figure. The other 7 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +42 percentage points is the difference between those two pass rates over the 17 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.