Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
clientell-ai avatar

Sf Eval

  • 37 installs
  • 12 repo stars
  • Updated July 14, 2026
  • clientell-ai/salesforce-skills

sf-eval is an agent skill that benchmarks Salesforce code with vs without skill context and scores results on a Salesforce-specific quality rubric.

About

sf-eval is a Salesforce skills evaluator for builders and skill authors who need evidence that procedural SKILL.md context actually improves Apex and platform code. It runs structured benchmarks: read tasks from the bundled benchmarks JSON, generate a baseline without Salesforce skill knowledge, then generate with full skill context, and score both against a rubric covering security, governor limits, bulkification, patterns, and completeness. Activate on phrases like evaluate skills, benchmark, skill quality, run eval, or compare with/without skills. It works standalone and can optionally lean on Salesforce CLI for static analysis. Solo builders maintaining custom Salesforce skills or deciding whether to adopt Clientell-style packs use it to justify investment and catch regressions when prompts or skills change.

  • Compares AI-generated Salesforce code with vs without skill context
  • Scores against a Salesforce-specific rubric: security, governor limits, bulkification, patterns, completeness
  • Mode 1: run benchmark task(s) from `evals/benchmarks/tasks.json` via `/sf-eval` or task id
  • Baseline generation deliberately omits skill knowledge to surface typical LLM gaps
  • Optional Salesforce CLI for static analysis; Apache-2.0 skill with fork context

Sf Eval by the numbers

  • 37 all-time installs (skills.sh)
  • Ranked #382 of 782 Skill Development skills by installs in the Skillselion catalog
  • Security screen: LOW risk (skills.sh audit)
  • Data as of Jul 28, 2026 (Skillselion catalog sync)
npx skills add https://github.com/clientell-ai/salesforce-skills --skill sf-eval

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs37
repo stars12
Security audit3 / 3 scanners passed
Last updatedJuly 14, 2026
Repositoryclientell-ai/salesforce-skills

What it does

Benchmark whether Salesforce skills improve Apex and config output by scoring with-vs-without skill context against a Salesforce rubric.

Who is it for?

Salesforce skill maintainers and consultants running repeatable eval tasks to prove skill ROI and Apex quality.

Skip if: Skip if you have no Salesforce work and only need generic JavaScript unit tests unrelated to Apex rubrics.

When should I use this skill?

User mentions evaluate skills, benchmark, skill quality, run eval, compare with/without skills, or invokes `/sf-eval` with an optional task id.

What you get

You get a comparison report with rubric scores for baseline vs skill-augmented generations so you can verify skill value before production merges.

  • Comparison report: baseline vs skill-augmented generations
  • Per-dimension rubric scores for Salesforce best practices

By the numbers

  • Salesforce rubric dimensions: security, governor limits, bulkification, patterns, completeness
  • Eval Mode 1: benchmark tasks from evals/benchmarks/tasks.json

Files

SKILL.mdMarkdownGitHub ↗

Salesforce Skills Evaluator

You evaluate whether Salesforce skills improve AI-generated code quality. You do this by comparing code generated with vs without skill context and scoring both.

Eval Modes

Mode 1: Run Benchmark Task(s)

When user says /sf-eval or /sf-eval <task-id>:

1. Read available tasks from evals/benchmarks/tasks.json 2. For each task (or the specified one):

Step A — Generate Baseline (no skill context): Generate Salesforce code for the task prompt AS IF you had no Salesforce skill knowledge. Produce typical LLM output — functional but likely missing Salesforce-specific best practices. Do NOT use WITH USER_MODE, do NOT use trigger handler patterns, do NOT use stripInaccessible unless the prompt explicitly asks for it. Write code the way a generic AI would.

Step B — Generate With Skills: Read the relevant skill file at skills/<skill>/SKILL.md and its references. Then generate code following ALL the skill's rules, patterns, and gotchas strictly.

Step C — Score Both: Read the rubric at evals/benchmarks/rubric.md and the judge prompt at evals/benchmarks/judge-prompt.md. Score each output on 5 categories (0-5 each):

CategoryWhat to check
SecurityWITH USER_MODE, stripInaccessible, with sharing, no injection, no hardcoded creds
Governor LimitsNo SOQL/DML in loops, uses Map/Set collections, efficient queries
BulkificationHandles 200+ records, uses collections, no Trigger.new[0]
PatternsTrigger handler, service/selector layers, naming conventions
CompletenessRequirements met, edge cases, error handling, production-ready

Step D — Output Report: Format as a comparison table:

   ## Task: <task-id>
   **Prompt**: <prompt text>

   ### Baseline (No Skills) — X/25
   | Category | Score | Reason |
   |----------|-------|--------|
   | Security | X/5 | ... |
   | Governor Limits | X/5 | ... |
   | Bulkification | X/5 | ... |
   | Patterns | X/5 | ... |
   | Completeness | X/5 | ... |

   ### With Skills — X/25
   | Category | Score | Reason |
   |----------|-------|--------|
   | Security | X/5 | ... |
   | Governor Limits | X/5 | ... |
   | Bulkification | X/5 | ... |
   | Patterns | X/5 | ... |
   | Completeness | X/5 | ... |

   ### Improvement: +X points (+XX%)

3. If running all tasks, produce a summary table at the end:

   ## Summary
   | Task | Baseline | With Skills | Delta |
   |------|----------|-------------|-------|
   | ... | X/25 | X/25 | +X |
   | **Average** | **X/25** | **X/25** | **+X (+XX%)** |

4. Save the full report to evals/benchmarks/results/BENCHMARK.md

Mode 2: Static Check

When user says /sf-eval --check <file> or /sf-eval check <file>:

Run bash evals/checks/static-checks.sh <file> and show the results.

Mode 3: Score Custom Code

When user provides their own code and asks to evaluate it:

Score the code against the rubric (same 5 categories, 25 points) and provide improvement suggestions referencing the relevant skill.

Available Benchmark Tasks

Read evals/benchmarks/tasks.json for the full list. Tasks cover:

  • apex-trigger-bulk — Trigger with handler pattern and bulkification
  • apex-batch-cleanup — Batch Apex with error handling
  • apex-rest-api — REST endpoint with security
  • apex-callout-service — Named Credentials + Queueable
  • test-trigger-handler — Comprehensive test class
  • test-callout-mock — HttpCalloutMock patterns
  • soql-complex-query — Aggregate + optimization
  • soql-dynamic-search — Dynamic SOQL without injection
  • lwc-record-list — LWC with LDS + error states
  • flow-opportunity-automation — Flow XML with bypass
  • security-audit-apex — Fix security violations
  • schema-custom-object — Metadata XML generation
  • deploy-cicd-pipeline — GitHub Actions for SF
  • data-migration-plan — Bulk API + relationships
  • apex-platform-events — Event-driven architecture

Critical Rules for Baseline Generation

When generating the "baseline" (no skills) code, you MUST intentionally produce typical generic LLM output:

  • Use public class (no with sharing)
  • Skip WITH USER_MODE in SOQL
  • Skip stripInaccessible on DML
  • Put logic directly in the trigger body (no handler)
  • May have SOQL inside simple loops
  • Skip null checks and error handling
  • Use basic patterns without Salesforce-specific optimizations

This is NOT about writing bad code on purpose — it's about writing code the way a generic AI would without Salesforce domain expertise. The baseline should be functional but miss platform-specific best practices.

References

  • Benchmark Tasks — 15 evaluation tasks
  • Scoring Rubric — 25-point quality rubric
  • Judge Prompt — LLM scoring instructions
  • Static Checks — automated code pattern checks

Workflow

1. Identify eval mode (benchmark, static check, or custom code) 2. Read tasks.json and rubric.md 3. Generate baseline and with-skills code 4. Score both against rubric 5. Output formatted comparison report 6. Save to evals/benchmarks/results/BENCHMARK.md if running full benchmark

Related skills

How it compares

Skill-package benchmark harness with Salesforce rubric, not a generic pass/fail linter with no with/without comparison.

FAQ

Who is sf-eval for?

Developers and small teams authoring or adopting Salesforce skills who need measurable before/after quality on Apex and platform patterns.

When should I use sf-eval?

In Ship/testing before trusting generated Apex for release; in Build/agent-tooling when iterating on SKILL.md content; whenever the user mentions evaluate skills, benchmark, or compare with/without skills.

Is sf-eval safe to install?

Check the Security Audits panel on this page; the skill allows Read, Write, Edit, and Bash—run evals only in repos and orgs you control.

Skill Developmenttestingintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.