MCPInstall

codometer-triage

Act on a codometer limit breach, a comment budget breach, a stale committed report, or a run that failed outright. Use when a codometer --check exits non-zero, when a size or count limit was breached, when a comment block ran past its word, line, or character budget, when a committed report reads stale against a fresh measurement even though nothing changed, when a limit fails to bind or an input matches no files, or before reaching for a repository's limit value to make a failing check pass.

Installs
268
Last 24h
+11
Trending rank
#8460
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/organizzolini/codebase --skill codometer-triage
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads codometer-triage automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Acting on a codometer failure

A --check run reports three different kinds of finding, and they call for three different responses. Reading which one occurred, rather than reacting to "the check failed," is most of this skill.

A breach

A metric went past a limit declared for it. The report names the metric, the limit's value, and its severity:

  • warn prints the breach and leaves the exit code alone. Nothing about the run fails; it is advance notice that a number is moving in a direction worth watching.
  • fail exits 1, and only when the run asked --check limits for a gate at all — a codometer measure --config <path> measuring the same breach reports nothing wrong, because nothing asked it to gate.

The instinctive fix — raising the limit's value — is not an option. The limit exists to keep a promise about the codebase's shape; loosening it on the same change that broke the promise erases the evidence the check existed to produce, and the next breach starts from a codebase that is already worse. Reduce what is actually being measured instead:

  • A size breach: shrink the input's own output — trim a dependency, split a bundle, delete dead code — rather than the number that reports it. The codometer-configure skill covers declaring an input and pointing it at compiled output correctly, which is a common reason a size looks larger than the code that produced it: an input measuring more than it should.
  • A convention-count breach (too many of something, or too few): the count is usually accurate — the fix is in the code the counter is watching, not in the counter's value.
  • A comment budget breach is a custom statistic like any other, gated by an ordinary limits[] entry against its custom.<label> metric — but its instances name a file and a line for each breaching block rather than only a total, because the thing measured is one block rather than a repository-wide count. Condense that block, or move the detail into documentation that has room for it. Check which reader measured it before trusting the count — shell, TOML, SQL, and HCL use a line scanner that reads a comment marker inside a string literal as a comment, and Python's comments go unmeasured entirely when the interpreter cannot be run. The codometer-configure skill has both caveats in full.
  • A comment budget a language is not covered by is not a breach at all — it is simply not measured. If a repository added a language codometer can parse comments in but nobody added a comment selector for it, that language's blocks run with no budget until one is declared; this is never something to diagnose as a false negative in the tool.

If the limit's number was simply wrong for what this metric should hold going forward — not because of this change, but as a standing decision — that is a deliberate edit to make and explain on its own, never a side effect of getting one check to pass.

Staleness

--check reports compares a committed report against a fresh measurement and fails when they disagree, whether or not any limit is involved. Two causes produce this, and only one of them is a real regression:

  • The code actually changed and the committed report was never re-measured. Re-run with --output-json/--output-markdown to refresh it.
  • The runtime changed. Compressed sizes are Node-version dependent — the bundled zlib differs release to release — so a report written on one Node version and checked on another reads as stale with zero code changes involved. Check on the exact runtime the repository pins for everything else before concluding the source moved.

A breach and staleness are reported as separate findings even when they come from the same run; do not read one as a symptom of the other.

A run that failed outright

Distinct from both of the above: the run itself could not finish, collected into failures in the report rather than folded into any metric.

  • A limit bound to nothing. The metric path names no measurement the run actually took — misspelled, or naming an analysis its input never ran, or genuinely ambiguous between two inputs. Fix the path in the configuration; the codometer-configure skill covers how a metric path resolves and why an ambiguous one is refused rather than guessed.
  • An input matched no files while carrying a limit. Declaring a limit against an input asserts its files exist, so an empty match means the glob stopped matching or the build that should have produced those files never ran — check the build step before touching the configuration. An input nobody limited that matches nothing is unremarkable and reports no failure.
  • The configuration itself was rejected before anything measured. A missing format, two outputs entries of the same type, a custom statistic naming none of patterns/symbols/comment, or an outputs entry selecting a custom label the top-level custom array never declared each fail the run at load time with the reason named. A configuration exporting a function instead of a plain object is a quieter version of the same problem: there is no config-as-function escape hatch any more, so it is not recognized and falls back to an empty configuration — which then fails on the missing format rather than on anything naming the real cause. Fix the configuration rather than the command line. A run with no --config at all is refused before anything is measured: pass --config <path> naming the configuration file.

Every failure in one run is collected and reported together, so treat a report naming three as three things to fix, not one flaky run to retry.

Before reaching for --output-json/--output-markdown

Remember that the two --output-* flags and --check are independent, with no inferred relationship between them — the codometer-measure skill has the full flag table. Combining an --output-* flag with --check reports is refused outright: nothing can be stale in a report the same run just wrote, so that combination is a configuration mistake to fix, not a way to force a report current.

--inputs [globs...] is independent of --check too — narrowing a measure run to exactly the given globs does not change whether it gates or writes. There is no --directory on measure: a run always measures the process's own working directory. The configuration subcommand is the one place -d, --directory still exists, for listing what a directory's configuration resolves to rather than for measuring it.

FAQ

What does the codometer-triage skill do?

Act on a codometer limit breach, a comment budget breach, a stale committed report, or a run that failed outright. Use when a codometer --check exits non-zero, when a size or count limit was breached, when a comment block ran past its word, line, or character budget, when a committed report reads stale against a fresh measurement even though nothing changed, when a limit fails to bind or an input matches no files, or before reaching for a repository's limit value to make a failing check pass.

How do I install codometer-triage?

Run npx skills add https://github.com/organizzolini/codebase --skill codometer-triage in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/codometer-triage/ (personal) or .claude/skills/codometer-triage/ (project).

Which AI agents can use codometer-triage?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is codometer-triage safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains codometer-triage?

It is published by organizzolini in organizzolini/codebase. It has 268 recorded installs.

More from organizzolini/codebase

View all →

conformetry-generate

organizzolini/codebase

Scaffold code with a conformetry generator instead of writing it by hand. Use when adding a module, component, service, application, or package to a workspace that has a conformetry configuration; when deciding whether a generator exists for the shape you are about to create; when a generator run overwrote or misplaced files; or when a conformance run reports a file that a generator should have produced. Covers both the Nx plugin and the conformetry command-line host, whose input contracts differ.

Frontend & Design577 installs

conformetry-configure

organizzolini/codebase

Add or change a conformetry generator, and write the template it renders. Use when a needed generator does not exist yet; when editing a conformetry configuration file; when writing or changing files under a template directory; when choosing placeholders or naming-case variants; when a generated file came out with an empty value or an odd path segment; or when a conformetry command refuses to run because the emitted generator plugin is out of date.

conformetry-validate

organizzolini/codebase

Run a conformetry conformance check and act on what it reports. Use when a conformetry-validate target fails; when a composite lint run reports conformance differences; when a report names a missing file, a missing declaration, a missing comment, a placeholder it could not infer, an ambiguous instance, or an unmatched instance; when deciding whether to edit an instance or regenerate it; or before claiming generated code is finished. Covers both the Nx plugin and the conformetry command-line host.

codependix-navigate

organizzolini/codebase

Open the skill to read its SKILL.md instructions.

codependix-configure

organizzolini/codebase

Open the skill to read its SKILL.md instructions.

codependix-export

organizzolini/codebase

Open the skill to read its SKILL.md instructions.

Popular docs & writing skills

View category →

grill-with-docs

mattpocock/skills

A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.

Docs & Writing1.2M installs

lark-markdown

open.feishu.cn

飞书 Markdown:查看、创建、上传、编辑和比较飞书中的原生 Markdown 文件。当用户要操作飞书 Markdown 文件,或比较其远端版本及本地草稿时使用。纯本地 Markdown 文件操作不触发本 skill。不负责将 Markdown 导入为飞书在线文档,也不负责文件搜索、权限、评论、移动、删除等云空间管理操作。

Docs & Writing778.7K installs

writing-beats

mattpocock/skills

Writing, exploit; assemble raw material into a journey of beats, grounding each term before a beat leans on it.

Docs & Writing490.7K installs

writing-shape

mattpocock/skills

Writing, exploit: shape raw material into an article, paragraph by paragraph.

Docs & Writing490.2K installs

writing-fragments

mattpocock/skills

Writing, explore: mine raw fragments, no structure yet.

Docs & Writing489.6K installs

writing-for-agents

mattpocock/skills

Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.

Docs & Writing479.3K installs