
Hardening (Property Tests)
Finds bugs in existing code tests by generating many inputs and shrinking failures to minimal cases.
- Repository
- danielmiessler/LifeOS
- Stars
- 19,682
- Licence
- MIT
- Files
- 2 files
What it does
When installed, the agent can take tests you already have and strengthen them. It turns the general rule behind example tests (for instance, 'parsing then printing returns the original') into a fast-check property, runs it against many generated inputs, and when something fails, shrinks it down to the smallest input that still breaks. It is meant for pure functions such as parsers, serializers and data transforms, and it does not add new features.
Great for
- Developers maintaining a TypeScript or Bun codebase who want to find edge cases their example tests miss
- Teams using LifeOS's testing doctrine who want property-based coverage of pure functions
- Anyone asking 'what bugs am I missing?' about a set of existing tests
Skip it if
- Writing tests for brand-new features; the skill says to use bun test directly for that
- Grading agent output quality (the skill points to a separate Assay skill) or UI checks (Interceptor)
- Finding security vulnerabilities; the skill explicitly excludes this, so do not rely on it for security review
Try asking
- “Property-test the slug parser in this repo at 1000 runs”
- “What bugs are my example tests missing in the serializers folder?”
- “Harden the date-transform tests and shrink any failing counterexample”
- “Add a round-trip property for the config parser and record it as a bun-property row”
Install in 3 steps
- 1
Download the skill
The ZIP contains the 2 original files, the MIT licence and an attribution note.
Hardening.zip - 2
Add it to your agent
Claude Code (all projects)
mkdir -p ~/.claude/skills && unzip Hardening.zip -d ~/.claude/skills/Claude Code / Agent SDK (this project only)
mkdir -p .claude/skills && unzip Hardening.zip -d .claude/skills/Claude apps (web/desktop): Settings → Capabilities → Skills → Upload skill, and choose the ZIP.
- 3
Ask for the task
No special command needed — the agent reads the skill's description and loads it when your request matches. Try one of the prompts above.
Get better results
- Point the agent at pure functions with clear input domains; it will skip impure functions rather than force a property onto them
- Review each generated property: the skill's own falsifier is a property that cannot expose the real invariant, so check that it matches the actual system rule
- Keep the original example tests; the skill is designed to sharpen them, not replace them
What's inside
- Intents/PropertyTest.md
- SKILL.md
Redistributed unmodified from danielmiessler/LifeOS under the MIT licence. The assessment was drafted with AI from the skill's files on 2026-10-29. Skills can instruct your agent to run code — read SKILL.md and any scripts before installing.