validate-counts
$
npx mdskill add yonatangross/orchestkit/validate-countsValidates component counts across project files to ensure consistency and flag discrepancies.
- Helps detect stale counts after adding or removing hooks, skills, or agents in OrchestKit.
- Integrates with Read, Bash, Grep, and Glob tools for file access and pattern matching.
- Decides by comparing counts from authoritative sources like source directories and manifests.
- Presents results as a comparison table with precise file references for drift detection.
SKILL.md
.github/skills/validate-countsView on GitHub ↗
---
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
# Full validation: counts src/ vs CLAUDE.md and manifests (run from repo root)
bash src/skills/validate-counts/scripts/validate-counts.sh
# Just get raw counts from src/
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
1. Run `scripts/validate-counts.sh` for full validation (counts + drift comparison), or `scripts/count-all.sh` for raw counts only
2. Read `CLAUDE.md` — extract counts from Project Overview and Version section
3. Read `manifests/ork.json` — check skill/agent/hook array lengths
4. Build the comparison table (see `rules/drift-reporting.md` for format)
5. 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
1. Counting from `plugins/` instead of `src/` — plugins/ may be empty after an interrupted build
2. Comparing against deleted alias manifests — only `manifests/ork.json` exists in v7
3. Forgetting the hook breakdown: global + agent-scoped + skill-scoped must sum to total
More from yonatangross/orchestkit
- agent-orchestrationAgent orchestration patterns for agentic loops, multi-agent coordination, alternative frameworks, and multi-scenario workflows. Use when building autonomous agent loops, coordinating multiple agents, evaluating CrewAI/AutoGen/Swarm, or orchestrating complex multi-step scenarios.
- ai-ui-generationAI-assisted UI generation patterns for json-render, v0, Bolt, and Cursor workflows. Covers prompt engineering for component generation, review checklists for AI-generated code, design token injection, refactoring for design system conformance, and CI gates for quality assurance. Use when generating UI components with AI tools, rendering multi-surface MCP visual output, reviewing AI-generated code, or integrating AI output into design systems.
- analyticsQuery cross-project usage analytics. Use when reviewing agent, skill, hook, or team performance across OrchestKit projects. Also replay sessions, estimate costs, and view model delegation trends.
- animation-motion-designAnimation and motion design patterns using Motion library (formerly Framer Motion) and View Transitions API. Use when implementing component animations, page transitions, micro-interactions, gesture-driven UIs, or ensuring motion accessibility with prefers-reduced-motion.
- architecture-patternsArchitecture validation and patterns for clean architecture, backend structure enforcement, project structure validation, test standards, and context-aware sizing. Use when designing system boundaries, enforcing layered architecture, validating project structure, defining test standards, or choosing the right architecture tier for project scope.
- ascii-visualizerASCII diagram patterns for architecture, workflows, file trees, and data visualizations. Use when creating terminal-rendered diagrams, box-drawing layouts, progress bars, swimlanes, or blast radius visualizations.
- assessAssesses and rates quality 0-10 with pros/cons analysis. Use when evaluating code, designs, or approaches.
- async-jobsAsync job processing patterns for background tasks, Celery workflows, task scheduling, retry strategies, and distributed task execution. Use when implementing background job processing, task queues, or scheduled task systems.
- audit-fullFull-codebase audit using 1M context window. Security, architecture, and dependency analysis in a single pass. Use when you need whole-project analysis.
- audit-skillsAudits all OrchestKit skills for quality, completeness, and compliance with authoring standards. Use when checking skill health, before releases, or after bulk skill edits to surface SKILL.md files that are too long, have missing frontmatter, lack rules/references, or are unregistered in manifests.