MoxPP moxpp-check
Checks the integrity of CLAUDE.md against the actual project structure. Use when CLAUDE.md may be out of sync with mox.lua, conanfile.py, build.lua files, README.md, or LICENSE.
install
source · Clone the upstream repo
git clone https://github.com/Moxibyte/MoxPP
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/Moxibyte/MoxPP "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/moxpp-check" ~/.claude/skills/moxibyte-moxpp-moxpp-check && rm -rf "$T"
manifest:
.claude/skills/moxpp-check/SKILL.mdsource content
MoxPP CLAUDE.md Integrity Check
Audit
CLAUDE.md against the actual project files and propose any corrections. Work through each check below, then present a consolidated diff of all proposed changes for the user to confirm before editing anything.
Steps
0. Check for unconfigured template state
Read
CLAUDE.md and check if the top section still contains the unconfigured placeholder (i.e. the line > This is an unconfigured MoxPP template). If it does, stop immediately and tell the user:
This repo hasn't been configured yet. Run
first, then re-run/moxpp-setuponce the project is set up./moxpp-check
Do not proceed with any further checks.
1. Read all source-of-truth files
Read the following files in parallel:
— current documented stateCLAUDE.md
— ground truth for project name, C++ version, architecture, macro prefix, configurations, unit test settingmox.lua
— ground truth for Conan dependencies and optionsconanfile.py
— project description and overviewREADME.md
(if it exists) — license typeLICENSE
Then discover and read all
build.lua files in the project:
- single:
src/build.lua - flat:
src/*/build.lua - hierarchical:
src/*/*/build.lua - manual: search recursively under
for anysrc/build.lua - Always also check
iftest/build.lua
is setcmox_unit_test_src
2. Check project name
Compare the
# <Heading> at the top of CLAUDE.md against cmox_product_name in mox.lua. Flag if they differ.
3. Check project description
Compare the description paragraph(s) below the top heading in
CLAUDE.md against the content of README.md. Flag if CLAUDE.md is missing a description or if it appears significantly out of date relative to README.md. Do not require word-for-word matches — flag only meaningful divergences in purpose, audience, or scope.
4. Check Conan dependencies
Parse all
self.requires("name/version") calls from conanfile.py. Compare the resulting list against the ## Conan Dependencies section in CLAUDE.md:
- Flag any package present in
but missing fromconanfile.pyCLAUDE.md - Flag any package listed in
but absent fromCLAUDE.mdconanfile.py - Flag any version mismatches
5. Check unit test setting
Read
cmox_unit_test_src from mox.lua:
- If
: verify thenil
directory does not exist. If it does, warn the user — it should be deleted.test/ - If set to a folder name: verify that folder exists at the repo root.
6. Check build.lua projects
For each discovered
build.lua, extract the project name from mox_project(...). Check:
- No two projects share the same UUID — flag any duplicates.
- Each project's source directory contains at least one
file. For.cpp
/sharedlib
projects, verifystaticlib
is present.dummy.cpp
7. Check license
If a
LICENSE file exists, check whether CLAUDE.md mentions the license. If not, note it as a minor gap (non-blocking).
8. Present findings and propose edits
Summarise all findings grouped by severity:
- Error — factual mismatch that will mislead Claude (wrong name, missing/wrong dependency, duplicate UUID)
- Warning — gap that reduces Claude's effectiveness (missing description, missing dependency note)
- Info — minor or cosmetic gap (license mention, stale wording)
For each Error and Warning, show the exact proposed change to
CLAUDE.md. Ask the user to confirm before applying any edits.