Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Structured intelligence dossiers on companies, people, markets, or domains, with source triangulation and fact/inference discipline. Use when preparing a deal-prep dossier, executive briefing, or due-diligence overview.
.claude/skills/borghei-dossier/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 10% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 51% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 150% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 231% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 292% | 0% |
A research skill for producing structured intelligence dossiers — the kind of document a CEO reads before a meeting, a PM reads before market-entry, or an investor reads before due diligence.
Before building the dossier, confirm these inputs. If any is unknown or vague, ASK — do not assume:
Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.
dossier_outline_generator.py to produce a structured outlinetailored to subject + purpose.
bashpython3 dossier/scripts/dossier_outline_generator.py \ --subject-type company --purpose deal-prep --format markdown
source_triangulation_validator.py to check each claim hasmultiple independent supporting sources + source reliability.
bashpython3 dossier/scripts/source_triangulation_validator.py \ --input claims_with_sources.json --format markdown
fact_inference_separator.py to classify each statement andflag unsupported inferences.
bashpython3 dossier/scripts/fact_inference_separator.py \ --input dossier_statements.json --format markdown
A useful structure for any dossier:
Three categories per statement:
| Category | Definition | Example | |----------|------------|---------| | Fact | Verifiable, sourced | "Founded 2018; HQ in Chicago" | | Inference | Reasoned from facts | "Likely targeting enterprise segment based on hiring pattern" | | Speculation | No supporting evidence | "Might pivot to AI next year" |
A trustworthy dossier separates these clearly. Mixing them = loss of credibility.
| Reliability | Code | Description | |-------------|------|-------------| | Completely reliable | A | Established, history of completely reliable info | | Usually reliable | B | History of mostly reliable info | | Fairly reliable | C | History of reliable info with notable errors | | Not usually reliable | D | Limited history; mixed accuracy | | Unreliable | E | Known for inaccurate info | | Cannot be judged | F | New / unknown source |
| Information credibility | Code | Description | |--------------------------|------|-------------| | Confirmed | 1 | Confirmed by other independent sources | | Probably true | 2 | Not confirmed; consistent with other info | | Possibly true | 3 | Not confirmed; reasonable but unsupported | | Doubtful | 4 | Inconsistent with other info | | Improbable | 5 | Contradicted by other info | | Cannot be judged | 6 | New info; no validation possible |
A "B-2" rated claim is "usually reliable source, probably true" — workable. An "F-6" claim is "unknown source, unverified" — barely worth including.
For each significant claim:
"Independent" means not derived from the same underlying source. Two news articles citing the same press release ≠ 2 independent sources.
regulatory posture.
customer concentration, regulatory risk.
donor profile, alignment with our position.
distribution, cultural / business norms, talent.
references/dossier-frameworks-and-structure.md — outline patterns per subject typereferences/source-triangulation-and-reliability.md — source assessment, triangulationreferences/fact-vs-inference-discipline.md — categorization + writing patternsresearch/litreview — academic literature searchc-level-advisor/ceo-advisor — strategic briefing patternsc-level-advisor/general-counsel-advisor — legal due diligence overlapmarketing/competitive-teardown — competitive intel anglebusiness-growth/customer-success-manager — account research patterns| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-03 | fail→fail | 25,399 | 26,085 | +3% | 1 | 1 | 0% | 3,873 | 5,863 | +51% | 0 | 0 | — |
case-01 | fail→pass | 28,835 | 21,283 | -26% | 1 | 1 | 0% | 4,680 | 5,133 | +10% | 0 | 0 | — |
case-02 | fail→pass | 19,209 | 17,401 | -9% | 1 | 1 | 0% | 2,922 | 4,403 | +51% | 0 | 0 | — |
case-04 | fail→pass | 12,951 | 21,057 | +63% | 1 | 1 | 0% | 1,932 | 4,823 | +150% | 0 | 0 | — |
case-05 | fail→pass | 3,573 | 2,853 | -20% | 1 | 1 | 0% | 665 | 2,200 | +231% | 0 | 0 | — |
case-06 | fail→pass | 3,229 | 1,554 | -52% | 1 | 1 | 0% | 517 | 2,027 | +292% | 0 | 0 | — |
case-07 | pass→pass | 4,510 | 1,589 | -65% | 1 | 1 | 0% | 752 | 2,019 | +168% | 0 | 0 | — |
case-08 | pass→pass | 10,517 | 8,628 | -18% | 1 | 1 | 0% | 1,665 | 2,964 | +78% | 0 | 0 | — |
case-09 | pass→pass | 9,623 | 12,172 | +26% | 1 | 1 | 0% | 1,522 | 3,578 | +135% | 0 | 0 | — |
case-10 | fail→pass | 10,512 | 10,341 | -2% | 1 | 1 | 0% | 1,597 | 3,351 | +110% | 0 | 0 | — |
case-11 | pass→pass | 6,774 | 10,079 | +49% | 1 | 1 | 0% | 1,111 | 3,352 | +202% | 0 | 0 | — |
case-12 | fail→pass | 14,474 | 3,369 | -77% | 1 | 1 | 0% | 2,202 | 2,242 | +2% | 0 | 0 | — |
case-13 | pass→pass | 5,027 | 4,357 | -13% | 1 | 1 | 0% | 742 | 2,351 | +217% | 0 | 0 | — |
case-14 | pass→pass | 7,761 | 5,324 | -31% | 1 | 1 | 0% | 1,150 | 2,529 | +120% | 0 | 0 | — |
case-15 | pass→pass | 13,031 | 13,943 | +7% | 1 | 1 | 0% | 2,108 | 3,840 | +82% | 0 | 0 | — |
case-16 | pass→pass | 10,634 | 10,527 | -1% | 1 | 1 | 0% | 1,573 | 3,287 | +109% | 0 | 0 | — |
case-17 | pass→pass | 17,838 | 14,486 | -19% | 1 | 1 | 0% | 2,685 | 3,811 | +42% | 0 | 0 | — |
case-18 | fail→pass | 8,802 | 6,755 | -23% | 1 | 1 | 0% | 1,388 | 2,782 | +100% | 0 | 0 | — |
case-19 | pass→pass | 3,753 | 1,775 | -53% | 1 | 1 | 0% | 579 | 1,960 | +239% | 0 | 0 | — |
case-20 | pass→pass | 6,347 | 2,934 | -54% | 1 | 1 | 0% | 924 | 2,157 | +133% | 0 | 0 | — |
case-21 | pass→pass | 20,499 | 24,876 | +21% | 1 | 1 | 0% | 3,278 | 5,674 | +73% | 0 | 0 | — |
case-22 | pass→fail | 22,762 | 31,368 | +38% | 1 | 1 | 0% | 3,289 | 6,175 | +88% | 0 | 0 | — |
case-23 | pass→pass | 16,977 | 26,718 | +57% | 1 | 1 | 0% | 2,699 | 6,115 | +127% | 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. 23 cases were attempted. The headline lift of +30 percentage points is the difference between those two pass rates over the 23 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.