| name | validate-counts |
| description | Validates hook, skill, and agent counts are consistent across CLAUDE.md, hooks.json, manifests, and source directories. Use when counts may be stale after adding or removing components, before releases, or when CLAUDE.md Project Overview looks wrong. |
| tags | ["validation","consistency","orchestkit"] |
| version | 2.0.0 |
| author | OrchestKit |
| user-invocable | false |
| disable-model-invocation | true |
| context | inherit |
| allowed-tools | ["Read","Bash","Grep","Glob"] |
| complexity | low |
| persuasion-type | discipline |
| effort | low |
| model | haiku |
Validate Counts
Checks that hook, skill, and agent counts are consistent across all authoritative sources in OrchestKit. Outputs a comparison table and flags drift with precise file references.
Quick Start
bash src/skills/validate-counts/scripts/validate-counts.sh
bash src/skills/validate-counts/scripts/count-all.sh
Rules
| Category | Rule | Impact | Key Pattern |
|---|
| Count Sources | rules/sources-authoritative.md (load ${CLAUDE_SKILL_DIR}/rules/sources-authoritative.md) | HIGH | Filesystem is authoritative; derived sources must match |
| Drift Detection | rules/drift-reporting.md (load ${CLAUDE_SKILL_DIR}/rules/drift-reporting.md) | HIGH | Comparison table + flag with file:field references |
Total: 2 rules across 2 categories
Workflow
- Run
scripts/validate-counts.sh for full validation (counts + drift comparison), or scripts/count-all.sh for raw counts only
- Read
CLAUDE.md — extract counts from Project Overview and Version section
- Read
manifests/ork.json — check skill/agent/hook array lengths
- Build the comparison table (see
rules/drift-reporting.md for format)
- Flag any mismatches with file + field references; otherwise output "All counts consistent."
References
Load on demand with Read("${CLAUDE_SKILL_DIR}/references/<file>"):
| File | Content |
|---|
count-locations.md | Where every count lives and why drift happens |
Related Skills
release-checklist — Uses validate-counts as step 5 of the release gate
doctor — Broader health check that includes count validation
audit-skills — Quality audit for skill structure and completeness
Common Mistakes
- Counting from
plugins/ instead of src/ — plugins/ may be empty after an interrupted build
- Comparing against deleted alias manifests — only
manifests/ork.json exists in v7
- Forgetting the hook breakdown: global + agent-scoped + skill-scoped must sum to total