skills/validate-cookbook/SKILL.md
Validate cookbook integrity — frontmatter, cross-references, indexes, skills, rules, file placement. Run from cookbook or consuming project.
npx skillsauth add agentic-cookbook/tools validate-cookbookInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
If $ARGUMENTS is --version, respond with exactly:
validate-cookbook v1.0.1
Then stop. Do not continue with the rest of the skill.
Otherwise, print validate-cookbook v1.0.1 as the first line of output, then proceed.
Version check: Read ${CLAUDE_SKILL_DIR}/SKILL.md from disk and extract the version: field from frontmatter. If it differs from this skill's version (1.0.1), print:
Warning: This skill is running v1.0.1 but vA.B.C is installed. Restart the session to use the latest version.
Continue running — do not stop.
Validate the cookbook's integrity — frontmatter, cross-references, indexes, skills, rules, and file placement. Works from within the cookbook repo or from a consuming project.
/validate-cookbook # run all checks
/validate-cookbook --category frontmatter # run one category
/validate-cookbook --fix # auto-fix simple issues
--fix is explicitly specified.../agentic-cookbook/. Consumer checks are read-only always.Determine the operating mode:
../agentic-cookbook/ exists AND the current working directory is NOT inside the agentic-cookbook repo, set mode to consumer.principles/ and guidelines/ exist in the current working directory, set mode to cookbook.ERROR: Cannot detect cookbook. Run from the cookbook repo or a consuming project with ../agentic-cookbook/ adjacent.
Print: Mode: cookbook or Mode: consumer
Set $COOKBOOK_ROOT to the absolute path of the cookbook repo root (either . in cookbook mode or ../agentic-cookbook in consumer mode).
Parse $ARGUMENTS for these flags:
| Flag | Effect |
|------|--------|
| --category <name> | Run only the named category. Valid names: frontmatter, content, references, indexes, skills, placement, consumer |
| --fix | Enable auto-fix mode for simple issues |
| (none) | Run all categories |
If --category specifies an invalid name, print an error listing valid names and STOP.
If in consumer mode and no --category is specified, run only category 7 (Consumer Installation).
Read the full checklist from ${CLAUDE_SKILL_DIR}/references/validation-checks.md.
Count the total number of .md files under $COOKBOOK_ROOT/ (excluding rules/, skills/, agents/) using Glob.
Launch up to 3 agents in parallel. Each agent reads ${CLAUDE_SKILL_DIR}/references/validation-checks.md, receives the $COOKBOOK_ROOT path, and runs its assigned categories.
Agent 1 — Frontmatter & Content
Agent 2 — References & Indexes
Agent 3 — Skills, Placement & Consumer
If --category was specified, launch only the agent responsible for that category. Skip the others entirely.
Each agent returns results in this format per check:
[PASS] <ID> <check-name>: <brief summary>
[FAIL] <ID> <check-name>: <description of failure>
-> <file>: <specific issue>
[WARN] <ID> <check-name>: <description>
-> <file>: <specific issue>
Combine all agent results into a single structured report:
=== COOKBOOK VALIDATION ===
Mode: <cookbook|consumer>
Path: <$COOKBOOK_ROOT>
Files scanned: <count>
--- 1. FRONTMATTER INTEGRITY ---
<results from Agent 1>
--- 2. CONTENT STRUCTURE ---
<results from Agent 1>
--- 3. CROSS-REFERENCES ---
<results from Agent 2>
--- 4. INDEXES AND DOCUMENTATION ---
<results from Agent 2>
--- 5. SKILLS AND RULES ---
<results from Agent 3>
--- 6. FILE PLACEMENT ---
<results from Agent 3>
--- 7. CONSUMER INSTALLATION ---
<results from Agent 3, if consumer mode>
=== SUMMARY ===
Pass: <n> | Warn: <n> | Fail: <n>
Categories: <n>/7 passed clean
Top issues:
1. [FAIL] ...
2. [WARN] ...
Omit empty categories. In cookbook mode, omit category 7 unless --category consumer was specified.
If --fix was specified, present this prompt before making any changes:
=== Permissions Required (--fix mode) ===
Auto-fix will modify these files:
<list files that have fixable issues, with what will change>
Approve all fixes? (yes / no)
If the user says no, stop and report the issues without fixing them (read-only mode). If yes, apply all fixes.
In default read-only mode (no --fix), no permissions are needed — the skill only reads files.
If --fix was specified and there are fixable issues:
| Fixable issue | Auto-fix action |
|---------------|-----------------|
| Missing index entry | Add the file to index.md in the correct section |
| Domain mismatch | Update the domain: field in frontmatter to match the file path |
| Stale version in heading | Update the # Title vX.Y.Z heading to match frontmatter version: |
| Missing Change History section | Append a Change History template to the file |
For each fix applied, print:
[FIXED] <ID>: <file> — <what was changed>
After all fixes, re-run only the previously-failing checks to verify. Print updated results.
Do not auto-fix: duplicate IDs, wrong file placement, structural problems, missing required frontmatter fields (except domain). Report these for manual fix.
Print the summary and stop. Do not modify any files unless --fix was specified.
tools
Remove the agentic cookbook from your project. Removes rules, state files, CLAUDE.md section, and optionally global plugins and status line.
tools
Analyze a macOS SwiftUI app and plan its conversion to native AppKit. Triggers on 'port to AppKit', 'convert SwiftUI to AppKit', 'remove SwiftUI', or /port-swiftui-to-appkit.
tools
--- name: plan-cookbook-recipe version: 2.3.0 description: Interactively design a new cookbook recipe through guided discussion disable-model-invocation: true context: fork allowed-tools: Read, Glob, Grep, Agent, Write, Edit, AskUserQuestion, Bash(git *), Bash(mkdir *), Bash(ls *) argument-hint: [recipe-name] [--version] --- # Plan Agentic Cookbook Recipe v2.3.0 ## Startup **First action**: If `$ARGUMENTS` is `--version`, print `plan-cookbook-recipe v2.3.0` and stop. Otherwise, print `plan-c
development
Optimize Claude Code rules by consolidating into a single efficient file. Triggers on 'optimize rules', 'optimize my rules', or /optimize-rules.