── SKILL
crm-field-library-builder✓ APPROVED

Make your CRM mean one thing to everyone.

Cuts field sprawl to the ones that drive decisions, locks a definition and query pattern on each, and maps every stage to what must be true to sit in it.

In plain English: “What do these fields actually mean, and which ones matter?

Inside: The decision-driven field cut, the definition template, the stage-exit matrix, and the activity formula.

01 / HOW TO USE

Install it in one line, or paste it in.

1
In Claude Code (one command)
Copy the install line, paste it into your terminal, and restart Claude Code. The skill installs itself to ~/.claude/skills/ and runs automatically when it is relevant.
2
In Claude, ChatGPT, or a Project (no terminal)
Open the file, then upload it to your chat or paste its contents in. A skill is just a markdown file of instructions, so any capable AI can follow it.
New to skills? A skill is a plain-text file that teaches your AI a workflow. Point any capable assistant at it and it follows the steps, on your data.
02 / MAKE IT YOURS

Connect your context. Set it to your motion.

CONNECT YOUR CONTEXT · AND WHY IT HELPS
a CRM

it reads your actual objects, field names, and fill rates, so the library names real fields and flags the dead ones.

your reporting

it ties each field to the report or metric that depends on it, so you know what breaks if it goes empty.

your process docs

it aligns the stage matrix to the methodology you already run.

SET IT TO YOUR MOTION

This was built to be CRM-agnostic. Set these to your stack:

The library is yours. The skill's job is to cut the field sprawl down to the ones that actually change a decision, and to lock what each one means so a report never lies.

Set thisWhat it isDefault / Example
OBJECTSthe records you run GTM onAccountOpportunityContactLead
CORE_FIELDSthe fields that drive decisionsyour own short list (the skill helps you find them)
STAGESyour pipeline stagesyour real stage names
STAGE_TESTSwhat must be true to be in a stageyour exit criteria per stage
ACTIVITY_SOURCESwhere real engagement is loggedemailcallsmeetingsproduct
OWNERSwho is accountable for each fieldrepmanageropssystem
03 / THE FULL SKILL

Everything the skill does, in full.

── WHAT THIS DOES

Turns a messy CRM into a source of truth. It interviews you about your process, names the fields that actually drive decisions (not the 200 nobody fills), locks a plain-English definition and a query pattern for each, and maps your pipeline stages to what must be true at every one. The output is a reference every rep, analyst, and downstream skill reads from, so "what does this field mean?" has one answer instead of five.

── THE METHOD
  1. 1
    Name the fields that drive decisions

    Most CRMs carry hundreds of fields and use twenty. Start from the decisions you make, forecast, prioritize, route, renew, and keep only the fields those decisions depend on. Everything else is noise the library should not bless.

  2. 2
    Lock a definition and a query pattern per field

    Every kept field gets a one-line plain definition (what it means, who sets it, when) and a query pattern (how a skill or report reads it reliably). No field enters the library without both. This is what kills the "it depends who you ask" problem.

  3. 3
    Build the stage matrix

    Map every pipeline stage to what must be true to sit in it: the fields that must be filled, the activity that must exist, the exit test. A deal that fails its stage test is misstaged, and the matrix is what lets an analyst catch it.

  4. 4
    Define the activity formula

    Name what counts as real engagement and from which sources, so "active" and "dark" mean the same thing everywhere. A single-source activity check lies; name the full set (email, calls, meetings, product) and how days-dark is computed.

  5. 5
    Flag the dead and the dangerous

    Call out fields that are always empty (drop them), fields that mean different things to different teams (redefine them), and fields people game (add a guard). The library is as much about what to stop trusting as what to keep.

── QUALITY GATES
  • Every field in the library has a plain definition AND a query pattern. No entry with only one.
  • The stage matrix has an explicit exit test per stage, never just a name.
  • The activity formula names its sources; no single-source "active" claim.
  • Dead and ambiguous fields are flagged, not silently included.
  • No field is trusted on a fill rate it does not have. Low-fill fields are labeled, not assumed.
── OUTPUT (EXAMPLE)
EXAMPLE OUTPUT
CRM FIELD LIBRARY · [your org] · built [date]

Field                Definition                          Query pattern
Deal_Stage           where the opp sits in the process   Opportunity.StageName
Next_Step            the committed next action + date    Opportunity.Next_Step__c
Champion_Identified  a named internal advocate exists    Contact role = Champion
Last_Activity_Date   most recent real engagement         max(email, call, meeting)

STAGE MATRIX (exit tests):
  Discovery -> problem named + next step set + 1 meeting logged
  Validation -> champion identified + success criteria written
  Commit -> mutual plan + close date defended by activity

ACTIVITY FORMULA:
  active = any of {email reply, call connect, meeting held, product use}
  in last 21 days; else days-dark = today - last of those

FLAGGED:
  - Lead_Source (32% filled) -> unreliable for routing, fix or drop
  - "Engaged" (means 3 different things by team) -> redefine
── EXAMPLE CHAT
EXAMPLE CHAT
You
Our Salesforce has like 180 fields and reps fill maybe 20. Build me a field library that an analyst can actually trust.
CLAUDE
The fix is not documenting all 180, it is blessing the ones that drive decisions and flagging the rest. Here's the core cut: Field Definition Owner Query Deal_Stage stage in the process rep Opportunity.StageName Next_Step committed next action + date rep Next_Step__c Amount expected ACV rep Opportunity.Amount Last_Activity_Date most recent real engagement system max(activities) The thing worth catching: you have a "Priority" field filled on 11% of records. An analyst that trusts it will rank on garbage. I'd flag it as do-not-trust until fill rate clears the bar, or drop it. Same for any field where two teams disagree on the definition.
You
What about our stages? Reps sandbag everything in "Discovery."
CLAUDE
That is a stage-test problem, so I'd write an explicit exit test per stage: no deal sits in Discovery without a named problem, a set next step, and one logged meeting. Once the matrix exists, an analyst can flag every deal that fails its own stage test, which is exactly how you catch the sandbagging. One sharpener: connect Salesforce and I'll pull real fill rates per field, so the library names your actual dead fields instead of me guessing which ones reps skip.
04 / GO FURTHER

Where an operator takes this next.

The library is step one. Here is where an operator takes it once it holds.

Define the fields once, and every report and every skill stops arguing about what they mean.

01
Feed it to every analyst skill

Point your deal-health, book-of-business, and forecast skills at the field library so they all read the same definitions and the same stage tests, no drift.

02
Run a nightly hygiene check

Have a scheduled Claude task scan Salesforce or HubSpot against the library and DM owners in Slack the records missing a required field for their stage.

03
Version it when the process changes

Keep the library in Notion or GitHub so a stage-model change updates one doc and every downstream skill inherits it.

05 / PART OF A BIGGER PLAY

One skill is the on-ramp.

── GET NEW SKILLS IN YOUR INBOX

One operator-built skill a week. Free.