Home / Docs / Installing a Single Agent
Installing a Single Agent
Who this is for: someone taking one run-time agent into another project without carrying the whole library.
How to take one run-time agent into another project without carrying the whole library. Every command below was executed as written on 2026-08-15 against a fresh git clone --depth 1 of this repository.
Why this exists
An AGENT.md file by itself is instructions. Those instructions reference:
- Probes under
agents/_shared/probes/(the canonical SOQL) - Skills under
skills/<domain>/<slug>/(the background knowledge) - Shared docs under
agents/_shared/(AGENT_CONTRACT.md,DELIVERABLE_CONTRACT.md,REFUSAL_CODES.md, the JSON schemas) - Templates under
templates/(Apex base classes, LWC skeletons) - Decision trees under
standards/decision-trees/(routing logic)
Without those files, an AI executing the agent fills the gaps with plausible-looking output. The documented case is in skills/admin/salesforce-object-queryability, which records an agent running user-access-diff against a sandbox and querying PermissionSetGroupAssignment — an sObject that does not exist in any Salesforce edition:
"sObject type 'PermissionSetGroupAssignment' is not supported."
The agent collapsed the 400 into "PSG not queryable in this org" and silently dropped the permission-set-group dimension. The report was incomplete and looked complete. (PermissionSetAssignment with PermissionSetGroupId != null is the real query; the substitution table is in that skill.)
So ship the agent and its dependencies together, as a self-contained bundle.
Three supported install paths
Option A — MCP server (recommended for live use)
Run the SfSkills MCP server. It holds the whole library, and any MCP-capable client can call get_agent("user-access-diff") — one of its 38 tools — without copying any files.
# In an SfSkills checkout
git check-ignore -q .venv || echo '.venv/' >> .git/info/exclude # .venv/ is NOT in .gitignore
python3 -m venv .venv
./.venv/bin/python -m pip install -r requirements.txt
./.venv/bin/python scripts/bootstrap.py
./.venv/bin/python -m pip install -e mcp/sfskills-mcp
Then register it in your client, pointing at the venv's interpreter by absolute path and setting SFSKILLS_REPO_ROOT inside the client's own config block:
claude mcp add sfskills \
--env SFSKILLS_REPO_ROOT=/absolute/path/to/AwesomeSalesforceSkills \
-- /absolute/path/to/AwesomeSalesforceSkills/.venv/bin/python -m sfskills_mcp
claude mcp list must report ✔ Connected. Registering bare python3 adds cleanly and then fails to connect — see troubleshooting.md. Full per-client wiring for 18 clients is in