Agent skill

Dx Code Analyzer Configure

by forcedotcom in forcedotcom/sf-skills

Set up, configure, and troubleshoot Salesforce Code Analyzer for any project.

Apache-2.0Auto-check passedDevOps & Cloud

Install Dx Code Analyzer Configure

skills CLI
$ npx skills add forcedotcom/sf-skills --skill dx-code-analyzer-configure -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install forcedotcom/sf-skills dx-code-analyzer-configure --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/forcedotcom/sf-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/dx-code-analyzer-configure .claude/skills/dx-code-analyzer-configure && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
dx-code-analyzer-configure
GitHub stars
1.1k
Token cost
~5.6k tokens
SKILL.md length
2,078 words
Files
14 (incl. scripts, references)
Skills in repo
251
Repo updated
First seen
Licence
Apache-2.0

At a glance

Set up, configure, and troubleshoot Salesforce Code Analyzer for any project.

  • Works in 9 steps: Understand Intent and Map to Config… → Check Prerequisites and Install → Create or Edit code-analyzer.yml → …
  • : user says set up code analyzer
  • SKILL.md covers Overview, Scope, Tool Usage Rules and Core Principle: YAML Only When…, plus 11 more sections
  • Runs Shell scripts from its folder; calls sf, bash and java

What it does

Dx Code Analyzer Configure is an agent skill from forcedotcom/sf-skills. Set up, configure, and troubleshoot Salesforce Code Analyzer for any project. Handles installation, prerequisite checks, diagnosing broken setups, creating and editing code-analyzer.yml overrides, engine-specific settings, ignore patterns, severity overrides, and CI/CD pipeline setup. TRIGGER when: user says 'set up code analyzer', 'configure code analyzer', 'install code analyzer', 'code analyzer not working', 'fix my setup', 'scan failing', 'check my setup', 'enable/disable engine', 'exclude files', 'change…

Its SKILL.md is about 5.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 16 other files, including scripts and reference files (for example `examples/apex-project-config.yml`, `examples/ci-github-actions.yml` and `examples/fullstack-project-config.yml`).

It sits in DevOps & Cloud, covering CI/CD, CRM management and Quality gates. It works with Salesforce, GitHub Actions and ESLint. The repository describes itself as: Salesforce's curated collection of agent skills for building applications. Optimized for Agentforce Vibes, compatible with all AI tools. The licence is Apache-2.0.

When your agent uses it

  • : user says set up code analyzer
  • Configure code analyzer
  • Install code analyzer
  • Code analyzer not working

Example prompts

  • “set up code analyzer”
  • “configure code analyzer”
  • “install code analyzer”
  • “/dx-code-analyzer-configure”

Requirements

  • Python 3
  • Node.js
  • A Bash shell

Workflow steps

9 steps, taken from the step headings in SKILL.md.

  1. Understand Intent and Map to Config Sections
  2. Check Prerequisites and Install
  3. Create or Edit code-analyzer.yml
  4. Enable/Disable Engines
  5. Ignore Patterns
  6. Rule Overrides
  7. Engine-Specific Settings
  8. CI/CD Pipeline Setup
  9. View Current Configuration

What it can do on your machine

Read from SKILL.md and the folder at commit e5164d9. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 3 files in scripts/ (Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • sf
    • bash
    • java
    • node
    • python3
    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Dx Code Analyzer Configure loads about 5.6k tokens when it runs, and up to ~18k if it reads all its reference files. Until then it costs about 256 tokens; SKILL.md has 2,078 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~256
When it runs · the whole SKILL.md, loaded when a task matches
~5.6k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~18k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from forcedotcom/sf-skills at commit e5164d9, republished under its Apache-2.0 licence (© forcedotcom). 2,078 words, ~5,604 tokens.

Download SKILL.mdSave it as .claude/skills/dx-code-analyzer-configure/SKILL.md (or your agent's skills folder). This skill also uses 13 other files; get the full folder from GitHub.
name
dx-code-analyzer-configure
description
Set up, configure, and troubleshoot Salesforce Code Analyzer for any project. Handles installation, prerequisite checks, diagnosing broken setups, creating and editing code-analyzer.yml overrides, engine-specific settings, ignore patterns, severity overrides, and CI/CD pipeline setup. TRIGGER when: user says 'set up code analyzer', 'configure code analyzer', 'install code analyzer', 'code analyzer not working', 'fix my setup', 'scan failing', 'check my setup', 'enable/disable engine', 'exclude files', 'change severity', 'set up GitHub Actions', 'set up CI/CD', 'add to pipeline', 'pipeline fail', 'update my workflow', 'quality gate', 'fail on violations', 'scan changed files only', 'add SARIF', 'code-analyzer.yml', 'ESLint config', 'increase SFGE memory', or reports errors running Code Analyzer. DO NOT TRIGGER when: user wants to run a scan (use dx-code-analyzer-run), fix violations, explain rules, create custom rules (use dx-code-analyzer-custom-rule-create), or suppress violations.
metadata.version
1.0
metadata.domains
Developer Experience
metadata.relatedSkills
dx-code-analyzer-custom-rule-create, dx-code-analyzer-run

Configuring Code Analyzer Skill

Overview

Ecosystem: This skill is part of a 3-skill Code Analyzer suite — dx-code-analyzer-run (scans & results) · dx-code-analyzer-configure (setup, config, CI/CD) · dx-code-analyzer-custom-rule-create (custom rule authoring).

This skill manages the code-analyzer.yml configuration file — the single source of truth for how Code Analyzer behaves in a project. All customization (engines, rules, ignores, suppressions) is done by creating or editing this file. If the file doesn't exist, this skill creates it in the current working directory.


Scope

In scope:

  • Checking prerequisites (sf CLI, Java, Node.js, Python, org auth)
  • Installing/updating the Code Analyzer plugin
  • Creating code-analyzer.yml if it doesn't exist
  • Editing code-analyzer.yml for all configuration changes
  • Engine settings, rule overrides, ignore patterns, suppressions
  • CI/CD pipeline setup (GitHub Actions, Jenkins, etc.)
  • Environment validation and troubleshooting

Out of scope:

  • Running scans → use dx-code-analyzer-run skill
  • Fixing violations, explaining rules, suppression management → use dx-code-analyzer-run skill
  • Creating custom rules → use dx-code-analyzer-custom-rule-create skill

Tool Usage Rules

Allowed: Bash (sf, java, node, python3, npm), Read, Write, Edit Forbidden: MCP tools, Agent tool, Web tools, other skills, which, find, locate, searching for binaries


Core Principle: YAML Only When Customizing

Code Analyzer works out of the box with NO config file — all defaults are built into the tool. The code-analyzer.yml file is ONLY created when the user explicitly requests a customization.

Rules:

  • Do NOT create code-analyzer.yml proactively — only when user asks to change something
  • Do NOT duplicate built-in defaults — only write entries that intentionally override behavior
  • Always place at project root — where sfdx-project.json or sf-project.json lives
  • The CLI auto-discovers it — sf code-analyzer run from project root automatically picks up code-analyzer.yml in that directory. No --config-file flag needed.
  • User says "configure code analyzer" with no specifics? → Ask what they want to customize. Don't create an empty or boilerplate file.

Workflow:

  1. User requests a customization (e.g., "disable PMD", "ignore test files", "increase SFGE memory")
  2. Check if code-analyzer.yml exists at project root
  3. If NO → create it at project root with ONLY the requested override
  4. If YES → read it, then edit in the requested change
  5. Validate with sf code-analyzer config

Step 1: Understand Intent and Map to Config Sections

The user can request ANY combination of configuration changes in natural language. Your job is to:

  1. Parse what they want — may be one thing or many things combined
  2. Map each request to the correct section(s) of code-analyzer.yml
  3. Create the file if it doesn't exist, then apply all changes
The code-analyzer.yml Structure (what you can write/edit)
yaml
config_root: .                    # Root for relative path resolution
log_folder: <path>                # Where logs are written
log_level: <1-5>                  # 1=Error, 2=Warn, 3=Info, 4=Debug, 5=Fine

ignores:                          # Files/folders excluded from scanning
  files: [<glob patterns>]

engines:                          # Per-engine settings
  <engine_name>:
    disable_engine: <bool>
    <engine_specific_keys>: ...

rules:                            # Per-rule overrides
  <engine_name>:
    <rule_name>:
      severity: <1-5>
      tags: [<strings>]
      disabled: <bool>

suppressions:                     # Bulk suppression configuration
  disable_suppressions: <bool>
  "<file_or_folder_path>":
    - rule_selector: "<selector>"
      max_suppressed_violations: <number|null>
      reason: "<why>"
Mapping Principle

Any user request maps to one or more sections above. Parse the intent and edit the right section(s):

Intent CategoryMaps ToExamples of What User Might Say
Setup / InstallStep 2 (prerequisites + install)"set up", "install", "get started", "new laptop", "from scratch"
Diagnose / FixStep 2A (systematic debug)"not working", "broken", "fix my setup", "scan fails", "getting errors"
Engine controlengines.<name>.disable_engine"disable X", "turn off Y", "only use Z", "enable all"
Engine tuningengines.<name>.<property>"increase memory", "change heap", "use my eslint config", "set tokens to 50"
File exclusionsignores.files"exclude", "ignore", "skip", "don't scan X"
Rule severityrules.<engine>.<rule>.severity"make X critical", "promote", "demote", "change severity"
Rule disablerules.<engine>.<rule>.disabled"disable rule X", "turn off Y rule", "remove Z"
Rule tagsrules.<engine>.<rule>.tags"tag X as security", "add recommended tag"
Suppressionssuppressions section"suppress X in folder Y", "allow N violations"
CI/CDGenerate pipeline file (separate from config)"github actions", "CI", "quality gate"
View/inspectRead file + sf code-analyzer config"show config", "what's configured", "current settings"
File Existence Decision

BEFORE editing anything, check if code-analyzer.yml exists at project root:

bash
ls code-analyzer.yml code-analyzer.yaml 2>/dev/null
  • File does NOT exist → Create it at project root with ONLY the user's requested override(s)
  • File exists → Read it, then Edit to add/modify the requested section(s)

The CLI auto-discovers code-analyzer.yml in the current directory. Since scans run from project root, the file must live there.

Rule Name Resolution — ALWAYS Before Writing YAML

When a user references rules by partial, descriptive, or approximate names (e.g., "the doc rule", "CRUD violation", "console rule", "hardcoded values"), you MUST resolve to exact rule names using the lookup in Step 6.1 BEFORE writing any YAML. The code-analyzer.yml file silently ignores rule names that don't exactly match — there is no error, the override just won't apply.

Examples of fuzzy → exact resolution needed:

  • "Disable the ApexDoc rule" → lookup confirms ApexDoc (engine: pmd)
  • "Demote no-console to low" → lookup confirms no-console (engine: eslint)
  • "Make CRUD violations critical" → lookup confirms ApexCRUDViolation (engine: pmd)
  • "Turn off the hardcoded values check" → lookup finds @salesforce-ux/slds/no-hardcoded-values-slds2 (engine: eslint)
  • "Disable the injection rule" → multiple matches possible → ask user which one

Only skip the lookup when the user provides an unambiguous, exact, well-known name (e.g., "ApexDoc", "no-console", "no-unused-vars").

Handling Combined/Complex Requests

Users will often combine multiple changes in one request. Handle ALL of them in a single edit:

  • "Disable PMD's ApexDoc rule and make CRUD violations critical" → edit two entries under rules.pmd
  • "Exclude test files and vendor code, and increase SFGE memory" → edit ignores.files + engines.sfge.java_max_heap_size
  • "Set up code analyzer with only ESLint and PMD, ignore node_modules" → create file with engines (disable others) + ignores
  • "Make all security rules severity 1" → look up rules via sf code-analyzer rules --rule-selector Security, then override each
  • "Configure code analyzer" (no specifics) → ask user what they want to customize before creating any file
Quick Reference: Common Requests → Config Output
User SaysResulting YAML
"configure code analyzer"Ask user what to customize — don't create file until there's an actual override
"disable the ApexDoc rule"rules: pmd: ApexDoc: disabled: true
"only scan Apex, no JavaScript"engines: eslint: disable_engine: true + engines: retire-js: disable_engine: true
"ignore all test files"ignores: files: ["**/test/**", "**/__tests__/**", "**/*.test.js"]
"make security rules critical"Look up rules, then rules: <engine>: <rule>: severity: 1 for each
"increase SFGE memory to 8g"engines: sfge: java_max_heap_size: "8g"
"use my project's ESLint config"engines: eslint: auto_discover_eslint_config: true
"suppress CRUD violations in legacy folder"suppressions: "force-app/legacy/": [{rule_selector: "pmd:ApexCRUDViolation", reason: "..."}]

The AI must understand the YAML schema and write valid config for ANY request, not just the examples above.


Step 2: Check Prerequisites and Install

Run bash "<skill_dir>/scripts/check-prerequisites.sh" or check manually:

bash
sf --version 2>&1                                    # sf CLI
sf plugins --core 2>&1 | grep -i "code-analyzer"    # Plugin
java -version 2>&1                                   # Java 11+ (PMD, CPD, SFGE)
node --version 2>&1                                  # Node 18+ (ESLint, RetireJS)
python3 --version 2>&1                               # Python 3 (Flow engine)

If anything is missing, install it (always ask user first):

bash
npm install -g @salesforce/cli                       # sf CLI
sf plugins install @salesforce/plugin-code-analyzer  # Code Analyzer plugin

For Java/Node/Python installs, read <skill_dir>/references/engine-prerequisites.md. If install fails, read <skill_dir>/references/troubleshooting.md.


Step 2A: Diagnose and Fix a Broken Setup

TRIGGER: User says "not working", "broken", "getting errors", "scan fails", "help me fix", etc.

Read <skill_dir>/references/diagnostic-flow.md for the complete layered diagnostic procedure, fix table, and anti-patterns.

Key principles (always apply):

  • Never search for binaries (which, find, ls /opt/homebrew/bin/)
  • Never use sfdx as a workaround — only sf
  • Fix layer by layer: CLI → Plugin → Engine deps → verify scan
  • Give user ONE command at a time, wait for confirmation before continuing
  • After fix succeeds, proceed to run the full scan automatically

Step 3: Create or Edit code-analyzer.yml

Only triggered when user requests a customization. Never create proactively.

Creating (file doesn't exist)

Choose one of the two approaches below — do not run both:

Option A — Auto-generate from project type (recommended for first-time setup):

Run bash "<skill_dir>/scripts/generate-config.sh". This detects Apex, LWC, and Flow markers and produces a minimal code-analyzer.yml suited to the project. Skip to the "After any create/edit, validate" section.

Note: The script exits with an error if code-analyzer.yml already exists. Delete the existing file first if you need to regenerate.

Option B — Write manually (when the user has specific customizations in mind):

Read the appropriate example config as a reference for structure:

  • For Apex-only projects, read <skill_dir>/examples/apex-project-config.yml
  • For LWC-only projects, read <skill_dir>/examples/lwc-project-config.yml
  • For full-stack (Apex + LWC + Flows), read <skill_dir>/examples/fullstack-project-config.yml

Write the file at project root using the Write tool. Include ONLY the user's requested changes:

bash
# Example: user said "ignore test files and increase SFGE memory"
# → Write to project root (where sfdx-project.json lives):
yaml
ignores:
  files:
    - "**/test/**"
    - "**/__tests__/**"

engines:
  sfge:
    java_max_heap_size: "4g"

Do NOT add config_root, log_folder, or any other field the user didn't ask for.

Show full SKILL.md (816 more words)Show less
Editing (file already exists)

Read the file, then use the Edit tool to add/modify only the relevant section. Preserve everything else.

After any create/edit, validate:

Run bash "<skill_dir>/scripts/validate-config.sh" to validate YAML syntax and schema correctness, or use the CLI directly:

bash
sf code-analyzer config

(No --config-file needed — the CLI auto-discovers code-analyzer.yml in CWD.)

If user says "configure code analyzer" with no specifics

Ask: "What would you like to customize? For example: ignore certain files, change rule severities, tune engine settings, or disable engines you don't need."


Step 4: Enable/Disable Engines

Edit the engines section in code-analyzer.yml:

yaml
engines:
  pmd:
    disable_engine: true       # Disable PMD
  eslint:
    disable_engine: false      # Enable ESLint (default)

Valid engine names: pmd, cpd, eslint, regex, retire-js, flow, sfge, apexguru

Always validate after editing:

bash
sf code-analyzer config --config-file code-analyzer.yml

Step 5: Ignore Patterns

Edit the ignores section in code-analyzer.yml:

yaml
ignores:
  files:
    - "**/node_modules/**"
    - "**/.sfdx/**"
    - "**/.sf/**"
    - "**/vendor/**"
    - "**/*.min.js"

Common patterns:

PatternExcludes
**/node_modules/**npm dependencies
**/.sfdx/**, **/.sf/**SF CLI internals
**/test/**, **/__tests__/**Test directories
**/*.test.js, **/*.spec.jsTest files
**/jest-mocks/**Jest mocks
**/vendor/**, **/*.min.jsThird-party/minified
**/staticresources/**Static resources

Step 6: Rule Overrides

Edit the rules section in code-analyzer.yml. Each rule can have severity, tags, and disabled overrides:

yaml
rules:
  pmd:
    ApexCRUDViolation:
      severity: 1              # Promote to Critical
    AvoidGlobalModifier:
      disabled: true           # Turn off entirely
    ApexDoc:
      severity: 5              # Demote to Info
      tags: ["Documentation"]
  eslint:
    no-console:
      severity: 4              # Demote to Low
    no-unused-vars:
      severity: 2              # Promote to High

Severity values: 1/Critical, 2/High, 3/Moderate, 4/Low, 5/Info

6.1 Rule Name Resolution (Fuzzy Matching)

CRITICAL: A misspelled or partial rule name in code-analyzer.yml is SILENTLY IGNORED — no error, the override just won't apply.

When users reference rules by approximate names (e.g., "the doc rule", "CRUD violation", "hardcoded values"), resolve to exact names BEFORE writing YAML:

bash
sf code-analyzer rules --rule-selector all 2>&1 | grep -i "<USER_KEYWORD>"
  • 1 match → use that exact name + its engine for the YAML path
  • Multiple matches → ask user which one they meant
  • 0 matches → try broader keywords or inform user

Skip the lookup only when the name is unambiguous and exact (e.g., "ApexDoc", "no-console", "no-unused-vars").

For detailed matching strategies, common fuzzy→exact mappings, and engine identification: Read <skill_dir>/references/rule-name-resolution.md.


Step 7: Engine-Specific Settings

Edit the engines section. Most common overrides:

yaml
engines:
  sfge:
    java_max_heap_size: "4g"      # <200 classes→"2g", 200-500→"4g", 500+→"6g"/"8g"
    java_thread_count: 4
    java_thread_timeout: 900000
  eslint:
    auto_discover_eslint_config: true    # Use project's own ESLint config
    eslint_config_file: "./eslint.config.mjs"
  pmd:
    custom_rulesets: ["./config/custom-pmd-rules.xml"]
    java_classpath_entries: ["./lib/custom-rules.jar"]
  cpd:
    minimum_tokens: { apex: 100, javascript: 100 }
  apexguru:
    target_org: "my-org-alias"
  flow:
    python_command: "python3"
  # regex.custom_rules — use the dx-code-analyzer-custom-rule-create skill to create these.
  # Never hand-write regex patterns into code-analyzer.yml: quotes/backslashes
  # inside YAML cause parsing failures. The create-regex-rule.js script handles
  # serialization correctly and must always be used for regex rule creation.

For full property list per engine, read <skill_dir>/references/config-schema.md.


Step 8: CI/CD Pipeline Setup

Detect CI system from workspace (.github/workflows/ → GitHub Actions, Jenkinsfile → Jenkins, etc.). Read <skill_dir>/references/ci-cd-templates.md for templates. Use <skill_dir>/examples/ci-github-actions.yml as GitHub Actions base. Key flags: --severity-threshold 2 (gate), --output-file results.sarif (GitHub scanning), --config-file code-analyzer.yml.


Step 9: View Current Configuration

bash
sf code-analyzer config                               # Show effective config
sf code-analyzer config --rule-selector pmd:Security  # Specific rules
sf code-analyzer config --include-unmodified-rules    # All defaults

Cross-Skill Integration

This skill works together with dx-code-analyzer-run. The AI agent should seamlessly hand off between them:

When dx-code-analyzer-run delegates HERE:

If a user says "scan my code" / "run code analyzer" but it fails (CLI missing, plugin not installed, or scan errors out), dx-code-analyzer-run delegates to this skill. In that case:

  1. Run the diagnose and fix flow (Step 2A) — find what's broken, fix it
  2. After everything works, automatically proceed to run the scan — do not stop and ask. The user's original intent was to scan.
  3. Hand execution back to dx-code-analyzer-run behavior (build command, execute, parse results).
When THIS skill hands off to dx-code-analyzer-run:

After any successful configuration action, offer to run a scan (e.g., "Setup complete! Want me to run a scan?", "Config updated — want to scan and verify?"). If user says yes, proceed with dx-code-analyzer-run behavior.

When THIS skill hands off to dx-code-analyzer-custom-rule-create:

If the user asks to create a custom rule while you are working on configuration (e.g., "also add a rule that bans System.debug", "set up a PMD XPath rule"), delegate to dx-code-analyzer-custom-rule-create. When that skill finishes, the custom_rulesets or eslint_config_file pointer in code-analyzer.yml may need to be set — that edit belongs here, in this skill.

When user intent spans BOTH skills:

Handle end-to-end: "not working" → Diagnose → Fix → Scan. "Set up and scan" → Install → Scan. "Disable ESLint and scan Apex" → Edit config → Run with --rule-selector pmd. "Configure custom rules and scan" → dx-code-analyzer-custom-rule-create → wire config → dx-code-analyzer-run. Always follow through to the user's final intent.


Rules / Constraints

ConstraintRationale
Only create YAML when user requests a customizationDefaults work without any file — don't create boilerplate
Place YAML at project root onlyCLI auto-discovers code-analyzer.yml from CWD
Write only overrides, never duplicate defaultsKeep file minimal and intentional
Use Write tool to create, Edit tool to modifyPreserves existing settings
Validate after every changesf code-analyzer config catches YAML errors
Ask before installing prerequisitesNever auto-install without consent
Never delete existing config without askingUser may have custom settings
After setup, offer to scanClose the loop — config without scan is incomplete

Gotchas

IssueSolution
Config not picked upMust be code-analyzer.yml in CWD or use --config-file
YAML validation failsSpaces only (no tabs), check colon spacing
SFGE out of memoryIncrease java_max_heap_size in engines section
ESLint rules missingSet auto_discover_eslint_config: true

For full troubleshooting, read <skill_dir>/references/troubleshooting.md.


Reference File Index

<skill_dir> is the absolute path to the directory containing this SKILL.md file.

FilePurpose
<skill_dir>/scripts/check-prerequisites.shEnvironment check
<skill_dir>/scripts/generate-config.shAuto-detect project type and generate config
<skill_dir>/scripts/validate-config.shValidate YAML after changes
<skill_dir>/references/config-schema.mdFull YAML schema documentation
<skill_dir>/references/diagnostic-flow.mdStep 2A: layered diagnostic procedure and fix table
<skill_dir>/references/rule-name-resolution.mdStep 6.1: fuzzy rule name lookup strategies and mappings
<skill_dir>/references/engine-prerequisites.mdInstall instructions per engine
<skill_dir>/references/ci-cd-templates.mdCI/CD pipeline templates
<skill_dir>/references/troubleshooting.mdCommon setup issues and fixes
<skill_dir>/examples/apex-project-config.ymlConfig for Apex-only project
<skill_dir>/examples/lwc-project-config.ymlConfig for LWC-only project
<skill_dir>/examples/fullstack-project-config.ymlConfig for Apex + LWC + Flows
<skill_dir>/examples/ci-github-actions.ymlGitHub Actions workflow

© forcedotcom, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 13 other files (scripts, references) in skills/dx-code-analyzer-configure of forcedotcom/sf-skills.

  • SKILL.md
  • examples/apex-project-config.yml
  • examples/ci-github-actions.yml
  • examples/fullstack-project-config.yml
  • examples/lwc-project-config.yml
  • references/ci-cd-templates.md
  • references/config-schema.md
  • references/diagnostic-flow.md
  • references/engine-prerequisites.md
  • references/rule-name-resolution.md
  • references/troubleshooting.md
  • scripts/check-prerequisites.sh
  • scripts/generate-config.sh
  • scripts/validate-config.sh

Open the folder on GitHubat commit e5164d9

Compare with similar skills

Dx Code Analyzer Configure next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Dx Code Analyzer Configure compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Dx Code Analyzer Configure this skillforcedotcom/sf-skills1.1k—~5.6kAutomated safety check: PassApache-2.0
Frappe Testing CicdImpertio-Studio/Frappe_Claude_Skill_Package187—~3.2kAutomated safety check: NotesMIT
Configuration GeneratorArabelaTso/Skills-4-SE253—~2.8kAutomated safety check: NotesApache-2.0
Nw Cicd And DeploymentnWave-ai/nWave617—~2.8kAutomated safety check: PassMIT
Crabbox Remote Test Runneropenclaw/agent-skills1.1k—~3.6kAutomated safety check: PassMIT
Sf DeployJaganpro/sf-skills424—~2kAutomated safety check: PassMIT

Similar skills

  • Frappe Testing Cicd

    Impertio-Studio/Frappe_Claude_Skill_Package

    A skill your agent uses when setting up CI/CD pipelines for Frappe apps, configuring GitHub Actions test workflows, or adding linting and security scanning.

    187 GitHub stars~3.2k tokensUpdated 21 days ago
    DevOps & CloudAuto-check: notes
  • Configuration Generator

    ArabelaTso/Skills-4-SE

    Generate configuration files for applications, services, and infrastructure.

    253 GitHub stars~2.8k tokensUpdated 1 mo ago
    DevOps & CloudAuto-check: notes
  • CI/CD pipeline design methodology, deployment strategies, GitHub Actions patterns, and branch/release strategies.

    617 GitHub stars~2.8k tokensUpdated 22 days ago
    DevOps & CloudAuto-check passed
  • Crabbox Remote Test Runner

    openclaw/agent-skills

    Detects the Crabbox CLI or config in a repository and uses it to run tests and validation on remote runners, with checks before touching secrets or paid infrastructure.

    1.1k GitHub stars~3.6k tokensUpdated yesterday
    DevOps & CloudAuto-check passed
  • Sf Deploy

    Jaganpro/sf-skills

    Salesforce DevOps automation using sf CLI v2. An agent skill from Jaganpro/sf-skills.

    424 GitHub stars~2k tokensUpdated 5 mo ago
    DevOps & CloudAuto-check passed
  • Sf Vlocity Build Deploy

    Jaganpro/sf-skills

    Salesforce Industries DataPack deployment automation using Vlocity Build.

    424 GitHub stars~1.7k tokensUpdated 5 mo ago
    DevOps & CloudAuto-check passed

More from forcedotcom/sf-skills

All 251 skills in this repo
  • Agentforce Architecture Analyze

    forcedotcom/sf-skills

    Declared architecture snapshot for one Agentforce agent: planner, topics, actions, flows, Apex, prompt templates, and NGA plugins.

    1.1k GitHub stars~4.5k tokensUpdated yesterday
    Auto-check passed
  • Agentforce D360 Analyze

    forcedotcom/sf-skills

    Data Cloud 360° view of a single Agentforce session. An agent skill from forcedotcom/sf-skills.

    1.1k GitHub stars~3.4k tokensUpdated yesterday
    Auto-check passed
  • Apply a Salesforce sandbox post-copy automation JSON config against a target org.

    1.1k GitHub stars~5.3k tokensUpdated yesterday
    Auto-check: notes
  • Apply a Salesforce sandbox post-copy automation JSON config against a target org.

    1.1k GitHub stars~5.4k tokensUpdated yesterday
    Auto-check: notes
  • Design Systems Slds Apply

    forcedotcom/sf-skills

    Apply SLDS-compliant UI using the correct blueprints, styling hooks, utility classes, and icons.

    1.1k GitHub stars~3.7k tokensUpdated yesterday
    Auto-check passed
  • Experience Lwc Generate

    forcedotcom/sf-skills

    Lightning Web Components with PICKLES methodology and 165-point scoring.

    1.1k GitHub stars~2.4k tokensUpdated yesterday
    Auto-check passed

Categories

Questions about Dx Code Analyzer Configure

What does Dx Code Analyzer Configure do?

Set up, configure, and troubleshoot Salesforce Code Analyzer for any project. Dx Code Analyzer Configure is an agent skill from forcedotcom/sf-skills. Set up, configure, and troubleshoot Salesforce Code Analyzer for any project.

When should I use Dx Code Analyzer Configure?

Dx Code Analyzer Configure fits situations like: : user says set up code analyzer; configure code analyzer; install code analyzer; code analyzer not working.

How do I install Dx Code Analyzer Configure in Claude Code?

Run `npx skills add forcedotcom/sf-skills --skill dx-code-analyzer-configure -a claude-code`. Or copy the skill folder (skills/dx-code-analyzer-configure in forcedotcom/sf-skills) into .claude/skills/dx-code-analyzer-configure in your project. Claude Code loads it when a task matches its description.

How do I install Dx Code Analyzer Configure in Codex?

Run `npx skills add forcedotcom/sf-skills --skill dx-code-analyzer-configure -a codex`. Or copy the skill folder (skills/dx-code-analyzer-configure in forcedotcom/sf-skills) into .agents/skills/dx-code-analyzer-configure in your project. Codex loads it when a task matches its description.

Can I use Dx Code Analyzer Configure in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add forcedotcom/sf-skills --skill dx-code-analyzer-configure -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/dx-code-analyzer-configure, .gemini/skills/dx-code-analyzer-configure, .github/skills/dx-code-analyzer-configure and .opencode/skills/dx-code-analyzer-configure in your project.

What does Dx Code Analyzer Configure need to run?

Going by SKILL.md and its folder, Dx Code Analyzer Configure needs a shell for the scripts in its folder and the command-line tools its instructions call (sf, bash, java, node, python3 and npm). Our summary lists: Python 3; Node.js; A Bash shell.

Does Dx Code Analyzer Configure access the network?

SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Dx Code Analyzer Configure safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Dx Code Analyzer Configure use?

Dx Code Analyzer Configure is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Dx Code Analyzer Configure use?

About 5.6k tokens (SKILL.md is roughly 22k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 12k tokens, read only when the agent opens those files.

What are the alternatives to Dx Code Analyzer Configure?

Skills that share tags, products or a category with Dx Code Analyzer Configure: Frappe Testing Cicd (Impertio-Studio/Frappe_Claude_Skill_Package, 187 stars), Configuration Generator (ArabelaTso/Skills-4-SE, 253 stars), Nw Cicd And Deployment (nWave-ai/nWave, 617 stars) and Crabbox Remote Test Runner (openclaw/agent-skills, 1.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Dx Code Analyzer Configure?

forcedotcom (a GitHub organization) maintains it in forcedotcom/sf-skills, which has 1,060 GitHub stars. The repository holds 251 skills in this directory. The repository was last updated on October 7, 2026.

Source: forcedotcom/sf-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.