本文へ移動
cccskills
無料GitHub で公開

tracking-quality-trends

Turns point-in-time quality readings into a trend: archives each run, diffs against the previous one, and reports direction per metric - practices newly present or regressed, coverage movement, flake rate, waivers expiring, eval scores - using limit/current/goal framing. Use when quality reporting is a series of disconnected snapshots, when a team needs to show improvement over a quarter, when a number is quoted with no baseline, or when a regression in the quality system itself should be visible.

日本語の概要は準備中です。原文の説明を表示しています。

jaktestowac/awesome-copilot-for-testersスター 118(GitHub 118 + cccskills 0)

実行スコア 未検証

インストール方法を見る

含まれるファイル(3)

  • SKILL.md9.4 KB
  • resources/trend-metrics.md6.8 KB
  • resources/trend-report-template.md7.3 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Tracking Quality Trends

Use this skill when quality gets reported as a number, and nobody can say whether it is better or worse than last time.

A snapshot is almost useless on its own. "Coverage is 71%" prompts an argument about whether 71 is good. "Coverage on changed lines has moved 62 → 71 over three releases, limit 75, goal 85" prompts a decision. Direction is the finding; the absolute value is context.

The second thing this catches is regression in the quality system - a threshold lowered, a job made non-blocking, a waiver renewed for the fourth time. Those never show up in a snapshot, because a snapshot reports what is measured, not what stopped being measured.

When to Use

  • quality reporting is a series of unconnected numbers
  • a metric is quoted with no baseline and no target
  • a team needs to show a quarter of improvement, or explain a quarter without it
  • a contract has been re-derived and the question is what moved
  • gates are being quietly weakened and nobody has noticed
  • a release decision needs direction, not just current state

Operating Principles

  • Limit / current / goal, always three numbers. Limit is the threshold that triggers action; current is measured; goal is the target. A metric with only a current value cannot be acted on.
  • Direction and magnitude, not just the delta. "−3pp" needs "inside the noise band" or "third consecutive fall" beside it to mean anything.
  • Archive the run, do not recompute history. Store each reading with its date, commit, and how it was measured. Recomputed history changes when the method changes, and then the trend is fiction.
  • A method change breaks the series. Say so, and start a new one rather than pretending the numbers are comparable.
  • Track the quality system, not only the code. Thresholds, gate blocking-ness, waiver counts and ages, suppression counts. A repo whose coverage rose while its threshold fell has got worse.
  • Fewer metrics, honestly measured. Six metrics a team acts on beat twenty nobody reads. Every metric needs a named owner and an action if it crosses its limit.
  • Every metric carries its caveat. Coverage does not prove correctness; a rising pass rate can mean weaker tests. Report the caveat inline, not in a footnote.
  • Never trend a metric that can be gamed without saying so. Coverage, test count, and defect count all move under pressure without quality moving.

Workflow

Phase 1: Fix the metric set

Start from what the contract already implies, and cap it at six to eight. From ./resources/trend-metrics.md:

MetricLimit / goal exampleCaveat to print
Diff coverage≥ 75% / ≥ 85%proves execution, not assertion quality
Repo coverage directionmust not decreasea big denominator absorbs new gaps
Flake rate< 1% / < 0.3%only measurable if retries are recorded
Suite duration (p95)< 10 min / < 5 minshortcuts appear when this rises
Contracted practices PRESENT- / all MUSTPRESENT means configured and enforced
Blockers open0 / 0a MUST practice missing
Waivers: count, expired, oldest0 expiredcount alone hides age
Suppressions totaltrending downincludes disables, ignores, skips
Escaped defectstrending downdepends on consistent triage
Eval pass rate per capabilityno regressionsper capability, never aggregated

Each metric needs an owner and a stated action at the limit. A metric with neither is a dashboard decoration.

Phase 2: Archive each run

.qa/
  quality-contract.md          # current
  trends.md                    # the report
  history/
    2026-05-02/{contract.md,metrics.json}
    2026-06-13/{contract.md,metrics.json}
    2026-08-21/{contract.md,metrics.json}

Each metrics.json records the value, the date, the commit, and how it was measured - the tool, the version, and the scope. That last field is what lets a future reader tell a real improvement from a method change.

Phase 3: Diff against the previous run

Per metric: previous, current, delta, direction, and position against limit and goal. Then, separately, the structural diff nobody else reports:

  • practices that moved into PRESENT - real wins, name them
  • practices that regressed out of PRESENT - the most important line in the report
  • practices newly N/A or deferred - usually a contract edit, so check it was deliberate
  • thresholds that changed, in either direction
  • gates that became non-blocking
  • waivers added, expired, renewed
  • suppressions added and removed

A threshold quietly lowered from 75 to 60 will otherwise appear as a coverage improvement. Reading the config diff alongside the metric diff is what catches it, and it is the single highest-value habit in this skill.

Phase 4: Establish the noise band

Before reporting a movement as a finding, know what movement is normal. Flake rate and suite duration move on their own; coverage moves with the size of the release; eval scores move with model variance.

Rule: a movement inside the noise band is not a finding, and a movement in the same direction three periods running is a finding regardless of size. Slow drift is what a threshold-based alert never catches.

Phase 5: Report

Use ./resources/trend-report-template.md. Written to .qa/trends.md, with:

  1. Direction summary - improving, flat, or degrading, with the two or three metrics driving it
  2. Metric table - limit, previous, current, goal, direction, and the caveat
  3. Structural changes - practices gained and lost, thresholds and gates changed
  4. Governance - waiver and suppression movement
  5. Findings - regressions, three-period drifts, limits crossed
  6. Series breaks - where a method changed and comparison stops being valid

Then the honest closing paragraph: what this report cannot see. Untracked metrics, unmeasured practices, and anything where the tooling changed.

Cadence

Tie it to something that already happens - a release, a sprint boundary, a monthly review. A report with no cadence gets written once and admired.

Two rules: re-derive the contract on the same cadence, and read the previous report before writing the new one. A trend report that does not reference its predecessor's findings is a snapshot with a date on it.

Common Failure Modes

  • Hand-maintained numbers in prose. "We have 803 tests" in a README, wrong three months later. If it is worth tracking, generate it.
  • Recomputing history. New tool, new method, retroactively applied - the trend now shows a change that never happened.
  • Trending only code metrics. Missing the lowered threshold and the disabled job, which are the changes that made the code metrics look better.
  • Reporting deltas without noise bands. Every run has a finding, so nobody reads the findings.
  • Twenty metrics. Nobody acts on any of them.
  • Aggregating what should be split. One eval score across capabilities; one coverage number across a monorepo.
  • Celebrating a rising pass rate. It rises when tests get weaker, too. Pair it with flake rate and assertion quality.
  • No owner per metric. Nothing happens when a limit is crossed.

Resource Map

  • ./resources/trend-metrics.md - the metric set with limits, goals, how to measure each in a JS/TS repo, caveats, and gaming risks
  • ./resources/trend-report-template.md - the report structure, the history layout, the metrics.json shape, and worked findings

Related Skills

  • analyzing-quality-metrics - metric definitions, anti-metrics, and how to interpret each honestly; this skill adds history and direction
  • deriving-a-quality-contract - supplies the practice list, the thresholds, and the gap matrix each run diffs
  • governing-quality-waivers - waiver count, age and expiry are tracked metrics here
  • verifying-change-coverage - the source of the diff-coverage reading
  • assessing-comprehension-debt - its band is a trended, advisory metric
  • testing-llm-features - eval pass rate per capability, trended against a baseline
  • assessing-release-readiness - consumes direction, not just current state

Definition of Done

This skill is complete when:

  • the metric set is six to eight metrics, each with a limit, a goal, an owner, and a stated action at the limit
  • each run is archived with its value, date, commit, and measurement method
  • the report shows direction per metric, not only current values
  • structural changes are reported: practices gained and lost, thresholds changed, gates made non-blocking
  • movements are judged against a noise band, and three-period drifts are findings regardless of size
  • each metric's caveat is printed with it, not footnoted
  • series breaks caused by method changes are stated, and comparison stops there
  • the report names what it cannot see

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

Defines, computes, and interprets test and quality metrics: pass rate, flake rate, suite duration, defect escape rate, time to detect, and coverage with its caveats. Use when building a QA dashboard, reporting suite health to stakeholders, comparing releases over time, or when a coverage percentage or a bug count is being treated as a measure of quality.

日本語の概要は準備中です。原文の説明を表示しています。

jaktestowac/awesome-copilot-for-testers1182026年8月27日 更新

Analyzes diffs, changed files, hotfixes, and release candidates to identify where regression risk spreads and what must be retested first. Use when scoping retest after a change, reviewing QA impact for a pull request, or building a minimal confidence suite for release validation.

日本語の概要は準備中です。原文の説明を表示しています。

jaktestowac/awesome-copilot-for-testers1182026年8月27日 更新

Writes and reviews API automation tests with Playwright Test, covering setup/teardown, assertions, data management, and hybrid API+UI flows. Use when creating backend API tests, contract checks, data-driven API coverage, API+UI hybrid workflows, or reviewing existing Playwright API suites.

日本語の概要は準備中です。原文の説明を表示しています。

jaktestowac/awesome-copilot-for-testers1182026年8月27日 更新

Measures the risk that code shipped without anyone understanding it: a teach-back attestation on high-risk changes, a risk band from changed-code complexity, diff size and whether a human explanation accompanied it, and optional AI-authorship provenance. Findings stay advisory by design. Use when an AI-assisted codebase grows faster than the team reads it, when reviews are rubber-stamped, when nobody can explain a module that ships weekly, or when leadership asks how much of the code the team can actually maintain.

日本語の概要は準備中です。原文の説明を表示しています。

jaktestowac/awesome-copilot-for-testers1182026年8月27日 更新

Produces an evidence-backed go/no-go recommendation: exit criteria status, open-defect risk profile, coverage against risk, environment parity, rollback readiness, and the residual risk stated plainly. Use when preparing a release sign-off, when someone asks whether a build is ready to ship, or when a decision to release is being made on impressions rather than evidence.

日本語の概要は準備中です。原文の説明を表示しています。

jaktestowac/awesome-copilot-for-testers1182026年8月27日 更新

Records human verification - code review, exploratory sessions, UAT, accessibility passes, UX and observability reviews - as dated, attributed attestations in a register, so human-centric practices stay in the quality contract without pretending to be automated checks. Use when a strategy requires verification no tool can prove, when sign-off evidence is scattered across chats and tickets, when a gap matrix needs to distinguish "attested" from "passed", or when an audit asks who verified what and when.

日本語の概要は準備中です。原文の説明を表示しています。

jaktestowac/awesome-copilot-for-testers1182026年8月27日 更新

jaktestowac のスキルをすべて見る

このスキルの問題を報告する