<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rulesets/add-tests/SKILL.md, branch main</title>
<subtitle>Claude Code skills, rules, and language bundles
</subtitle>
<id>https://git.cjennings.net/rulesets/atom?h=main</id>
<link rel='self' href='https://git.cjennings.net/rulesets/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/'/>
<updated>2026-04-19T23:25:11+00:00</updated>
<entry>
<title>skills: add create-v2mom; extend add-tests with refactor-for-testability</title>
<updated>2026-04-19T23:25:11+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-04-19T23:25:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=c90683ed477c891e54034de595c97f149c420c17'/>
<id>urn:sha1:c90683ed477c891e54034de595c97f149c420c17</id>
<content type='text'>
New standalone create-v2mom skill (converted from the homelab
workflow template, markdown + YAML frontmatter, context-hygiene
references removed in favor of the global session-context protocol).

add-tests/SKILL.md gains a 'Core Principle — Refactor for Testability
First' section and three inserts into the phase instructions:
- Phase 1 flags testability-blocked functions during inventory
- Phase 2 surfaces refactor-first candidates per function
- Phase 3 adds a test-failure-vs-production-bug triage step

Sourced from the retired refactor.org homelab workflow (which was a
TDD-for-testability guide, not a general refactoring guide — general
refactoring is already covered by the /refactor slash command).
</content>
</entry>
<entry>
<title>chore(add-tests): sharpen the pairwise-vs-exhaustive prompt</title>
<updated>2026-04-19T21:15:03+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-04-19T21:15:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=f926e6921311826b668e3e3a9fc2156b35cb1e77'/>
<id>urn:sha1:f926e6921311826b668e3e3a9fc2156b35cb1e77</id>
<content type='text'>
Previous wording — 'pairwise or continue with normal category coverage' —
muddled the choice. Category coverage (Normal/Boundary/Error) tests each
parameter individually and doesn't meaningfully address combinatorial
interaction questions.

Sharper framing: when a function has parameters that combine, the real
question is pairwise vs exhaustive (the M^N full factorial). Category
coverage is a separate axis — it handles the error-case and boundary-case
testing that parameter-value combinations don't.

New prompt cites specific counts:
  'Function X has N parameters (M^N = Y exhaustive combinations).
   Pairwise or exhaustive?'

Pairwise stays the pragmatic default; exhaustive only when the user names
a regulatory / safety-critical reason.
</content>
</entry>
<entry>
<title>feat: adopt pairwise-tests (PICT combinatorial) + cross-reference from existing testing skills</title>
<updated>2026-04-19T21:12:02+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-04-19T21:12:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=b11cfd66b185a253fecf10ad06080ae165f32a74'/>
<id>urn:sha1:b11cfd66b185a253fecf10ad06080ae165f32a74</id>
<content type='text'>
Forked verbatim from omkamal/pypict-claude-skill (MIT). LICENSE preserved.
Renamed from `pict-test-designer` to `pairwise-tests` — technique-first
naming so users invoking "pairwise" or "combinatorial" find it; PICT
remains the tool under the hood.

Bundle (skill-runtime only):
  pairwise-tests/SKILL.md                    (renamed, description rewritten)
  pairwise-tests/LICENSE                     (MIT, preserved)
  pairwise-tests/references/pict_syntax.md
  pairwise-tests/references/examples.md
  pairwise-tests/scripts/pict_helper.py      (Python CLI for model gen / output fmt)
  pairwise-tests/scripts/README.md

Upstream's repo-level docs (README, QUICKSTART, CONTRIBUTING, etc.) and
`examples/` dir (ATM + gearbox walkthroughs — useful as reading, not as
skill-runtime) omitted from the fork. Attribution footer added.

Cross-references so /add-tests naturally routes to /pairwise-tests when
warranted:

- add-tests/SKILL.md Phase 2 step 8: if a function in scope has 3+ parameters
  each taking multiple values, surface `/pairwise-tests` to the user before
  proposing normal category coverage. Default continues with /add-tests;
  user picks pairwise explicitly.
- claude-rules/testing.md: new "Combinatorial Coverage" section after the
  Normal/Boundary/Error categories. Explains when pairwise wins, when to
  skip (regulated / provably exhaustive contexts, ≤2 parameters, non-
  parametric testing), and points at /pairwise-tests.
- languages/python/claude/rules/python-testing.md: new "Pairwise /
  Combinatorial for Parameter-Heavy Functions" subsection under the
  parametrize guidance. Explains the pytest workflow: /pairwise-tests
  generates the matrix, paste into pytest parametrize block, or use
  pypict helper directly.

Mechanism note: cross-references are judgment-based — Claude reads the
nudges in add-tests/testing/python-testing and acts on them when appropriate,
not automatic dispatch. Craig can still invoke /pairwise-tests directly when
he already knows he wants combinatorial coverage.

Makefile SKILLS extended; make install symlinks /pairwise-tests globally.
</content>
</entry>
<entry>
<title>Add general-purpose skills and rules from DeepSat coding-rulesets</title>
<updated>2026-03-29T21:25:05+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-03-29T21:25:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=861bab677b4632e9d30e6318bc2a35c36ee77105'/>
<id>urn:sha1:861bab677b4632e9d30e6318bc2a35c36ee77105</id>
<content type='text'>
Skills (adapted from DeepSat, stripped of project-specific references):
- /review-pr: PR review against engineering standards
- /fix-issue: issue-to-merge TDD workflow
- /security-check: secrets, OWASP, and dependency audit
- /debug: systematic 4-phase debugging
- /add-tests: test coverage analysis and generation
- /respond-to-review: evaluate and implement code review feedback

Rules (general-purpose, copied as-is):
- testing.md: universal TDD standards and anti-patterns
- verification.md: proof over assumption

Makefile updated to install both skills and rules via symlinks.

Co-Authored-By: Claude Opus 4.6 (1M context) &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
