Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ jobs:
run: |
uvx --python 3.11 --from 'skills-ref==0.1.1' agentskills validate src/python-blackbox-testing
uvx --python 3.11 --from 'skills-ref==0.1.1' agentskills validate src/python-parameterized-testing
uvx --python 3.11 --from 'skills-ref==0.1.1' agentskills validate src/python-property-based-testing
uvx --python 3.11 --from 'skills-ref==0.1.1' agentskills validate src/python-test-suite-audit
uvx --python 3.11 --from 'skills-ref==0.1.1' agentskills validate src/python-type-safety

Expand Down Expand Up @@ -136,7 +137,7 @@ jobs:
# line after the CLI's `│ ` box-drawing indentation. A bare substring
# match would false-pass on a renamed skill (`-v2` suffix) or on another
# skill's description that merely mentions this name.
for skill in python-blackbox-testing python-parameterized-testing python-test-suite-audit python-type-safety; do
for skill in python-blackbox-testing python-parameterized-testing python-property-based-testing python-test-suite-audit python-type-safety; do
if grep -Eq "^[^[:alnum:]]*${skill}[^[:alnum:]]*$" "$plain"; then
echo "OK: $skill is listed by skills.sh discovery"
else
Expand Down
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,12 @@ All notable changes to this project are documented in this file. The format foll
- Eight eval fixtures (four per skill) covering the lite profile, env
allowlist, level choice, sandbox fallback, dependent checksums, recurrence
without goldens, manual minimization, and rate-limit strategy.
- `python-property-based-testing`, an independently installable Hypothesis-led skill for quantified
properties (round-trip, invariant, idempotence, order, differential, metamorphic) with strategy
design, assume budgets, settings/deadline/database recording, shrinking, and seed/replay. It ships
three references, eval fixtures with a depth-split near-miss against parameterized tables, and a
standard-library-only `plan_property_matrix.py` planner. Stateful RuleBasedStateMachine work is
explicitly deferred.

## [0.1.0] - 2026-09-24

Expand Down
1 change: 1 addition & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,7 @@ reproducible; bump the pin deliberately and record the re-verification:
```bash
uvx --python 3.11 --from 'skills-ref==0.1.1' agentskills validate src/python-blackbox-testing
uvx --python 3.11 --from 'skills-ref==0.1.1' agentskills validate src/python-parameterized-testing
uvx --python 3.11 --from 'skills-ref==0.1.1' agentskills validate src/python-property-based-testing
uvx --python 3.11 --from 'skills-ref==0.1.1' agentskills validate src/python-test-suite-audit
uvx --python 3.11 --from 'skills-ref==0.1.1' agentskills validate src/python-type-safety
```
Expand Down
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ to inspect, not proof that a program is correct.
| --- | --- |
| `python-blackbox-testing` | Testing a CLI's documented exit codes and output; characterizing a public HTTP or Python API; checking state transitions and observable side effects without coupling tests to private implementation details. |
| `python-parameterized-testing` | Building a boundary matrix for a parser; combining fixed and generated inputs; testing Unicode and malformed data; replaying a seeded counterexample; or adding a property with an explicit oracle. |
| `python-property-based-testing` | Proving a quantified invariant with Hypothesis strategies and shrinking; designing oracles, bounding assume/filtering, replaying a shrunken counterexample with seed and settings. |
| `python-test-suite-audit` | Auditing an existing suite for tautological tests, weak assertions, over-mocking, private coupling, missing error paths, or order-dependent structure; producing a severity scorecard without changing code. |
| `python-type-safety` | Adding missing annotations boundary-first; gating with mypy or pyright to zero errors; triaging error codes; recording checker divergences without chasing them. |

Expand All @@ -33,6 +34,9 @@ with the conventions already present in the target repository.
- `python-parameterized-testing` for domain and property depth on logic: input matrices, boundary
families, generated witnesses with seeds and replay, and round-trip, invariant, or metamorphic
properties with explicit oracles.
- `python-property-based-testing` for quantified property depth on one contract: Hypothesis
strategies, composites, assume budgets, shrinking, and seed/replay with an independent oracle.
Finite tables stay with parameterized; stateful sequences are deferred.
- `python-test-suite-audit` for read-only suite health: grade whether existing tests detect
faults or inflate coverage, with Critical/Major/Minor severities and confirmation by
execution. Audit first, then use black-box or parameterized remediation without
Expand Down Expand Up @@ -67,6 +71,12 @@ Install the parameterized testing skill:
npx skills add nexusnv/python-agentic-skills --skill python-parameterized-testing
```

Install the property-based testing skill:

```bash
npx skills add nexusnv/python-agentic-skills --skill python-property-based-testing
```

Install the test suite audit skill:

```bash
Expand Down
Loading
Loading