Borrowing it
Nothing to install: this file belongs to asynkron/Asynkron.JsEngine. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/asynkron/Asynkron.JsEngine/main/.claude/commands/pre-pr.mdgit clone --depth 1 https://github.com/asynkron/Asynkron.JsEngineWrote 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/commands/asynkron/asynkron.jsengine/pre-pr)<a href="https://agentmods.dev/commands/asynkron/asynkron.jsengine/pre-pr"><img src="https://agentmods.dev/badge/commands/asynkron/asynkron.jsengine/pre-pr/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/commands/asynkron/asynkron.jsengine/pre-pr"><img src="https://agentmods.dev/badge/commands/asynkron/asynkron.jsengine/pre-pr.svg" alt="Reviewed on agentmods" width="80" 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.1 | $0.00011 | $0.00604 |
| Opus 5.5 | $0.00004 | $0.00242 |
| Sonnet 5.5 | $0.00002 | $0.00121 |
| Haiku 4.5 | $0.00001 | $0.00060 |
Grade A, and why
pre-pr 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 14d 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 — 95 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Pre-PR Checklist
MANDATORY: Run this before creating any PR to GitHub.
Execute All Steps In Order
Step 1: Roslynator Fix
roslynator fix src/Asynkron.JsEngine
Then verify compilation:
dotnet build src/Asynkron.JsEngine
If build fails: Fix the issues and rerun roslynator before proceeding.
Step 2: Run Full Internal Unit Tests
dotnet test tests/Asynkron.JsEngine.Tests
Handle failures:
- Flaky tests: Rerun to confirm
- Broken tests: Fix before proceeding
- All tests MUST pass before moving to step 3
Step 3: Check for Code Duplication
quickdup --path src/Asynkron.JsEngine --ext .cs --select 0..20 --min 2 --exclude ".g."
If new duplications are found:
- Refactor to eliminate duplications
- Go back to Step 1 (roslynator fix)
- Repeat until no new duplications
Step 4: Format Code
dotnet format src/Asynkron.JsEngine
Step 5: Allocation Regression Gate
Guard the evaluator hot-path allocation wins against silent regression:
./tools/check-allocation-regression
This re-measures Asynkron managed allocations for the benchmark smoke set and
compares them to the committed tools/allocation-baseline.txt. It exits
non-zero with a per-profile diff if any profile regresses beyond tolerance.
If it reports a regression:
- Unintended regression → investigate and reduce allocations before proceeding.
- Intentional change that legitimately moves the numbers → refresh and commit
the baseline:
./tools/check-allocation-regression --update git add tools/allocation-baseline.txt
Step 6: Final Verification
Confirm all checks passed:
- Roslynator fix applied
- Code compiles cleanly
- All unit tests pass
- No new code duplications
- Code formatted
- No allocation regression (or baseline intentionally refreshed)
Step 7: Create PR
Only after ALL checks pass:
gh pr create --title "..." --body "..."
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.
- 14d ago First seen · 95 lines · 11 tokens per session scan A f4eada1ab517
pre-pr is a command published in the GitHub repository asynkron/Asynkron.JsEngine (11 stars, last pushed 3mo ago), licensed MIT. It adds 11 tokens to every session and 604 once invoked, about $0.0000 per session on Opus 5.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-10-02.
Other commands, from other repositories
pre-pr
Run complete validation workflow before creating PR.
check
Run project checks and fix any errors without committing.
act
Follow RED-GREEN-REFACTOR cycle approach for test-driven development.
implement
Execute all implementation tasks from tasks.md with test-driven development, parallel batching, and atomic commits.
git-workflow
Run review, tests, and commit steps, then prepare a pull request.
compliance-check
Ejecuta todas las verificaciones de compliance de reglas.