### Create a new example branch Source: https://github.com/omkamal/pypict-claude-skill/blob/main/CONTRIBUTING.md Initial step for starting a new example contribution. ```bash git checkout -b example/api-testing ``` -------------------------------- ### Initialize example directory Source: https://github.com/omkamal/pypict-claude-skill/blob/main/CONTRIBUTING.md Create the directory structure for new example files. ```bash mkdir examples/api-testing # Create your specification, model, and test plan ``` -------------------------------- ### Update example documentation Source: https://github.com/omkamal/pypict-claude-skill/blob/main/CONTRIBUTING.md Add a description for the new example in the README. ```markdown ## API Testing Example Demonstrates PICT testing for REST API endpoints... ``` -------------------------------- ### Clone Full Repository Source: https://github.com/omkamal/pypict-claude-skill/blob/main/releases/README.md Command to install the complete package including examples and documentation. ```bash git clone https://github.com/omkamal/pypict-claude-skill.git ~/.claude/skills/pict-test-designer ``` -------------------------------- ### Commit example changes Source: https://github.com/omkamal/pypict-claude-skill/blob/main/CONTRIBUTING.md Stage and commit the new example files and documentation updates. ```bash git add examples/api-testing/ git add examples/README.md git commit -m "Add REST API testing example" ``` -------------------------------- ### Example Directory Structure Source: https://github.com/omkamal/pypict-claude-skill/blob/main/CONTRIBUTING.md The required file structure for adding new examples to the project. ```text examples/ ├── your-example-name/ │ ├── README.md # Overview and learning points │ ├── specification.md # Original requirements │ ├── pict-model.txt # Generated PICT model │ └── test-plan.md # Complete test plan └── README.md # Update to list your example ``` -------------------------------- ### Install PICT locally Source: https://github.com/omkamal/pypict-claude-skill/blob/main/QUICKSTART.md Commands to install PICT on different operating systems. ```bash # Windows: Download from GitHub # https://github.com/microsoft/pict/releases # Linux/Mac: Use pypict pip install pypict ``` -------------------------------- ### Create a documentation branch Source: https://github.com/omkamal/pypict-claude-skill/blob/main/CONTRIBUTING.md Initial step for starting a documentation improvement. ```bash git checkout -b docs/clarify-installation ``` -------------------------------- ### Verify Installation Source: https://github.com/omkamal/pypict-claude-skill/blob/main/releases/README.md Prompts to verify the skill is active and functional. ```text Do you have access to the pict-test-designer skill? ``` ```text Design test cases for a login function with username, password, and remember me checkbox. ``` -------------------------------- ### Install from GitHub Manually Source: https://github.com/omkamal/pypict-claude-skill/blob/main/README.md Clone the repository into either the personal or project-specific skills directory. ```bash # 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 ``` ```bash # 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" ``` -------------------------------- ### Test Installation via CLI Source: https://github.com/omkamal/pypict-claude-skill/blob/main/PUBLISHING.md Command to verify the skill installation using the Claude Code CLI. ```bash claude code config add-skill \ --name pict-test-designer \ --source github \ --repo YOUR_USERNAME/pypict-claude-skill ``` -------------------------------- ### Clone and Setup Repository Source: https://github.com/omkamal/pypict-claude-skill/blob/main/CONTRIBUTING.md Commands to clone a fork and configure the upstream remote repository. ```bash git clone https://github.com/yourusername/pypict-claude-skill.git cd pypict-claude-skill ``` ```bash git remote add upstream https://github.com/originalowner/pypict-claude-skill.git ``` -------------------------------- ### Install via Claude Code Plugin Marketplace Source: https://github.com/omkamal/pypict-claude-skill/blob/main/README.md Use the Claude Code CLI to add and install the skill directly from the marketplace. ```bash # Add the marketplace /plugin marketplace add omkamal/pypict-claude-skill # Install the plugin /plugin install pict-test-designer@pypict-claude-skill ``` -------------------------------- ### Push example branch Source: https://github.com/omkamal/pypict-claude-skill/blob/main/CONTRIBUTING.md Upload the new branch to the remote repository. ```bash git push origin example/api-testing ``` -------------------------------- ### Install pypict dependency Source: https://github.com/omkamal/pypict-claude-skill/blob/main/scripts/README.md Install the required pypict package for script functionality. ```bash pip install pypict --break-system-packages ``` -------------------------------- ### Install Minimal Package via Bash Source: https://github.com/omkamal/pypict-claude-skill/blob/main/releases/README.md Commands to download and install the minimal package for personal or project-specific use on Unix-like systems. ```bash # Download the ZIP wget https://github.com/omkamal/pypict-claude-skill/raw/main/releases/pict-test-designer-minimal.zip # Extract and install unzip pict-test-designer-minimal.zip mv pict-test-designer-minimal ~/.claude/skills/pict-test-designer # Restart Claude Code ``` ```bash # Download the ZIP wget https://github.com/omkamal/pypict-claude-skill/raw/main/releases/pict-test-designer-minimal.zip # Extract and install unzip pict-test-designer-minimal.zip mv pict-test-designer-minimal .claude/skills/pict-test-designer # Restart Claude Code ``` -------------------------------- ### Install PICT Test Designer Locally Source: https://github.com/omkamal/pypict-claude-skill/blob/main/QUICKSTART.md Clones the repository into the local project directory for project-specific availability. ```bash # From your project directory git clone https://github.com/omkamal/pypict-claude-skill.git .claude/skills/pict-test-designer # Restart Claude Code - the skill is available in this project only ``` -------------------------------- ### Download Minimal Package Source: https://github.com/omkamal/pypict-claude-skill/blob/main/README.md Download and extract the minimal release package for local installation. ```bash # 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 ``` -------------------------------- ### Install via Git Submodule Source: https://github.com/omkamal/pypict-claude-skill/blob/main/README.md Manage the skill as a git submodule for team sharing and version control. ```bash # 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 # Or if already cloned: git submodule update --init --recursive ``` -------------------------------- ### Create a Feature Branch Source: https://github.com/omkamal/pypict-claude-skill/blob/main/CONTRIBUTING.md Examples of descriptive branch naming conventions for different types of contributions. ```bash git checkout -b feature/add-ecommerce-example # or git checkout -b fix/typo-in-readme # or git checkout -b docs/improve-installation-guide ``` -------------------------------- ### Install Minimal Package via PowerShell Source: https://github.com/omkamal/pypict-claude-skill/blob/main/releases/README.md Command to download the minimal package on Windows systems. ```powershell # Download manually or use: Invoke-WebRequest -Uri "https://github.com/omkamal/pypict-claude-skill/raw/main/releases/pict-test-designer-minimal.zip" -OutFile "pict-test-designer-minimal.zip" # Extract to: # Personal: %USERPROFILE%\.claude\skills\pict-test-designer\ # Project: .claude\skills\pict-test-designer\ ``` -------------------------------- ### Install PICT Test Designer Globally Source: https://github.com/omkamal/pypict-claude-skill/blob/main/QUICKSTART.md Clones the repository into the personal Claude skills directory for use across all projects. ```bash # Clone to your personal skills directory git clone https://github.com/omkamal/pypict-claude-skill.git ~/.claude/skills/pict-test-designer # Restart Claude Code - the skill is now available in all projects ``` -------------------------------- ### PICT Constraint Examples Source: https://github.com/omkamal/pypict-claude-skill/blob/main/references/pict_syntax.md Common patterns for implementing constraints, including simple logic, multiple conditions, and set membership. ```text # Simple constraint IF [OS] = "MacOS" THEN [Browser] <> "IE"; # Multiple conditions IF [Environment] = "Production" AND [LogLevel] = "Debug" THEN [Approved] = "False"; # Set membership IF [UserRole] = "Guest" THEN [Permission] IN {Read, None}; ``` -------------------------------- ### Commit Message Examples Source: https://github.com/omkamal/pypict-claude-skill/blob/main/CONTRIBUTING.md Comparison of descriptive versus non-descriptive commit messages. ```bash # Good git commit -m "Add e-commerce checkout testing example" git commit -m "Fix typo in installation instructions" git commit -m "Improve constraint generation for negative testing" # Not ideal git commit -m "Update files" git commit -m "Fix stuff" git commit -m "WIP" ``` -------------------------------- ### Define PICT configuration Source: https://github.com/omkamal/pypict-claude-skill/blob/main/scripts/README.md Example JSON structure for defining parameters and constraints in a PICT model. ```json { "parameters": { "Browser": ["Chrome", "Firefox", "Safari"], "OS": ["Windows", "MacOS", "Linux"], "Memory": ["4GB", "8GB", "16GB"] }, "constraints": [ "IF [OS] = \"MacOS\" THEN [Browser] <> \"IE\"", "IF [Memory] = \"4GB\" THEN [OS] <> \"MacOS\"" ] } ``` -------------------------------- ### PICT Model Definition Source: https://github.com/omkamal/pypict-claude-skill/blob/main/QUICKSTART.md Example of a PICT model defining parameters and constraints for a login system. ```text Email: Valid, Invalid, Empty Password: Valid, Invalid, Empty TwoFactorAuth: Enabled, Disabled RememberMe: Checked, Unchecked FailedAttempts: 0, 1, 2, 3 IF [FailedAttempts] = "3" THEN [Email] = "Valid"; ``` -------------------------------- ### Run ATM example in Claude Code Source: https://github.com/omkamal/pypict-claude-skill/blob/main/README.md Execute this command within Claude Code to generate test cases based on the provided ATM specification file. ```bash # In Claude Code Ask: "Use the pict-test-designer skill to analyze the ATM specification in examples/atm-specification.md and generate test cases" ``` -------------------------------- ### Request Test Case Generation Source: https://github.com/omkamal/pypict-claude-skill/blob/main/QUICKSTART.md Example prompt to provide system requirements to Claude for test case design. ```text I need to test a login function with these requirements: - Users can login with email and password - Support for 2FA (enabled/disabled) - "Remember me" checkbox option - Rate limiting after 3 failed attempts Can you design test cases using the pict-test-designer skill? ``` -------------------------------- ### Download Full Repository Source: https://github.com/omkamal/pypict-claude-skill/blob/main/README.md Extract the full repository ZIP file into the appropriate skills directory. ```bash # 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-claude-skill-main.zip mv pypict-claude-skill-main .claude/skills/pict-test-designer ``` -------------------------------- ### Initialize Local Git Repository Source: https://github.com/omkamal/pypict-claude-skill/blob/main/PUBLISHING.md Commands to initialize a new Git repository and create the initial commit in the project directory. ```bash cd /path/to/pypict-claude-skill # Initialize git repository git init # Add all files git add . # Create initial commit git commit -m "Initial commit: PICT Test Designer skill v1.0.0" ``` -------------------------------- ### Push to GitHub Source: https://github.com/omkamal/pypict-claude-skill/blob/main/PUBLISHING.md Commands to set the main branch and push the local repository to GitHub. ```bash # Push to main branch (or master if using older git) git branch -M main git push -u origin main ``` -------------------------------- ### Design System Configuration Test Cases Source: https://github.com/omkamal/pypict-claude-skill/blob/main/QUICKSTART.md Prompt to generate test cases for system deployment configurations with specific constraints. ```text Test our application deployment with: - Environment: Dev, Staging, Production - Database: MySQL, PostgreSQL, SQLite - Cache: Enabled/Disabled - SSL: Enabled/Disabled - Log Level: Debug, Info, Error With the constraint: Production must not use SQLite or Debug logging ``` -------------------------------- ### Define Configuration Test Parameters Source: https://github.com/omkamal/pypict-claude-skill/blob/main/SKILL.md Configures environment and system settings with constraints to ensure valid combinations. ```python parameters = { "Environment": ["Dev", "Staging", "Production"], "CacheEnabled": ["True", "False"], "LogLevel": ["Debug", "Info", "Error"], "Database": ["SQLite", "PostgreSQL", "MySQL"] } constraints = [ 'IF [Environment] = "Production" THEN [LogLevel] <> "Debug"', 'IF [Database] = "SQLite" THEN [Environment] = "Dev"' ] ``` -------------------------------- ### Execute pict_helper.py commands Source: https://github.com/omkamal/pypict-claude-skill/blob/main/scripts/README.md Commands to generate models, format output, and parse results using the helper script. ```bash python pict_helper.py generate config.json > model.txt ``` ```bash python pict_helper.py format output.txt ``` ```bash python pict_helper.py parse output.txt ``` -------------------------------- ### Update README URLs Source: https://github.com/omkamal/pypict-claude-skill/blob/main/PUBLISHING.md Instructions and commands for updating placeholder URLs in the README file. ```bash # Edit README.md and replace all instances of: # "yourusername" with your actual GitHub username # For example, change: # https://github.com/yourusername/pypict-claude-skill # to: # https://github.com/YOUR_ACTUAL_USERNAME/pypict-claude-skill ``` ```bash git add README.md git commit -m "Update URLs with actual GitHub username" git push origin main ``` -------------------------------- ### Generate PICT Model with Python Source: https://github.com/omkamal/pypict-claude-skill/blob/main/SKILL.md Programmatically construct a PICT model string from a dictionary of parameters and a list of constraint rules. ```python # Define parameters and constraints parameters = { "OS": ["Windows", "Linux", "MacOS"], "Browser": ["Chrome", "Firefox", "Safari"], "Memory": ["4GB", "8GB", "16GB"] } constraints = [ 'IF [OS] = "MacOS" THEN [Browser] IN {Safari, Chrome}', 'IF [Memory] = "4GB" THEN [OS] <> "MacOS"' ] # Generate model text model_lines = [] for param_name, values in parameters.items(): values_str = ", ".join(values) model_lines.append(f"{param_name}: {values_str}") if constraints: model_lines.append("") for constraint in constraints: if not constraint.endswith(';'): constraint += ';' model_lines.append(constraint) model_text = "\n".join(model_lines) print(model_text) ``` -------------------------------- ### Release Description Template Source: https://github.com/omkamal/pypict-claude-skill/blob/main/PUBLISHING.md Markdown content for the initial release description on GitHub. ```markdown ## 🎉 Initial Release First public release of the PICT Test Designer skill for Claude! ### Features - Complete PICT-based test case generation - Comprehensive ATM system example - Installation guides for Claude Code CLI and Desktop - Full documentation and examples ### Highlights - Reduces test cases by 99%+ while maintaining coverage - Easy integration with Claude Code - Real-world examples included ### Credits Built on Microsoft PICT and pypict by Kenichi Maehashi ``` -------------------------------- ### Commit and push documentation changes Source: https://github.com/omkamal/pypict-claude-skill/blob/main/CONTRIBUTING.md Finalize and upload documentation updates. ```bash git commit -m "Clarify installation steps for Windows users" git push origin docs/clarify-installation ``` -------------------------------- ### Generate PICT Model Configuration Source: https://github.com/omkamal/pypict-claude-skill/blob/main/README.md Defines parameters and constraints for pairwise testing models. Ensure constraints follow the specified IF-THEN syntax. ```text # Parameters Browser: Chrome, Firefox, Safari OS: Windows, MacOS, Linux Memory: 4GB, 8GB, 16GB # Constraints IF [OS] = "MacOS" THEN [Browser] <> "IE"; IF [Memory] = "4GB" THEN [OS] <> "MacOS"; ``` -------------------------------- ### Commit and Tag Repository Updates Source: https://github.com/omkamal/pypict-claude-skill/blob/main/PUBLISHING.md Use these commands to stage changes, commit them, and create a version tag for new releases. ```bash # Make your changes git add . git commit -m "Description of changes" git push origin main # For new releases git tag -a v1.1.0 -m "Version 1.1.0" git push origin v1.1.0 ``` -------------------------------- ### Connect to GitHub Remote Source: https://github.com/omkamal/pypict-claude-skill/blob/main/PUBLISHING.md Commands to link the local repository to a GitHub remote and verify the connection. ```bash # Add remote repository git remote add origin https://github.com/YOUR_USERNAME/pypict-claude-skill.git # Verify remote is set correctly git remote -v ``` -------------------------------- ### Repository Directory Tree Source: https://github.com/omkamal/pypict-claude-skill/blob/main/STRUCTURE.md Visual representation of the project's file hierarchy. ```text pypict-claude-skill/ ├── .github/ # GitHub configuration │ ├── ISSUE_TEMPLATE/ # Issue templates │ │ ├── bug_report.md # Bug report template │ │ └── feature_request.md # Feature request template │ ├── workflows/ # GitHub Actions │ │ └── ci.yml # CI workflow for validation │ ├── markdown-link-check-config.json # Link checker config │ └── pull_request_template.md # PR template │ ├── examples/ # Real-world examples │ ├── README.md # Examples overview │ ├── atm-specification.md # ATM system specification │ └── atm-test-plan.md # Complete ATM test plan (31 test cases) │ ├── references/ # Reference documentation │ ├── pict_syntax.md # PICT syntax reference (placeholder) │ └── examples.md # PICT examples reference (placeholder) │ ├── scripts/ # Helper scripts │ ├── README.md # Scripts documentation │ └── pict_helper.py # Python utilities for PICT │ ├── .gitignore # Git ignore rules ├── CHANGELOG.md # Version history ├── CONTRIBUTING.md # Contribution guidelines ├── LICENSE # MIT License with attributions ├── PUBLISHING.md # Guide to publish on GitHub ├── QUICKSTART.md # Quick start guide ├── README.md # Main documentation └── SKILL.md # Skill definition for Claude ``` -------------------------------- ### Generate test cases for a login function Source: https://github.com/omkamal/pypict-claude-skill/blob/main/README.md Use this prompt in Claude to initiate test case generation for a specific feature. ```text Design test cases for a login function with username, password, and remember me checkbox. ``` -------------------------------- ### Define PICT Parameters Source: https://github.com/omkamal/pypict-claude-skill/blob/main/references/pict_syntax.md Standard syntax for declaring a parameter and its associated values. ```text ParameterName: Value1, Value2, Value3, ... ``` -------------------------------- ### Define PICT Model Structure Source: https://github.com/omkamal/pypict-claude-skill/blob/main/SKILL.md Standard syntax for defining parameters and constraints in a PICT model file. ```text # Parameter definitions ParameterName: Value1, Value2, Value3 # Constraints (if any) IF [Parameter1] = "Value" THEN [Parameter2] <> "OtherValue"; ``` -------------------------------- ### Analyze Gearbox Specification with PICT Source: https://github.com/omkamal/pypict-claude-skill/blob/main/examples/README.md Use this prompt to instruct the pict-test-designer skill to generate test cases for specific sections of the gearbox specification. ```text Using the pict-test-designer skill, analyze the gearbox specification and generate test cases for the safety features section ``` -------------------------------- ### Define API Endpoint Test Parameters Source: https://github.com/omkamal/pypict-claude-skill/blob/main/SKILL.md Sets up parameters for testing API endpoints, including authentication and payload constraints. ```python parameters = { "HTTPMethod": ["GET", "POST", "PUT", "DELETE"], "Authentication": ["Valid", "Invalid", "Missing"], "ContentType": ["JSON", "XML", "FormData"], "PayloadSize": ["Empty", "Small", "Large"] } constraints = [ 'IF [HTTPMethod] = "GET" THEN [PayloadSize] = "Empty"', 'IF [Authentication] = "Missing" THEN [HTTPMethod] IN {GET, POST}' ] ``` -------------------------------- ### Git Workflow Commands Source: https://github.com/omkamal/pypict-claude-skill/blob/main/README.md Standard sequence of Git commands for contributing to the repository. ```bash git checkout -b feature/amazing-feature ``` ```bash git commit -m 'Add amazing feature' ``` ```bash git push origin feature/amazing-feature ``` -------------------------------- ### Analyze ATM Specification Source: https://github.com/omkamal/pypict-claude-skill/blob/main/QUICKSTART.md Prompt to analyze an existing ATM specification file for test coverage. ```text Using the pict-test-designer skill, analyze the ATM specification in examples/atm-specification.md and show me the test coverage ``` -------------------------------- ### Define Basic PICT Model Structure Source: https://github.com/omkamal/pypict-claude-skill/blob/main/references/pict_syntax.md Defines parameters and optional constraints for a combinatorial test model. ```text # Parameters ParameterName: Value1, Value2, Value3 AnotherParameter: ValueA, ValueB, ValueC # Constraints (optional) IF [ParameterName] = "Value1" THEN [AnotherParameter] <> "ValueA"; ``` -------------------------------- ### Simple Function Testing PICT Model Source: https://github.com/omkamal/pypict-claude-skill/blob/main/SKILL.md Defines parameters for a division function, including boundary values and a constraint to handle division by zero. ```PICT Dividend: -10, 0, 10, 1000 Divisor: ~0, -5, 1, 5, 100 IF [Divisor] = "0" THEN [Dividend] = "10"; ``` -------------------------------- ### Design Web Form Test Cases Source: https://github.com/omkamal/pypict-claude-skill/blob/main/QUICKSTART.md Prompt to generate test cases for a registration form with specific validation rules. ```text Design test cases for a registration form with: - Name (required, max 50 chars) - Email (required, must be valid format) - Phone (optional, 10 digits) - Country (dropdown with 5 options) - Terms checkbox (required) ``` -------------------------------- ### Generate ATM Security Test Cases Source: https://github.com/omkamal/pypict-claude-skill/blob/main/examples/README.md Use this prompt to instruct the PICT test designer skill to analyze a specification and generate test cases specifically for security requirements. ```text Using the pict-test-designer skill, analyze the ATM specification and generate test cases for the security requirements ``` -------------------------------- ### Define PICT Constraints Source: https://github.com/omkamal/pypict-claude-skill/blob/main/references/pict_syntax.md General syntax for conditional logic within a PICT model. ```text IF THEN ; ``` -------------------------------- ### Pull Request Template Source: https://github.com/omkamal/pypict-claude-skill/blob/main/CONTRIBUTING.md The standard markdown format for submitting a pull request description. ```markdown ## Description Brief description of what this PR does ## Type of Change - [ ] Bug fix - [ ] New feature - [ ] Documentation update - [ ] Example addition ## Testing How was this tested? ## Related Issues Fixes #123 ``` -------------------------------- ### PICT Model Structure Source: https://github.com/omkamal/pypict-claude-skill/blob/main/SKILL.md Standard template for defining parameters and constraints in a PICT model. ```text # Parameters Parameter1: Value1, Value2, Value3 Parameter2: ValueA, ValueB # Constraints IF [Parameter1] = "Value1" THEN [Parameter2] = "ValueA"; ``` -------------------------------- ### Define Web Form Test Parameters Source: https://github.com/omkamal/pypict-claude-skill/blob/main/SKILL.md Defines input fields and conditional constraints for testing web form validation logic. ```python parameters = { "Name": ["Valid", "Empty", "TooLong"], "Email": ["Valid", "Invalid", "Empty"], "Password": ["Strong", "Weak", "Empty"], "Terms": ["Accepted", "NotAccepted"] } constraints = [ 'IF [Terms] = "NotAccepted" THEN [Name] = "Valid"', # Test validation even if terms not accepted ] ``` -------------------------------- ### Design API Endpoint Test Cases Source: https://github.com/omkamal/pypict-claude-skill/blob/main/QUICKSTART.md Prompt to generate test cases for a REST API endpoint with authentication and format requirements. ```text I need to test a REST API endpoint that: - Accepts GET, POST, PUT, DELETE methods - Requires authentication (valid token, invalid token, missing token) - Returns JSON, XML, or error - Has rate limiting Design test cases. ``` -------------------------------- ### Define PICT dependency and exclusion constraints Source: https://github.com/omkamal/pypict-claude-skill/blob/main/references/examples.md Use these patterns to enforce logical relationships and restrictions between model parameters. ```text # Dependency constraints IF [FeatureA] = "Enabled" THEN [FeatureB] = "Enabled"; # Exclusive options IF [PaymentMethod] = "Cash" THEN [InstallmentPlan] = "None"; # Platform limitations IF [OS] = "iOS" THEN [Browser] IN {Safari, Chrome}; # Environment restrictions IF [Environment] = "Production" THEN [LogLevel] <> "Debug"; ``` -------------------------------- ### Define ATM System PICT Model Source: https://github.com/omkamal/pypict-claude-skill/blob/main/examples/atm-test-plan.md Defines the parameters and business logic constraints for the ATM system to be used by the PICT tool. ```text # ATM System Test Model # Based on SecureBank ATM Model SB-5000 Specification v1.0 # Parameters TransactionType: Withdrawal, Deposit, BalanceInquiry, Transfer, PINChange CardType: EMVChip, MagStripe, Invalid PINStatus: Valid, Invalid_1st, Invalid_2nd, Invalid_3rd AccountType: Checking, Savings, Both TransactionAmount: Within_Limit, At_Max_Transaction, Exceeds_Transaction, Exceeds_Daily CashAvailability: Sufficient, Insufficient, Empty NetworkStatus: Connected_Primary, Connected_Backup, Disconnected CardCondition: Good, Damaged, Expired # Constraints based on ATM business rules # Invalid cards cannot complete transactions IF [CardType] = "Invalid" THEN [TransactionType] = "Withdrawal" IF [CardType] = "Invalid" THEN [PINStatus] = "Valid" # Balance inquiry doesn't need cash or specific amounts IF [TransactionType] = "BalanceInquiry" THEN [TransactionAmount] = "Within_Limit" IF [TransactionType] = "BalanceInquiry" THEN [CashAvailability] = "Sufficient" # PIN change doesn't need cash or specific amounts IF [TransactionType] = "PINChange" THEN [TransactionAmount] = "Within_Limit" IF [TransactionType] = "PINChange" THEN [CashAvailability] = "Sufficient" # Deposits don't check cash availability in dispenser IF [TransactionType] = "Deposit" THEN [CashAvailability] = "Sufficient" # Transfer doesn't need cash from dispenser IF [TransactionType] = "Transfer" THEN [CashAvailability] = "Sufficient" # Withdrawals require checking cash and transaction limits IF [TransactionType] = "Withdrawal" AND [CashAvailability] = "Empty" THEN [TransactionAmount] = "Within_Limit" # After 3rd invalid PIN, card should be retained regardless of transaction IF [PINStatus] = "Invalid_3rd" THEN [TransactionType] = "Withdrawal" # Damaged or expired cards should fail before PIN validation IF [CardCondition] = "Damaged" THEN [PINStatus] = "Valid" IF [CardCondition] = "Expired" THEN [PINStatus] = "Valid" # Network disconnection affects all transaction types similarly IF [NetworkStatus] = "Disconnected" THEN [TransactionType] IN {Withdrawal, Deposit, Transfer} # Amount constraints only apply to withdrawal and deposit IF [TransactionAmount] = "Exceeds_Daily" THEN [TransactionType] IN {Withdrawal, Deposit} IF [TransactionAmount] = "Exceeds_Transaction" THEN [TransactionType] IN {Withdrawal, Deposit} IF [TransactionAmount] = "At_Max_Transaction" THEN [TransactionType] IN {Withdrawal, Deposit} ``` -------------------------------- ### Define PICT boundary value patterns Source: https://github.com/omkamal/pypict-claude-skill/blob/main/references/examples.md Apply these patterns to test numeric, size, and temporal edge cases within your model. ```text # Numeric boundaries Age: 0, 17, 18, 64, 65, 100 # Size categories FileSize: 0KB, 1KB, 1MB, 100MB, 1GB # Time periods Duration: 0s, 1s, 30s, 60s, 3600s ``` -------------------------------- ### Define Gearbox PICT Model Source: https://github.com/omkamal/pypict-claude-skill/blob/main/examples/gearbox-test-plan.md Defines the operating parameters and conditional constraints for gearbox state transitions and safety logic. ```pict # Core Operating Parameters OperatingMode: Manual, Sport, Eco CurrentGear: Park, Neutral, Reverse, 1st, 2nd, 3rd, 4th, 5th, 6th VehicleSpeed: Stopped, Low, Medium, High, VeryHigh EngineRPM: Idle, Low, Normal, High, RedLine ThrottlePosition: Closed, Light, Medium, Heavy BrakeStatus: NotApplied, Light, Hard ShiftRequest: None, PaddleUp, PaddleDown, Automatic Temperature: Cold, Normal, Warm, Critical RoadCondition: Dry, Wet, Ice Incline: Flat, UpHill, DownHill SensorStatus: AllOK, SpeedFail, RPMFail, ThrottleFail, MultipleFail HydraulicPressure: Normal, Low, Critical # Constraint 1: Park/Neutral only valid when stopped IF [CurrentGear] = "Park" THEN [VehicleSpeed] = "Stopped"; IF [CurrentGear] = "Neutral" AND [ShiftRequest] <> "None" THEN [VehicleSpeed] = "Stopped"; # Constraint 2: Reverse requires vehicle stopped IF [CurrentGear] = "Reverse" AND [ShiftRequest] = "None" THEN [VehicleSpeed] IN {Stopped, Low}; IF [ShiftRequest] = "PaddleDown" AND [CurrentGear] = "1st" THEN [VehicleSpeed] = "Stopped"; # Constraint 3: Engine RPM correlates with vehicle speed and gear IF [VehicleSpeed] = "Stopped" THEN [EngineRPM] IN {Idle, Low}; IF [VehicleSpeed] = "VeryHigh" THEN [EngineRPM] IN {Normal, High, RedLine}; IF [CurrentGear] IN {Park, Neutral} THEN [EngineRPM] IN {Idle, Low, Normal}; # Constraint 4: Throttle and brake are mutually exclusive (mostly) IF [BrakeStatus] = "Hard" THEN [ThrottlePosition] IN {Closed, Light}; IF [ThrottlePosition] = "Heavy" THEN [BrakeStatus] = "NotApplied"; # Constraint 5: High gears require sufficient speed IF [CurrentGear] IN {5th, 6th} THEN [VehicleSpeed] IN {Medium, High, VeryHigh}; IF [CurrentGear] IN {5th, 6th} THEN [EngineRPM] <> "Idle"; # Constraint 6: Low gears limited to lower speeds IF [CurrentGear] = "1st" AND [VehicleSpeed] IN {High, VeryHigh} THEN [EngineRPM] = "RedLine"; IF [CurrentGear] = "2nd" AND [VehicleSpeed] = "VeryHigh" THEN [EngineRPM] IN {High, RedLine}; # Constraint 7: Shift requests must be appropriate for current gear IF [ShiftRequest] = "PaddleDown" AND [CurrentGear] = "1st" THEN [VehicleSpeed] = "Stopped"; IF [ShiftRequest] = "PaddleUp" AND [CurrentGear] = "6th" THEN [EngineRPM] <> "RedLine"; # Constraint 8: Critical temperature limits automatic shifting IF [Temperature] = "Critical" THEN [ShiftRequest] IN {None, PaddleUp, PaddleDown}; IF [Temperature] = "Critical" THEN [CurrentGear] IN {Neutral, 3rd}; # Constraint 9: Sensor failures affect operation IF [SensorStatus] = "MultipleFail" THEN [CurrentGear] = "3rd"; IF [SensorStatus] = "MultipleFail" THEN [ShiftRequest] = "None"; IF [SensorStatus] = "SpeedFail" THEN [ShiftRequest] IN {None, PaddleUp, PaddleDown}; # Constraint 10: Hydraulic pressure issues limit operation IF [HydraulicPressure] = "Critical" THEN [ShiftRequest] = "None"; IF [HydraulicPressure] = "Low" THEN [OperatingMode] <> "Sport"; # Constraint 11: Ice conditions require special handling IF [RoadCondition] = "Ice" THEN [ThrottlePosition] IN {Closed, Light, Medium}; IF [RoadCondition] = "Ice" AND [BrakeStatus] = "Hard" THEN [VehicleSpeed] IN {Stopped, Low}; # Constraint 12: Operating mode influences shift behavior IF [OperatingMode] = "Eco" AND [ThrottlePosition] = "Heavy" THEN [EngineRPM] IN {Idle, Low, Normal}; IF [OperatingMode] = "Sport" AND [ShiftRequest] = "Automatic" THEN [EngineRPM] IN {Normal, High, RedLine}; # Constraint 13: Cold temperature affects shifting IF [Temperature] = "Cold" THEN [OperatingMode] IN {Manual, Eco}; IF [Temperature] = "Cold" THEN [ShiftRequest] <> "Automatic"; # Constraint 14: Incline affects shift logic IF [Incline] = "UpHill" AND [CurrentGear] IN {5th, 6th} THEN [ThrottlePosition] IN {Medium, Heavy}; IF [Incline] = "DownHill" AND [BrakeStatus] IN {Light, Hard} THEN [EngineRPM] IN {Normal, High}; ``` -------------------------------- ### E-commerce Checkout PICT Model Source: https://github.com/omkamal/pypict-claude-skill/blob/main/SKILL.md Models checkout flow parameters with conditional constraints based on user type and shipping method. ```PICT PaymentMethod: CreditCard, PayPal, BankTransfer ShippingMethod: Standard, Express, Overnight UserType: Guest, Registered, Premium IF [UserType] = "Guest" THEN [PaymentMethod] <> "BankTransfer"; IF [UserType] = "Premium" AND [ShippingMethod] = "Express" THEN [PaymentMethod] IN {CreditCard, PayPal}; ``` -------------------------------- ### Define PICT negative testing patterns Source: https://github.com/omkamal/pypict-claude-skill/blob/main/references/examples.md Use these patterns to include invalid or error-prone inputs in the combinatorial test set. ```text # Invalid inputs (using ~ prefix in some PICT variants) Email: Valid, Invalid, Empty, TooLong Password: Strong, Weak, Empty, SpecialChars # Error conditions NetworkStatus: Connected, Slow, Disconnected, Timeout ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.