check-version-consistency

Audits version consistency across project files. Checks composer.json, README, CHANGELOG, docs, and configuration files for version number synchronization.

59 stars

Best use case

check-version-consistency is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Audits version consistency across project files. Checks composer.json, README, CHANGELOG, docs, and configuration files for version number synchronization.

Teams using check-version-consistency should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/check-version-consistency/SKILL.md --create-dirs "https://raw.githubusercontent.com/dykyi-roman/awesome-claude-code/main/skills/check-version-consistency/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/check-version-consistency/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How check-version-consistency Compares

Feature / Agentcheck-version-consistencyStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Audits version consistency across project files. Checks composer.json, README, CHANGELOG, docs, and configuration files for version number synchronization.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Version Consistency Audit

Analyze project files for version number synchronization across all locations where version is referenced.

## Detection Patterns

### 1. composer.json vs README Version Mismatch

```json
// composer.json says:
{ "version": "2.10.0" }
```

```markdown
<!-- README.md says: -->
Current version: **2.9.0**   <!-- OUTDATED! -->
```

### 2. CHANGELOG Missing Latest Version

```markdown
<!-- CHANGELOG.md -->
## [2.9.0] - 2025-01-15
- Added feature X

<!-- Missing entry for 2.10.0! -->
```

### 3. Documentation References Old Version

```markdown
<!-- docs/getting-started.md -->
composer require vendor/package:^2.8
<!-- Should be ^2.10 -->
```

### 4. Component Count Mismatch

```markdown
<!-- README.md says: -->
| Skills | 200 |

<!-- docs/quick-reference.md says: -->
| Skills | 222 |

<!-- Out of sync! -->
```

## Verification Process

### Step 1: Find All Version References

```bash
# Version in composer.json
Grep: "\"version\"" --glob "composer.json"

# Version in README
Grep: "version|v[0-9]+\.[0-9]+\.[0-9]+" -i --glob "README.md"

# Version in CHANGELOG
Grep: "## \[" --glob "CHANGELOG.md"

# Version in docs
Grep: "version|v[0-9]+\.[0-9]+" -i --glob "docs/**/*.md"

# Version in configuration
Grep: "version" --glob "**/*.json" --glob "**/*.yaml" --glob "**/*.yml"
```

### Step 2: Extract Canonical Version

```bash
# Primary source of truth: composer.json or latest CHANGELOG entry
Read: composer.json
# Extract version field

# Or from git tags
# git describe --tags --abbrev=0
```

### Step 3: Cross-Check All Locations

For each location where version appears:
1. Extract the version number
2. Compare against canonical version
3. Report mismatches

### Step 4: Verify Component Counts

```bash
# Count actual components
Glob: commands/*.md      # Commands count
Glob: agents/*.md        # Agents count
Glob: skills/*/SKILL.md  # Skills count

# Check documented counts in all files
Grep: "commands.*[0-9]+|agents.*[0-9]+|skills.*[0-9]+" -i --glob "README.md"
Grep: "commands.*[0-9]+|agents.*[0-9]+|skills.*[0-9]+" -i --glob "docs/quick-reference.md"
Grep: "commands.*[0-9]+|agents.*[0-9]+|skills.*[0-9]+" -i --glob "composer.json"
```

### Step 5: Verify CHANGELOG Completeness

```bash
# Check CHANGELOG has entry for current version
Grep: "## \[" --glob "CHANGELOG.md"

# Check comparison links at bottom
Grep: "\[.*\]: https://.*compare" --glob "CHANGELOG.md"
```

## Files to Check

| File | What to Verify |
|------|---------------|
| `composer.json` | `version` field, `description` with counts |
| `README.md` | Version badges, component counts, install examples |
| `CHANGELOG.md` | Latest version section, comparison links |
| `docs/quick-reference.md` | Statistics table, version references |
| `llms.txt` | Quick Facts section, component counts |
| `CLAUDE.md` | Architecture section counts |
| `docs/*.md` | Version references in examples |

## Severity Classification

| Pattern | Severity |
|---------|----------|
| composer.json version wrong | 🔴 Critical |
| CHANGELOG missing latest version | 🔴 Critical |
| README version mismatch | 🟠 Major |
| Component count mismatch | 🟠 Major |
| Docs referencing old version | 🟡 Minor |
| Badge showing wrong version | 🟡 Minor |

## Output Format

```markdown
### Version Consistency: [Description]

**Severity:** 🔴/🟠/🟡
**Canonical Version:** X.Y.Z

**Mismatches Found:**

| File | Expected | Found | Line |
|------|----------|-------|------|
| `README.md` | 2.10.0 | 2.9.0 | 15 |
| `docs/guide.md` | ^2.10 | ^2.8 | 23 |

**Component Count Sync:**

| File | Commands | Agents | Skills | Status |
|------|----------|--------|--------|--------|
| Actual | 26 | 56 | 222 | Source |
| README.md | 26 | 56 | 222 | OK |
| composer.json | 26 | 56 | 200 | MISMATCH |

**Fix:**
Update all listed files to version X.Y.Z.
```

Related Skills

create-health-check

59
from dykyi-roman/awesome-claude-code

Generates Health Check pattern for PHP 8.4. Creates application-level health endpoints with component checkers (Database, Redis, RabbitMQ), status aggregation, and RFC-compliant JSON response. Includes unit tests.

create-docker-healthcheck

59
from dykyi-roman/awesome-claude-code

Generates Docker health check scripts for PHP services. Creates PHP-FPM, Nginx, and custom endpoint health checks.

create-api-versioning

59
from dykyi-roman/awesome-claude-code

Generates API Versioning pattern for PHP 8.4. Creates version resolution strategies (URI prefix, Accept header, query parameter), middleware, and deprecation support. Includes unit tests.

consistency-patterns-knowledge

59
from dykyi-roman/awesome-claude-code

Consistency Patterns knowledge base. Provides strong vs eventual consistency, idempotency keys, optimistic/pessimistic locking, conflict resolution, and saga compensation patterns for distributed systems audits.

check-xxe

59
from dykyi-roman/awesome-claude-code

Analyzes PHP code for XML External Entity vulnerabilities. Detects unsafe XML parsers, missing entity protection, LIBXML flags issues, XSLT attacks.

check-type-juggling

59
from dykyi-roman/awesome-claude-code

Detects PHP type juggling vulnerabilities. Identifies loose comparison with user input, in_array without strict mode, switch statement type coercion, and hash comparison bypasses.

check-timeout-strategy

59
from dykyi-roman/awesome-claude-code

Audits timeout configuration across HTTP clients, database connections, queue consumers, cache operations, and external service calls. Detects missing or misconfigured timeouts.

check-test-quality

59
from dykyi-roman/awesome-claude-code

Analyzes PHP test code quality. Checks test structure, assertion quality, test isolation, naming conventions, AAA pattern adherence.

check-ssrf

59
from dykyi-roman/awesome-claude-code

Analyzes PHP code for SSRF vulnerabilities. Detects unvalidated URLs, internal network access, DNS rebinding, cloud metadata access, URL parsing bypass attempts.

check-sql-injection

59
from dykyi-roman/awesome-claude-code

Analyzes PHP code for SQL injection vulnerabilities. Detects query concatenation, ORM misuse, raw queries, dynamic identifiers, prepared statement bypasses.

check-serialization

59
from dykyi-roman/awesome-claude-code

Analyzes PHP code for serialization overhead. Detects inefficient JSON encoding, large object hydration, missing JsonSerializable, circular reference issues.

check-sensitive-data

59
from dykyi-roman/awesome-claude-code

Analyzes PHP code for sensitive data exposure. Detects plaintext secrets, exposed credentials, PII in logs, insecure storage, hardcoded keys.