PluginBench
Skill
Pass
Audit score 90

dx-devops-test-failures-analyze

forcedotcom/sf-skills

Analyze DevOps Center test failures and Code Analyzer violations to understand root causes and track fixes.

What is dx-devops-test-failures-analyze?

Parses test failure and Code Analyzer violation payloads to explain failures in plain language, categorize issues, and suggest prioritized improvements. Use this skill when a run fails and you need root cause analysis, a quality gate needs explaining, violations need translating, or you want to create a tracked fix work item.

  • Classifies failures by category (assertion, exception, Code Analyzer violation, timeout, compile error)
  • Extracts and translates offending file, class, method, and line number in plain language
  • Identifies the rule or assertion violated and provides fix direction without writing code
  • Produces prioritized improvement suggestions distinguishing test-code vs production-code fixes
  • Optionally creates a confirmation-gated tracked fix WorkItem on explicit request

How to install dx-devops-test-failures-analyze

npx skills add https://github.com/forcedotcom/sf-skills --skill dx-devops-test-failures-analyze
Prerequisites
  • Salesforce CLI version 2.67.0 or later
  • A DevOps Center project and execution result (from dx-devops-test-suite-run) to analyze
  • For work-item creation: a DevopsProjectId and OwnerId (assignee)
Claude Code
Cursor
Windsurf
Cline

How to use dx-devops-test-failures-analyze

  1. 1.Provide or fetch the test failure or Code Analyzer violation payload
  2. 2.The skill will classify each failure by category and extract file, class, method, and line number
  3. 3.Review the plain-language explanation of what happened and the fix direction
  4. 4.Read the improvement suggestions to understand whether the fix belongs in test or production code
  5. 5.If you want to track the fix, explicitly request work-item creation and confirm the subject, assignee, and project

Use cases

Good for
  • Understand why a DevOps Center test run failed and what to fix first
  • Translate a Code Analyzer violation into actionable plain-language guidance
  • Identify whether a test failure reveals a test-quality issue or a production-code defect
  • Create a tracked work item to log and assign a failure remediation to a developer
  • Strengthen test coverage by analyzing failure patterns across multiple failed tests
Who it's for
  • Salesforce developers debugging test failures
  • QA engineers analyzing quality gate violations
  • DevOps leads tracking and prioritizing test remediation work
  • Apex developers translating Code Analyzer violations into fixes

dx-devops-test-failures-analyze FAQ

What's the difference between 'Fix location: Test' and 'Fix location: Production code'?

'Fix location: Test' means the test itself needs hardening (setup, assertions, or edge cases). 'Fix location: Production code' means the test is sound but exposed a real defect in the application code — track that separately.

Can this skill write the fix code for me?

No. This skill analyzes and explains failures and suggests improvements. Use platform-apex-generate or platform-apex-test-generate to write fix code or new test classes.

What if the failure payload is empty or has no failures?

The skill will report that clearly (e.g., 'No failures found in the provided execution results') and stop. It does not fabricate failures.

Do I need to run a test first, or can I analyze static code?

You must run the test first via dx-devops-test-suite-run to get the execution result payload. This skill analyzes execution failures, not static source.

What happens if I request a work item but no DevOps Center project exists?

The skill will report that the work item cannot be created until a project is set up — it will not fabricate a project or proceed without one.

Full instructions (SKILL.md)

Source of truth, from forcedotcom/sf-skills.


name: dx-devops-test-failures-analyze description: "Analyzes DevOps Center test failures and Code Analyzer violations in plain language — failure category, offending file/class/method/line, rule violated, fix direction, and prioritized improvement suggestions (test-code vs production-code) — then optionally creates a tracked fix WorkItem on explicit request. Analysis is pure reasoning; work-item creation is a confirmation-gated write. Use this skill to explain failures or improvement suggestions, translate Code Analyzer violations, or track a fix as a work item. TRIGGER when: a run failed and the user wants root cause; a quality gate failure needs explaining; violations need translating; the user shares a failure payload and asks how to address it; wants to strengthen tests; or wants to create a fix work item, log a remediation, or assign a failure. DO NOT TRIGGER when: the user wants fix code written (use platform-apex-generate) or new test classes authored (use platform-apex-test-generate)." metadata: version: "1.0" domains: ["Developer Experience"] minApiVersion: "67.0" relatedSkills: - "dx-devops-test-suite-assignments-configure" - "dx-devops-test-suite-run" - "platform-apex-generate" - "platform-apex-test-generate" cliTools: - tool: ["sf"] semver: ">=2.67.0"

Analyze DevOps Center Test Failures

Parses a test failure or Code Analyzer violation payload, explains it in plain language, produces prioritized improvement suggestions, and — only on explicit user request — creates a tracked fix work item. Parts 1–2 are pure reasoning (no writes); Part 3 is an optional, confirmation-gated write.

Never expose raw JSON, stack traces, or internal Salesforce error codes to the user. Always translate to file name, method, line, and plain description.


Prerequisites

  • Parts 1–2 (analysis): If the failure payload is already in context, no prerequisites are needed — this is pure reasoning. If you must fetch the payload yourself, run prerequisites (references/prerequisite-checks.md, Prereqs 1–4) and obtain the execution result via dx-devops-test-suite-run (its polling step).
  • Part 3 (work item): Run Prerequisites 1–4. You also need a DevopsProjectId to file under and an OwnerId (assignee). See references/work-item-creation.md.

Part 1 — Classify and explain each failure

Determine the failure category, then for each failure extract and translate to plain language: offending file/class, method, line number, the rule or assertion violated, and a fix direction (without writing code). Group failures by category if more than one.

CategoryDescription
Assertion failureA test assertion failed (expected vs actual mismatch)
ExceptionAn unhandled exception was thrown
Code Analyzer violationA static-analysis rule was violated (e.g. ApexCRUDViolation)
TimeoutTest exceeded execution time limit
Compile errorClass failed to compile

Output format:

Test failure summary:

<N> failure(s) found:

1. [<Category>] `<ClassName>.cls` — `<methodName>()` at line <N>
   What happened: <plain-language description>
   Rule violated: <ruleName or assertion description>
   Fix direction: <plain-language suggestion>

Full category/pattern tables and Code Analyzer rule translations: references/failure-categories.md and references/code-analyzer-violations.md.

Empty / no-data case: If the payload contains no failures or violations, report that clearly (e.g. "No failures found in the provided execution results.") and stop. Do NOT fabricate failures or suggestions.


Part 2 — Improvement suggestions

Run this after execution completes with failures, not on static source. For each failed test, reason over the failure message (the primary signal) to identify what the test is not handling, then produce a specific, actionable suggestion and a fix location (Test vs Production code). The full failure-pattern → suggestion mapping is in references/failure-categories.md.

Test improvement suggestions based on execution results:

`<testMethodName>()` — [Assertion Failure / Exception / etc.]
Failure: "<failure message>"
What this reveals: <plain-language explanation>
Suggestion: <specific, actionable recommendation>
Fix location: Test | Production code

Overall: <N> improvement(s) across <M> failed test(s).

Do not rewrite the test — only describe what needs to change and why. Fix location: Production code indicates a code defect exposed by a sound test (track separately, not a test-quality blocker). Fix location: Test indicates the test needs hardening (setup, assertions, edge cases).


Part 3 — Create a fix work item (optional, on request only)

Trigger only when the user wants to create a fix work item, log a remediation, or assign a failure to a developer. This is a write operation with a mandatory confirmation gate. Follow references/work-item-creation.md for inputs, the subject/assignee/project confirmation gate, the sf data create record --sobject WorkItem call, and error handling.

Use WorkItem (no namespace) — DevopsWorkItem is not a supported sObject in this org version.

If no DevopsProject exists in the org, report that the work item cannot be created until a project is set up — do NOT fabricate a project or proceed.


Related skills

  • dx-devops-test-suite-run — produces the failure payload (via its polling step) that feeds this skill.
  • dx-devops-test-suite-assignments-configure — assign/strengthen the suites whose tests are failing.
  • platform-apex-generate / platform-apex-test-generate — to actually write fix code or new test classes (out of scope here).