PICT Test Designer
A Claude skill that turns requirements or code into compact, high-coverage pairwise test suites using Microsoft's PICT combinatorial testing method, cutting test counts by up to 99%.
SKILL.md is a read-only test-design guide: no destructive operations, no sensitive permissions, transparent data flow (model text can be run via online tools or local PICT); but it recommends sending user models to third-party online websites without any data-exfiltration warning, repo license metadata is NOASSERTION, and publisher identity is unverified. Deducted for the undisclosed third-party submission path and partially unverified attribution chain.
Workflow steps are self-consistent with matching model/constraint syntax and a troubleshooting section; but SKILL.md instructs use of scripts/pict_helper.py and references/*.md, which STRUCTURE.md/README admit are placeholders or basic implementations, so key paths may fail; actual execution depends on external PICT tooling rather than the skill itself. Static cap of 10 applies, further deducted for missing referenced files.
Target scenarios (multi-parameter combinatorial testing) are clearly described with usage guidance and examples, and trigger semantics are fairly precise; however no capability boundaries or non-fit ranges are declared, there is no Chinese-language support, and the recommended online PICT tools may be unreachable from mainland China. Deducted for missing boundary declarations and environment-fit gaps.
Good governance skeleton: semantic-versioned CHANGELOG, MIT LICENSE with PICT/pypict attribution, CONTRIBUTING guide, layered docs; but README admits references and helper scripts are placeholders yet to be created, contradicting SKILL.md pointers, license metadata (NOASSERTION) conflicts with the actual LICENSE, and maintenance rests on one individual. Deducted for doc-content mismatch and metadata inconsistency.
The skill produces a PICT model, test-case table and expected results, and pairwise testing has genuine value; but actual case generation is delegated to the user via online tools or local PICT installation, the end-to-end loop is unverified, and claimed numbers (99.88% reduction, ATM example) are author assertions only. Static cap of 7 applies, further deducted for dependence on external execution.
CI only checks file existence and markdown links, with no committed tests or third-party execution evidence covering the skill's key paths; effectiveness claims (reduction ratios, case counts) lack independent corroboration. Static cap of 5 applies, further deducted for single-source evidence.
- The skill suggests pasting user-generated PICT models into third-party online websites; models may contain business-sensitive information — prefer local PICT/pypict.
- Referenced files (references/pict_syntax.md, references/examples.md, scripts/pict_helper.py) are marked by the repo itself as placeholders or basic implementations; key auxiliary paths may be unusable.
- Recommended online pairwise tools may be unreachable from mainland China, and the skill offers no Chinese-language support.
- Effectiveness figures (99.88% reduction, 31 cases, etc.) are author claims without independent verification.
- License metadata is NOASSERTION; although the repo contains an MIT LICENSE file, verify before use.
What does this skill do, and when should you use it?
This is a Claude skill that designs test cases systematically using Pairwise Independent Combinatorial Testing (PICT). Given requirements or code, it identifies test parameters, values, and business constraints, generates a PICT model, and outputs a markdown table of test cases along with expected results for each. The README's ATM example shows 25,920 possible combinations compressed into 31 test cases — a 99.88% reduction. The skill builds on Microsoft's open-source PICT tool and the pypict Python binding, and ships with a full PICT syntax reference and cross-domain examples.
The skill reads user-supplied requirements or code, identifies input parameters, derives value sets via equivalence partitioning, and extracts business rules as constraints. It then generates a PICT-syntax model (parameter definitions plus IF/THEN constraints) and produces three outputs: the complete PICT model, a numbered markdown table of test cases, and the expected output for each case. Optionally, the user can paste the model into an online PICT tool or a locally installed PICT to generate actual cases. The repo also ships scripts/pict_helper.py for generating models from a JSON config, formatting PICT output as a markdown table, or parsing output to JSON.
- A QA engineer building test suites for multi-parameter login/authentication flows covering credential validity, 2FA toggles, and failure counts
- A developer testing API endpoints who needs combinatorial coverage of HTTP method, auth state, content type, and payload size
- A tester validating web form logic across valid/invalid combinations of name, email, password, and terms fields
- Ops or configuration testing across environment, cache flag, log level, and database type combinations
- Mobile testing teams combining device, OS, orientation, and network-condition matrices
- Writing test plans for complex business systems like ATM settlement where exhaustive cases are infeasible
What are this skill's strengths and limitations?
- Dramatic case reduction: the ATM example compresses 25,920 combinations into 31 cases (99.88% fewer) while covering all pairwise interactions
- Goes beyond case generation — provides specific expected outputs per case, plus a constraint syntax reference and multi-domain example docs
- Five installation paths (plugin marketplace, clone, submodule, releases package, full ZIP) suit personal and team workflows
- MIT-licensed and grounded in Microsoft's official PICT and the pypict binding, so the methodology is traceable
- Pairwise coverage is not exhaustive — defects requiring 3-way or higher parameter interactions can slip through
- Actual case execution depends on external tools (online PICT sites or local PICT); the skill itself does not run PICT
- Several README items (references/pict_syntax.md, references/examples.md, scripts/pict_helper.py) are marked "to be created," so completeness is uncertain
- The GitHub License field is NOASSERTION, conflicting with the README's MIT claim — verify before adopting
- No automated test suite in the repo, so there is no independent quality evidence
How do you install this skill?
Several methods are documented: 1) Via the Claude Code plugin marketplace: run /plugin marketplace add omkamal/pypict-claude-skill then /plugin install pict-test-designer@pypict-claude-skill; 2) Manual clone to your personal skills directory: git clone https://github.com/omkamal/pypict-claude-skill.git ~/.claude/skills/pict-test-designer (or into a project's .claude/skills/ for project-scoped use); 3) As a git submodule for team sharing; 4) Download the ~9 KB minimal package from GitHub Releases (SKILL.md, LICENSE, references/ only). Restart Claude Code after installing.
How do you use this skill?
Trigger it with plain language, e.g.: "Design test cases for a login function with username, password, and remember me checkbox." Claude will analyze the requirements, identify parameters and values, generate a PICT model with constraints, and present test cases in a table with expected outputs. To execute the model, save it and paste into an online PICT tool (e.g., pairwise.yuuniworks.com) or run a locally installed PICT. The repo also includes a full worked ATM example (examples/atm-specification.md) you can ask the skill to turn into a test plan.
How does this skill compare with similar options?
The skill is explicitly built on Microsoft's PICT tool (developed by Jacek Czerwonka at Microsoft Research) and Kenichi Maehashi's pypict Python binding — effectively adding AI-driven requirements analysis and model authoring on top of the PICT CLI.