Borrowing it
Nothing to install: this file belongs to berntpopp/genefoundry-router. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/berntpopp/genefoundry-router/main/.claude/skills/ci-failure-triage/SKILL.mdgit clone --depth 1 https://github.com/berntpopp/genefoundry-routerWrote 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/berntpopp/genefoundry-router/ci-failure-triage)<a href="https://agentmods.dev/skills/berntpopp/genefoundry-router/ci-failure-triage"><img src="https://agentmods.dev/badge/skills/berntpopp/genefoundry-router/ci-failure-triage/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/berntpopp/genefoundry-router/ci-failure-triage"><img src="https://agentmods.dev/badge/skills/berntpopp/genefoundry-router/ci-failure-triage.svg" alt="Reviewed on agentmods" width="80" 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.1 | $0.00041 | $0.00358 |
| Opus 5 | $0.00020 | $0.00179 |
| Sonnet 5 | $0.00008 | $0.00072 |
| Haiku 4.5 | $0.00004 | $0.00036 |
Grade A, and why
ci-failure-triage 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 11d 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.
Copies of this mod
5 near-identical copies found in the catalogue:
- ci-failure-triage — 100% identical, 0 lines differ
- ci-failure-triage — 100% identical, 0 lines differ
- ci-failure-triage — 100% identical, 0 lines differ
- ci-failure-triage — 100% identical, 0 lines differ
- ci-failure-triage — 100% identical, 0 lines differ
What it actually says
CI Failure Triage
Follow AGENTS.md first.
Workflow
- Run
make ci-localand read the log to see which sub-target failed. It typically chainsformat-check lint-ci lint-loc typecheck test-fast test-integration, but repos vary (e.g.clinvar-linkhas nolint-loc) — trust the actual recipe/CI log, not this list. - Format (
format-check) — runmake format, re-check. - Lint (
lint-ci) — runmake lint-fix; fix remaining findings by hand rather than blanket-ignoring. - Line budget (
lint-loc, the per-file line budget inscripts/check_file_size.py, where present) — split the growing module along its seams; edit.loc-allowlistonly with a tracked decomposition reason. - Typecheck (
typecheck) — runmake typecheck; fix the type, don't add broadignore_errors/# type: ignore. - Tests (
test-fast/test-integration) — fix code or test per the assertion; parser/data changes need fixture-backed coverage undertests/. - Re-run
make ci-localuntil green before handoff.
Common mistakes
- Silencing lint/typecheck instead of fixing the cause.
- Bumping
.loc-allowlistto dodge a needed split. - Committing with a red
ci-local.
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.
- 11d ago First seen · 25 lines · 41 tokens per session scan A 11387ecb2276
ci-failure-triage is a skill published in the GitHub repository berntpopp/genefoundry-router (5 stars, last pushed 4d ago), licensed MIT. It adds 41 tokens to every session and 358 once invoked, about $0.0002 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-31.
Other skills, from other repositories
plano-observability-debugging
Improve Plano tracing and debugging workflows. Use for sampling strategy, span attributes, and trace query-based root-cause analysis.
alterlab-link-health
Audits and repairs Markdown link health across a skills repo via a four-tier pipeline (config hardening, intra-repo file-ref fixes, external URL substitutions, residual exclusions) and enforces a Tier 3 substitution guardrail that prevents regressions of previously-passing links; designed for lychee-based GitHub…
aevatar-triage
Use after an Aevatar workflow, codexexec call, schedule, channel, connector, skill, Agent Profile, or control-plane request fails or behaves unexpectedly. It applies when the agent must attribute the first broken boundary across Aevatar, NyxID, Ornn, chrono-sandbox/gVisor, the managed runner, or private SSH…
nonlinear-solvers
Select and configure nonlinear solvers for f(x)=0 or min F(x). Use for Newton methods, quasi-Newton (BFGS, L-BFGS), Broyden, Anderson acceleration, diagnosing convergence issues, choosing line search vs trust region, and analyzing Jacobian quality.
linear-solvers
Select and configure linear solvers for systems Ax=b in dense and sparse problems. Use when choosing direct vs iterative methods, diagnosing convergence issues, estimating conditioning, selecting preconditioners, or debugging stagnation in GMRES/CG/BiCGSTAB.
numerical-stability
Analyze and enforce numerical stability for time-dependent PDE simulations. Use when selecting time steps, choosing explicit/implicit schemes, diagnosing numerical blow-up, checking CFL/Fourier criteria, von Neumann analysis, matrix conditioning, or detecting stiffness in advection/diffusion/reaction problems.