ooligo
claude-skill

Generate weekly forecast meeting briefings with Claude

Difficulty
intermediate
Setup time
30min
For
revops
RevOps

Stack

A Claude Skill that pulls every commit-stage opportunity from Salesforce, diffs it against last week’s snapshot, and outputs a one-page briefing your VP can actually read before the forecast call. No more pasting reports into a deck at 7am.

What you’ll need

  • Claude.ai with Skills enabled, or Claude Code on the desk of whoever runs forecast prep
  • Salesforce with API access and a service user that can read Opportunities, OpportunityHistory, and Activities
  • A weekly snapshot job (anything that drops pipeline_YYYY-MM-DD.csv in S3 or Drive)
  • A markdown briefing template your leadership team has already approved

Setup

  1. Add the Skill. Drop forecast-prep.skill into your Claude project. It exposes three callable functions: pull_commit_pipeline, diff_against_last_week, and render_briefing.
  2. Wire Salesforce. Configure the Skill with a Connected App client ID + secret. Scope: api and refresh_token. The Skill caches the token for an hour so back-to-back runs do not re-auth.
  3. Point at your snapshot store. The diff step needs last week’s CSV. Pass either an S3 URI or a Drive file ID. The Skill expects the same column shape week over week.
  4. Drop in the template. A markdown file with placeholder sections: top movers, slipped deals, new commits, push risk, asks for the VP. The Skill fills these in.
  5. Schedule it. Cron at Sunday 6pm or Monday 5am, output piped to Slack DM.

How it works

The Skill runs three sub-tasks. First, it queries Salesforce for opportunities where ForecastCategoryName = 'Commit' plus anything in best case above a threshold. Second, it joins against last week’s snapshot on opportunity ID, computing amount delta, stage delta, and close-date drift. Third, it asks Claude to narrate the diff into the template, using your team’s vocabulary for slipped, pulled-in, and at-risk.

The narration step is where the leverage lives. Raw diffs are noisy. Claude is told to surface only the five-to-seven movements that matter, with one-line reasoning each. Everything else gets summarized as “fourteen other deals moved by less than five percent.”

Watch-outs

  • Snapshot hygiene. If the weekly snapshot misses a week, the diff will hallucinate movements. Fail loud rather than render a briefing on stale data.
  • Activity context. Stage changes without corresponding activity are red flags. Wire a fourth column from Gong or Salesforce Tasks so Claude can flag deals where the stage moved but nobody talked to the prospect.
  • Currency and locale. Multi-currency orgs need to anchor on ConvertedAmount or the diff will surface FX noise as real movement.
  • The VP will edit it. That is fine. Track which sections get rewritten most and tighten the prompt for those next quarter.

Stack

  • Claude — narration and template fill
  • Salesforce — source of truth for the commit set
  • S3 or Drive — snapshot store for week-over-week diffs