Dossier — Entscheidungsorientierte Entity-Recherche
Portabilität: Erfordert
WebSearch+WebFetch, Node.js mit demdocx-Paket und optionalbash_tool+curlfür freie APIs (SEC EDGAR, GitHub, ProPublica). BYOK MCPs (LinkedIn, Crunchbase, Apollo, Pitchbook, SimilarWeb) sind optionale Erweiterungen. Funktioniert nativ in der Claude Code CLI.
Nicht-generischer Rahmen — Der Unterschied
Dieses Skill ist eine entscheidungsorientierte Entity-Recherche mit Hypothesenprüfung. Es verweigert sich der Aufforderung „Erzähl mir von Microsoft“. Jeder Aufruf zwingt den Nutzer, seine Hypothese vorab offenzulegen (Q4), damit das Dossier diese prüft statt bestätigt.
Das typische Nutzungsszenario:
„Ich pitche am Dienstag bei Microsoft. Meine Hypothese ist, dass sie ihre KI-Ausgaben auf der hauseigenen Foundry-Plattform konsolidieren. Bestätige oder widerlege dies und gib mir drei Gesprächseinstiege, die auf deinen Ergebnissen basieren.“
NICHT:
„Erzähl mir von Microsoft.“
Die zwingende Q4 — die Hypothesenfrage — ist der nicht-generische Anker. Wird sie übersprungen, produziert das Skill eine Wikipedia-Zusammenfassung.
Siehe references/hypothesis_testing_discipline.md für den Kanon.
Agenten-Integritätsregeln (Research-Pack-Konvention)
Festgeschrieben gemäß PR #657 Audit.
- Ausführungsdisziplin. Sequenzielle Suchaufrufe. WebSearch + WebFetch haben großzügigere Ratenbegrenzungen als Consensus, aber dennoch gilt die Etikette von 1 Abfrage/Sekunde. Antwort bestätigen, bevor der nächste Aufruf erfolgt.
- Quellendisziplin. Nur Quellen zitieren, die von den Tool-Aufrufen dieser Sitzung stammen. Wikipedia / Trainingswissen als
[Hintergrund — vor Zitat überprüfen]kennzeichnen und von der primären Fundanzahl ausschließen. - Drei-Zähler-Verfolgung. Gesendete Abfragen / erhaltene Quellen / zitierte Quellen. Zusätzlich Aufschlüsselung nach Stufen (primär / sekundär / tertiär) spezifisch für das Dossier. Wird im Audit-Protokoll ausgegeben.
- Wiederholungsrichtlinie. Bei Fehler → 3s warten → einmal wiederholen → protokollieren. Nach 3 aufeinanderfolgenden Fehlern: anhalten, Nutzer alarmieren.
- Quellenzuverlässigkeitsstufe. Jedes Zitat wird als primär (offiziell, SEC, Gerichtsakten) / sekundär (Mainstream-Nachrichten, Fachpresse) / tertiär (Blogs, Foren) markiert. Das DOCX zeigt die Stufe bei jeder Kennzeichnung an.
Phase 1: Intake mit Rückfragen (6 zwingende Fragen, eine nach der anderen)
Q1 (Wurzel) — Identität des Subjekts
Wer ist das Subjekt? Nenne mir den genauen Namen und, falls es ein Unternehmen ist, die Website oder LinkedIn-URL. Falls es eine Person ist, deren LinkedIn-URL oder einen eindeutigen Identifikator (Firmenzugehörigkeit + Rolle).
Warum ich frage: Disambiguierung. Es gibt 47 John Smiths. Es gibt drei Unternehmen namens „Atlas“. Ich brauche eine spezifische Entität für die Recherche.
Wenn der Nutzer nur einen Namen angibt, nach einem zweiten Identifikator fragen. Bei mehrdeutigen Namen die Fortsetzung verweigern.
Q2 (abhängig von Q1) — Subjekttyp
Um welche Art von Subjekt handelt es sich? Wähle aus: Person / Unternehmen / gemeinnützige Organisation / Regierungsbehörde / Sonstiges.
Warum ich frage: Es gelten unterschiedliche Quellenmatrizen. Für Personen prüfe ich LinkedIn, GitHub, Scholar, Nachrichten; für Unternehmen prüfe ich SEC EDGAR (falls öffentlich), Crunchbase, Nachrichten, GitHub für Technologieunternehmen; für gemeinnützige Organisationen prüfe ich Form 990s auf ProPublica.
Auswahl erzwingen. „Sonstiges“ erfordert eine einzeilige Beschreibung.
Q3 (abhängig von Q2) — Zweck
Worauf bereitest du dich vor? Wähle aus:
- Verkaufsgespräch / Partnerschafts-Pitch
- Investitions-Due-Diligence
- Übernahme-Due-Diligence
- Journalismus / Due Diligence
- Vorbereitung auf ein Vorstellungsgespräch
- Wettbewerbsanalyse
- Persönliches Vetting (Date, Einstellung, Geschäftspartner)
- Sonstiges (spezifizieren)
Warum ich frage: Der Zweck bestimmt den Blickwinkel, die Tiefe und die Sensibilität von Warnhinweisen. Vertriebsvorbereitung benötigt Gesprächseinstiege. Investitions-Due-Diligence benötigt Indikatoren für Zugkraft. Persönliches Vetting benötigt sorgfältige Sensibilitätsgrenzen.
Q4 (abhängig von Q3) — Hypothese — VERPFLICHTEND
Wie lautet deine Hypothese im Vorfeld? Was glaubst du bereits über dieses Subjekt, und was möchtest du verifizieren oder widerlegen?
Warum ich frage: Dies ist die entscheidende Frage. Ein Dossier, das nur bestätigt, was du ohnehin denkst, ist wertlos. Indem du deine Hypothese vorab nennst, kann ich nach Beweisen suchen, die sie widerlegen, ebenso wie nach Beweisen, die sie stützen — und dir ein Urteil liefern, das du tatsächlich nutzen kannst.
Beispiele:
- „Ich glaube, Microsoft konsolidiert KI-Ausgaben auf der hauseigenen Foundry. Verifiziere oder widerlege.“
- „Ich denke, der CEO ist überfordert — zu viel TAM-Gerede, keine Zugkraft. Teste das.“
- „Ich glaube, die Gemeinkostenquote dieser Non-Profit ist fragwürdig. Überprüfe die 990s.“
- „Ich denke, diese Person ist technisch versiert genug für eine CTO-Rolle. Verifiziere.“
VERPFLICHTEND. Wenn der Nutzer sagt „Ich habe keine“, einmal nachfragen: „Dann rate. Beziehe eine Position, die du später aktualisieren kannst. Das Dossier braucht eine zu prüfende Hypothese, sonst ist es ein generisches Profil und hilft dir nicht bei deiner Entscheidung.“
Wenn weiterhin abgelehnt: auf implizite Hypothese zurückfallen („Was wäre die überraschendste Sache, die ich finden könnte?“) und den Rückfall im Audit-Protokoll kennzeichnen.
Diese Frage ist der nicht-generische Anker. Wird sie übersprungen, wird aus dem Skill eine Wikipedia-Zusammenfassung.
Q5 (abhängig von Q3) — Tiefe
Zeithorizont: 5-minütiges Briefing oder 15-minütiges entscheidungsorientiertes Dossier?
Warum ich frage: Der Briefmodus ist auf etwa 10 Suchvorgänge begrenzt und überspringt die Netzwerk- und Reputationsdurchläufe. Das entscheidungsorientierte Dossier geht in jedem Abschnitt tiefer. Wähle basierend darauf, wie viel bei dieser Entscheidung für dich auf dem Spiel steht.
Auswahl erzwingen.
Q6 (nur wenn Q3 ∈ {Journalismus, persönliches Vetting}) — Sensibilitäten
Gibt es etwas Sensibles, das ausgeschlossen werden soll? Z. B. persönliche medizinische Daten, familiäre Details, politische Geschichte oder bestimmte Themen, die tabu sind?
Warum ich frage: Manche Recherchekontexte unterliegen ethischen Einschränkungen. Ich erfahre lieber vorab davon, als etwas zu Tage zu fördern, das du nie teilen würdest.
Für Vertrieb/Investition/Übernahme/Wettbewerbsanalyse überspringen (geringe Sensibilität); für Journalismus/persönliches Vetting nachfragen (hohe Sensibilität).
Abbruchbedingung: Nach Q6 (oder früher bei Abhängigkeitsübersprüngen) festschreiben und mit Phase 2 beginnen. Das Intake nach Beginn von Phase 2 niemals wieder öffnen.
Phase 2: Subjekt-Disambiguierung
Vor Phase 3 das Subjekt auf eine bestimmte Entität festlegen:
- Für Personen: LinkedIn-URL ODER (Arbeitgeber + Rolle + Stadt) bestätigen
- Für Unternehmen: Domain ODER (Rechtsform + Gründungsort) bestätigen
- Für Non-Profits: EIN ODER (Rechtsform + Bundesstaat) bestätigen
- Für Regierungsbehörden: offizielle .gov-URL bestätigen
Wenn nach Q1-Rückfrage weiterhin mehrdeutig: anhalten und Q1 mit disambiguierenden Identifikatoren erneut stellen. Fortsetzung verweigern.
Phase 3: Auswahl der Quellenmatrix
Wird durch Q2-Subjekttyp gesteuert. Siehe references/subject_type_source_matrix.md für den vollständigen Kanon.
Person
- LinkedIn (manueller Abruf oder LinkedIn MCP, falls BYOK)
- Persönliche Website
- Twitter/X (ratenbegrenzt; gnädig degradieren)
- GitHub (falls technisches Subjekt)
- Google Scholar (falls akademisch)
- Nachrichten (WebSearch + WebFetch)
- Transkripte von Konferenzvorträgen, Podcasts (WebSearch)
Unternehmen
- Offizielle Website (Über uns, Führung, Neuigkeiten, Karriere)
- SEC EDGAR (kostenlose API; 10-Ks, 10-Qs, 8-Ks für börsennotierte Unternehmen)
- Crunchbase kostenloser Tarif (oder Crunchbase MCP, falls BYOK)
- Nachrichten (WebSearch + WebFetch)
- GitHub (für Technologieorganisationen)
- Glassdoor + Comparably (Stimmung; gnädig degradieren, falls Scraping blockiert wird)
- LinkedIn-Unternehmensseite
Gemeinnützige Organisation
- ProPublica Nonprofit Explorer (kostenlos; Form 990s)
- Offizielle Website
- Nachrichten
- GuideStar (falls zugänglich)
Regierungsbehörde
- Offizielle .gov-Seiten
- Nachrichten
- ProPublica (für Bundesbehörden)
Falls ein kostenpflichtiger MCP verbunden ist (Apollo, Pitchbook, SimilarWeb), diesen verwenden, aber die Ergebnisse im Audit-Protokoll als BYOK-beschafft kennzeichnen.
Phase 4: Hypothesengesteuerte Suche
Jede Phase-4-Suche MUSS klassifiziert werden als entweder:
- Bestätigendes Indiz (bestätigt Hypothese), ODER
- Widerlegendes Indiz (würde Hypothese widerlegen)
≥30 % des Suchbudgets für widerlegende Abfragen reserviert. Durchgesetzt über scripts/disconfirming_evidence_balance.py.
Beispiel für Hypothese „Microsoft konsolidiert KI-Ausgaben auf Foundry“:
- Bestätigend: „Microsoft Foundry-Einführung 2026“, „Microsoft KI-Infrastruktur-Konsolidierung“
- Widerlegend: „Microsoft OpenAI-Deal-Neuverhandlung“, „Microsoft KI-Anbieter-Diversifizierung“, „Microsoft Partnerschaften mit Drittanbietermodellen 2026“
Dies macht das Dossier entscheidungsorientiert statt bestätigungsverzerrt.
Für jede Suche:
- Aufzeichnen über
citation_tracker.pymit Klassifikation (bestätigend / widerlegend) - Quellenstufe aus
source_tier_classifier.pyauf jede Ergebnis-URL anwenden
Phase 5: 12-Monats-Aktivitätszeitplan
Standardmäßig 12-Monats-Fenster für den Aktivitätszeitplan; tiefer für grundlegende Identitätsdaten.
Kategorien:
- Nachrichten (Übernahmen, Einstellungen, Abgänge, Produkteinführungen)
- Finanzierungsrunden / finanzielle Ereignisse
- Kontroversen / rechtliche Ereignisse
- Öffentliche Stellungnahmen / Strategiewechsel
Umgekehrt chronologisch. Jeder Eintrag mit Hyperlink versehen und nach Stufen kategorisiert.
Phase 6: Netzwerk- + Reputationssignale
Netzwerk
- Unternehmen: Investoren (ein/aus), Kunden (namentlich genannt), Partner
- Personen: Mitgründer, Berater, Mentoren, Arbeitgeber, Vorstandsrollen
- Non-Profits: Geldgeber, Vorstand, Führung
5-10 Einträge, sortiert nach Relevanz für die Hypothese.
Reputation
- Stimmung aus Nachrichten (letzte 12 Monate)
- Glassdoor für Unternehmen (Gesamtbewertung + 3 repräsentative Bewertungen)
- Kollegen-Erwähnungen für Personen
- Einschränkung: Reputationsdaten sind verrauscht; entsprechend stufen
Phase 7: Warnhinweise durchgehen
Aufzeigen, aber nicht sensationalisieren:
- Rechtsstreitigkeiten (Gerichtsakten → primäre Stufe)
- Regulierungsmaßnahmen (SEC, DOJ, Behördenmaßnahmen → primär)
- Ungewöhnliche Abgänge (Abgänge von Schlüsselpersonal innerhalb von 90 Tagen)
- Finanzielle Signale (Going-Concern-Hinweise in 10-Ks → primär)
- Reputationsschäden (anhaltende negative Berichterstattung → sekundär)
Jeder Hinweis wird eingestuft. Die Stufe erscheint neben jedem Hinweis im DOCX.
Phase 8: Generierung von Gesprächseinstiegen
3-5 spezifische Einstiege, die an tatsächliche Ergebnisse geknüpft sind, nicht an generische Gesprächsthemen.
Siehe references/conversation_hook_quality.md für den Kanon.
| ❌ Generisch | ✅ Ergebnisgebunden |
|---|---|
| „Frag nach ihrer Roadmap“ | „Erwähne ihre kürzliche Übernahme von [X] — es signalisiert, dass sie in vertikales Y investieren. Vorgeschlagene Formulierung: „Die [X]-Ankündigung gesehen — wie ändert das eure Roadmap für Y?““ |
| „Frag nach Einstellungen“ | „Ihr VP Engineering hat vor 3 Wochen gekündigt (LinkedIn). Vorgeschlagene Formulierung: „Mir ist aufgefallen, dass [Name] gegangen ist — wie sieht der Engineering-Führungsplan aus?““ |
| „Sprich über ihre Werte“ | „Sie haben letzte Woche ihre Preisseite aktualisiert (offizielle Website). Vorgeschlagene Formulierung: „Das Preise-Update gesehen — was hat dazu geführt?““ |
Jeder Einstieg:
- Der Einstieg (ein Satz)
- Das Ergebnis, an das er geknüpft ist (mit Hyperlink + Stufe)
- Vorgeschlagene Formulierung (wörtlicher Wortlaut, den der Nutzer anpassen kann)
Phase 9: DOCX-Generierung (9 Abschnitte)
Über Node.js + die docx-Bibliothek.
- Executive Summary — ein Absatz: wer sie sind + warum sie relevant sind + Urteil zur Hypothese (BESTÄTIGT / TEILWEISE BESTÄTIGT / WIDERLEGT / NICHT SCHLÜSSIG) + 3 Punkte „Was Sie wissen sollten“.
- Identitätstabelle — gegründet/geboren, Standort, Größe/Phase, aktuelle Rolle, wichtige Zugehörigkeiten. Alle Zellen mit Quellenangabe; Hover-Text-Stufe.
- Hypothesenprüfung — die Hypothese des Nutzers wörtlich angegeben. Bestätigende Indizien (3-5 Aufzählungspunkte mit Hyperlink-Zitaten). Widerlegende Indizien (3-5 Aufzählungspunkte mit Hyperlink-Zitaten). Urteilsabsatz (2-3 Sätze, die die Gewichtung erklären).
- 12-Monats-Aktivitätszeitplan — Nachrichten, Finanzierung, Einstellungen, Abgänge, Produkteinführungen, Kontroversen. Umgekehrt chronologisch. Jeder Eintrag mit Hyperlink versehen.
- Netzwerksignale — Mitarbeiter / Investoren / Partner. 5-10 Einträge, sortiert nach Relevanz für die Hypothese.
- Reputationssignale — Stimmung aus Nachrichten, Glassdoor für Unternehmen, Kollegen-Erwähnungen für Personen. Einschränkung: Reputationsdaten sind verrauscht.
- Warnhinweise + versteckte Muster — Rechtsstreitigkeiten, Regulierungsmaßnahmen, ungewöhnliche Abgänge, finanzielle Signale, Reputationsschäden. Abgestuft.
- Gesprächseinstiege — 3-5 spezifische Einstiege, die an Ergebnisse geknüpft sind. Jeder: Einstieg + Ergebnis + vorgeschlagene Formulierung.
- Quellenherkunft + Audit-Protokoll — Quellenliste mit Stufe. Suchübersichtstabelle (#, Abfrage, Klassifikation, zurückgegebene Quellen, zitierte Quellen). Drei Zähler + stufenbezogene Zähler. Fehlgeschlagene Suchvorgänge. BYOK-MCP-Nutzungsflagge.
Gestaltung
Arial 12pt Fließtext, marineblaue Überschriften (#1a3a5c), hellblaue Tabellenkopfzeilen (#e8f0f8), rote Warnhinweis-Hervorhebung, grüne Gesprächseinstieg-Hervorhebung.
Hyperlink-Muster
new ExternalHyperlink({
link: "https://...",
children: [new TextRun({ text: title, style: "Hyperlink" })],
});
Phase 10: Auslieferung
- Speichern:
<output-dir>/dossier_<entity-slug>_<YYYY-MM-DD>.docx - Zusammenfassung im Chat: Dateipfad + Urteil zur Hypothese + Audit-Zähler + Stufenaufschlüsselung + verwendete BYOK MCPs (falls vorhanden)
- Validieren: Zip-Integrität prüfen mit
python3 -c "import zipfile,sys; zipfile.ZipFile(sys.argv[1]).testzip()" <docx>(keine Ausgabe = intakt), dann das Vorhandensein der erforderlichen Abschnitte bestätigen
Werkzeuge
| Skript | Rolle |
|---|---|
scripts/citation_tracker.py | Drei-Zähler-Audit + Bestätigungs-/Widerlegungsklassifikation + Quellenstufen-Tagging unter ~/.dossier_sessions/<session>.json |
scripts/disconfirming_evidence_balance.py | Überprüft, ob ≥30 % des Suchbudgets für widerlegende Abfragen reserviert wurden; warnt bei Verzerrung |
scripts/source_tier_classifier.py | URL → primäre / sekundäre / tertiäre Klassifikation über Domain-Heuristiken |
Referenzen
references/hypothesis_testing_discipline.md— ≥30%-Regel + entscheidungsorientiert vs. enzyklopädisch (7+ Quellen)references/subject_type_source_matrix.md— Quellenmatrizen für Person/Unternehmen/Non-Profit/Regierung (7+ Quellen)references/conversation_hook_quality.md— Disziplin ergebnisgebundener Einstiege (7+ Quellen)
Fehlerbehandlung
| Fehler | Verhalten |
|---|---|
| Subjektname mehrdeutig | Fortsetzung verweigern. Q1 mit disambiguierendem Identifikator erneut stellen. |
| Nutzer weigert sich, Hypothese zu nennen | Einmal nachfragen. Bei weiterer Ablehnung auf implizite Hypothese zurückfallen („Was wäre die überraschendste Sache, die ich finden könnte?“). Im Audit kennzeichnen. |
| Subjekt hat keine öffentliche Fußspur | In Audit-Protokoll aufnehmen; Dossier mit erreichbaren Quellen abschließen. Warnung: „Dieses Dossier basiert auf -Quellen (untere Grenze); Urteil nur vorläufig verwenden.“ |
| SEC EDGAR / ProPublica API nicht erreichbar | Gnädig auf WebSearch + WebFetch degradieren. Im Audit kennzeichnen. |
| Suchabfrage schlägt fehl | 3s warten → einmal wiederholen → protokollieren. Nach 3 aufeinanderfolgenden Fehlschlägen: anhalten, Nutzer alarmieren. |