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- 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)
How to use dx-devops-test-failures-analyze
- 1.Provide or fetch the test failure or Code Analyzer violation payload
- 2.The skill will classify each failure by category and extract file, class, method, and line number
- 3.Review the plain-language explanation of what happened and the fix direction
- 4.Read the improvement suggestions to understand whether the fix belongs in test or production code
- 5.If you want to track the fix, explicitly request work-item creation and confirm the subject, assignee, and project
Use cases
- 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
- 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
'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.
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.
The skill will report that clearly (e.g., 'No failures found in the provided execution results') and stop. It does not fabricate failures.
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.
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 viadx-devops-test-suite-run(its polling step). - Part 3 (work item): Run Prerequisites 1–4. You also need a
DevopsProjectIdto file under and anOwnerId(assignee). Seereferences/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.
| Category | Description |
|---|---|
| Assertion failure | A test assertion failed (expected vs actual mismatch) |
| Exception | An unhandled exception was thrown |
| Code Analyzer violation | A static-analysis rule was violated (e.g. ApexCRUDViolation) |
| Timeout | Test exceeded execution time limit |
| Compile error | Class 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) —DevopsWorkItemis 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).
Related skills
More from forcedotcom/sf-skills and the wider catalog.

dx-devops-test-pipeline-configure
Configure DevOps Center pipeline testing: enable providers, sync suites, or set quality gates.

dx-devops-test-suite-assignments-configure
Recommend and manage DevOps Center test suite assignments to pipeline stages.

dx-devops-test-suite-run
Run DevOps Center test suites on pipeline stages and poll to completion.

dx-devops-work-item-manage
Manage DevOps Center work items—create, update, commit changes, and create pull requests.

dx-org-devhub-configure
Enable Dev Hub on a Salesforce org and view scratch org allocation limits.

dx-org-manage
Execute Salesforce org operations immediately: create, list, delete, and open scratch orgs via sf CLI.