Skip to content
SlashClone
Made by@revopslab

Crm field audit

@revopslab/crm-field-audit

Audit the fields in any CRM export (HubSpot, Salesforce, or other CSV). Reports fill rates, placeholder junk like n/a and unknown, top values, and flags empty, sparse, constant, default-heavy, and likely duplicate fields, plus fill rates by owner or team. Ends with a cleanup plan: what to hide, merge, make required, or fix.

SkillRevOpsv1.0.0 (latest)Tested
Activity
New: be the first to try it

Real output from this kit

How this works

  1. It is a skill: written instructions Claude reads when your request matches what the skill is for. You do not call it by name; just ask for the task.
  2. While it works, it reads and changes files in the places it lists, nowhere else.
  3. It runs these commands on your computer: node scripts/field-audit.mjs.
  4. Nothing runs until you choose to use it, and you can remove it any time.

SKILL.md

CRM field audit

Every CRM collects fields nobody fills in. This kit measures what is really used, from an export, and turns it into a short cleanup plan. It never changes the CRM.

When to use

  • Before a CRM cleanup, migration, or new reporting project.
  • When reps complain about too many fields, or reports have holes.
  • To check whether a required field is really being filled, and by whom.
  • Not for deduplicating records (that is a different job) and not for deleting fields.

Inputs

  1. An export with all columns at data/<object>.csv, one object per file (contacts, companies, deals or opportunities, tickets).

    • HubSpot: export the view with "All properties" selected.
    • Salesforce: a report with every field you care about, or a Data Loader export.
    • Use a recent, representative slice (for example records created in the last 12 months) so old imports do not skew the result. Ask which.
  2. Optional: the key fields the business depends on (--key-fields "Industry,Amount,Owner"), and a group column to compare fill by owner or team (--group-by "Owner").

Steps

  1. Confirm the object, the time slice, and the key fields with the user.
  2. Run:

    node scripts/field-audit.mjs data/companies.csv --group-by "Owner" --key-fields "Industry,Employees,Owner" --sparse 10 --out out --name companies-field-audit
  3. Read out/<name>.json. Flags mean:

    • empty: nothing in it. sparse: filled on under --sparse percent of records (default 10).
    • constant: one value everywhere. Often a default or a field only one integration writes.
    • default_heavy: one value is 90% or more of filled records. The default is doing the work, not people.
    • placeholders: 5% or more of records hold n/a, unknown, tbd, test, and similar. These are counted as empty.
    • possible_duplicate: similar names, or the same value on 95% or more of rows where both are filled.
  4. Write out/<name>-plan.md with the plan format below. Group fields into: hide or archive, merge, fix the default, make required or automate, keep.
  5. Present the summary and the plan. For anything in "hide or archive", remind the user to check workflows, reports, and integrations that use the field before removing it.

Output format

# Companies field audit (12 records, 14 fields)

| Action | Fields | Why |
| --- | --- | --- |
| Hide or archive | Legacy Score | Empty |
| Merge | Industry (Custom) into Industry | Same value on 10 of 10 rows |
| Fix the default | Lifecycle Stage | 91.7% "Lead" |
| Clean values | Original Source | 5 of 12 are n/a or Unknown |
| Make required or automate | Annual Revenue | Key field, 33% filled: enrich it |

Fill by owner: Rep C 68.8% average vs Rep A 87.5%.

Guardrails

  • Read-only. Never delete, hide, or edit fields or records. The plan is a recommendation for the CRM admin.
  • A low fill rate can be correct (a field only for one segment). Ask before calling it unused.
  • Exports contain personal data. Show field-level stats only; do not paste rows.

README.md

CRM field audit

Finds out which CRM fields are actually used. From one export it measures fill rates, spots placeholder junk, and flags empty, constant, default-heavy, and duplicate fields, then writes a cleanup plan.

Who it is for

RevOps and CRM admins on HubSpot, Salesforce, or any CRM, planning a cleanup, a migration, or better reporting.

Example

Input: examples/companies.csv (12 companies, 14 fields), grouped by Owner.

Output (out/field-audit.md):

FieldFillTop valueFlags
Legacy Score0%empty
Partner Tier8.3%Gold (100%)sparse
Original Source50%Organic search (33.3%)placeholders
Industry (Custom)83.3%Retail (30%)possible_duplicate
Lifecycle Stage100%Lead (91.7%)default_heavy
Region100%NA (100%)constant

Plus fill rate by owner and a plan: archive, merge, fix defaults, enrich.

What it can access

  • Runs node scripts/field-audit.mjs (Node built-ins only, no network).
  • Reads data/ (plus the kit's own examples/), writes out/.

Setup

None. Export the object with all columns to data/.

Files

  • README.md
  • SKILL.md
  • examples/companies.csv
  • kit.json
  • scripts/field-audit.mjs

Did it work?

0worked for them0did not work

Sign in to say whether it worked for you.

Nobody has said yet. Tried it? Tell the next person.