
Sf Metadata
Generate Salesforce CustomField XML metadata from templates when adding checkbox, currency, and other standard field types to a solo builder's CRM org.
Overview
sf-metadata is an agent skill for the Build phase that produces Salesforce CustomField SOAP XML from commented templates with placeholders.
Install
npx skills add https://github.com/jaganpro/sf-skills --skill sf-metadataWhat is this skill?
- SOAP XML CustomField templates with documented placeholders for API name, label, and help text
- Checkbox templates require explicit default true/false and note that checkboxes are never required
- Currency templates with precision, scale, required flag, and org currency awareness
- Inline comments explain tracking history/trending defaults for each field pattern
Adoption & trust: 1.3k installs on skills.sh; 418 GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
You need new Salesforce custom fields but do not want to hand-author error-prone metadata XML or miss platform rules like checkbox defaults.
Who is it for?
Indie developers or consultants adding standard custom fields to Salesforce projects using metadata-driven deploys.
Skip if: Teams that only use Setup UI for fields, or flows needing Apex, Flow, or complex validation rules without separate skills.
When should I use this skill?
When the agent must generate or extend Salesforce CustomField XML for standard field types using the provided templates.
What do I get? / Deliverables
You get copy-ready CustomField XML blocks with the correct type, labels, and field-specific attributes for deployment into your org.
- CustomField XML fragments ready for package.xml or source-format directories
Recommended Skills
Journey fit
How it compares
Use instead of generic XML snippets that omit Salesforce-specific defaults and help-text conventions.
Common Questions / FAQ
Who is sf-metadata for?
Solo builders and small teams shipping on Salesforce who define fields as XML metadata for version control and CI deploys.
When should I use sf-metadata?
During Build when you are scaffolding checkbox, currency, or similar CustomField definitions before pushing metadata to a scratch org or production pipeline.
Is sf-metadata safe to install?
Review the Security Audits panel on this Prism page and treat generated XML like any org metadata change—validate in a sandbox before production.
SKILL.md
READMESKILL.md - Sf Metadata
<?xml version="1.0" encoding="UTF-8"?> <!-- Checkbox Field Template Usage: Boolean true/false values Placeholders: - {{FIELD_API_NAME}} - API name ending in __c (e.g., "Is_Active__c") - {{FIELD_LABEL}} - User-friendly label (e.g., "Is Active") - {{DEFAULT_VALUE}} - true or false (required for checkboxes) - {{DESCRIPTION}} - Field purpose - {{HELP_TEXT}} - Inline help for users Notes: - Checkboxes are never required (always have a value) - Default value is mandatory - Good for flags, toggles, opt-ins --> <CustomField xmlns="http://soap.sforce.com/2006/04/metadata"> <fullName>{{FIELD_API_NAME}}</fullName> <label>{{FIELD_LABEL}}</label> <type>Checkbox</type> <defaultValue>{{DEFAULT_VALUE}}</defaultValue> <description>{{DESCRIPTION}}</description> <inlineHelpText>{{HELP_TEXT}}</inlineHelpText> <trackHistory>false</trackHistory> <trackTrending>false</trackTrending> </CustomField> <?xml version="1.0" encoding="UTF-8"?> <!-- Currency Field Template Usage: Monetary values (respects org currency settings) Placeholders: - {{FIELD_API_NAME}} - API name ending in __c (e.g., "Total_Amount__c") - {{FIELD_LABEL}} - User-friendly label (e.g., "Total Amount") - {{PRECISION}} - Total digits (1-18) - {{SCALE}} - Decimal places (0-17, typically 2 for currency) - {{REQUIRED}} - true or false - {{DEFAULT_VALUE}} - Optional default (e.g., "0.00") - {{DESCRIPTION}} - Field purpose - {{HELP_TEXT}} - Inline help for users Notes: - Automatically displays with org's currency symbol - In multi-currency orgs, stores in corporate currency - Use precision=18, scale=2 for standard currency --> <CustomField xmlns="http://soap.sforce.com/2006/04/metadata"> <fullName>{{FIELD_API_NAME}}</fullName> <label>{{FIELD_LABEL}}</label> <type>Currency</type> <precision>{{PRECISION}}</precision> <scale>{{SCALE}}</scale> <required>{{REQUIRED}}</required> <defaultValue>{{DEFAULT_VALUE}}</defaultValue> <description>{{DESCRIPTION}}</description> <inlineHelpText>{{HELP_TEXT}}</inlineHelpText> <trackHistory>false</trackHistory> <trackTrending>false</trackTrending> </CustomField> <?xml version="1.0" encoding="UTF-8"?> <!-- Date Field Template Usage: Calendar dates (without time component) Placeholders: - {{FIELD_API_NAME}} - API name ending in __c (e.g., "Due_Date__c") - {{FIELD_LABEL}} - User-friendly label (e.g., "Due Date") - {{REQUIRED}} - true or false - {{DEFAULT_VALUE}} - Optional default (use formula like TODAY()) - {{DESCRIPTION}} - Field purpose - {{HELP_TEXT}} - Inline help for users Notes: - For DateTime fields, use type "DateTime" instead - Default value can use formulas: TODAY(), TODAY() + 30 --> <CustomField xmlns="http://soap.sforce.com/2006/04/metadata"> <fullName>{{FIELD_API_NAME}}</fullName> <label>{{FIELD_LABEL}}</label> <type>Date</type> <required>{{REQUIRED}}</required> <defaultValue>{{DEFAULT_VALUE}}</defaultValue> <description>{{DESCRIPTION}}</description> <inlineHelpText>{{HELP_TEXT}}</inlineHelpText> <trackHistory>false</trackHistory> <trackTrending>false</trackTrending> </CustomField> <?xml version="1.0" encoding="UTF-8"?> <!-- Email Field Template Usage: Email addresses with format validation Placeholders: - {{FIELD_API_NAME}} - API name ending in __c (e.g., "Work_Email__c") - {{FIELD_LABEL}} - User-friendly label (e.g., "Work Email") - {{REQUIRED}} - true or false - {{UNIQUE}} - true or false - {{EXTERNAL_ID}} - true or false - {{DESCRIPTION}} - Field purpose - {{HELP_TEXT}} - Inline help for users Notes: - Automatically validates email format - Max 80 characters - Clickable in Lightning (opens email client) - Use for any email address field beyond standard Email --> <CustomField xmlns="http://soap.sforce.com/20