Install
openclaw skills install skills-sh:mbfinotti/revops-skills/sales-pipeline-hygienePipeline Hygiene Audit the deals sitting in the active pipeline right now - stale deals, close-date push anomalies, missing forecast-critical fields - and turn the findings into an exception list with one disposition decision per flagged deal, a remediation and communication…
openclaw skills install skills-sh:mbfinotti/revops-skills/sales-pipeline-hygieneAudit the deals sitting in the active pipeline right now - stale deals, close-date push anomalies, missing forecast-critical fields - and turn the findings into an exception list with one disposition decision per flagged deal, a remediation and communication plan, and a measurable pass threshold. Ownership is split three ways, not shared (ORM):
The split is what removes the argument - the manager arrives holding specific records that failed specific rules, not a general complaint. Splitting it the other way produces meetings that run on time and change nothing.
The audit's load-bearing definitional choice comes first: meaningful activity means a change to Stage, Close Date, or Amount - not logged calls or emails (ORM). Logged touches are activity in the CRM sense, but they do not indicate the deal moved, so a rule built on them can be satisfied without any progression - which is exactly how stale pipeline survives review after review. This is a live practitioner disagreement (many tools key on last-activity date); default to the field-change definition and use last-activity as a second, independent trigger - together, never interchangeably.
State these in the deliverable so the audit does not drift:
mbfinotti/revops-skills@pipeline-stage-definition-audit. Hygiene takes the existing stage set as given and inspects the deals inside it.mbfinotti/revops-skills@sales-forecast-diagnostic. Hygiene feeds it clean data; it does not fix the forecast method.mbfinotti/revops-skills@crm-data-governance. Hygiene checks completeness of the fields that already exist.mbfinotti/revops-skills@revenue-leakage.Ask before auditing. One question per message; multiple-choice where possible; skip anything already answered.
Run the Interview. Fix the audit scope: all open deals as of a stated as-of date. Freeze that snapshot - dispositions are decided against it, not a moving book.
Extract the data. If you can query the pipeline data directly, pull open deals plus stage-change history, close-date change history, and activity records; otherwise request an export with those named columns. Then clean and standardize before measuring anything (Umbrex's audit order):
Size the stale layer first, using the four staleness buckets - under 90 / 90-180 / 180-365 / over 365 days since last meaningful change (ORM). Recompute coverage excluding the over-365 bucket: the gap between that and headline coverage is the honest measure of how much reporting has been overstating the quarter. If more than 20-30% of pipeline value is stale, schedule a pipeline amnesty before any enforcement (see references/disposition-and-communication.md).
Derive per-segment baselines from 12-18 months of closed-won history with the stale layer excluded - clean before measuring: a deal group carrying a large dead tail produces a longer, flatter close curve than its live deals actually have (ORM), corrupting the very medians the audit runs on. Compute median days-in-stage per stage per segment (median, not mean).
Set thresholds per segment - roughly 1.5x median for SMB/high-velocity up to 2.0x for enterprise - plus freshness windows and push triggers (Detection Rules below; derivations and fallbacks in references/detection-rules.md).
Run the three rule families over the snapshot. Output one row per deal per tripped rule, with the evidence that tripped it.
Merge flags into a per-deal exception list with pipeline value attached; second-push deals and multi-flag deals go to the top.
Propose a disposition per flagged deal from the taxonomy below. RevOps proposes; the manager and rep decide - flagging must never be auto-deletion, and the rep never grades their own homework. Every decided disposition gets a named owner and a recorded reason.
Draft the communication plan before anything is enforced or automated, and publish the exception list at least 12 hours before the meeting that works it - any meeting that starts by pulling a report has already failed (ORM). Detail in references/disposition-and-communication.md.
Emit the audit report (Output Shape below), section by section, for user validation.
Compute the KPIs and check the Pass Threshold; iterate dispositions and remediation until it holds, or schedule the gap into the next audit.
Wire the recurring audit into the rituals that already exist (Cadence below) and recommend automating the recurring check. The prevention layer the audit hands off to is a nudge-escalation system - Jeff Ignacio's (RevOps Impact) mechanic is the reference shape:
Describing that handoff is in scope; designing the system is not (Scope Boundaries).
If your harness has persistent memory, store the baselines, thresholds, bucket sizes, and exception counts so the next audit starts from a trend line instead of a re-interview.
Three families, all reading "meaningful activity" as defined above. Label every threshold with its provenance; numbers are practitioner starting points to calibrate on the user's own data.
Stale deals - two independent triggers, used together:
Classify every stale deal into the four buckets. ORM's 12-month rule marks the truly dead layer - close curves rarely carry meaningful expectation past 52 weeks.
Push-count anomalies - track pushes as a field, not a memory: count close-date changes per deal from field history.
Separate slipping from dead with evidence tests, not the close-date field. Ask "what has to happen before this date becomes realistic?", then stack the signals:
A delayed next step alone may be harmless; combined with a pushed date, single-threading, and budget hesitation it becomes an explainable case for intervention. Once a slip is confirmed, update the close date immediately with a note on the evidence - the worst outcome is intervening on the deal but leaving the forecast untouched.
Field completeness - check forecast-critical fields only, not the whole schema:
Target 90-95% completeness on forecast-critical fields, 80% as the minimum floor. Remediate in efficiency order - stage-gated validation rule > owner nudge > auto-capture - with the three axes behind that order, and the magnitudes, in references/detection-rules.md.
The order is a default, not a law; re-rank it against the Interview answers and against who will execute it.
Every flagged deal exits the review with exactly one disposition, an owner, and a recorded reason. For the stale working list, only two answers are acceptable: revive it with a real next step and a validated close date, or close it out (ORM).
| Disposition | When |
|---|---|
| Close lost, with a real reason code | No buyer-side evidence of an active buying process; the honest state is "not happening" |
| Move to nurture | Genuine future interest, but no active buying process now |
| Re-stage backwards | Deal is real, but the stage overstates the buyer's actual position |
| Re-date with evidence | Date is wrong but the deal is moving; the new date is the answer to "what has to happen first" |
| Keep, with a named next step and date | The flag was a data gap, not a dead deal; fix the record |
This table is deliberately unranked: each row is a different deal state, selected by what the buyer-side evidence supports, not a competing route to the same outcome - ordering them by efficiency would be false precision.
Route non-standard re-stages and deal splits through the deal desk. Never delete - classify instead: deleting removes the record the next audit would learn from, corrupts history and conversion baselines, and recycle-bin retention in typical CRMs is short. Default a returning buyer to a new record linked back to the closed-lost one; reopening the original buys the same recovery at a higher and irreversible cost, and only two named conditions flip that - see references/disposition-and-communication.md.
The real divergence is not the thresholds - it is the unit of analysis, the acceptable degree of automation, and whether qualification lives in the CRM at all:
Identical across all motions:
Shared SLA mechanic: set a maximum allowable age per stage proportional to baseline cycle length, and on SLA breach auto-tag for manager review - never auto-close, which breeds distrust.
Compact skeleton - full worked examples, including one audit done wrong, in references/audit-report-examples.md:
PIPELINE HYGIENE AUDIT - <pipeline>, as-of <date>
Definitions : meaningful activity = stage/close date/amount change;
per-segment thresholds with provenance
Stale layer : value by bucket (<90 / 90-180 / 180-365 / >365d);
headline coverage vs coverage excluding >365 bucket;
amnesty recommended yes/no
Summary : deals audited, flagged, % of pipeline value flagged
Exception list: deal | owner | flags | evidence | proposed disposition |
decided disposition | disposition owner | reason
Field gaps : field | % complete vs 90-95% target | decision it feeds |
fix (validation rule / nudge - not new required fields)
Push report : push-count distribution; second-push deals at top with
stacked-signal evidence and "what has to happen" answers;
quarter-boundary pushes with stated reasons
Remediation : actions, owners, due dates
Communication : rituals the audit rides on; exception list published >=12h
ahead; who is told what before enforcement
KPIs : baseline vs target per KPI, pass/fail, next audit date
| Failure | Consequence | Fix |
|---|---|---|
| Staleness keyed on logged calls/emails | Rules satisfied without progression; stale pipeline survives every review | Key on stage/close date/amount change; last-activity as second trigger |
| One flat threshold across segments | Over-flags enterprise, under-flags SMB | Segment-specific medians and multipliers |
| Measuring before cleaning | Dead tail flattens close curves; baselines corrupted | Exclude the stale layer, then compute medians and coverage |
| RevOps as "CRM police" / auto-close, auto-delete | Distrust; real activity moves off-CRM; honesty punished | Auto-tag for manager review; amnesty before enforcement; coaching posture |
| Deleting flagged deals | The record the next audit would learn from is gone; baselines and rep metrics corrupted | Classify, never delete |
| Enforcing rules nobody was told about | Reps discover rules by being flagged; gaming begins | Publish rules and thresholds first; exception list 12h ahead |
| More required fields as the completeness fix | "TBD" / "." / "123" junk at scale | Cap at 5-7 required; stage-gated validation rule first, nudge second |
| Comp tied to field completion | Fast, complete, low-quality data | If comp touches hygiene at all, tie it to forecast accuracy (outcome), never completion (input) |
| Close-date stuffing at quarter end | Mass date edits to pass the audit; forecast fiction | Require a stated reason on any push crossing a period boundary; fix the incentive |
| Sandbagging | Deals held or timed for comp/quota reasons | EOQ close concentration 20-25% is healthy; sustained >35% for one rep opens a comp-design conversation, not a compliance one (Avoma) |
| Happy ears | Commit deals slip or no-decision out at 40-60% too late to react | Evidence-based forecast categories; stacked-signal tests |
| Treating every push as a dead deal | Genuinely slipping deals killed; legal/procurement stalls mislabeled | Evidence test; exempt legal/procurement review periods |
| "Dibs" deals left untouched | Claim-only records rot, block marketing and territory moves | Explicit disposition rule for claim-only deals |
| Hygiene score as vanity KPI / audit theatre | Score improves, forecast doesn't; same problems persist yearly | Grade on forecast-linked KPIs; recurring exceptions past 30 days become system rules, not more meetings |
Track per audit and as a trend across audits, each labelled with provenance:
Pass threshold - the first audit sets the baseline; targets come from that baseline, not published numbers. The audit passes when:
Iterate until all four hold. Before quoting any hygiene statistic to stakeholders (including "40-60% of pipeline is stale"), check its credibility flag in references/evidence-and-benchmarks.md - much of the numeric detail in this field comes from vendors selling forecast tooling.
Skip unless the user names one of these platforms.
2dedb3934ca7