salesforce
Skill159 starsChanged 30 days agoMITView on GitHub
Read Salesforce leads, contacts, opportunities, inspect schema/SOQL metadata, update opportunity stage/probability, and log calls, emails, or meetings with a deterministic gateway-proxied helper.
- Reads credentials
6 other projects use a version of this.
Adopted by
Most recently taken up by
- Shanksg/clawskillstheir own version, first seen Nov 1, 2026
- PranavNagrecha/AwesomeSalesforceSkillstheir own version, first seen Sep 3, 2026
- poorvith-mp/skills-developertheir own version, first seen Aug 19, 2026
- apideck-libraries/api-skillstheir own version, first seen Aug 13, 2026
- enzoleonardi/claude-salesforce-skilltheir own version, first seen Mar 13, 2026
- refly-ai/refly-skillstheir own version, first seen Jan 25, 2026
Other versions6 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 6
- refly-ai/refly-skills★ 204same name
- PranavNagrecha/AwesomeSalesforceSkills★ 17same name
- enzoleonardi/claude-salesforce-skill★ 8same name
- apideck-libraries/api-skills★ 4same name
- Shanksg/clawskills★ 2same name
- poorvith-mp/skills-developer★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository93 other files it gives its agents.
- AGENTS.mdAGENTS.md
- skills/llm-wiki/templates/AGENTS.mdAGENTS.md
- templates/AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- 1passwordSkill
- agentic-tpmSkill
- airtableSkill
- alexaSkill
- apple-calendarSkill
- apple-musicSkill
- apple-passwordsSkill
- bahnSkill
- blinkSkill
- bookingSkill
- brand-voiceSkill
- byd-batterySkill
- channel-catchupSkill
- code-reviewSkill
- code-simplificationSkill
- current-timeSkill
- daily-briefSkill
- diagramSkill
- discordSkill
- distil-pii-redactorSkill
- docxSkill
- download-platform-invoicesSkill
- excalidrawSkill
- fastbillSkill
- fax-sendSkill
- feature-planningSkill
- firecrawlSkill
- froniusSkill
- ga4Skill
- gh-issuesSkill
- github-pr-workflowSkill
- gogSkill
- google-adsSkill
- google-workspaceSkill
- gwsSkill
- handoff-linksSkill
- hermes3000-writingSkill
- hetzner-cloudSkill
- hetzner-dnsSkill
- hetzner-storage-boxSkill
- heygenSkill
- homematicSkill
- hubspotSkill
- hueSkill
- human-distillSkill
- hybridclaw-helpSkill
- image-generationSkill
- inbox-cleanupSkill
- iss-positionSkill
- langfuseSkill
- lexware-officeSkill
- llm-wikiSkill
- mailchimpSkill
- manim-videoSkill
- microsoft-365Skill
- miroSkill
- The first 60 shown.
The file
Show its rules and text
We split this skill into the rules it gives an agent
19 rules. 0 are common, 9 are distinctive, and 10 are very specific to this project.
0
Common
Most of the 6 edited versions we read keep these.
9
Distinctive
This author's own choices. Worth a look.
10
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Distinctive: line 22
Use this skill for Salesforce CRM work from an org you can access with stored OAuth credentials.
- Distinctive: line 39
Start with read/plan commands.
- Distinctive: line 40
Run the bundled helper directly via bash in the current session:
- Very specific: line 44
Use plan for natural-language requests when you need to inspect the API actions before execution.
- Very specific: line 45
Use run for supported opinionated workflows, for example "Move the Acme deal to Closed Won and log a call from today".
- Very specific: line 46
Use find leads|contacts|opportunities for business-row reads before a write target is ambiguous.
- Very specific: line 47
Use objects, describe, or relations before writing SOQL against an unfamiliar object.
- Very specific: line 48
Use query for row reads. Add a SOQL LIMIT unless the user explicitly needs a larger fetch.
- Very specific: line 49
Use tooling-query for metadata objects such as CustomObject, FieldDefinition, ApexClass, and flow metadata.
- Very specific: line 50
If login fails, confirm that SF_FULL_PASSWORD already includes any required Salesforce security token.
- Distinctive: line 73
Ask the user to set them once in this order:
- Distinctive: line 172
Keep the default posture read-first and plan-first.
- Distinctive: line 174
Use exact Salesforce ids when available.
- Distinctive: line 175
Never print secrets, dump the full environment, or commit auth profile files.
- Very specific: line 176
Treat SF_DOMAIN as one of: login (production) or test (sandbox).
- Very specific: line 177
Prefer --format json when another tool or script needs the response.
- Very specific: line 178
Treat raw query and tooling-query SOQL as full-credential reads: any caller with gateway access can read arbitrary Salesforce data allowed …
- Distinctive: line 181
If the API route is disabled or insufficient, explain that and fall back to browser or admin guidance instead of guessing.
- Distinctive: line 186
Run the offline natural-language planner scenarios:
“Common” is measured: kept by at least 6 in 10 of the 6 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Salesforce
Use this skill for Salesforce CRM work from an org you can access with stored OAuth credentials.
Scope
- global object discovery
- object describe / DDL-style metadata inspection
- relationship discovery for lookup, master-detail, and child links
- SOQL row queries
- Tooling API metadata queries
- lead, contact, and opportunity lookup
- opportunity stage/probability updates
- activity logging for calls, emails, and meetings on the right CRM record
- opinionated natural-language commands for common CRM workflows
- credential setup guidance using HybridClaw stored secrets
Default Workflow
- Start with read/plan commands. Do not mutate CRM state unless the user explicitly asks.
- Run the bundled helper directly via bash in the current session:
python3 skills/salesforce/scripts/salesforce_query.py ... - Use
planfor natural-language requests when you need to inspect the API actions before execution. - Use
runfor supported opinionated workflows, for example "Move the Acme deal to Closed Won and log a call from today". - Use
find leads|contacts|opportunitiesfor business-row reads before a write target is ambiguous. - Use
objects,describe, orrelationsbefore writing SOQL against an unfamiliar object. - Use
queryfor row reads. Add a SOQLLIMITunless the user explicitly needs a larger fetch. - Use
tooling-queryfor metadata objects such asCustomObject,FieldDefinition,ApexClass, and flow metadata. - If login fails, confirm that
SF_FULL_PASSWORDalready includes any required Salesforce security token.
Secret Refs
The helper routes all HTTP traffic through the HybridClaw gateway proxy.
OAuth credentials are sent as <secret:NAME> placeholders that the gateway
resolves server-side — real secret values never enter the Python process or
the agent context.
Required stored secrets:
SF_FULL_USERNAMESF_FULL_PASSWORDSF_FULL_CLIENTIDSF_FULL_SECRETSF_DOMAIN—loginfor production,testfor sandbox
The gateway automatically captures the OAuth access_token from the login
response and stores it as SF_ACCESS_TOKEN; it also captures
instance_url as SF_INSTANCE_URL. The token never enters the Python process
or the agent context. Subsequent API calls reference it via bearerSecretName,
so the gateway injects the bearer token server-side.
Ask the user to set them once in this order:
- Browser admin: open the active HybridClaw admin URL ending in
/admin/secretsand set theSF_*secrets. - Browser
/chator TUI fallback:
/secret set SF_FULL_USERNAME you@example.com
/secret set SF_FULL_PASSWORD <password-plus-token>
/secret set SF_FULL_CLIENTID <connected-app-client-id>
/secret set SF_FULL_SECRET <connected-app-client-secret>
/secret set SF_DOMAIN login- Local console fallback:
hybridclaw secret set SF_FULL_USERNAME you@example.com
hybridclaw secret set SF_FULL_PASSWORD '<password-plus-token>'
hybridclaw secret set SF_FULL_CLIENTID '<connected-app-client-id>'
hybridclaw secret set SF_FULL_SECRET '<connected-app-client-secret>'
hybridclaw secret set SF_DOMAIN loginCommand Contract
Plan a natural-language CRM request without authentication:
python3 skills/salesforce/scripts/salesforce_query.py --format json plan "Move the Acme deal to Closed Won and log a call from today"Execute a supported natural-language CRM request:
python3 skills/salesforce/scripts/salesforce_query.py run "Move the Acme deal to Closed Won and log a call from today"List objects:
python3 skills/salesforce/scripts/salesforce_query.py objects --search AccountDescribe an object:
python3 skills/salesforce/scripts/salesforce_query.py describe AccountShow parent and child relationships:
python3 skills/salesforce/scripts/salesforce_query.py relations OpportunityQuery rows:
python3 skills/salesforce/scripts/salesforce_query.py query "SELECT Id, Name FROM Account LIMIT 10"Query Tooling API metadata:
python3 skills/salesforce/scripts/salesforce_query.py tooling-query "SELECT Id, DeveloperName FROM CustomObject LIMIT 20"Find CRM records:
python3 skills/salesforce/scripts/salesforce_query.py find leads --search Acme
python3 skills/salesforce/scripts/salesforce_query.py find contacts --search "Jane"
python3 skills/salesforce/scripts/salesforce_query.py find opportunities --search Acme --open-onlyUpdate an Opportunity:
python3 skills/salesforce/scripts/salesforce_query.py update-opportunity "Acme Renewal" --stage "Closed Won"
python3 skills/salesforce/scripts/salesforce_query.py update-opportunity 006000000000001AAA --stage "Negotiation/Review" --probability 80Log activities:
python3 skills/salesforce/scripts/salesforce_query.py log-activity call "Acme Renewal" --object opportunity --subject "Discovery follow-up" --date today
python3 skills/salesforce/scripts/salesforce_query.py log-activity email "Jane Rivera" --object contact --subject "Sent pricing notes" --date today
python3 skills/salesforce/scripts/salesforce_query.py log-activity meeting "BigCo" --object account --subject "Implementation review" --date 2026-05-01 --duration-minutes 45Emit JSON for downstream tooling:
python3 skills/salesforce/scripts/salesforce_query.py --format json describe AccountWorking Rules
- Keep the default posture read-first and plan-first.
- Mutations are limited to Opportunity
StageName/Probabilityupdates and Task/Event creation for calls, emails, or meetings. - Use exact Salesforce ids when available. If resolving by name returns multiple matches, stop and ask for the exact record.
- Never print secrets, dump the full environment, or commit auth profile files.
- Treat
SF_DOMAINas one of:login(production) ortest(sandbox). - Prefer
--format jsonwhen another tool or script needs the response. - Treat raw
queryandtooling-querySOQL as full-credential reads: any caller with gateway access can read arbitrary Salesforce data allowed by the stored OAuth user. - For large tables, narrow the selected columns and use a SOQL
LIMITfirst. - The helper strips Salesforce
attributesobjects by default to keep row output compact. Use--keep-attributesonly when the caller explicitly needs them. - If the API route is disabled or insufficient, explain that and fall back to browser or admin guidance instead of guessing.
- Cost per assistant run is recorded by HybridClaw
UsageTotalsfrom normal model usage events; helper output includescostMeasurement.system = "UsageTotals"so evals can verify the accounting contract.
Eval Suite
Run the offline natural-language planner scenarios:
python3 skills/salesforce/scripts/salesforce_query.py --format json eval-scenariosThe fixture at evals/scenarios.json contains 30 scenarios across lead/contact/opportunity reads, Opportunity updates, activity logging, and compound commands.
References
- Query patterns, metadata notes, and auth examples: references/metadata-and-queries.md
Validation
Run:
python3 skills/skill-creator/scripts/quick_validate.py skills/salesforce
python3 skills/salesforce/scripts/salesforce_query.py --help
python3 skills/salesforce/scripts/salesforce_query.py --format json eval-scenariosDoes it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

