Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/shopwarelabs/ai-coding-tools/ci-log-interpretationnpx skills add shopwareLabs/ai-coding-tools --skill ci-log-interpretationgit clone --depth 1 https://github.com/shopwareLabs/ai-coding-toolsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/shopwarelabs/ai-coding-tools/ci-log-interpretation)<a href="https://agentmods.dev/skills/shopwarelabs/ai-coding-tools/ci-log-interpretation"><img src="https://agentmods.dev/badge/skills/shopwarelabs/ai-coding-tools/ci-log-interpretation.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00154 | $0.00908 |
| Opus 5 | $0.00077 | $0.00454 |
| Sonnet 5 | $0.00031 | $0.00182 |
| Haiku 4.5 | $0.00015 | $0.00091 |
Grade A, and why
ci-log-interpretation scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 70 lines — stays where its author put it; the contents beside it link to each section on GitHub.
CI Log Interpretation
Job Name → Tool Mapping
| 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 |
Output Signatures
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 |
Universal Noise (Never the Root Cause)
These patterns appear in ALL GitHub Actions logs and are never the actual error:
- Timestamp prefix: Every line starts with
YYYY-MM-DDTHH:MM:SS.NNNNNNNZ— ignore it - Step boundaries:
##[group]Step Name/##[endgroup]— structural, not errors - Step exit marker:
##[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. - Setup noise: checkout, Docker pulls,
actions/cache, composer install, npm install, tool downloads - Post-job noise: cache saving, git config cleanup, orphan process termination
- Infrastructure noise:
npm 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.
What ships with it
5 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago First seen · 70 lines · 154 tokens per session scan A 9d27ad0bf41e
ci-log-interpretation is a skill published in the GitHub repository shopwareLabs/ai-coding-tools (43 stars, last pushed today), licensed MIT. It adds 154 tokens to every session and 908 once invoked, about $0.0008 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
batch-simplify
Batch-run simplification across changed files, or across an entire repository, grouped by ecosystem and dependency order. Use when: 'batch simplify', 'simplify recent changes', 'simplify everything', 'forgot to run simplify', 'catch up on simplify', 'simplify my branch changes', 'simplify the whole repo', 'simplify…
audit-permission-state
Report the Claude Code permission state actually in effect. Discovers every settings scope (managed policy, user-global, project, local, and the pre-v2.1.211 start-directory copy), merges them into the effective allow/ask/deny set with each rule's source and precedence mechanic named, and classifies which allow rules…
audit-install-state
Read-only audit of a Claude Code INSTALLATION directory, the machine-scope /.claude tree plus /.claude.json. Inventorying every file, separating what the product's own retention sweep already manages from what nothing manages, resolving what each number in a filename actually means before any process-liveness check…
audit-native-overlap
Map native Claude Code surfaces (built-in CLI commands, bundled skills, plugin-backed built-ins, session-provided skills) against the current repo's plugin skills and agents, so a custom component never silently duplicates what Claude Code itself now ships. Bare invocation is a READ-ONLY report: overlap candidates…
audit-performance
Read-only slowness-diagnostic capture for a Claude Code installation. Run it AT THE MOMENT the machine or a session feels slow, before restarting or deleting anything. One timed engine pass captures the four suspects: CLI version (regression), retention-sweep health including the silent unparsable-settings pause…
audit-prompting-postures
Audit locally-owned instruction components (skill bodies, agent definitions, hook instruction text, output styles, CLAUDE.md and rules) for MISSING posture guidance the official prompting guide says their purpose needs: delegation criteria and caps, minimal-scope and anti-test-gaming guardrails…