Source profileQuality 92/100

VincentChuWaiChow/vanguard-frontier-agentic/skills/salesforce/salesforce-field-mapping-skill/SKILL.md

salesforce-field-mapping-skill

Maps CSV or spreadsheet column headers to Salesforce field API names with type mismatch detection, missing-field flagging, picklist value normalization, and API name collision detection. Used during data migration from HubSpot, Pipedrive, Excel exports, and legacy CRMs. TRIGGER when: user says map these columns to salesforce fields, field mapping for migration, convert csv headers to api names, import field mapping, migrate data from hubspot/pipedrive/excel, column mapping for data loader. DO NO

Source repository stars
21
Declared platforms
0
Static risk flags
1
Last source update
2026-08-27
Source checked
2026-08-28

Decision brief

What it does: where it fits

Pure-generation T0 skill that maps CSV/spreadsheet column headers to Salesforce field API names with type mismatch detection. The daily-driver for admins migrating from HubSpot, Pipedrive, Excel exports, and legacy CRMs. Outputs a complete mapping table, type mismatch report, mi…

Best for

    Not for

    • Tasks that require unconfirmed production actions or broad system permissions.
    • Environments where the pinned source and install steps cannot be inspected.

    Compatibility matrix

    Platform support, with evidence labels

    PlatformStatusEvidenceWhat to check
    CodexNot declaredNo explicit evidencePortability before use
    Claude CodeNot declaredNo explicit evidencePortability before use
    CursorNot declaredNo explicit evidencePortability before use
    Gemini CLINot declaredNo explicit evidencePortability before use
    Open the compatibility checker

    Installation

    Inspect first. Install second.

    The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

    Source-detected install commandSource
    npx skills add https://github.com/VincentChuWaiChow/vanguard-frontier-agentic --skill "skills/salesforce/salesforce-field-mapping-skill"
    Safe inspection promptEditorial

    Inspect the Agent Skill "salesforce-field-mapping-skill" from https://github.com/VincentChuWaiChow/vanguard-frontier-agentic/blob/e01b936730332eca271896571d43cc2013c67f3f/skills/salesforce/salesforce-field-mapping-skill/SKILL.md at commit e01b936730332eca271896571d43cc2013c67f3f. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

    Workflow

    What the source asks the agent to do

    1. 01

      Recommended Workflow

      Apply label normalization to make headers comparable: - Strip leading/trailing whitespace - Collapse multiple spaces to single space - Remove non-alphanumeric prefix/suffix characters - Flag headers containing special characters that may corrupt Data Loader (e.g., , $, %, (, ),…

      Strip leading/trailing whitespaceCollapse multiple spaces to single spaceRemove non-alphanumeric prefix/suffix characters
    2. 02

      Step 1 — Normalize source column headers

      Apply label normalization to make headers comparable: - Strip leading/trailing whitespace - Collapse multiple spaces to single space - Remove non-alphanumeric prefix/suffix characters - Flag headers containing special characters that may corrupt Data Loader (e.g., , $, %, (, ),…

      Strip leading/trailing whitespaceCollapse multiple spaces to single spaceRemove non-alphanumeric prefix/suffix characters
    3. 03

      Step 2 — Derive candidate API names from labels

      For each normalized column header, apply the API name derivation rules (see references/api-name-normalization.md): 1. Replace spaces with underscores 2. Remove characters not in [A-Za-z0-9] 3. Strip leading digits (Salesforce API names must start with a letter) 4. Collapse conse…

      Replace spaces with underscoresRemove characters not in [A-Za-z0-9]Strip leading digits (Salesforce API names must start with a letter)
    4. 04

      Step 3 — Match against known standard field API names

      Apply fuzzy matching against the standard object's well-known fields:

      Apply fuzzy matching against the standard object's well-known fields:For Contact: FirstName, LastName, Email, Phone, MobilePhone, Title, Department, AccountId, MailingStreet, MailingCity, MailingState, MailingPostalCode, MailingCountry, LeadSource, Salutation, Birthdate, Description, DoN…For Lead: FirstName, LastName, Company, Email, Phone, MobilePhone, Status, LeadSource, Title, Industry, AnnualRevenue, NumberOfEmployees, Rating, Street, City, State, PostalCode, Country, Description, HasOptedOutOfEmail…
    5. 05

      Step 4 — Detect type mismatches

      For each mapped pair, compare source data type to Salesforce field type. Flag mismatches (see references/type-mismatch-detection.md):

      For each mapped pair, compare source data type to Salesforce field type. Flag mismatches (see references/type-mismatch-detection.md):

    Permission review

    Static risk signals and limitations

    Network access

    medium · line 291

    The documentation includes network, browsing, or remote request actions.

    | User needs to fetch custom field API names from org | `salesforce-metadata-fetcher-skill` |

    Evidence record

    Why each signal appears

    EvidenceSourceComputedTestedEditorial
    SignalValueEvidence typeMeaning
    Quality score92/100ComputedDocumentation, specificity, maintenance, and trust rules
    Repository stars21SourceRepository attention, not individual Skill quality
    Compatibility0 platformsSourceDeclared in the catalog source record
    Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

    Pinned source

    Provenance and original SKILL.md

    Repository
    VincentChuWaiChow/vanguard-frontier-agentic
    Skill path
    skills/salesforce/salesforce-field-mapping-skill/SKILL.md
    Commit
    e01b936730332eca271896571d43cc2013c67f3f
    License
    Apache-2.0
    Collected
    2026-08-28
    Default branch
    master
    View the original SKILL.md

    salesforce-field-mapping-skill

    Pure-generation T0 skill that maps CSV/spreadsheet column headers to Salesforce field API names with type mismatch detection. The daily-driver for admins migrating from HubSpot, Pipedrive, Excel exports, and legacy CRMs. Outputs a complete mapping table, type mismatch report, missing-field list, and a Data Loader–ready column header row.

    When This Skill Owns the Task

    Use salesforce-field-mapping-skill when the work is to design or validate a field mapping for a data import:

    • "I'm migrating from HubSpot — map these column headers to Salesforce Contact fields"
    • "Here's my Excel export. What are the Salesforce API names?"
    • "I need a Data Loader field mapping CSV for importing Opportunities from Pipedrive"
    • "Flag any type mismatches in my column list before I import"
    • "Which of my CSV columns don't have matching Salesforce fields?"

    Delegate elsewhere when:

    SituationSkill to use
    Actually executing the data migration with recordssalesforce-bulk-data-ops-skill
    Designing new custom fields to receive imported datasalesforce-data-architecture-agent
    Reviewing FLS or who can see imported fieldssalesforce-permission-model-review-skill
    Fetching field metadata from a live org to comparesalesforce-metadata-fetcher-skill

    Required Context to Gather First

    Before generating a mapping, confirm:

    1. Target Salesforce object — standard (Contact, Lead, Account, Opportunity, Case) or custom (Custom_Object__c).
    2. Source system — HubSpot, Pipedrive, Salesforce Classic, Excel/CSV export, Marketo, or other. Source system determines default field label conventions.
    3. Column header list — the complete list of CSV/spreadsheet column headers, either as a comma-separated list or pasted table.
    4. Custom fields in scope — list any known custom fields on the target object that may receive data (e.g., HubSpot_Contact_ID__c).
    5. Operation type — insert, update, or upsert. Affects whether Id or an external ID field is required in the mapping.
    6. External ID field — for upsert: which field is the external ID key? (e.g., HubSpot_Contact_ID__c, Email)
    7. Multi-value fields — any source columns that contain comma-separated multi-values intended for multi-select picklists.

    If the column header list is not provided, ask before proceeding.


    Recommended Workflow

    Step 1 — Normalize source column headers

    Apply label normalization to make headers comparable:

    • Strip leading/trailing whitespace
    • Collapse multiple spaces to single space
    • Remove non-alphanumeric prefix/suffix characters
    • Flag headers containing special characters that may corrupt Data Loader (e.g., #, $, %, (, ), /)

    Step 2 — Derive candidate API names from labels

    For each normalized column header, apply the API name derivation rules (see references/api-name-normalization.md):

    1. Replace spaces with underscores
    2. Remove characters not in [A-Za-z0-9_]
    3. Strip leading digits (Salesforce API names must start with a letter)
    4. Collapse consecutive underscores to single underscore
    5. Truncate to 40 characters (API name limit)
    6. Append __c for custom fields
    7. Check against reserved words list

    Step 3 — Match against known standard field API names

    Apply fuzzy matching against the standard object's well-known fields:

    For Contact: FirstName, LastName, Email, Phone, MobilePhone, Title, Department, AccountId, MailingStreet, MailingCity, MailingState, MailingPostalCode, MailingCountry, LeadSource, Salutation, Birthdate, Description, DoNotCall, HasOptedOutOfEmail, OwnerId, ReportsToId

    For Lead: FirstName, LastName, Company, Email, Phone, MobilePhone, Status, LeadSource, Title, Industry, AnnualRevenue, NumberOfEmployees, Rating, Street, City, State, PostalCode, Country, Description, HasOptedOutOfEmail, DoNotCall

    For Account: Name, Type, Industry, AnnualRevenue, NumberOfEmployees, BillingStreet, BillingCity, BillingState, BillingPostalCode, BillingCountry, Phone, Website, Description, OwnerId, ParentId

    For Opportunity: Name, StageName, CloseDate, Amount, Probability, AccountId, OwnerId, Type, LeadSource, Description, ForecastCategory, ForecastCategoryName, CampaignId, NextStep

    Step 4 — Detect type mismatches

    For each mapped pair, compare source data type to Salesforce field type. Flag mismatches (see references/type-mismatch-detection.md):

    Source typeTarget typeRiskAction
    StringDateHIGHRequires DATEVALUE transform; verify ISO format
    StringNumber/CurrencyHIGHRequires VALUE or numeric parse; check for non-numeric chars
    Multi-value stringSingle picklistHIGHMust pick one value or use transformation script
    StringBoolean/CheckboxMEDIUMMap "true"/"1"/"yes" → true; all else → false
    StringLookup (Id)HIGHRequires upsert by external ID or pre-lookup step
    IntegerCurrencyLOWImplicit conversion; verify decimal precision
    Mixed casePicklistMEDIUMPicklist values are case-sensitive in Data Loader

    Step 5 — Flag missing and unmappable fields

    Produce two lists:

    1. Unmapped source columns — columns with no clear Salesforce target
    2. Required fields missing from source — Salesforce required fields (e.g., LastName on Contact, LastName + Company on Lead, Name + StageName + CloseDate on Opportunity, Name on Account) not present in the source column list

    Step 6 — Normalize picklist values

    For any column mapping to a standard picklist field, list the expected Salesforce API values and flag mismatches:

    • LeadSource: Cold Call, Web, Phone Inquiry, Partner Referral, Purchased List, Other, Word of mouth, Employee, Internal, Partner
    • StageName: Prospecting, Qualification, Needs Analysis, Value Proposition, Id. Decision Makers, Perception Analysis, Proposal/Price Quote, Negotiation/Review, Closed Won, Closed Lost
    • Industry: Agriculture, Apparel, Banking, Biotechnology, Chemicals, Communications, Construction, Consulting, Education, Electronics, Energy, Engineering, Entertainment, Environmental, Finance, Food & Beverage, Government, Healthcare, Hospitality, Insurance, Machinery, Manufacturing, Media, Not For Profit, Recreation, Retail, Shipping, Technology, Telecommunications, Transportation, Utilities, Other

    Step 7 — Detect special character and collision risks

    • Flag API names that would collide (two source columns normalizing to the same API name)
    • Flag reserved words: Id, Name, OwnerId, CreatedDate, LastModifiedDate, SystemModstamp, IsDeleted — these cannot be used as custom field API names
    • Flag API names exceeding 40 characters after normalization

    Step 8 — Emit structured output

    Produce the full output block per the Output Format section below, including a Data Loader–ready header row.


    Quality Scoring Rubric (100-point)

    Score every output before emitting. Threshold: 85+ ship, 70–84 ship with caveat, below 70 reject and revise.

    DimensionPointsWhat earns full marks
    API name accuracy30Every standard field mapped to correct API name; custom fields flagged with __c; no typos or reversed lookups
    Type mismatch detection25All HIGH and MEDIUM risk mismatches flagged with recommended transforms; no silently ignored mismatches
    Missing-field flagging15All required Salesforce fields checked; clearly listed if absent from source; import will fail without them
    Picklist value normalization15Case-sensitive picklist values verified; multi-value vs. single-value conflict flagged; API values used not display labels
    Special char / collision detection15Column header special chars flagged; API name collisions detected; reserved word conflicts identified

    Scoring penalties:

    • Missing a HIGH-risk type mismatch: -15 per missed mismatch
    • Missing a required field from target object: -10
    • Incorrect standard API name: -15 per error
    • Multi-select picklist mapped to single picklist without flag: -20
    • Lookup/relationship field mapped without upsert key guidance: -10

    T0 Contract

    This skill is static-review (T0) only:

    • No Salesforce org connection required or permitted.
    • No CLI commands are executed.
    • No live field metadata is fetched.
    • The mapping is generated from known standard field sets and the user's provided column list.
    • If the target object has custom fields that the user has not listed, mappings to those custom fields cannot be generated here — use salesforce-metadata-fetcher-skill to fetch them first.

    Refusal Triggers

    Stop and decline if:

    • The request is to execute a live data migration (route to salesforce-bulk-data-ops-skill).
    • The target object is not specified after two clarification attempts.
    • The column header list is not provided after one prompt.
    • The operation involves permanent hard-deletes (T3 prohibited — route to salesforce-live-guard-agent).

    Output Format

    verdict: "ship | ship-with-caveat | reject"
    quality_score: <0-100>
    quality_notes: "<what drove the score>"
    
    mapping_summary:
      source_system: "<HubSpot | Pipedrive | Excel | Salesforce Classic | Other>"
      target_object: "<SObjectApiName>"
      operation: "<insert | update | upsert>"
      external_id_field: "<FieldApiName | none>"
      total_source_columns: <integer>
      mapped_columns: <integer>
      unmapped_columns: <integer>
      type_mismatch_count: <integer>
      required_fields_missing: <integer>
    
    field_mapping:
      - source_column: "<source header>"
        salesforce_api_name: "<FieldApiName>"
        salesforce_field_type: "<Text|Date|Number|Currency|Picklist|Lookup|Checkbox|etc>"
        confidence: "<high|medium|low>"
        type_mismatch: "<none|HIGH|MEDIUM|LOW>"
        mismatch_detail: "<description of mismatch if present>"
        transform_recommended: "<none|DATEVALUE|VALUE|Picklist normalization|External ID lookup>"
        notes: "<any special handling>"
    
    unmapped_source_columns:
      - column: "<source header>"
        reason: "<no standard match | ambiguous | custom field needed>"
        suggested_custom_api_name: "<Suggested_Name__c>"
    
    required_fields_missing_from_source:
      - field: "<FieldApiName>"
        required_for: "<insert|update|upsert>"
        impact: "<import will fail | data quality risk>"
    
    picklist_value_mismatches:
      - source_column: "<source header>"
        salesforce_field: "<FieldApiName>"
        source_values_found: ["<val1>", "<val2>"]
        valid_salesforce_values: ["<val1>", "<val2>"]
        mismatched_values: ["<val1>"]
        normalization_recommended: "<map 'val1' → 'Correct Value'"
    
    collision_and_special_char_warnings:
      - column: "<source header>"
        issue: "<special chars | api name collision | reserved word | length overflow>"
        recommendation: "<how to resolve>"
    
    data_loader_header_row: "<Comma-separated list of Salesforce API names in source column order>"
    
    handoff_suggestions:
      - "<e.g., fetch custom fields from org with salesforce-metadata-fetcher-skill>"
      - "<e.g., run data migration with salesforce-bulk-data-ops-skill>"
    
    assumptions:
      - "<explicit list of assumptions made>"
    

    Redaction Rules

    This is a T0 generation skill with no live org connection. Apply:

    1. Never emit actual production org IDs, user IDs, or credentials even if the user includes them in their prompt.
    2. If the user pastes sample data rows alongside headers, do not include actual record values (email addresses, names, phone numbers) in the output.
    3. Sanitize pasted column lists that contain Org IDs (18-char starting 00D) before incorporating into output.

    Handoff Rules

    SituationHand off to
    User wants to execute the migrationsalesforce-bulk-data-ops-skill
    User needs to fetch custom field API names from orgsalesforce-metadata-fetcher-skill
    User wants to create new fields to receive import datasalesforce-data-architecture-agent
    FLS or sharing concerns on import fieldssalesforce-permission-model-review-skill

    Stop Conditions

    • Import will fail because required fields (LastName, Company, StageName + CloseDate + Name) are entirely missing from the source — stop, surface the list, require resolution before producing a mapping.
    • Every source column maps to the same single Salesforce field (e.g., all columns appear to be "Name") — stop and request clarification.
    • Requested mapping includes hard-delete or permanent-destroy operations — stop and route to salesforce-live-guard-agent.

    Security Notes

    • T0 static generation only: No org connection, no CLI execution, no MCP calls.
    • No credential handling: Skill never requests or emits OAuth tokens, session IDs, or Connected App credentials.
    • PII in sample data: If user pastes real data rows, do not include field values containing PII in the output mapping table. Process headers only.
    • Upsert external ID guidance: External ID fields used in upsert operations must have "External ID" checked on the field definition in Salesforce Setup — flag this requirement explicitly.

    Reference File Index

    FileWhen to read
    references/api-name-normalization.mdHow to derive API name from label, reserved words, length limits, collision rules
    references/type-mismatch-detection.mdCommon type mismatches, normalization strategies, transform patterns
    references/picklist-value-mapping.mdPicklist value conversion, case sensitivity, multi-select handling

    Frequently asked questions

    What to verify before installation and use

    What does the salesforce-field-mapping-skill source document cover?

    Pure-generation T0 skill that maps CSV/spreadsheet column headers to Salesforce field API names with type mismatch detection. The daily-driver for admins migrating from HubSpot, Pipedrive, Excel exports, and legacy CRMs. Outputs a complete mapping table, type mismatch report, mi…

    How do I install salesforce-field-mapping-skill?

    The source record exposes this install command: npx skills add https://github.com/VincentChuWaiChow/vanguard-frontier-agentic --skill "skills/salesforce/salesforce-field-mapping-skill". Inspect the command and pinned source before running it.

    Which permission-related actions were detected?

    Static rules flagged network in the source; the page lists the matching lines and excerpts.

    Alternatives

    Compare before choosing

    Computed 9560

    PostHog/skills

    exploring-llm-evaluations

    Investigate AI observability evaluations of both types — `hog` (deterministic code-based) and `llm_judge` (LLM-prompt-based). Find existing evaluations, inspect their configuration, run them against specific generations, query individual pass/fail results, and generate AI-powered summaries of patterns across many runs. Use when the user asks to debug why an evaluation is failing, surface common failure modes, compare results across filters, dry-run a Hog evaluator, prototype a new LLM-judge prom

    Computed 923,352

    synthetic-sciences/openscience

    neuropixels-analysis

    Neuropixels neural recording analysis. Load SpikeGLX/OpenEphys data, preprocess, motion correction, Kilosort4 spike sorting, quality metrics, Allen/IBL curation, AI-assisted visual analysis, for Neuropixels 1.0/2.0 extracellular electrophysiology. Use when working with neural recordings, spike sorting, extracellular electrophysiology, or when the user mentions Neuropixels, SpikeGLX, Open Ephys, Kilosort, quality metrics, or unit curation.

    Computed 9267

    brucesongs/kali-claw

    deception-honeypot

    Defensive deception and honeypot deployment covering SSH/Telnet (Cowrie), web (OpenCanary), enterprise (HFish), ICS/SCADA (Conpot), all-in-one (T-Pot), AI-driven deception (Beelzebub), Thinkst Canarytokens (DNS, HTTP, file, AWS API key, SQL), Dionaea multi-protocol honeypot, notification pipelines (Slack/Teams webhooks), false positive tuning, and attacker engagement — including lure design, deployment OPSEC, IOC extraction, and attacker attribution.

    Computed 91758

    buildfastwithai/gen-ai-experiments

    startupblueprint

    Turn a startup, SaaS, app, developer tool, website, repository, or product idea into an evidence-backed business plan, monetization strategy, pricing architecture, editable 12-month financial model, and 90-day execution roadmap. Use when Codex needs to analyze how a startup can become a sustainable business; decide free versus paid, monthly, annual, usage-based, one-time, or lifetime pricing; design tiers and upgrade triggers; estimate unit economics and break-even under explicit assumptions; co