Pitch Screener
by @soul-code
Screen startup pitch decks (PDF, PowerPoint, images) from a VC/angel investor perspective. Parses the deck with SoMark to recover slide structure accurately,...
clawhub install pitch-screener๐ About This Skill
name: pitch-screener description: Screen startup pitch decks (PDF, PowerPoint, images) from a VC/angel investor perspective. Parses the deck with SoMark to recover slide structure accurately, then runs web searches to independently verify key claims, then produces a concise pre-meeting investment memo covering founders, market, product, traction, and business model. Outputs an investment signal with clear reasoning. Requires SoMark API Key (SOMARK_API_KEY). metadata: { 'openclaw': { 'emoji': '๐ญ', 'requires': { 'env': ['SOMARK_API_KEY'] }, 'primaryEnv': 'SOMARK_API_KEY' } }
Pitch Screener
Overview
Produce a pre-meeting investment memo on any startup pitch deck. SoMark first parses the deck into structured Markdown โ preserving slide order, tables, and layout. The AI then runs targeted web searches to independently verify key claims and surface information the deck doesn't contain. The result is a concise internal memo an analyst would write before a partner meeting.
Why parse before analyzing?
Pitch decks are visually dense: text floats over images, charts sit beside tables, multi-column layouts are common. SoMark recovers the true slide structure and reading order so no data point is missed.
Workflow: parse โ research โ memo.
When to trigger
Example requests:
Step 1: Parse the deck
Important: Before starting, tell the user that SoMark will parse the deck to recover its full slide structure and layout, ensuring no data point is missed regardless of the original design.
User provides a file path
python pitch_screener.py \
-f \
-o \
--output-formats '["markdown", "json"]' \
--element-formats '{"image": "url", "formula": "latex", "table": "html", "cs": "image"}' \
--feature-config '{"enable_text_cross_page": false, "enable_table_cross_page": false, "enable_title_level_recognition": false, "enable_inline_image": true, "enable_table_image": true, "enable_image_understanding": true, "keep_header_footer": false}'
Script location: pitch_screener.py in the same directory as this SKILL.md
Supported formats: .pdf .ppt .pptx .png .jpg .jpeg .bmp .tiff .webp .heic .heif .gif
Parser settings
#### --output-formats (Optional)
This argument controls which parser outputs should be requested and saved.
If omitted, the default value is:
["markdown", "json"]
Supported values:
| Value | Description |
| ------------ | ---------------------------------------------- |
| markdown | Save the parsed deck as a Markdown file |
| json | Save the parsed deck as a JSON output |
Example:
--output-formats '["markdown", "json"]'
#### --element-formats (Optional)
This argument controls how specific element types are rendered in the parser output.
If omitted, the default value is:
{ "image": "url", "formula": "latex", "table": "html", "cs": "image" }
If you provide this argument, you may pass a partial JSON object. Any omitted keys continue using the default values.
Supported keys, allowed values, and defaults:
| Key | Allowed values | Default |
| --------- | --------------------------- | ------- |
| image | url, base64, none | url |
| formula | latex, mathml, ascii | latex |
| table | html, image, markdown | html |
| cs | image | image |
Example:
--element-formats '{"image": "url", "table": "html"}'
#### --feature-config (Optional)
This argument controls parser feature switches.
If omitted, the default value is:
{
"enable_text_cross_page": false,
"enable_table_cross_page": false,
"enable_title_level_recognition": false,
"enable_inline_image": true,
"enable_table_image": true,
"enable_image_understanding": true,
"keep_header_footer": false
}
If you provide this argument, you may pass a partial JSON object. Any omitted keys continue using the default values. All values must be boolean (true or false).
Supported keys and defaults:
| Key | Default | Description |
| -------------------------------- | ------- | ----------------------------------------- |
| enable_text_cross_page | false | Merge text content across page boundaries |
| enable_table_cross_page | false | Merge tables across page boundaries |
| enable_title_level_recognition | false | Recognize heading and title levels |
| enable_inline_image | true | Include inline image output |
| enable_table_image | true | Include table image output |
| enable_image_understanding | true | Enable image understanding features |
| keep_header_footer | false | Preserve header and footer content |
Example:
--feature-config '{"enable_inline_image": true, "enable_table_image": true}'
Outputs
.md โ full deck in Markdown (slide-by-slide).json โ JSON output (blocks with positions)parse_summary.json โ metadata (file path, output paths, elapsed time)After the script finishes, read the generated Markdown fully before proceeding.
Step 2: Background research
After reading the deck, extract the following entities and run web searches for each. Use whatever web search tool is available.
What to extract from the deck
Search targets
Run searches in the company's primary language and in English where relevant.
1. Company
[ๅ
ฌๅธๅ] ่่ต / [company name] funding[ๅ
ฌๅธๅ] ๆฐ้ป / [company name] news[ๅ
ฌๅธๅ] ่ฃๅ OR ็บ ็บท OR ่ด้ข / [company name] lawsuit OR layoff OR controversy2. Founders
[ๅๅงไบบๅงๅ] [ๅ
ฌๅธๅ] โ verify role and background[founder name] LinkedIn or professional profile[ๅๅงไบบๅงๅ] ไนๅๅไธ OR ไธๅธๅ
ฌๅธ โ prior companies, exits, track record3. Market validation
[่กไธ] ๅธๅบ่งๆจก 2024 / [industry] market size report4. Competitors
[product category] competitors / [็ปๅๅธๅบ] ็ซไบๅฏนๆ5. Red flags
[ๅ
ฌๅธๅ] ่ฏ่ฎผ OR ๆ่ฏ OR ๅทฅๅ โ litigation, regulatory issues, complaints[ๅๅงไบบๅงๅ] ่ด้ข OR ๅคฑไฟก โ founder reputation issuesHow to handle search results
Step 3: Write the investment memo
Structure the output as follows. Every claim must be backed by specific evidence from the deck or from search results (note the source). Vague statements are not acceptable.
Deal Snapshot
One short paragraph. Cover:
Founders
The core question: Are these the right people to solve this specific problem? Why them, why now?
Assess:
End with one sentence verdict: Strong / Adequate / Concern โ and why.
> YC standard: Would you back these founders on a different idea in the same domain?
Market
The core question: Is this a real, large, and growing market โ and why is now the right time to enter?
Assess:
Flag if market size appears inflated (e.g., total industry revenue used as TAM).
Product & Unique Insight
The core question: What do they know or have that others don't?
Assess:
> Sequoia standard: Is there a secret here? An insight that explains why this hasn't been done before?
Traction
The core question: Is there evidence that real users or customers actually want this?
Extract and present key metrics directly from the deck. Use Not stated for any missing figure โ do not estimate.
| Metric | Value | | ------------------------------ | ----- | | Revenue (ARR/MRR or total) | | | Revenue growth (MoM or YoY) | | | Customer / user count | | | Key customer logos | | | Retention / churn | | | NPS or qualitative PMF signal | | | Other stage-appropriate metric | |
Assess whether traction is stage-appropriate. A pre-seed deck with no revenue is fine; a Series A deck with no retention data is not.
Flag cherry-picked metrics: absolute numbers without growth rate, or growth rate without absolute numbers.
Business Model
The core question: Is there a clear, credible path from traction to a scalable business?
Assess:
If unit economics are not in the deck, note it as a key question for the meeting.
Background Check Summary
Summarize what web searches revealed โ organized by category. Be explicit about what was found, what was not found, and what contradicts the deck.
Company: [findings] Founders: [findings] Market: [independent validation or contradiction of deck claims] Competitors: [any material competitors the deck omitted] Red flags: [any litigation, negative coverage, regulatory issues โ or "Nothing found"]
Key Risks
List the top 3 reasons this deal could be a pass. Be direct โ name the specific concern, not a generic category.
Format:
If a risk is addressable in a first meeting, note the specific question to ask.
Investment Signal
End with a single verdict and one sentence of reasoning:
Do not default to ๐ก to be diplomatic. If the deal is strong, say ๐ข. If there are real dealbreakers, say ๐ด.
Presenting the memo
Output the memo with this header:
## Investment Memo โ [Company Name]
Prepared: [today's date]
Stage: [stage from deck]
Ask: [funding ask] @ [implied valuation if stated]
Then the sections above in order.
Keep the full memo under 1,000 words where possible. An investor reading this should be able to decide in 5 minutes whether to take a meeting.
API Key setup
If the user has not configured an API key:
Step 1: Ask whether SOMARK_API_KEY is already set โ do not ask for the key in chat.
Step 2: Direct them to https://somark.tech/login, open "API Workbench" โ "APIKey", and create a key in the format sk-**.
Step 3: Ask them to run:
export SOMARK_API_KEY=your_key_here
Step 4: Mention free quota is available at https://somark.tech/workbench/purchase.
Error handling
1107 / Invalid API Key: ask the user to verify SOMARK_API_KEY.2000 / Invalid parameters: check file path and format.--output-formats, --element-formats, or --feature-config: ask the user to provide valid JSON syntax.markdown, json.image, formula, table, and cs.feature-config values must be booleans.