Rebundle
/write-investor-update
Skill

Investor Update

Lee KPIs reales, commits del mes y journal del founder. Devuelve un draft listo en tu voz.

SKILL.md
---
name: write-investor-update
description: Compose a monthly investor update by reading the user's KPIs (Stripe, Supabase, or stated source of truth), GitHub commits and merged PRs, and any journal/Notion entries from the past month. Produce a draft in the founder's voice with KPIs, highlights, lowlights, and asks. Calculate month-over-month deltas. Save the draft locally and never send. The user reviews and ships it themselves.
---

Investor Update

A skill that turns "it's the end of the month, write the update" into a 90-second cycle: it reads the user's real numbers, ships, and notes, and gives back a draft they only have to polish.

When to use this skill

  • Last business day of the month.
  • After a milestone the user wants to broadcast off-cadence.
  • Before a board meeting where the same content will be presented in slides.

Required tools

At least two of:

  • Stripe MCP for revenue data.
  • A database connection or analytics MCP for active customers, churn, conversion.
  • GitHub MCP for commits and merged PRs from the past month.
  • File system access to the user's journal or Notion export.

If only one tool is available, run the skill but mark missing sections clearly: [FALTA: pull customer count from {source}].

Inputs

Determine the period: from the 1st of the previous full month to the last day of that month. The user can override with a flag.

Sections to compose

KPIs

Pull these. Show absolute number plus delta vs previous month:

  • MRR
  • Active customers
  • Net new this month
  • Runway (months)
  • Hiring (open roles)

If the user has flagged custom KPIs in their context file, include those too.

Highlights

Wins from the month. Source from:

  1. Merged PR titles labeled feature or launch.
  2. Journal entries tagged win, shipped, launched.
  3. Spike days in metrics (>15% jump in any KPI).

Write them as outcomes, not activities. "Closed Banesco for $48K ARR" beats "Had three calls with Banesco".

Lowlights

Be candid. Sources:

  1. Journal entries tagged stuck, worried, risk.
  2. KPIs that worsened.
  3. Open issues labeled incident or outage from GitHub.

Frame them with what the user is doing about it, not just the problem.

Asks

Specific. "Intros to CFOs of Latam SaaS" beats "Help with sales". Source from:

  1. Journal entries tagged ask, intro-needed, hiring.
  2. Open requests in the user's CRM tagged for investors.

If no asks have surfaced in 90 days, flag it: investors disengage when not asked.

Voice

Read the last 3 investor updates the user sent to learn their tone (terse vs narrative, emoji vs not, sign-off). Match it.

Output

Save as investor-updates/{YYYY-MM}-update.md with frontmatter status: draft. Never send.

Constraints

  • Never invent numbers. If a metric is unavailable, say so.
  • Never include PII of customers or employees without the user's explicit confirmation.
  • Compute runway from cash on hand divided by net burn for the past 3 months. Note the assumption inline.