Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add bdfinst/agentic-dev-team/plugin install dev-teamWrote 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/bdfinst/agentic-dev-team/property-based-testing)<a href="https://agentmods.dev/skills/bdfinst/agentic-dev-team/property-based-testing"><img src="https://agentmods.dev/badge/skills/bdfinst/agentic-dev-team/property-based-testing/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/skills/bdfinst/agentic-dev-team/property-based-testing"><img src="https://agentmods.dev/badge/skills/bdfinst/agentic-dev-team/property-based-testing.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.00143 | $0.01421 |
| Opus 5.5 | $0.00057 | $0.00568 |
| Sonnet 5.5 | $0.00029 | $0.00284 |
| Haiku 4.5 | $0.00014 | $0.00142 |
Grade A, and why
property-based-testing 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 25d 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 — 122 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Property-Based Testing
Role: worker. This command derives and generates property-based tests directly — it does not replace example-based tests, and it does not fabricate a weak "doesn't crash" property when no round-trip pair or documented invariant can be found.
Procedure
Step 1: Detect the target language (reuse project-init — never re-derive)
Run project-init's own stack detection —
${CLAUDE_PLUGIN_ROOT}/skills/project-init/SKILL.md § "Step 1: Detect the
stack" — over the target project. That section is this repo's canonical,
single source of truth for stack detection (its own frontmatter says so);
this skill reuses its result and never re-implements the filesystem-signal
table (package.json/tsconfig.json for JS/TS, pyproject.toml/
requirements*.txt/setup.py for Python, *.sln/*.csproj for C#,
pom.xml/build.gradle for Java) itself.
Reduce that step's result to a single detected-language value:
- Exactly one stack detected → its display name, verbatim as project-init's
own stack table spells it (
Python,JS/TS,C#,Java). - Zero or ambiguous signals (project-init's own "ask the user" branch) → no detected language.
Step 2: Gate on support
Pass the detected language (or nothing, when Step 1 found none) to
scripts/detect_and_dispatch.py:
python3 "${CLAUDE_PLUGIN_ROOT}/skills/property-based-testing/scripts/detect_and_dispatch.py" --language "<detected language>"
This script decides support — it does not detect anything itself (see its
own module docstring). When the language is neither Python nor JS/TS,
or no language was passed at all, it prints the exact message below and
exits non-zero. Stop here — no partial run, no file written, exactly as
the Gherkin "Unsupported or undetected language" scenario requires:
Unsupported language: <detected|unknown> — supported: Python, JS/TS.
<detected> is the actual detected language name (e.g. Go, C#) when
Step 1 found one but it isn't supported; the literal word unknown when
Step 1 found nothing at all.
What ships with it
60 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- fixtures/invariant_fixture.py 474 B runs code
- fixtures/js-roundtrip/.gitignore 982 B
- fixtures/js-roundtrip/node_modules/fast-check/lib/cjs/fast-check.d.ts 171 KB runs code
- fixtures/js-roundtrip/node_modules/fast-check/lib/cjs/fast-check.js 381 KB runs code
- fixtures/js-roundtrip/node_modules/fast-check/lib/cjs/package.json 25 B
- fixtures/js-roundtrip/node_modules/fast-check/lib/cjs/types57/fast-check.d.ts 171 KB runs code
- fixtures/js-roundtrip/node_modules/fast-check/lib/fast-check.d.ts 171 KB runs code
- fixtures/js-roundtrip/node_modules/fast-check/lib/fast-check.js 378 KB runs code
- fixtures/js-roundtrip/node_modules/fast-check/lib/rolldown-runtime-D7D4PA-g.js 360 B runs code
- fixtures/js-roundtrip/node_modules/fast-check/lib/types57/fast-check.d.ts 171 KB runs code
- fixtures/js-roundtrip/node_modules/fast-check/LICENSE 1.0 KB
- fixtures/js-roundtrip/node_modules/fast-check/package.json 3.0 KB
- fixtures/js-roundtrip/node_modules/fast-check/README.md 41 KB
- fixtures/js-roundtrip/node_modules/pure-rand/lib/distribution/uniformBigInt.d.ts 528 B runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/distribution/uniformBigInt.js 1.3 KB runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/distribution/uniformFloat32.d.ts 498 B runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/distribution/uniformFloat32.js 578 B runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/distribution/uniformFloat64.d.ts 498 B runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/distribution/uniformFloat64.js 726 B runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/distribution/uniformInt.d.ts 520 B runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/distribution/uniformInt.js 3.9 KB runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/distribution/uniformBigInt.d.ts 528 B runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/distribution/uniformBigInt.js 1.2 KB runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/distribution/uniformFloat32.d.ts 498 B runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/distribution/uniformFloat32.js 491 B runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/distribution/uniformFloat64.d.ts 498 B runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/distribution/uniformFloat64.js 639 B runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/distribution/uniformInt.d.ts 520 B runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/distribution/uniformInt.js 3.8 KB runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/generator/congruential32.d.ts 353 B runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/generator/congruential32.js 1.3 KB runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/generator/mersenne.d.ts 323 B runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/generator/mersenne.js 6.0 KB runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/generator/xoroshiro128plus.d.ts 363 B runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/generator/xoroshiro128plus.js 1.9 KB runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/generator/xorshift128plus.d.ts 358 B runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/generator/xorshift128plus.js 1.8 KB runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/package.json 23 B
- fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/RandomGenerator-DcXj09Ch.d.ts 487 B runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/types/JumpableRandomGenerator.d.ts 583 B runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/types/JumpableRandomGenerator.js 0 B runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/types/RandomGenerator.d.ts 98 B runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/types/RandomGenerator.js 0 B runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/utils/generateN.d.ts 214 B runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/utils/generateN.js 192 B runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/utils/purify.d.ts 748 B runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/utils/purify.js 205 B runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/utils/skipN.d.ts 198 B runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/utils/skipN.js 140 B runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/generator/congruential32.d.ts 353 B runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/generator/congruential32.js 1.4 KB runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/generator/mersenne.d.ts 323 B runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/generator/mersenne.js 6.2 KB runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/generator/xoroshiro128plus.d.ts 363 B runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/generator/xoroshiro128plus.js 2.0 KB runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/generator/xorshift128plus.d.ts 358 B runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/generator/xorshift128plus.js 1.9 KB runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/RandomGenerator-DcXj09Ch.d.ts 487 B runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/types/JumpableRandomGenerator.d.ts 583 B runs code
- fixtures/js-roundtrip/node_modules/pure-rand/lib/types/JumpableRandomGenerator.js 0 B runs code
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.
- 25d ago First seen · 122 lines · 143 tokens per session scan A 0139d6a834fe
property-based-testing is a skill published in the GitHub repository bdfinst/agentic-dev-team (295 stars, last pushed 4d ago), licensed MIT. It adds 143 tokens to every session and 1,421 once invoked, about $0.0006 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-09-23.
Other skills, from other repositories
research-engineer
An uncompromising Academic Research Engineer. Operates with absolute scientific rigor, objective criticism, and zero flair. Focuses on theoretical correctness, formal verification, and optimal implementation across any required technology.
eval-dataset-design
A guide to creating reliable test sets for AI agents. Each evaluation task includes the request, the simulated user's behaviour, a reset starting state, and a success check that can be independently verified.
tika-eval-compare
Compare extracts from two Tika builds over a corpus to detect regressions in content, encoding, exceptions, and embedded-document handling. Use for "compare before/after extracts", "eval this change against the corpus".
cua-driver
Use Cua Driver for desktop or browser tasks that are awkward or unavailable through Bash/APIs, or when the user explicitly wants GUI interaction: app testing, visual bug reproduction, form filling, calendar entry, screenshots, and demo recording. Also covers Cua setup; not OpenAI Codex Computer Use or web research.
jetson-validate-image
Use after jetson-flash-image to run static BSP checks, on-target smoke/regression tests on a flashed DUT, or both. Not for build or flash steps. Triggers: validate bsp, on-target validation.
atmos-validation
Validate Atmos projects, components, arbitrary JSON Schema inputs, EditorConfig, and GitHub Actions; use affected-file selection and native CI annotations.