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.csvin S3 or Drive) - A markdown briefing template your leadership team has already approved
Setup
- Add the Skill. Drop
forecast-prep.skillinto your Claude project. It exposes three callable functions:pull_commit_pipeline,diff_against_last_week, andrender_briefing. - Wire Salesforce. Configure the Skill with a Connected App client ID + secret. Scope:
apiandrefresh_token. The Skill caches the token for an hour so back-to-back runs do not re-auth. - 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.
- 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.
- 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
ConvertedAmountor 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