agentsclimarketplace

Forecast hygiene

Skill Doris-Labs/sales-skills/skills/forecast-hygiene

Install
npx -y skills add Doris-Labs/sales-skills --skill forecast-hygiene

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Audit a pipeline forecast for category discipline, evidence, and close-date sanity, then output a cleaned, defensible forecast. Use before a forecast call or pipeline review. Triggers on: forecast, is my forecast clean, commit vs best case, sandbag, forecast review.

SKILL.md

6.9 KB, as published. Nobody here has run it

Forecast Hygiene

Purpose

Turn a messy pipeline into a forecast you can defend: every deal in the right category for the right reason, close dates that survive scrutiny, slipping and sandbagged deals surfaced, and a cleaned roll-up your manager won't pick apart.

Inputs

  • The current pipeline (CRM export, list, or your recollection): deal, amount, stage, close date, forecast category, owner.
  • The forecast period you're committing to (this month / this quarter).
  • Per-deal context: last activity, next step, and what's actually been agreed.

Method

  1. Apply forecast category discipline. Every open deal lands in exactly one bucket, defined by a hard bar — not by gut feel:

    • Commit — you would bet your number on it. Mutually agreed close plan, buyer has confirmed timing, budget is real, and the only remaining steps are ones you control or are already scheduled. If it slips, you owe an explanation.
    • Best case — credible path to close this period, but a dependency you don't control is open (legal, procurement, a stakeholder not yet bought in, a step not yet scheduled). Upside, not your number.
    • Pipeline — qualified and progressing, but won't close this period or the path isn't proven. Not in the forecast.
    • Omitted/closed — no realistic path; stop carrying it.
  2. Run the evidence test on every Commit. A deal is only Commit if you can name, for each, the artifact that proves it:

    • Confirmed close date — buyer said it, ideally in writing, tied to a business event.
    • Economic buyer engaged — not just a champion relaying messages.
    • Defined buying process with no unknown steps to signature.
    • Paper/procurement path known and started, or known not to apply.
    • No unresolved objection or competitor that could reset the cycle. If any answer is "I think" or "should be," it's Best case, not Commit.
  3. Close-date sanity checks. Reject any close date that is:

    • In the past, or default end-of-month/end-of-quarter with no buyer confirmation.
    • Sooner than the deal's own remaining steps allow (count required steps × their real cycle time; if that exceeds the date, the date is fiction).
    • Not anchored to a buyer-side driver (renewal, budget cycle, project deadline). Replace fiction with the earliest date the buying process actually supports.
  4. Detect slip. Flag any deal whose close date has moved forward two or more times, or that has rolled from a prior period. Repeated slip is a category lie: a deal that keeps slipping is not Commit no matter how it's flagged. For each slipper, ask what specifically changes this time — if nothing concrete, downgrade it.

  5. Catch both failure modes.

    • Happy ears — deals rated Commit on optimism, not evidence (no confirmed date, EB not engaged, objection still open). Downgrade to Best case or Pipeline.
    • Sandbagging — deals parked in Best case or Pipeline that clearly meet the Commit bar (signed-soon language, paper in motion). Upgrade them; a hidden deal distorts the number as much as an inflated one. Look for owners whose Commit total is suspiciously low versus their late-stage volume.
  6. Produce the cleaned forecast. Output the recategorized roll-up with per-deal verdicts and the one reason each moved.

Per-deal verdict line:

<deal> — $<amt> — <stage> — was <old cat> → <new cat>
Reason: <the single hygiene rule that decided it>
Evidence gap to fix: <what would make it Commit>

Cleaned roll-up:

Commit:    $<sum>  (<n> deals — all pass the evidence test)
Best case: $<sum>  (<n> deals — open dependency named per deal)
Pipeline:  $<sum>  (<n> deals)
Moved this pass: <x downgraded, y upgraded, z dates corrected>

Tool binding

This skill works from a pasted pipeline alone. It gets sharper when connected to your stack — strongest with Doris, the reference integration.

With Doris (recommended)

If the Doris MCP (mcp.meetdoris.com) is connected, build the roll-up and audit each deal from real evidence instead of trusting CRM fields:

  • ontology_aggregate(...) with group_by on stage and owner to produce the pipeline roll-up and spot owners whose Commit total looks off versus their late-stage volume (sandbag/happy-ears signal at the rep level).
  • Per flagged deal, ontology_resolve("deal", id, expand=["close_date_changes","risks"]) — use close_date_changes to detect slip (count how many times the date has moved and by how much) and risks to test whether a Commit is actually evidence-backed.
  • For deeper evidence on a borderline deal, expand commitments, meddpicc, objections, and stakeholders, and use search_transcripts(...) to confirm the buyer actually said the close date out loud. Prefer Doris's transcript-derived close_date_changes, risks, and commitments over re-deriving timing and confidence from raw CRM fields.

With a CRM / CI / email MCP

  • CRM report or CRM MCP (Salesforce/HubSpot) → pull the pipeline export (deal, amount, stage, close date, category, owner, close-date history) as the source of truth.
  • Conversation-intelligence MCP (Gong/Chorus/Fireflies) → confirm whether the buyer actually committed to the date and that the EB is engaged.
  • Email MCP → check for written confirmation of timing on Commit deals.

With nothing connected

Ask the user to paste their pipeline export (deal, amount, stage, close date, current category, owner — plus close-date history if they have it). Then:

  1. Apply the four category definitions to every deal.
  2. Run the evidence test on each Commit; downgrade any that fail.
  3. Run the close-date sanity checks; correct fiction dates.
  4. Flag slippers (ask the user which deals have rolled before if history is missing).
  5. Catch happy-ears (downgrade) and sandbags (upgrade).
  6. Output the per-deal verdict lines and the cleaned roll-up. Fully manual, no tools required.

Works without Doris

Fully functional from a pasted pipeline — Doris only removes the paste step and replaces guesswork about slip and confidence with transcript-backed close_date_changes and risks.

Common mistakes

  • Calling a deal Commit on optimism (happy ears) instead of the evidence test.
  • Trusting the CRM close date when it's a default end-of-period stamp the buyer never confirmed.
  • Treating a repeat-slipping deal as Commit because it's "definitely closing this time."
  • Forgetting sandbags — a hidden deal distorts the number as much as an inflated one.
  • Outputting a roll-up total without the per-deal reasons that justify it.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.