smallest-check-ladder
Use when you need to run "the smallest test that could still catch this change" instead of blindly running the whole suite (or nothing). Provides an invocable L0 to L3 ladder — L0 lint the edited file, L1 impacted tests via deterministic selectors (pytest --testmon / jest or vitest related), L2 full suite via longrun, L3 e2e — so a claim of "tests pass" is backed by a proportionate, real check. Deterministic dependency and coverage-map selection ONLY; never ML "predictive test selection". Triggers include "run the relevant tests", "smallest check for this diff", "which tests cover this file", "is it worth running the full suite". NOT for authoring new tests (use tdd-workflow) and NOT a coverage-threshold gate (that stays .coverage-thresholds.json).
- License 许可
- MIT
- 最近更新
- 2026-11-02
- Stars
- ★ 0
- Forks
- 0
01 前言 Front Matter
- name
- smallest-check-ladder
- origin
- gem-hunt-2026-07-12 (A-Tier2, verification-gates
- description
- Use when you need to run "the smallest test that could still catch this change" instead of blindly running the whole suite (or nothing). Provides an invocable L0 to L3 ladder — L0 lint the edited file, L1 impacted tests via deterministic selectors (pytest --testmon / jest or vitest related), L2 full suite via longrun, L3 e2e — so a claim of "tests pass" is backed by a proportionate, real check. Deterministic dependency and coverage-map selection ONLY; never ML "predictive test selection". Triggers include "run the relevant tests", "smallest check for this diff", "which tests cover this file", "is it worth running the full suite". NOT for authoring new tests (use tdd-workflow) and NOT a coverage-threshold gate (that stays .coverage-thresholds.json).
03 SKILL.md 正文
Smallest-Check Ladder (L0 -> L3)
Pick the smallest rung that could still falsify the change, run it for real, and escalate only when the rung passes and you need broader confidence. The point is to make "I ran the relevant tests" a concrete, reproducible command — not a vibe — while staying proportionate to the size of the diff.
Deterministic only. Every selector on this ladder chooses tests from a dependency graph or a coverage map (a fact about the code), never from a learned model that predicts which tests are "probably" relevant. ML predictive test selection is explicitly out of scope: it can silently drop a test that actually covers the change, which defeats the purpose of the rung.
The ladder
| Rung | Scope | Cost | Run when |
|---|---|---|---|
| L0 | Lint / typecheck the edited file(s) only | ~1s | Every save. Always cheap enough to skip nothing. |
| L1 | Impacted tests — the tests that exercise the changed files | seconds–low tens of s | Default for any code change before claiming "tests pass". |
| L2 | Full suite (+ coverage) | minutes | L1 passed and the change is cross-cutting, or before a PR / task-completion gate. |
| L3 | E2E against the built/packaged artifact | minutes+ | Packaging, wiring, or user-journey surface touched (see packaged-artifact smoke gate). |
Climb from the lowest rung that can catch this class of defect. A one-line pure-function fix rarely needs L3; a change to the Electron main process or the ffmpeg argv builder does.
Concrete commands
L0 — edited-file lint / typecheck
Python (Reframe: ruff + basedpyright)
TypeScript (Reframe app/)
L1 — impacted tests (deterministic selectors)
Python — pytest-testmon: selects tests whose recorded coverage touches the changed code.
Deterministic: it replays a stored per-test coverage map, it does not predict.
JavaScript/TypeScript — dependency-graph selection (deterministic: static import graph)
L2 — full suite (always via longrun; it exceeds 60s)
Wrap in longrun per the >60s rule; never a blocking foreground call.
TS:
L3 — e2e against the built artifact
04 同仓库更多 Skills
clarify-requirements
Resolve genuine pre-execution ambiguity by scanning repo context, generating 1-6 grounded options, and asking 1-3 focused questions via AskUserQuestion. NOT for mid-task use (injection risk); NOT when the goal is already unambiguous; use to disambiguate vague prompts before any file edits.
openmm-md
Run FREE, open-source, Windows-native GPU molecular dynamics via the openmm-md MCP (OpenMM + CUDA on the local NVIDIA GPU). Use for protein / protein-ligand MD when you want a free stack or are on Windows without a Schrodinger license. Covers the full workflow (prepare, solvate, minimize, equilibrate, production, analyze, mmgbsa) AND an honest decision guide vs Schrodinger Desmond, including how to run Desmond legitimately on Linux or a cloud GPU with a real license. This is a deliberately LESSER free alternative and does NOT replace the schrodinger MCP tools. Do NOT use it to pick a free tool when a validated FEP+, WaterMap, IFD-MD, or Prime MM-GBSA result is actually required.
visual-review
Take screenshots of web pages and UI using Playwright for visual review and iteration
status
Diagnostic status report — shows metaswarm installation state, project setup, and potential issues
start
Use when starting work on any task, when the user mentions metaswarm, or when the user wants to begin tracked development work
setup
Interactive project setup — detects your project, configures metaswarm, writes project-local files