sf-apex

Generates and reviews Salesforce Apex code with 150-point scoring. TRIGGER when: user writes, reviews, or fixes Apex classes, triggers, test classes, batch/queueable/schedulable jobs, or touches .cls/.trigger files. DO NOT TRIGGER when: LWC JavaScript (use sf-lwc), Flow XML (use sf-flow), SOQL-only

By jaganpro · 1,599 installs

npx skills add jaganpro/sf-skills --skill sf-apex

Source repository · Upstream listing

sf apex: Salesforce Apex Code Generation and Review Use this skill when the user needs production Apex : new classes, triggers, selectors, services, async jobs, invocable methods, test classes, or evidence based review of existing .cls / .trigger code. When This Skill Owns the Task Use sf apex when the work involves: Apex class generation or refactoring trigger design and trigger framework decisions @InvocableMethod , Queueable, Batch, Schedulable, or test class work review of bulkification, sharing, security, testing, or maintainability Delegate elsewhere when the user is: editing LWC JavaScript / HTML / CSS → [sf lwc](../sf lwc/SKILL.md) building Flow XML or Flow orchestration → [sf flow](../sf flow/SKILL.md) writing SOQL only → [sf soql](../sf soql/SKILL.md) deploying or validating metadata to orgs → [sf deploy](../sf deploy/SKILL.md) Required Context to Gather First Ask for or infer: class type: trigger, service, selector, batch, queueable, schedulable, invocable, test target object(s) and business goal whether code is net new, refactor, or fix org / API constraints if known expected test coverage or deployment target Before authoring, inspect the project shape: existing classes / triggers current trigger framework or handler pattern related tests, flows, and selectors whether TAF is already in use Recommended Workflow 1. Discover local architecture Check for: existing trigger handlers / frameworks service selector domain conventions related tests and data factories invocable or async patterns already used in the repo 2. Choose the smallest correct pattern Need Preferred pattern simple reusable logic service class query heavy data access selector single object trigger behavior one trigger + handler / TAF action Flow needs complex logic @InvocableMethod background processing Queueable by default very large datasets Batch Apex or Database.Cursor patterns repeatable verification dedicated test class + test data factory 3. Author with guardrails Generate code that is: bulk safe sharing aware CRUD/FLS safe where applicable testable in isolation consistent with project naming and layering 4. Validate and score Evaluate against the 150 point rubric before handoff. 5. Hand off deploy/test next steps When org validation is needed, hand off to: [sf testing](../sf testing/SKILL.md) for test execution loops [sf deploy](../sf deploy/SKILL.md) for deploy / dry run / verification Generation Guardrails Never generate these without explicitly stopping and explaining the problem: Anti pattern Why it blocks SOQL in loops governor limit failure DML in loops governor limit failure missing sharing model security / data exposure risk hardcoded IDs deployment and portability failure empty catch blocks silent failure / poor observability string built SOQL with user input injection risk tests without assertions false positive test suite Default fix direction: query once, operate on collections use with sharing unless justified otherwise use bind variables and WITH USER MODE where appropriate create assertions for positive, negative, and bulk cases See [references/anti patterns.md](references/anti patterns.md) and [references/security guide.md](references/security guide.md). High Signal Build Rules Trigger architecture Prefer one trigger per object . If TAF is already installed and used, extend it instead of inventing a second trigger pattern. Triggers should delegate logic; avoid heavy business logic directly in trigger bodies. Async choice Scenario Default standard async work Queueable very large record processing Batch Apex recurring schedule Scheduled Flow or Schedulable post job cleanup Finalizer long running Lightning callouts Continuation Testing minimums Use the PNB pattern for every feature: Positive path Negative / error path Bulk path (251+ records where relevant) Modern Apex expectations Prefer current idioms when available: safe navigation: obj?.Field c null coalescing: value ?? fallback Assert. over legacy assertion style WITH USER MODE and explicit security handling where relevant Output Format When finishing, report in this order: 1. What was created or reviewed 2. Files changed 3. Key design decisions 4. Risk / guardrail notes 5. Test guidance 6. Deployment guidance Suggested shape: LSP Validation Note This skill supports an LSP assisted authoring loop for .cls and .trigger files: syntax issues can be detected immediately after write/edit the skill can auto fix common syntax errors in a short loop semantic quality still depends on the 150 point review rubric Full guide: [references/troubleshooting.md](references/troubleshooting.md lsp based validation auto fix loop) Cross Skill Integration Need Delegate to Reason describe objects / fields first [sf metadata](../sf metadata/SKILL.md) avoid coding against wrong schema seed bulk or edge case data [sf data](../sf data/SKILL.md) create realistic test datasets run Apex tests / fix failing tests [sf testing](../sf testing/SKILL.md) execute and iterate on failures deploy to org [sf deploy](../sf deploy/SKILL.md) validation and deployment orchestration build Flow that calls Apex [sf flow](../sf flow/SKILL.md) declarative orchestration build LWC that calls Apex [sf lwc](../sf lwc/SKILL.md) UI/controller integration Reference Map Start here [references/patterns deep dive.md](references/patterns deep dive.md) [references/security guide.md](references/security guide.md) [references/bulkification guide.md](references/bulkification guide.md) [references/testing patterns.md](references/testing patterns.md) High signal checklists [references/code review checklist.md](references/code review checklist.md) [references/anti patterns.md](references/anti patterns.md) [references/naming conventions.md](references/naming conventions.md) Specialized patterns [references/trigger actions framework.md](references/trigger actions framework.md) [references/automation density guide.md](references/automation density guide.md) [references/flow integration.md](references/flow integration.md) [references/triangle pattern.md](references/triangle pattern.md) [references/design patterns.md](references/design patterns.md) [references/solid principles.md](references/solid principles.md) Troubleshooting / validation [references/troubleshooting.md](references/troubleshooting.md) [references/llm anti patterns.md](references/llm anti patterns.md) [references/testing guide.md](references/testing guide.md) Score Guide Score Meaning 120+ strong production ready Apex 90–119 good implementation, review before deploy 67–89 acceptable but needs improvement < 67 block deployment