crm-hygiene

Audit and improve CRM data quality by identifying missing fields, inconsistent values, duplicate records, and stale data

16 stars

Best use case

crm-hygiene is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Audit and improve CRM data quality by identifying missing fields, inconsistent values, duplicate records, and stale data

Teams using crm-hygiene should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/crm-hygiene/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/business/crm-hygiene/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/crm-hygiene/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How crm-hygiene Compares

Feature / Agentcrm-hygieneStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Audit and improve CRM data quality by identifying missing fields, inconsistent values, duplicate records, and stale data

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# CRM Hygiene

> Systematically identify and resolve data quality issues in your CRM to improve forecast accuracy, reporting, and automation reliability.

## When to Use This Skill

- Quarterly CRM audits
- Before major reporting periods
- When automation workflows fail
- After team changes or migrations
- Preparing for CRM integrations

## Methodology Foundation

Based on **Salesforce Data Quality Best Practices** and **RevOps Co-op Data Governance frameworks**, focusing on:
- Completeness (required fields populated)
- Consistency (standardized values)
- Accuracy (correct and current data)
- Timeliness (recent updates)

## What Claude Does vs What You Decide

| Claude Does | You Decide |
|-------------|------------|
| Defines audit criteria | Which fields are required |
| Identifies data issues | Priority of fixes |
| Categorizes problems by type | Who owns cleanup tasks |
| Suggests remediation steps | Automation vs manual fix |
| Creates cleanup reports | Enforcement policies |

## What This Skill Does

1. **Audit design** - Define required fields and validation rules
2. **Issue identification** - Find missing, inconsistent, duplicate data
3. **Prioritization** - Rank issues by business impact
4. **Remediation planning** - Action steps to fix issues
5. **Governance recommendations** - Prevent future issues

## How to Use

### For Audit Design:
```
Help me create a CRM hygiene audit for [CRM System].

Key objects to audit:
- [Leads, Contacts, Accounts, Opportunities]

Critical fields for each:
- Leads: [list required fields]
- Opportunities: [list required fields]

Our main issues:
- [Describe known problems]
```

### For Data Audit:
```
Audit this opportunity data for hygiene issues:

[Paste export or describe data]

Required fields:
- [List fields that must be populated]

Validation rules:
- [List rules like "Stage must match Amount > $0"]
```

## Instructions

### Step 1: Define Audit Scope

**Object Priority (typical):**
1. Opportunities - Revenue impact
2. Accounts - Relationship foundation
3. Contacts - Communication accuracy
4. Leads - Pipeline source

**Field Categories:**
- **Critical** - Blocks processes if missing
- **Important** - Affects reporting/segmentation
- **Nice-to-Have** - Enriches but not required

### Step 2: Completeness Audit

Check required fields by object:

**Opportunities:**
| Field | Criticality | Why Required |
|-------|-------------|--------------|
| Amount | Critical | Forecast, pipeline value |
| Close Date | Critical | Forecast timing |
| Stage | Critical | Pipeline reporting |
| Owner | Critical | Accountability |
| Account | Critical | Company linkage |
| Primary Contact | Important | Communication |
| Next Step | Important | Deal momentum |
| Competitor | Important | Win/loss analysis |
| Loss Reason | Critical (if lost) | Improvement insights |

**Accounts:**
| Field | Criticality | Why Required |
|-------|-------------|--------------|
| Industry | Important | Segmentation |
| Employee Count | Important | ICP fit |
| Website | Important | Research, enrichment |
| Billing Address | Critical | Invoicing |
| Account Owner | Critical | Accountability |

### Step 3: Consistency Audit

Check for standardization issues:

| Issue Type | Example | Impact |
|------------|---------|--------|
| Picklist variations | "US" vs "USA" vs "United States" | Reporting breaks |
| Case inconsistency | "ACME" vs "Acme" vs "acme" | Duplicates |
| Format variations | "(555) 123-4567" vs "5551234567" | Automation fails |
| Null vs blank | NULL vs "" vs "N/A" | Filters don't work |

### Step 4: Accuracy Audit

Identify likely incorrect data:

| Check | Criteria | Action |
|-------|----------|--------|
| Stale close dates | Past date, still open | Update or close |
| Amount mismatches | $0 in late stage | Verify pricing |
| Stage regression | Stage 4 → Stage 2 | Investigate |
| Impossible values | 200% probability | Fix validation |
| Bounced emails | Marked invalid | Remove or update |

### Step 5: Duplicate Detection

Find potential duplicates:

| Match Type | Criteria | Confidence |
|------------|----------|------------|
| Exact email | Same email address | 99% duplicate |
| Domain match | Same company domain | 80% duplicate |
| Fuzzy name | Similar company name | Investigate |
| Phone match | Same phone number | 90% duplicate |

### Step 6: Timeliness Audit

Flag stale records:

| Object | Staleness Threshold | Action |
|--------|---------------------|--------|
| Open Opportunity | No activity 30 days | Review with rep |
| Lead | No touch 14 days | Reassign or nurture |
| Account | No contact 90 days | Re-engagement |
| Contact | Bounced + 30 days | Archive |

## Examples

### Example 1: Opportunity Audit

**Input:**
```
Audit these opportunities:

1. Acme Corp - Stage: Proposal, Amount: $0, Close: Jan 15 (past), Owner: Empty
2. Beta Inc - Stage: Closed Won, Amount: $50K, Close: Feb 1, Loss Reason: "Price"
3. Gamma LLC - Stage: Discovery, Amount: $100K, Close: Mar 30, No activity 45 days
4. Delta Co - Stage: Negotiation, Amount: $75K, Close: Feb 28, Next Step: Empty
5. Echo Systems - Stage: Closed Lost, Amount: $200K, Loss Reason: Empty
```

**Output:**
```
## CRM Hygiene Audit: Opportunities

### Summary
- **Total Records**: 5
- **Critical Issues**: 4
- **Warnings**: 2
- **Clean Records**: 0

### Critical Issues (Fix Immediately)

#### 1. Acme Corp - 3 Critical Issues
| Issue | Field | Current | Required |
|-------|-------|---------|----------|
| 🔴 Missing | Owner | Empty | Assigned rep |
| 🔴 Missing | Amount | $0 | Deal value |
| 🔴 Stale | Close Date | Jan 15 (past) | Future date |

**Action**: Assign owner, verify if deal is active, update amount and close date.

#### 2. Beta Inc - Logic Error
| Issue | Field | Current | Problem |
|-------|-------|---------|---------|
| 🔴 Inconsistent | Loss Reason | "Price" | Stage is "Closed Won" |

**Action**: Either change stage to Closed Lost, or clear Loss Reason.

#### 3. Echo Systems - Missing Required
| Issue | Field | Current | Required |
|-------|-------|---------|----------|
| 🔴 Missing | Loss Reason | Empty | Required for Closed Lost |

**Action**: Rep must document why deal was lost.

#### 4. Delta Co - Missing Next Step
| Issue | Field | Current | Impact |
|-------|-------|---------|--------|
| 🟠 Missing | Next Step | Empty | No clear action |

**Action**: Rep should define next step for Negotiation stage.

### Warnings (Review This Week)

#### 5. Gamma LLC - Stale Deal
| Issue | Indicator | Value |
|-------|-----------|-------|
| 🟡 Stale | Last Activity | 45 days ago |

**Action**: Review with rep - is this deal still active? If yes, update. If no, close lost.

### Hygiene Score: 20/100 (Poor)

### Recommended Actions by Priority

1. **Today**: Fix Acme Corp (no owner = orphaned deal)
2. **Today**: Fix Beta Inc logic error (affects win rate)
3. **This Week**: Get Echo Systems loss reason
4. **This Week**: Update Gamma LLC status
5. **This Week**: Add Delta Co next step

### Process Recommendations
- Add validation rule: Amount required when Stage > Discovery
- Add validation rule: Owner required on all opportunities
- Add validation rule: Loss Reason required when Closed Lost
- Create stale deal report (no activity 30+ days)
```

### Example 2: Duplicate Detection

**Input:**
```
Check these accounts for duplicates:

1. Acme Corporation, acme.com, San Francisco
2. ACME Corp, acme.com, SF
3. Acme Inc, acme-inc.com, San Francisco
4. Beta Technologies, beta.io, New York
5. Beta Tech, betatech.com, NYC
6. Beta Technologies Inc, beta.io, New York
```

**Output:**
```
## Duplicate Detection Report

### High Confidence Duplicates (Merge)

#### Duplicate Set 1: Acme Corporation
| Record | Name | Domain | Location | Confidence |
|--------|------|--------|----------|------------|
| #1 | Acme Corporation | acme.com | San Francisco | Master |
| #2 | ACME Corp | acme.com | SF | 99% - Same domain |

**Recommendation**: Merge #2 into #1
- Same domain (acme.com)
- Same location (SF = San Francisco)
- Name variation only (Corp vs Corporation)

#### Duplicate Set 2: Beta Technologies
| Record | Name | Domain | Location | Confidence |
|--------|------|--------|----------|------------|
| #4 | Beta Technologies | beta.io | New York | Master |
| #6 | Beta Technologies Inc | beta.io | New York | 99% - Same domain |

**Recommendation**: Merge #6 into #4
- Same domain (beta.io)
- Same location (New York)
- Name variation only (Inc suffix)

### Investigate (Possible Duplicates)

#### Possible Set 1: Acme variations
| Record | Name | Domain | Location | Confidence |
|--------|------|--------|----------|------------|
| #1 | Acme Corporation | acme.com | San Francisco | - |
| #3 | Acme Inc | acme-inc.com | San Francisco | 40% |

**Recommendation**: Investigate manually
- Same location, similar name
- BUT different domains (acme.com vs acme-inc.com)
- Could be: subsidiary, different company, or typo

#### Possible Set 2: Beta variations
| Record | Name | Domain | Location | Confidence |
|--------|------|--------|----------|------------|
| #4 | Beta Technologies | beta.io | New York | - |
| #5 | Beta Tech | betatech.com | NYC | 50% |

**Recommendation**: Investigate manually
- Same location (NYC = New York)
- Similar names (Beta Tech vs Beta Technologies)
- Different domains - likely different companies

### Summary
- **Definite Duplicates**: 2 sets (4 records → 2)
- **Possible Duplicates**: 2 sets (need research)
- **Unique Records**: Pending investigation

### Merge Checklist
Before merging, verify:
- [ ] All opportunities moved to master record
- [ ] All contacts linked to master
- [ ] Activity history preserved
- [ ] Custom fields compared
- [ ] Integration IDs noted (for external systems)
```

## Skill Boundaries

### What This Skill Does Well
- Defining audit criteria systematically
- Identifying common data quality issues
- Prioritizing fixes by business impact
- Creating actionable remediation plans

### What This Skill Cannot Do
- Access your actual CRM data
- Execute cleanup automatically
- Know your specific business rules
- Detect all semantic errors

### When to Escalate to Human
- Merge decisions (data loss risk)
- Business rule definitions
- Enforcement policy decisions
- Cross-object relationship issues

## Iteration Guide

### Follow-up Prompts
- "Create a monthly hygiene report template."
- "What validation rules would prevent these issues?"
- "Prioritize the top 10 issues by revenue impact."
- "Design a data entry form that enforces these rules."

### Continuous Improvement Cycle
1. Audit → Identify issues
2. Fix → Clean data
3. Prevent → Add validation rules
4. Monitor → Track hygiene score weekly
5. Iterate → Refine rules quarterly

## Checklists & Templates

### Weekly Hygiene Report Template
```markdown
## CRM Hygiene Report - Week of [Date]

### Hygiene Score: X/100

### Critical Issues (Fix Today)
| Object | Record | Issue | Owner |
|--------|--------|-------|-------|

### Warnings (Fix This Week)
| Object | Count | Issue Type |
|--------|-------|------------|

### Trends
- Issues closed this week: X
- New issues this week: X
- Net change: +/- X

### Action Items
1.
2.
3.
```

### Data Governance Checklist
- [ ] Required fields defined per object
- [ ] Validation rules implemented
- [ ] Duplicate rules active
- [ ] Stale record reports scheduled
- [ ] Ownership assignments current
- [ ] Integration mappings documented

## References

- Salesforce Data Quality Best Practices
- RevOps Co-op Data Governance Framework
- Marketo Database Health Guide
- Gartner Data Quality Market Guide

## Related Skills

- `pipeline-forecasting` - Clean data improves forecasts
- `lead-scoring` - Requires complete lead data
- `deal-risk-scoring` - Depends on activity data

## Skill Metadata

- **Domain**: RevOps
- **Complexity**: Intermediate
- **Mode**: centaur
- **Time to Value**: 30-60 min for audit, varies for cleanup
- **Prerequisites**: CRM data export, field requirements list

Related Skills

epic-hygiene-process

16
from diegosouzapw/awesome-omni-skill

Execute systematic code quality tasks following Epic 10 hygiene standards

bgo

10
from diegosouzapw/awesome-omni-skill

Automates the complete Blender build-go workflow, from building and packaging your extension/add-on to removing old versions, installing, enabling, and launching Blender for quick testing and iteration.

Coding & Development

similarweb-digitalrank-api-automation

16
from diegosouzapw/awesome-omni-skill

Automate SimilarWeb tasks via Rube MCP (Composio): website traffic, rankings, and digital market intelligence. Always search tools first for current schemas.

silent-failure-hunter

16
from diegosouzapw/awesome-omni-skill

Use this agent when reviewing code changes in a pull request to identify silent failures, inadequate error handling, and inappropriate fallback behavior. This agent should be invoked proactively after completing a logical chunk of work that involves error handling, catch blocks, fallback logic, or any code that could potentially suppress errors. Examples:\n\n<example>\nContext: Daisy has just finished implementing a new feature that fetches data from an API with fallback behavior.\nDaisy: "I've added error handling to the API client. Can you review it?"\nAssistant: "Let me use the silent-failure-hunter agent to thoroughly examine the error handling in your changes."\n<Task tool invocation to launch silent-failure-hunter agent>\n</example>\n\n<example>\nContext: Daisy has created a PR with changes that include try-catch blocks.\nDaisy: "Please review PR #1234"\nAssistant: "I'll use the silent-failure-hunter agent to check for any silent failures or inadequate error handling in this PR."\n<Task tool invocation to launch silent-failure-hunter agent>\n</example>\n\n<example>\nContext: Daisy has just refactored error handling code.\nDaisy: "I've updated the error handling in the authentication module"\nAssistant: "Let me proactively use the silent-failure-hunter agent to ensure the error handling changes don't introduce silent failures."\n<Task tool invocation to launch silent-failure-hunter agent>\n</example>

shot-scraper

16
from diegosouzapw/awesome-omni-skill

Automated web scraping using shot-scraper (Playwright-based CLI) via GitHub Actions to extract structured data from websites and export to JSON/SQLite for Datasette. Use when users need to periodically scrape web data, set up automated data collection workflows, extract structured information from pages using JavaScript execution, or create data pipelines that run on schedules.

shorts-presentation-skill

16
from diegosouzapw/awesome-omni-skill

Create vertical (9:16) interactive presentations optimized for YouTube Shorts, TikTok, and Instagram Reels. Takes YouTube video URLs to extract facts via Playwright MCP and web research, then generates animated slides you can screen record and narrate. Perfect for quick educational content, fact-reveals, and viral short-form videos.

shorten-rest-automation

16
from diegosouzapw/awesome-omni-skill

Automate Shorten Rest tasks via Rube MCP (Composio). Always search tools first for current schemas.

shortcut

16
from diegosouzapw/awesome-omni-skill

Manage stories on Shortcut.com kanban boards. Use when creating, updating, or listing tasks/stories on Shortcut project management boards. Supports creating stories with descriptions and types (feature/bug/chore), updating story status, and listing active/completed stories. Includes full checklist task management and comment support.

Shortcut Automation

16
from diegosouzapw/awesome-omni-skill

Automate project management workflows in Shortcut -- create stories, manage tasks, track epics, and organize workflows through natural language commands.

shopify-expert

16
from diegosouzapw/awesome-omni-skill

Use when building Shopify themes, apps, custom storefronts, or e-commerce solutions. Invoke for Liquid templating, Storefront API, app development, checkout customization, Shopify Plus features.

shopify-apps

16
from diegosouzapw/awesome-omni-skill

Expert patterns for Shopify app development including Remix/React Router apps, embedded apps with App Bridge, webhook handling, GraphQL Admin API, Polaris components, billing, and app extensions. U...

ship24

16
from diegosouzapw/awesome-omni-skill

Track parcels worldwide via Ship24 API. Create trackers, get tracking results, monitor delivery status for packages from DHL, FedEx, USPS, DPD, and 1500+ carriers. Use when tracking packages, monitoring deliveries, or checking shipment status.