AgentStack
SKILL verified MIT Self-run

Version Checker

skill-matteocervelli-llms-version-checker · by matteocervelli

Check version compatibility, breaking changes, and security vulnerabilities

No reviews yet
0 installs
16 views
0.0% view→install

Install

$ agentstack add skill-matteocervelli-llms-version-checker

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Are you the author of Version Checker? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Version Checker Skill

Purpose

The Version Checker skill provides version compatibility analysis, breaking change detection, and security vulnerability scanning for Python dependencies. It validates version specifiers, checks for breaking changes between versions, and identifies security vulnerabilities in dependency versions.

Key Functions:

  • Parse and validate version specifiers (>=, ~=, ^, ==, etc.)
  • Check compatibility across Python versions
  • Detect breaking changes between package versions
  • Scan for security vulnerabilities
  • Recommend upgrade paths
  • Generate version compatibility reports

When to Use

Use this skill when you need to:

  • Validate version specifiers in dependency declarations
  • Check if new dependency versions are compatible with Python 3.11+
  • Detect breaking changes when upgrading dependencies
  • Scan dependencies for security vulnerabilities
  • Plan dependency upgrade strategies
  • Resolve version conflicts

Typical Scenarios:

  • Phase 2 design (version compatibility for PRP)
  • Dependency upgrade planning
  • Security vulnerability assessment
  • Version conflict resolution
  • Compatibility verification before installation

Workflow

1. Parse Version Specifiers

Action: Extract and validate version specifiers from dependency declarations

Version Specifier Types:

  • ==1.2.3 - Exact version match
  • >=1.0.0 - Minimum version (inclusive)
  • >1.0.0 - Minimum version (exclusive)
  • `=1.2.0, =1.0,=0.27.0" | grep -E '^[a-zA-Z0-9_-]+[>=0.27.0

Latest Stable: 0.27.2

Python Compatibility

✅ Python 3.11+ supported

  • httpx 0.27.0: Python >=3.8
  • httpx 0.27.2: Python >=3.8

Breaking Changes

0.25.0 → 0.27.0:

  • No breaking changes (minor version)
  • New features added
  • Bug fixes included

Recommendation: ✅ Safe to upgrade

Security Status

✅ No known vulnerabilities

  • Last security audit: 2024-10-15
  • Active maintenance
  • Regular security updates

Upgrade Path

# Recommended upgrade
pip install httpx==0.27.2

# Verification
python -c "import httpx; print(httpx.__version__)"

Installation Command

# Add to requirements.txt
httpx>=0.27.0

# Or pin to specific version
httpx==0.27.2

## Best Practices

### Version Selection

**Development Environment**:
- Use version ranges for flexibility: `package>=1.0,=1.0`
- Avoid overly restrictive bounds: `package>=1.0,=0.27.0

**Process**:
1. Check Python compatibility → httpx 0.27.0 supports Python 3.8+
2. Verify with Python 3.11+ → ✅ Compatible
3. Check for breaking changes → None (from 0.25.0 to 0.27.0)
4. Scan for vulnerabilities → None found
5. Recommend version → httpx==0.27.2 (latest stable)

**Output**:
```markdown
### httpx Compatibility

✅ **Python 3.11+ Compatible**
✅ **No Breaking Changes**
✅ **No Security Vulnerabilities**

**Recommended Version**: httpx==0.27.2

**Installation**:
```bash
pip install httpx==0.27.2

### Scenario 2: Detect Breaking Changes

**Input**: Upgrade pydantic from 1.10.0 to 2.5.0

**Process**:
1. Identify major version change → 1.x to 2.x
2. Parse release notes → List breaking changes
3. Check migration guide → Found at pydantic docs
4. Assess impact → High (API changes)
5. Recommend strategy → Use pydantic.v1 shim, migrate incrementally

**Output**:
```markdown
### pydantic 1.10.0 → 2.5.0 Upgrade

⚠️  **Major Version Change - Breaking Changes Expected**

**Breaking Changes**:
- BaseModel validation rewritten
- parse_obj() → model_validate()
- dict() → model_dump()
- Config class → ConfigDict
- Field() signature changes

**Migration Strategy**:
1. Install pydantic 2.5.0
2. Use compatibility shim during migration:
   ```python
   from pydantic.v1 import BaseModel  # Legacy code
   from pydantic import BaseModel     # New code
   ```
3. Migrate modules incrementally
4. Update tests alongside code
5. Remove shim when migration complete

**Resources**:
- [pydantic Migration Guide](https://docs.pydantic.dev/latest/migration/)

**Recommendation**: ⚠️  Plan 2-3 days for migration and testing

Scenario 3: Security Vulnerability Scan

Input: Check requests library for vulnerabilities

Process:

  1. Check current version → requests==2.28.0
  2. Query security database → Found CVE-2023-32681
  3. Check fixed version → 2.31.0+
  4. Assess severity → Medium (CVSS 6.5)
  5. Recommend upgrade → requests==2.32.0

Output:

### requests Security Scan

⚠️  **Vulnerability Detected**

**CVE**: CVE-2023-32681
**Severity**: Medium (CVSS 6.5)
**Affected**: requests /dev/null | grep -oP 'Available versions: \K[^,]+' | head -1)

    echo "$pkg: $line (latest: $latest)"
done  Tuple[int, int, int]:
    """Parse semantic version."""
    match = re.match(r'(\d+)\.(\d+)\.(\d+)', version)
    if match:
        return tuple(int(g) for g in match.groups())
    return (0, 0, 0)

def is_breaking_change(old: str, new: str) -> bool:
    """Check if version change is breaking (major version bump)."""
    old_ver = parse_version(old)
    new_ver = parse_version(new)
    return new_ver[0] > old_ver[0]

# Example usage
if is_breaking_change("1.10.0", "2.0.0"):
    print("⚠️  Breaking changes expected - major version bump")

Version: 2.0.0 Agent: @dependency-manager Phase: 2 (Design & Planning) Created: 2025-10-29

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.