Skip to content
cccskills
FreePublished on GitHub

ca-metrics

Read-only 3-metric governance glance — override rate, small-lane rate, sprint low-confidence ratio — each with a trend arrow vs. the prior 20-commit window.

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md3.8 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

$ca-metrics — governance trend glance

A bare-numbers summary of the three governance-health metrics that _metricslib.py tracks across commit windows. Each metric shows its value for the current 20-commit window and a direction arrow (↑/↓/→) relative to the immediately preceding window.

This is NOT a second $ca-audit packet. It prints numbers and arrows only — no verbatim override lines, no commit list, no file write. Use it to spot a trend at a glance; reach for $ca-audit when you need the full evidentiary packet.

Flow

  1. Invoke the helper. Call the thin entry hook metrics.py, which wraps compute from _metricslib.py. Resolve the interpreter once by presence — PY=python3; { command -v python3 >/dev/null 2>&1 && python3 --version >/dev/null 2>&1; } || PY=python — never python3 … || python …, which reruns the helper on any nonzero exit and reports the second run's code instead of the first's (#577). Pass <project-root> as --root. If --window N was supplied, pass it through as --window N; otherwise omit it (the helper applies the default of 20).

    "$PY" "${PLUGIN_ROOT}/hooks/metrics.py" --root "<project-root>"
    

    ensure_ascii note — do not remove this. metrics.py calls json.dumps with its default ensure_ascii=True. This ASCII-escapes the arrow glyphs (↑↓→) in the subprocess stdout, which avoids a UnicodeEncodeError on Windows cp1252 consoles that cannot encode those code-points raw. The rendered output you present to the user (step 2 below) uses the real glyphs — they are written by the assistant, not piped through the subprocess stdout. Do NOT add ensure_ascii=False here.

    With a custom window size:

    "$PY" "${PLUGIN_ROOT}/hooks/metrics.py" --root "<project-root>" --window N
    

    Replace N with the integer the user supplied.

  2. Render the glance. Parse the returned JSON dict. Present exactly three lines, one per metric, in this order:

    override rate:          <current>  <arrow>  (prior: <prior>)
    small-lane rate:        <current>  <arrow>  (prior: <prior>)
    sprint low-conf ratio:  <current>  <arrow>  (prior: <prior>)
    
    • Use the real glyphs ↑, ↓, → in your message (not the JSON-escaped forms).
    • For sprint_low_conf_ratio, the current or prior value may be the string "n/a" — render it literally (e.g. n/a ↑).
    • ↑ on override_rate and sprint_low_conf_ratio is a worsening signal; state this briefly below the table so the reader does not have to guess.
  3. State the window. Append one line naming the window size used, e.g. Window: 20 commits (default) or Window: N commits (--window N).

Hard gate

  • Read-only. MUST NOT write, create, or modify any file. MUST NOT stage or commit. git status MUST be unchanged after a run.
  • Emits ONLY the fixed 3-metric glance: override_rate, small_lane_rate, sprint_low_conf_ratio. MUST NOT emit verbatim override log lines, verbatim triage entries, commit lists, or any other content from the governance logs.
  • MUST NOT require $ca-init to have been run. The helper degrades gracefully on absent logs (counts return 0 / ratio returns "n/a"); surface the degraded values as-is rather than blocking.
  • If the helper subprocess fails entirely (import error, Python not found), report the error and stop — do not fabricate metric values.

When NOT to use

  • Full governance packet with verbatim overrides and audit trail → $ca-audit.
  • Live project state (active sprint, open confirms, hook health) → $ca-status.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Refine feature and sprint intent into a useful specification. Capture scope, observable criteria and material choices without repeated artifact approval ceremonies.

The English summary is being prepared. Showing the original description.

arbiterForge/codeArbiter149Updated Oct 20, 2026

Vet a new or changed third-party dependency for license, provenance, and supply-chain risk before any install runs.

The English summary is being prepared. Showing the original description.

arbiterForge/codeArbiter149Updated Oct 20, 2026

ca-adr

Free

Record user-decided ADRs or inspect their health read-only. Preserve attribution and acceptance evidence.

The English summary is being prepared. Showing the original description.

arbiterForge/codeArbiter149Updated Oct 20, 2026

Inspect ADR health read-only; optionally select one ADR with --adr N.

The English summary is being prepared. Showing the original description.

arbiterForge/codeArbiter149Updated Oct 20, 2026

Assemble the governance record for a range — commits, overrides, ADRs, sprint auto-decisions, open questions, checkpoint findings — into one dated audit packet. Read-only.

The English summary is being prepared. Showing the original description.

arbiterForge/codeArbiter149Updated Oct 20, 2026

ca-btw

Free

Lightweight Q&A about the project — answer from context and return, no routing, no state change.

The English summary is being prepared. Showing the original description.

arbiterForge/codeArbiter149Updated Oct 20, 2026

See all skills by arbiterForge

Report a problem with this skill