Help us improve
Share bugs, ideas, or general feedback.
From ci-failure-interpretation
Interprets GitHub Actions CI failure logs from PHPUnit, PHPStan, ECS, ESLint, TypeScript, Stylelint, Prettier, Jest, Playwright, ludtwig, and Lighthouse. Filters noise and identifies root causes.
npx claudepluginhub shopwarelabs/ai-coding-tools --plugin ci-failure-interpretationHow this skill is triggered — by the user, by Claude, or both
Slash command
/ci-failure-interpretation:ci-log-interpretationThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
| Job name pattern | Tool |
Analyzes CI/CD pipeline logs to diagnose failures in dependencies (Composer, npm), tests (PHPUnit), static analysis (PHPStan, Psalm), and infrastructure (Docker). Detects patterns and suggests fixes.
Diagnoses and fixes GitHub Actions CI failures in pull requests by fetching job logs, identifying root causes like build or test errors, and proposing targeted code changes.
Monitors running CI builds on GitHub Actions and CircleCI via polling, reports completion status, and diagnoses failures by fetching logs, job summaries, and artifacts.
Share bugs, ideas, or general feedback.
| Job name pattern | Tool |
|---|---|
PHPUnit | PHPUnit |
PHP analysis / PHPStan | PHPStan |
PHP lint / ECS / php-cs-fixer | ECS |
lint (in admin/storefront workflow) | ESLint, tsc, Stylelint, or Prettier |
Jest / unit (JS context) | Jest |
acceptance / Playwright | Playwright |
Lighthouse | Lighthouse |
Twig Lint / ludtwig | ludtwig |
When the job name is ambiguous, identify the tool from its output:
| Signature in log | Tool |
|---|---|
There was 1 failure: or There were N errors: | PHPUnit |
[ERROR] Found N errors | PHPStan |
Found N of M files that can be fixed | ECS |
✖ N problems (N errors, N warnings) | ESLint |
error TS followed by 4-digit code | TypeScript (tsc) |
✖ N problems in SCSS context | Stylelint |
Code style issues found | Prettier |
● suite-name › test-name | Jest |
expect(locator).toXxx() failed | Playwright |
Assertion failed. Exiting with status code 1. | Lighthouse |
error[RuleName]: | ludtwig |
These patterns appear in ALL GitHub Actions logs and are never the actual error:
YYYY-MM-DDTHH:MM:SS.NNNNNNNZ — ignore it##[group]Step Name / ##[endgroup] — structural, not errors##[error]Process completed with exit code N. — ALWAYS the last line of a failed step. This is the step exit marker, NOT the actual error. Never report this as the root cause.actions/cache, composer install, npm install, tool downloadsnpm error command failed, socket hang up, ECONNREFUSED — CI environment issues, not code errors (exception: for Playwright these CAN be the actual cause)For detailed GitHub Actions log format knowledge, see references/log-envelope.md.
Detailed failure anatomy, output format, false positives, and real examples for each tool:
| Tool(s) | Reference |
|---|---|
| PHPUnit, PHPStan, ECS | references/php-tools.md |
| ESLint, tsc, Stylelint, Prettier, Jest | references/js-tools.md |
| Playwright, Lighthouse, ludtwig | references/e2e-tools.md |