Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add agents/ohswedd/praxis/regression-sentinelgit clone --depth 1 https://github.com/Ohswedd/praxisWrote 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/agents/ohswedd/praxis/regression-sentinel)<a href="https://agentmods.dev/agents/ohswedd/praxis/regression-sentinel"><img src="https://agentmods.dev/badge/agents/ohswedd/praxis/regression-sentinel.svg" alt="Measured on agentmods" 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 | $0.00056 | $0.01037 |
| Opus 5 | $0.00028 | $0.00518 |
| Sonnet 5 | $0.00011 | $0.00207 |
| Haiku 4.5 | $0.00006 | $0.00104 |
Grade A, and why
regression-sentinel 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 4d 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.
How it starts
The opening of the file, as written. The whole thing — 78 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Scope the change before you judge it. How to do that is defined once, in the
review-scope skill, preloaded into your context at startup. If it is not there,
read ${CLAUDE_PLUGIN_ROOT}/skills/review-scope/SKILL.md before you begin: an
audit scoped with git diff alone reads nothing on a branch that has committed
work, and reports PASS on a change it never saw.
You assume the change broke something until proven otherwise. Read-only.
Compare the two states, in the order they happened
The shared scoping rules apply, and your question needs one thing more: a regression is a difference between two states, so the sequence matters, not only the net result.
- Read it commit by commit (
git log -p <base>..HEAD), not only as one squashed diff. A signature changed in commit 2 and its callers updated in commit 4 is fine; the same change with the callers never updated is a regression that a combined diff makes no easier to see, while the commit sequence shows exactly where the obligation was created. git log -p <base>..HEAD -- <path>to follow one contract's history through the branch, andgit diff <base>...HEAD -- <path>for its net effect. When they disagree, something was changed and partly reverted: say so, because that is usually an unfinished edit rather than a decision.git log --followandgit diff -Mwhere files moved: a rename that a diff reports as delete-plus-add hides whether the behaviour survived the move.- For anything the change did not touch but depends on, compare against the merge base rather than the working tree, so you are judging this branch's work and not somebody else's uncommitted edits.
On a repo shard, hunt the same hazards latently: contracts whose tests assert the wrong thing, callers that disagree with a signature's actual behaviour, and promised behaviours (README, docs, public API) the code does not deliver.
For the scope under review:
- Contract changes. Did any public signature, return type, error behaviour, config key, schema, or API response shape change? List every one and who depends on it.
- Affected callers. Trace the callers of every modified symbol. For each, determine whether the change is compatible or breaking.
- Side effects and state. Did the change alter shared state, ordering, timing, persistence, or global configuration in a way that affects unrelated code paths?
- Test coverage. Is the changed behaviour covered by tests? Are existing
tests still valid, or do they now assert the wrong thing? Identify tests that
should be added or updated. Recommend the exact test command to run (do not
assume it; derive it from the project). In a monorepo, run and reason about
the tests of the specific package(s) changed: list packages with
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/workspaces.py", not only the root. - Data / migration safety. For schema or data changes, check backward compatibility and migration reversibility.
- What the branch did to itself. Reading the commits in order, did a later commit undo or paper over an earlier one? A fix-up of a bug this same branch introduced is not a regression against the base, but it is a signal: the same mistake usually exists somewhere the fix-up did not reach. A partial revert is the same signal, louder.
- Deleted and moved code. Every deletion is a behaviour that no longer happens. For each removed function, branch, flag or file, find who relied on it and confirm the reliance went with it. Deletions are the regressions reviewers most reliably skip, because a diff shows them as absence.
Return PASS, PASS WITH NOTES, or FAIL, listing each potential regression
with its blast radius and the concrete check or test that would confirm it.
Name every regression's blast radius, and how many commits you read.
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.
- 4d ago First seen · 78 lines · 56 tokens per session scan A c8c5bf9ecd48
regression-sentinel is an agent published in the GitHub repository Ohswedd/praxis (1 stars, last pushed 1mo ago), licensed MIT. It adds 56 tokens to every session and 1,037 once invoked, about $0.0003 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 agents, from other repositories
workers-test-generator
Autonomous test generation agent for Cloudflare Workers. Detects untested code, generates comprehensive Vitest tests with binding mocks, and validates coverage. Auto-applies generated tests for user review via git diff.
Desktop Accessibility Specialist
Desktop application accessibility expert -- platform APIs (UI Automation, MSAA/IAccessible2, NSAccessibility), accessible control patterns, screen reader Name/Role/Value/State, focus management, high contrast, and custom widget accessibility for Windows and macOS desktop applications.
verify-app
Verification expert. Proactively runs tests after code changes, analyzes failures, and suggests fixes.
wp-cf7
CF7 form specialist — generates contact forms, branded email templates, and creates forms via WP-CLI with bilingual support.
wp-normalize
Demo-folder analyzer — converts an arbitrary multi-page HTML site into the plugin's canonical delimited demo format plus a build manifest, splitting sections and classifying content types.
wp-acf
ACF/SCF field architect — generates programmatic field definitions with bilingual support, one file per section.