startup_profile · git:20261031.3258823 · 2026-10-31 · sha256 679744fb50b493f4
startup_profile git:20261031.3258823A
Immutable. This exact content never changes and is served at /api/v1/blob/679744fb50b493f4.
--- name: startup_profile description: Generate a startup diagnostic with sector from a named dataset, including a prepared temporary dossier. Use to explain the business, technology, market and current challenges. --- # Startup profile Describe what the startup does and the structural questions requiring review. ## Inputs and outputs The async `startup_profile(startup)` returns one `InsightFile` in a list, named `startup-profile-<startup>-<model>.md`. The fifth bullet, **Classification**, is appended directly from the Dealum result in `insights/startup-sector/dealum-<model>.json`, using resolved display names. Its sub-bullets are **Primary-industry**, **Secondary-industries**, **Primary-technology** and **Secondary-technologies**, preserving the selection order from startup_sector. The current Dealum reference has no subindustry hierarchy. Unresolved primary selections are shown as insufficient evidence; empty secondary lists are shown as "None selected". Product type is owned by dd_checks and is not added to this profile. The configured LLM framework covers oneliner, technology, business model and current challenges; it does not classify the startup. ## Workflow and dependencies Prepare and synchronize the named startup dataset, then select a manual override through InsightFile. If no manual profile exists, call startup_sector's existing `startup_sector_as_dict` adapter with its default Dealum provider so edited manual category IDs receive current display names and derived fields without rewriting the source file. Include the Dealum record, rendered classification bullet and profile configuration in config_key before checking generated-profile reuse; InsightFile owns hashing and freshness. Classification freshness belongs to startup_sector. Other providers are neither generated nor validated by this call; their failures or reference changes do not block or invalidate this profile. Existing generated datasets bypass startup preparation and external imports; their profiles are saved within that generated dossier. For supplied documents, follow the shared [temporary-dataset lifecycle](../standards_and_architecture/SKILL.md#temporary-datasets) and pass the prepared dataset name. Add further documents for the same startup to its existing `datasets/` folder without resetting it. The skill accepts no file-input argument. Use `dataset_chat` with the four configured questions and prompt, then append the fifth classification bullet in Python. This adds no LLM call and no separate header. The registry declares startup-sector as a prerequisite, using default Dealum; direct calls invoke the same public skill. Direct preparation may import Dealum source data. ## Side effects and failure behavior Preparation and retrieval may convert/index documents; generation calls a model and saves a report within the named dossier. Technical failures (including classification failures) and empty generated output raise before saving. A direct call returns an existing manual profile without calling the classification skill. The insufficient-context sentinel is saved unchanged, without classification labels, to preserve sentinel detection. It is not a successful substantive diagnosis. Consumers can inspect `InsightFile.has_insufficient_context()`. ## Usage ```bash conda run -n sictic-env python -m skills.harness '/startup_profile "<STARTUP>"' ``` The direct CLI accepts comma-separated `--startups` dataset names. It continues after individual startup failures, prints successful reports, then exits with code 1 if any failed. The harness handles one startup. `--startup` remains a direct CLI alias for `--startups`. ## References - [Implementation](startup_profile.py), [direct CLI](__main__.py) - [Configuration](../../config/startup_profile/) - [Dataset chat](../dataset_chat/SKILL.md)