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 skills/florianbruniaux/claude-code-plugins/ci-testsnpx skills add FlorianBruniaux/claude-code-plugins --skill ci-testsgit clone --depth 1 https://github.com/FlorianBruniaux/claude-code-pluginsWrote 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/skills/florianbruniaux/claude-code-plugins/ci-tests)<a href="https://agentmods.dev/skills/florianbruniaux/claude-code-plugins/ci-tests"><img src="https://agentmods.dev/badge/skills/florianbruniaux/claude-code-plugins/ci-tests.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.1 | $0.00035 | $0.00485 |
| Opus 5 | $0.00017 | $0.00243 |
| Sonnet 5 | $0.00007 | $0.00097 |
| Haiku 4.5 | $0.00003 | $0.00049 |
Grade A, and why
ci-tests 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 2d 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.
What it actually says
/ci:tests: Run tests
Detects the stack and runs tests with the right command.
Stack detection
if [ -f "uv.lock" ]; then
STACK="python"
elif [ -f "pnpm-lock.yaml" ] || [ -f "package.json" ]; then
STACK="node"
elif [ -f "Cargo.toml" ]; then
STACK="rust"
else
STACK="unknown"
fi
Commands by stack
Python (uv + pytest)
# All tests
uv run pytest --tb=short -q $ARGUMENTS
# With coverage
uv run pytest --cov=src --cov-report=term-missing -q
# Specific file or folder
uv run pytest $ARGUMENTS -v
Node (pnpm + vitest)
# All tests
pnpm vitest run $ARGUMENTS
# With coverage
pnpm vitest run --coverage
# Watch mode (dev)
pnpm vitest
Node (npm + jest)
npm test -- --passWithNoTests $ARGUMENTS
Rust (cargo)
cargo test --quiet $ARGUMENTS 2>&1
Expected output
Tests: my-api (Python/pytest)
───────────────────────────────
uv run pytest --tb=short -q
[pytest output]
✅ 42 passed in 3.1s → Ready to push
On failure:
❌ 2 failed
FAILED tests/test_billing.py::TestInvoice::test_promo_expired
AssertionError: expected discount=0, got discount=10
→ Fix before pushing.
Usage
/ci:tests
/ci:tests tests/test_orders.py
/ci:tests src/components/Button.test.tsx
Target: $ARGUMENTS
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.
- 2d ago First seen · 100 lines · 35 tokens per session scan A 98b968840d2c
ci-tests is a skill published in the GitHub repository FlorianBruniaux/claude-code-plugins (40 stars, last pushed 5d ago), licensed MIT. It adds 35 tokens to every session and 485 once invoked, about $0.0002 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-09-04.
Other skills, from other repositories
python-testing
Python testing best practices using pytest including fixtures, parametrization, mocking, coverage analysis, async testing, and test organization. Use when writing or improving Python tests.
temporal-python-testing
Test Temporal workflows with pytest, time-skipping, and mocking strategies. Covers unit testing, integration testing, replay testing, and local development setup. Use when implementing Temporal workflow tests or debugging test failures.
python-providers
Create, modify, test, or package Python provider adapters under python/providers, including framework-specific dependencies, public imports, type inference, and provider metadata. Use for Python provider work only; use python-sdk for core SDK changes.
python-testing
Test Python applications with pytest fixtures, parametrization, temporary paths, and regression coverage.
python-uv
Why uv is the only Python manager on this machine, where the enforcement actually lives, and which plausible "fixes" are wrong. Load before writing any Python here, before touching a hook or scheduled job that runs Python, and before diagnosing a wrong-interpreter symptom.
dev-python-quality
Use when Python-specific typing, async behavior, packaging, pytest, ruff/mypy, scripting, or performance quality is central to the request. Do not trigger for generic small code edits merely written in Python.