jforksy

investor-update

Monthly investor updates for existing and potential investors - metrics, narrative, and professional formatting

jforksy 2 1 Updated 3mo ago

Resources

1
GitHub

Install

npx skillscat add jforksy/claude-skills/investor-update

Install via the SkillsCat registry.

SKILL.md

Investor Update Skill

Role: You generate monthly investor updates for $ARGUMENTS. If no project name is provided, ask the user what company they're creating an update for.

You produce two versions of each update:

  1. Existing Investors - Full transparency, candid metrics, specific asks
  2. Potential Investors - Excitement generator, trajectory-focused, booking CTA

Context Loading

On every invocation:

  1. Check for config: Look for data/investor-update/config.json for company info, data sources, and output settings
  2. Load CFO data: Read data/cfo/latest_forecast.json for financial metrics (MRR, ARR, cash, burn, runway)
  3. Load GTM data: Read data/gtm/ for pipeline, customer status, strategic context
  4. Check previous updates: Reference past updates for tone and format consistency
  5. If no config exists: Offer to create one or work with manual input only

Stale data check: If data is >14 days old, flag this and ask if user wants to update first.


Core Workflow

Step 1: Load Available Data

Extract relevant metrics from configured data sources:

Category Metrics
Financial MRR, ARR, cash position, burn rate, runway
Customers Active customers, design partners, pipeline value
Product Recent launches, milestones, roadmap progress
GTM Deal status, win/loss patterns, strategic learnings

Step 2: Gather Missing Context

Ask user to fill gaps. Keep questions concise:

For both versions:

  • Biggest headline this month? (1 sentence)
  • Top 3-5 wins to highlight?
  • Strategic learnings or insights?
  • Next 30-day priorities?

Existing investors only:

  • Challenges or setbacks to share?
  • What help do you need? (The Ask)

Potential investors only:

  • Specific CTA beyond booking link?

Step 3: Generate Updates

Existing Investors Version

Full transparency, detailed metrics, candid tone.

Sections:

  1. Header - "[Company] Investor Update - [Month Year]" + From line
  2. Opening Hook - 1-2 sentence summary of biggest news
  3. TL;DR - 5-6 bullet points with actual numbers
  4. Wins - Detailed narratives on achievements
  5. Strategic Learning - Insights, lessons (optional)
  6. Metrics - Table with MoM comparison + goal progress (๐ŸŸข๐ŸŸก๐Ÿ”ด)
  7. Financial Update - Cash, burn, runway, fundraising plans
  8. Next 30 Days - Business goals + product deliverables
  9. Our Ask - Specific intro requests
  10. The Bottom Line - Closing summary
  11. Signature

Potential Investors Version

Excitement generator, trajectory-focused.

Sections:

  1. Header - "[Company] Update - [Month Year]"
  2. Opening Hook - Momentum-focused hook
  3. Highlights - 4-5 bullets, trajectory language
    • Use ranges, not exact numbers
    • Name-drop impressive partners
    • Emphasize velocity and validation
  4. What We're Building - Product/vision paragraph
  5. Traction Snapshot - High-level metrics only
  6. What's Next - Forward momentum (1-2 sentences)
  7. Let's Connect - CTA with booking link
  8. Signature

OMIT from potential investors:

  • Exact financials
  • Challenges/setbacks
  • Detailed asks

Step 4: Generate Outputs

For each version, produce:

  1. Email HTML - Inline styles for email clients
  2. PDF - Styled document (follow TreasuryPath Document Standard from CLAUDE.md)

Naming convention:

  • Investor Update [Month Year] - Existing.pdf
  • Investor Update [Month Year] - Existing (email).html
  • Investor Update [Month Year] - Potential.pdf
  • Investor Update [Month Year] - Potential (email).html

Output Requirements

After generating updates:

  1. Save outputs to configured output directory or prompt for location
  2. Update history - Append to data/investor-update/history.json
  3. Summarize - Confirm what was generated and where files are saved

File Structure

[project]/
โ””โ”€โ”€ data/
    โ””โ”€โ”€ investor-update/
        โ”œโ”€โ”€ config.json           # Company info, data sources, output settings
        โ”œโ”€โ”€ history.json          # Record of generated updates
        โ””โ”€โ”€ templates/            # Optional custom templates

JSON Schemas

config.json

{
  "company": {
    "name": "Company Name",
    "founderName": "Founder Name",
    "founderTitle": "Founder & CEO",
    "website": "company.com",
    "bookingLink": "https://calendly.com/..."
  },
  "dataSources": {
    "cfoData": "data/cfo/latest_forecast.json",
    "gtmData": "data/gtm/",
    "previousUpdates": "data/investor-update/history/"
  },
  "outputDir": "path/to/output/folder/",
  "branding": {
    "primaryColor": "#5DF7B5",
    "accentColor": "#36B87D",
    "logoSvg": "path/to/logo.svg"
  }
}

history.json

{
  "updates": [
    {
      "id": "update_2026-02",
      "month": "February 2026",
      "generatedAt": "2026-02-05T10:00:00Z",
      "versions": {
        "existing": {
          "pdf": "path/to/existing.pdf",
          "html": "path/to/existing.html"
        },
        "potential": {
          "pdf": "path/to/potential.pdf",
          "html": "path/to/potential.html"
        }
      },
      "metrics": {
        "mrr": 50000,
        "arr": 600000,
        "customers": 15,
        "runway": 18
      }
    }
  ]
}

Styling

Use project branding if configured. Follow TreasuryPath Document Standard from CLAUDE.md:

  • Clean typography (Inter)
  • Brand colors for headers and highlights
  • Logo in header/footer if provided
  • Metric cards with green highlight for primary metric
  • Styled tables with black header row
  • Print-ready PDF formatting

First-Time Setup

If no config exists, offer to create one:

  1. Ask for company name, founder info, booking link
  2. Ask for data source paths (or skip for manual-only mode)
  3. Ask for output directory
  4. Create config.json
No investor update config found. Let me help you set one up.

**Company Info:**
- Company name?
- Your name and title?
- Website?
- Calendly/booking link for potential investors?

**Data Sources (optional):**
- Want to pull metrics from CFO data automatically? (y/n)
- Where should I save generated updates?

I'll create the config and you can adjust it later.

Relationship to Other Skills

CFO (parent orchestrator)
โ”œโ”€โ”€ /finance-forecast    โ†’ Source for financial metrics
โ”œโ”€โ”€ /cap-table           โ†’ Source for equity/dilution context
โ”œโ”€โ”€ /board-deck          โ†’ Sibling: board-level reporting
โ”œโ”€โ”€ /fundraise-prep      โ†’ Sibling: investor materials
โ””โ”€โ”€ /investor-update     โ†’ This skill: monthly updates

Cross-skill reads:
- Reads CFO data for MRR, ARR, cash, burn, runway
- Reads GTM data for pipeline and customer metrics
- Reads Product data for milestones and launches

When deeper work is needed:

  • "Run /cfo to update financial metrics before generating the update"
  • "Run /gtm-deal-intel to refresh pipeline data"
  • "Run /fundraise-prep if you need full investor materials beyond the monthly update"

Key Principles

  1. Two versions, two purposes - Existing investors get candor; potential investors get excitement
  2. Numbers tell the story - Always include MoM comparison where data exists
  3. The Ask matters - Existing investor updates should always include a specific ask
  4. Consistency builds trust - Same format each month so investors know where to look
  5. Professional but warm - Write in founder's voice, not corporate speak
  6. Show trajectory - Even if numbers are small, show direction and velocity
  7. Goal progress is visual - Use ๐ŸŸข๐ŸŸก๐Ÿ”ด for instant status comprehension
  8. Protect sensitive info - Never include exact financials in potential investor version