sf-deploy
Deploy and validate Salesforce metadata using @jterrats/profiler for complete profile retrieval and @jterrats/smart-deployment for dependency-aware wave…
Skill by jterratsdev
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/jterratsdev-sf-deploy
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: devops, data, sales
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/sf-deploy
What's inside
- Skill name
sf-deploy- Description
- Deploy and validate Salesforce metadata using @jterrats/profiler for complete profile retrieval and @jterrats/smart-deployment for dependency-aware wave deployments. USE FOR: deploy, validate, sf deploy, profile retrieve, profile compare, smart deployment, wave deployment, metadata deployment, deploy validation, deployment pipeline. Reusable by Developer, DevOps, and Architect profiles.
- License
- BSD-3-Clause
- Instructions
- 228 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Salesforce Deploy & Validate ## Prerequisites | Tool | Check | Install | |------|-------|---------| | Salesforce CLI | `sf --version` | [https://developer.salesforce.com/tools/salesforcecli](https://developer.salesforce.com/tools/salesforcecli) | | @jterrats/profiler | `sf plugins inspect @jterrats/profiler` | `sf plugins install @jterrats/profiler --force` | | @jterrats/smart-deployment | `sf plugins inspect @jterrats/smart-deployment` | `sf plugins install @jterrats/smart-deployment --force` | Before proceeding, run this check and install anything missing: ```bash sf plugins inspect @jterrats/profiler 2>/dev/null || sf plugins install @jterrats/profiler --force sf plugins inspect @jterrats/smart-deployment 2>/dev/null || sf plugins install @jterrats/smart-deployment --force ``` > **Note:** The `--force` flag is required because these are unsigned community plugins. > Without it, `sf plugins install` will prompt for interactive confirmation that blocks > non-interactive execution (e.g., when an AI agent runs the command). --- ## Active Job Monitoring (CRITICAL) When you execute **any** command from this skill (deploy, validate, test run, analyze), you MUST wait for it to complete. **Never** ask the user to check the result or suggest reviewing it later. You own the job from start to finish: - **Synchronous CLI commands:** Wait for the command to return and report the result. - **Async/long-running deploys:** Poll with `sf project deploy report` until status is `Succeeded` or `Failed`. - **Test runs:** Wait for `sf apex test run` to complete. Report pass/fail count, coverage, and any errors. - **GitHub Actions (if triggered):** Use `gh run watch <run-id>` or poll `gh run view <run-id>` until the workflow concludes. Report the final conclusion. After completion, always report: **status**, **duration**, and **actionable next steps** if there were failures. --- ## 1. Profile Retrieval (`sf profiler`) ### Retrieve Profiles with Full Dependencies `sf profiler retrieve` guarantees complete profile metadata by automatically resolving all dependencies (Apex Classes, Custom Objects, Custom Permissions, Tabs, Flows, Layouts, etc.). ```bash # Retrieve all profiles from the target org sf profiler retrieve -o <alias> # Retrieve specific profiles (comma-separated) sf profiler retrieve -o <alias> --name "Admin,Standard User" # Fast mode: use local project metadata instead of listing from org sf profiler retrieve -o <alias> --from-project # Include Field Level Security sf profiler retrieve -o <alias> --all-fields # Exclude managed package metadata sf profiler retrieve -o <alias> --exclude-managed # Dry run: preview without writing files sf profiler retrieve -o <alias> --dry-run ``` **Best practice:** Always use `--from-project` when local metadata exists. It skips the org describe call and is ~10x faster (~3s vs ~30s). ### Compare Profiles Across Environments ```bash # Compare local profiles vs a single org sf profiler compare -o <alias> # Compare across multiple orgs (dev, qa, prod) sf profiler compare --sources "dev,qa,prod" --name "Admin" # Export comparison as HTML matrix sf profiler compare --sources "dev,qa,prod" --output-format html --output-file comparison.html # JSON output for automation sf profiler compare -o <alias> --output-format json ``` ### Generate Profile Documentation ```bash # Generate markdown docs for all profiles sf profiler docs # Specific profiles to a custom directory sf profiler docs --name "Admin,Custom Profile" --output-dir profile-docs ``` --- ## 2. Smart Deployment (`sf smart-deployment`) ### Analyze Dependencies Always analyze before deploying. This builds the dependency graph and identifies optimal deployment waves. ```bash # Analyze only (no deploy) sf smart-deployment analyze ``` Review the output: it shows the dependency graph, wave breakdown, and any circular dependencies that need manual resolution. ### Validate (Dry Run) ```bash
From jterratsdev/smart-deployment, BSD-3-Clause.
More from jterratsdev/smart-deployment
- 0.570score
elements-sync
jterratsdev
Create and update Requirements and Stories in Elements.cloud from story maps, backlog documents, or free-form descriptions.
SkillAFreshness: AClaude Code +9 - 0.565score
sf-code-analyzer
jterratsdev
Run static code analysis on Salesforce projects using sf code-analyzer.
SkillAFreshness: AClaude Code +9 - 0.565score
prompt-registry
jterratsdev
Maintain the .generated-prompts/ register: read before creating any artifact to infer project conventions, write/update after creation.
SkillAFreshness: AClaude Code +9 - 0.565score
qa-evidence-pack
jterratsdev
Build reviewable QA evidence packs that map acceptance criteria to observable outcomes, command results, screenshots, traces, videos, API contracts…
SkillAFreshness: AClaude Code +9 - 0.565score
record-adr
jterratsdev
Record an Architecture Decision Record (ADR).
SkillAFreshness: AClaude Code +9 - 0.565score
refine-story-functionally
jterratsdev
ADP Phase 1 — functional story refinement.
SkillAFreshness: AClaude Code +9 - 0.565score
refine-story-technically
jterratsdev
ADP Phase 2 — technical story refinement.
SkillAFreshness: AClaude Code +9 - 0.565score
backlog-sync
jterratsdev
Push user stories from story maps to issue trackers.
SkillAFreshness: AClaude Code +9 - 0.565score
org-health-assessment
jterratsdev
Assess the health of a Salesforce org across security, automation, permissions, data model, schema limits, license utilization, and large data volumes —…
SkillAFreshness: AClaude Code +9 - 0.565score
project-knowledge-bootstrap
jterratsdev
Scan a Salesforce project structure and populate .setup-agents/project-knowledge.md with architecture decisions, naming conventions, label language, and…
SkillAFreshness: AClaude Code +9 - 0.564score
transcription-evidence
jterratsdev
Transcribe audio/video files and record as workflow evidence
SkillAFreshness: AClaude Code +9 - 0.561score
generate-rom
jterratsdev
Produce a Rough Order of Magnitude (ROM) effort baseline for a story or epic and record it against the local backlog task.
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 14
- Last commit (this folder)
- Aug 5, 2026 (2 months ago)
- Last release
- Sep 29, 2026 (29 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- BSD-3-Clause
- Repository
- github.com/jterratsdev/smart-deployment
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from jterratsdev
- 0.570score
elements-sync
jterratsdev
Create and update Requirements and Stories in Elements.cloud from story maps, backlog documents, or free-form descriptions.
SkillAFreshness: AClaude Code +9 - 0.565score
project-knowledge-bootstrap
jterratsdev
Scan a Salesforce project structure and populate .setup-agents/project-knowledge.md with architecture decisions, naming conventions, label language, and…
SkillAFreshness: AClaude Code +9 - 0.565score
sf-code-analyzer
jterratsdev
Run static code analysis on Salesforce projects using sf code-analyzer.
SkillAFreshness: AClaude Code +9 - 0.565score
org-health-assessment
jterratsdev
Assess the health of a Salesforce org across security, automation, permissions, data model, schema limits, license utilization, and large data volumes —…
SkillAFreshness: AClaude Code +9 - 0.565score
prompt-registry
jterratsdev
Maintain the .generated-prompts/ register: read before creating any artifact to infer project conventions, write/update after creation.
SkillAFreshness: AClaude Code +9 - 0.565score
qa-evidence-pack
jterratsdev
Build reviewable QA evidence packs that map acceptance criteria to observable outcomes, command results, screenshots, traces, videos, API contracts…
SkillAFreshness: AClaude Code +9
Cite this page
sf-deploy skill. Agent Mart. https://agentmart.dev/skills/jterratsdev-sf-deploy (last updated 2026-10-24)