deep_dive_invitation · git:20260906.f9cef19 · 2026-09-06 · sha256 0c8ef1903dfc1e44
deep_dive_invitation git:20260906.f9cef19A
Immutable. This exact content never changes and is served at /api/v1/blob/0c8ef1903dfc1e44.
--- name: deep_dive_invitation description: Create a review-only Markdown deep-dive invitation for Joëlle from a Dealum startup and supplied contacts. Use for invitation preparation; never send the email or create a Gmail draft. --- # Deep-dive invitation Prepare recipient reconciliation and an invitation for human review. ## Inputs and outputs The async `deep_dive_invitation(startup, founders=None, investors=None)` takes lists of canonical `Person` objects and returns one `InsightFile` in a list, named `deep-dive-invitation-<startup>-<model>.md`. `parse_people_csv` adapts comma-separated names, emails or `Name <email>` entries. For pasted Dealum Funding-tab text, extract contacts from Internal and External under FUNDING INTERESTS. Preserve names and emails, including name-only organizations; ignore round amounts, tags and interface text. Do not invent contacts. Ask for the exact startup name/code only when unclear. ## Workflow and dependencies Import Dealum data, request normal `startup_profile`, read member preferences, then request `expert_search`. Existing member rosters and investor profiles are required; the invitation does not discover people. It has no bulk registration. Supplied contacts are authoritative. Investor reconciliation tries exact email, then LinkedIn ID, then normalized-name matches, not general fuzzy matching. Investor email priority is the supplied address, then the matched member's `@investor.sictic.ch`, `@sictic.ch`, then another stored address. Founder emails can come from supplied contacts and the Dealum application contact; missing addresses produce placeholders. Interested-investor Funding-tab extraction is not automated, so the draft always includes a verification notice. Interested investors with an address remain in Cc even with preference `none`; missing addresses create notices and are omitted until completed. Exclude interested members and opted-out members from expert search. Configuration currently requests 16 candidates and selects at most 10 usable experts. Bcc excludes addresses already in To/Cc; experts appear only in Bcc, not as named rows in the email body. Render the configured template mechanically after reconciliation. Cache lookup occurs after dependencies; its key includes configuration, supplied people, member preferences and expert-report content, with startup/community revisions. Resolved member contacts are not independently hashed, so contact edits alone may not invalidate the draft. ## Side effects and failure behavior Dependencies may import, synchronize, generate profiles and rank experts. Save only a review artifact: do not send messages, create mail drafts or change stages. Missing/ambiguous contacts can become visible review notices; dependency and generation failures propagate. Preserve the configured recipient precedence and manual output selection. ## Usage ```bash conda run -n sictic-env python -m skills.harness '/deep_dive_invitation --startup "<EXACT_NAME_OR_CODE>" --founders "Jane Founder <jane@example.com>" --investors "Nina Member <nina@example.com>"' ``` The direct CLI uses the same plural `--founders` and `--investors` options; both are optional. ## References - [Implementation and recipient precedence](deep_dive_invitation.py) - [Template and settings](../../config/deep_dive_invitation/) - [Member preferences](../member_preferences/SKILL.md) - [Expert search](../expert_search/SKILL.md)