/health-check
Validate environment integrity across 18 structural and 12 semantic checks.
Validates that the AI ForgeKit environment is correctly structured and internally consistent. Reports PASS, WARN, or FAIL per check.
Trigger phrases#
/health-check, check environment health, is everything set up correctly,
validate my environment, run diagnostics, or after updating the environment.
Do NOT use for: checking game build status (use /build)
or reviewing code (use /review).
This skill is read-only#
/health-check validates and reports. It does not modify any files.
Two-layer validation#
Layer 1: Structural checks (18 checks, S1–S18)#
Run by a deterministic script that checks file existence, JSON validity, and naming conventions:
| ID | Check | Severity |
|---|---|---|
| S1 | CLAUDE.md exists in project root |
FAIL |
| S2 | .claude/settings.json parses as valid JSON |
FAIL |
| S3 | Each .claude/skills/*/ has a SKILL.md |
FAIL |
| S4 | Skill folder names are kebab-case | WARN |
| S5 | No README.md inside skill folders |
WARN |
| S6 | Each .claude/agents/*.md has name, description, maxTurns |
WARN |
| S7 | Docs/Design/index.md exists |
FAIL |
| S8 | Docs/Dev/index.md exists |
FAIL |
| S9 | Docs/Dev/Systems/ directory exists |
FAIL |
| S10 | Docs/_working/state/ directory exists |
WARN |
| S11 | Docs/_working/retro/ directory exists |
WARN |
| S12 | CLAUDE.md is under 250 lines |
WARN |
| S13 | Each .claude/rules/*.md is under 120 lines |
WARN |
| S14 | Each .claude/agents/*.md is under 80 lines |
WARN |
| S15 | Each SKILL.md is under 500 lines |
WARN |
| S16 | settings.json has a non-empty deny array |
WARN |
| S17 | settings.json denies .uasset and .umap edits |
FAIL |
| S18 | project-config.json is valid JSON (if it exists) |
WARN |
Layer 2: Semantic checks (12 checks, L1–L12)#
Performed by reading and analyzing file content after the script completes:
| ID | Check | Severity |
|---|---|---|
| L1 | All file paths referenced in CLAUDE.md exist on disk |
FAIL |
| L2 | Routing table covers bugs, features, code questions, build issues, reviews, design queries, memory commands | WARN |
| L3 | Routing entries use project-specific terms, not generic placeholders | WARN |
| L4 | No contradictory rules across rule files | FAIL |
| L5 | Docs/index.md retrieval guide matches actual files in Docs/Design/ and Docs/Dev/ |
WARN |
| L6 | System and design pages with "Last Updated" older than 30 days | WARN |
| L7 | Friction entries with 3+ occurrences and no corresponding proposal | WARN |
| L8 | state-save covers all 6 taxonomy categories and state-load reads all of them |
WARN |
| L9 | settings.json allows all tools referenced by agents and skills |
WARN |
| L10 | No agents or skills referenced in routing table whose files do not exist | FAIL |
| L11 | VCS rule file exists and lists dangerous commands | WARN |
| L12 | Binary asset deny rules and .claudeignore patterns are present |
WARN |
Output format#
## Health Check Report
Run: YYYY-MM-DD HH:MM UTC
Environment: [Project name]
### Summary
PASS: N/N checks passed
WARN: N warnings
FAIL: N failures
### Failures (action required)
- [FAIL] S17: settings.json does not deny .uasset edits
### Warnings
- [WARN] L6: Docs/Dev/Systems/Combat/overview.md last updated 45 days ago
### Recommendation
[Fix FAILs first, then address WARNs. Suggest /update if retro patterns found.]
Detailed information on any check is available on request. Ask "what does S17 mean" or "details on L6" after the report.
When to run#
- After installing AI ForgeKit (verify structure is correct)
- After running
/update(verify changes are consistent) - After modifying any
.claude/rule or agent files - When something seems wrong with agent behavior
- Periodically as a maintenance check
/health-check is the fastest way to confirm the environment is wired up
correctly before starting a complex task.