PICT Test Designer - Claude Skill
A Claude skill for designing comprehensive test cases using PICT (Pairwise Independent Combinatorial Testing). This skill enables systematic test case design with minimal test cases while maintaining high coverage through pairwise combinatorial testing.

π― What is PICT?
PICT (Pairwise Independent Combinatorial Testing) is a combinatorial testing tool developed by Microsoft. It generates test cases that efficiently cover all pairwise combinations of parameters while drastically reducing the total number of tests compared to exhaustive testing.
Example: Testing a system with 8 parameters and 3-5 values each:
- Exhaustive testing: 25,920 test cases
- PICT pairwise testing: ~30 test cases (99.88% reduction!)
π Features
- Automated Test Case Generation: Converts requirements into structured PICT models
- Constraint-Based Testing: Applies business rules to eliminate invalid combinations
- Expected Output Generation: Automatically determines expected results for each test case
- Comprehensive Coverage: Ensures all pairwise parameter interactions are tested
- Multiple Domains: Works for software functions, APIs, web forms, configurations, and more
π Table of Contents
π§ Installation
Prerequisites
- Claude Code CLI or Claude Code Desktop
- (Optional) Python 3.7+ with
pypict
for advanced usage
Installation Methods
Claude Code skills can be installed via the plugin marketplace or manually by placing them in the
.claude/skills/
directory.
Method 1: Install via Claude Code Plugin Marketplace (Easiest) π
Install directly through Claude Code's plugin system:
# Add the marketplace
/plugin marketplace add omkamal/pypict-claude-skill
# Install the plugin
/plugin install pict-test-designer@pypict-claude-skill
This automatically installs the skill and keeps it updated. The skill will be available across all your projects.
Method 2: Install from GitHub (Manual)
For Personal Use (All Projects):
# Clone the repository to your personal skills directory
git clone https://github.com/omkamal/pypict-claude-skill.git ~/.claude/skills/pict-test-designer
# Restart Claude Code to load the skill
# The skill will now be available in all your projects
For Project-Specific Use:
# From your project directory
git clone https://github.com/omkamal/pypict-claude-skill.git .claude/skills/pict-test-designer
# Add to .gitignore if you don't want to commit it
echo ".claude/skills/" >> .gitignore
# Or commit it to share with your team
git add .claude/skills/pict-test-designer
git commit -m "Add PICT test designer skill"
Method 3: Install via Git Submodule (Team Sharing)
If you want to share this skill with your team via version control:
# From your project directory
git submodule add https://github.com/omkamal/pypict-claude-skill.git .claude/skills/pict-test-designer
git commit -m "Add PICT test designer skill as submodule"
# Team members clone with:
git clone --recurse-submodules <your-repo-url>
# Or if already cloned:
git submodule update --init --recursive
Method 4: Download Minimal Package from Releases
Download the pre-packaged minimal installation from GitHub Releases:
# Download the latest minimal package from releases
wget https://github.com/omkamal/pypict-claude-skill/releases/latest/download/pict-test-designer-minimal.zip
# Extract and install for personal use
unzip pict-test-designer-minimal.zip
mv pict-test-designer-minimal ~/.claude/skills/pict-test-designer
# Or for project-specific use
unzip pict-test-designer-minimal.zip
mv pict-test-designer-minimal .claude/skills/pict-test-designer
What's included: SKILL.md, LICENSE, references/ (syntax and examples)
What's excluded: Full examples, helper scripts, extended documentation
Size: ~9 KB | Latest Version: See Releases
Method 5: Download Full Repository
- Download the repository as a ZIP from GitHub
- Extract to the skills directory:
# For personal use (all projects)
unzip pypict-claude-skill-main.zip
mv pypict-claude-skill-main ~/.claude/skills/pict-test-designer
# For project-specific use
unzip pypict-cl
## Code Examples
### README.md
Examples
This directory contains real-world examples of using the PICT Test Designer skill.
ATM System Testing Example
A comprehensive example demonstrating how to use PICT methodology to test a complex banking ATM system.
Files
-
atm-specification.md: Complete ATM system specification with 11 sections covering:
- Functional requirements (withdrawals, deposits, transfers, etc.)
- Hardware specifications (card readers, cash dispensers, displays)
- Security requirements (encryption, authentication, physical security)
- Network and connectivity requirements
- Compliance and standards
-
atm-test-plan.md: Complete test plan generated using the PICT skill, including:
- PICT model with 8 parameters and 16 constraints
- 31 optimized test cases (reduced from 25,920 possible combinations)
- Expected outputs for each test case
- Test execution guidelines
- Coverage analysis
- Risk-based prioritization
Ke
### atm-specification.md
ATM Machine Specification Document
1. System Overview
Product Name: SecureBank ATM Model SB-5000
Version: 1.0
Purpose: Self-service banking terminal for cash withdrawal, deposits, balance inquiries, and basic account transactions
2. Functional Requirements
2.1 Core Functions
- Cash Withdrawal: Support withdrawals in denominations of $20, $50, and $100 (configurable)
- Cash Deposit: Accept cash deposits with bill validation and counting
- Balance Inquiry: Display current account balance for checking and savings accounts
- Fund Transfer: Enable transfers between customer's own accounts
- PIN Change: Allow customers to change their PIN securely
- Mini Statement: Print last 10 transactions
2.2 Transaction Limits
- Maximum withdrawal per transaction: $500
- Maximum withdrawal per day: $1,000 (configurable)
- Maximum deposit per transaction: $5,000
- Transaction timeout: 60 seconds of inactivity
3. Hardware Requirements
3.
### atm-test-plan.md
ATM System Test Plan
Using PICT (Pairwise Independent Combinatorial Testing)
System: SecureBank ATM Model SB-5000
Version: 1.0
Test Plan Version: 1.0
Date: October 19, 2025
Test Methodology: Pairwise Combinatorial Testing
1. Executive Summary
This test plan uses Pairwise Independent Combinatorial Testing (PICT) to efficiently test the ATM system with comprehensive coverage while minimizing the number of test cases. The approach reduces test cases by approximately 85% compared to exhaustive testing while maintaining high coverage of parameter interactions.
Key Statistics:
- Total Test Cases Generated: 31
- Parameters Tested: 8
- Total Possible Combinations: 25,920 (exhaustive)
- Pairwise Test Cases: 31 (99.88% reduction)
- Constraints Applied: 16 business rules
- Coverage Level: All 2-way (pairwise) parameter interactions
2. PICT Model
The following model defines all parameters, their values, and business
### gearbox-specification.md
Automotive Gearbox Control System - Specification
1. System Overview
The Automotive Gearbox Control System is an electronic control unit (ECU) that manages gear shifting in a semi-automatic transmission. The system monitors vehicle conditions and driver inputs to determine optimal gear selection and execute smooth gear changes.
2. System Components
2.1 Input Sensors
- Vehicle Speed Sensor: Measures current speed (0-200 km/h)
- Engine RPM Sensor: Measures engine revolutions (0-7000 RPM)
- Throttle Position Sensor: Measures accelerator pedal position (0-100%)
- Brake Pressure Sensor: Detects brake application
- Clutch Position Sensor: Monitors clutch engagement state
- Gear Position Sensor: Detects current gear (N, 1-6, R)
2.2 Driver Controls
- Gear Selector: Manual, Sport, Eco modes
- Shift Paddles: Manual up/down shift requests
- Clutch Pedal: Manual clutch control (if applicable)
2.3 Outputs
- Gear Actuator: Mechanical
### gearbox-test-plan.md
Automotive Gearbox Control System - PICT Test Plan
Test Plan Overview
This test plan uses Pairwise Independent Combinatorial Testing (PICT) to generate comprehensive test cases for the Automotive Gearbox Control System with minimal test execution while ensuring complete coverage of all critical parameter interactions.
Test Parameters Analysis
Based on the specification analysis, the following parameters have been identified:
Core Parameters
- Operating Mode: Manual, Sport, Eco
- Current Gear: Park, Neutral, Reverse, 1st, 2nd, 3rd, 4th, 5th, 6th
- Vehicle Speed: Stopped, Low (1-30 km/h), Medium (31-80 km/h), High (81-150 km/h), VeryHigh (151-200 km/h)
- Engine RPM: Idle (<1000), Low (1000-2500), Normal (2500-4500), High (4500-6500), RedLine (>6500)
- Throttle Position: Closed (0-10%), Light (11-40%), Medium (41-80%), Heavy (81-100%)
- Brake Status: NotApplied, Light, Hard
- Shift Request: None, PaddleUp, PaddleDown, Automatic
- **Temp