- #954: strip non-spec source/attribution keys from all 39 plugin.json manifests so Claude Code's validator accepts them; metadata preserved in new .claude-plugin/authoring-notes.json sidecars; check_plugin_json.py now hard-fails manifests carrying those keys and sanity-checks the sidecar; CLAUDE.md ClawHub schema section updated to the new rule. - #949: move the c-level-agents plugin out of c-level-advisor/ to a top-level directory so the two marketplace sources no longer overlap; updated marketplace.json source, homepage, descriptions, all cross-references, docs, harness manifest, mirror-tree symlinks/indexes, and rebased the moved files' relative links; domain counters trued up (18 -> 19 domains). - #933: replace dead links to the gitignored maintainer-local megaprompts/ tree with annotated plain-text references (44 files: SKILL.md, READMEs, agents, commands). - #931: DynamoDB on-demand pricing updated to post-Nov-2024 rates ($0.625/M writes, $0.125/M strongly consistent reads). - #969: skill_security_auditor.py and the three dossier scripts reconfigure stdout/stderr to UTF-8 (errors=replace) so legacy Windows codepages no longer crash at print time; PYTHONUTF8=1 documented. - #968: Windows Notes section in INSTALLATION.md + README pointer for the core.symlinks mirror-tree checkout caveat. - #924/#885 residuals: hook commands quote "${CLAUDE_PLUGIN_ROOT}" paths in all plugin hooks.json/settings.json (space-safe roots); removed the stale pre-rename status/review mirror symlinks and index entries left over from the memory-status/memory-review rename. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Qgc6RYXWJPr5oW9DHU7zR4
2.9 KiB
dossier
Decision-grade entity research. Produces a hypothesis-tested dossier on a specific company, person, nonprofit, or government org — built around hypothesis-testing rather than encyclopedic summary.
Non-generic by design
The skill refuses to be "tell me about Microsoft". Every invocation forces the user to expose their hypothesis upfront (Q4 — mandatory), so the dossier tests it rather than confirms it.
| ❌ Generic ask | ✅ Decision-grade ask |
|---|---|
| "Tell me about Microsoft." | "I'm pitching Microsoft Tuesday. My hypothesis is they're consolidating AI spend on Foundry. Validate or disprove, and give me 3 conversation hooks tied to what you find." |
The forcing Q4 is the non-generic anchor. Without it, the skill produces a Wikipedia summary.
Sibling skill relationship
Part of the research pack (sibling of pulse, litreview, grants). Shares Agent Integrity Rules (1 q/sec, source discipline, three-count tracking, retry-once-after-3s, stop-after-3-consecutive-failures).
Different from siblings:
- Hypothesis-testing discipline — ≥30% of search budget allocated to disconfirming evidence
- Source-tier discipline — every flag tagged primary / secondary / tertiary
- Subject-type routing — different source matrix for person / company / nonprofit / gov
- Verdict in Executive Summary: SUPPORTED / PARTIALLY SUPPORTED / DISPROVEN / INCONCLUSIVE
- Uses WebSearch + WebFetch + free APIs (not Consensus)
Source spec
megaprompts/12-dossier-megaprompt.md (maintainer-local draft spec — gitignored, not in the public repo) (PR #657).
Plugin layout
research/dossier/
├── .claude-plugin/plugin.json
├── README.md
├── agents/cs-dossier.md ← hypothesis-testing persona; Q4 enforcer
├── commands/cs-dossier.md ← /cs:dossier <entity>
└── skills/dossier/
├── SKILL.md
├── references/
│ ├── hypothesis_testing_discipline.md ← why disconfirming; ≥30% rule (7+ sources)
│ ├── subject_type_source_matrix.md ← person/company/nonprofit/gov sources (7+ sources)
│ └── conversation_hook_quality.md ← finding-tied vs generic (7+ sources)
└── scripts/
├── citation_tracker.py ← supporting/disconfirming + source-tier counts
├── disconfirming_evidence_balance.py ← enforces ≥30% disconfirming queries
└── source_tier_classifier.py ← URL → primary/secondary/tertiary
Dependencies
WebSearch+WebFetch— required (news, public web)bash_tool+curl— required for free APIs (SEC EDGAR, GitHub, ProPublica)- Node.js
docxlibrary — required for DOCX generation - Optional BYOK MCPs — LinkedIn, Crunchbase, Apollo, Pitchbook, SimilarWeb (surfaced in audit log when used)
License
MIT.