skills/audit-project/SKILL.md
Periodic project health check - cross-check docs, prune conventions, find drift. Use when project documentation feels stale, before milestones, or when CLAUDE.md is getting long. Do NOT load for auditing skills (use /audit-skills) or data analysis scripts (use /audit-script).
npx skillsauth add musserlab/lab-claude-skills audit-projectInstall 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.
When the user invokes /audit-project, perform a thorough health check of project documentation and conventions. This is a periodic maintenance task — not needed every session, but valuable before milestones, after intensive work periods, or when things feel out of sync.
Check the project's .claude/CLAUDE.md for a project-type: field:
data-science — Full audit including all stepsgeneral (or no field found) — Skip steps marked [Data Science only]The main project CLAUDE.md should not maintain script or file lists that duplicate planning documents. Check for staleness:
For each registered planning document, perform both automated checks and an interactive review with the user.
After automated checks, walk through each planning document with the user:
Check if STATUS_SUMMARY.md exists at the repo root.
STATUS_SUMMARY.md uses a unified format shared between Claude Code (/done) and Cowork (wrapup), so executive-assistant skills can scan all projects uniformly. See the /done skill's Step 2b for the exact format template.
Check the Session Log section at the bottom of the project's .claude/CLAUDE.md:
Scan .claude/ for .md files not listed in the Project Document Registry. Propose adding any missing ones to the appropriate category table.
Check if any scripts in scripts/ are not tracked in any planning document. For untracked scripts that relate to ongoing work, suggest either:
/new-planCheck if any significant data files were created but not added to the Canonical Data Files Registry.
For projects using the script organization conventions:
.qmd scripts for missing status: YAML frontmatterfinalized that have been modified since their last commit, or development scripts that appear completeCheck the scripts/ directory for structural convention violations:
.qmd filesScan scripts/ (not subdirectories) for files matching [0-9]*_* that are NOT .qmd:
.R, .py, .Rmd files with number prefixes are violationsscripts/old/, scripts/scratch/, scripts/exploratory/, unnumbered files (legacy).qmd, move to R//python/ as helper, or archive to scripts/old/Check if scripts/scratch/ exists and has files:
For scripts with letter suffixes (e.g., 15a_, 15b_, 15c_):
outs/XX_topic/, not outs/XXa_topic/)a script exists (letters imply sequence)For each numbered .qmd:
outs/{number}_{topic}/ exists (lettered scripts share one dir by number)status: development — note, don't error)For each output directory in outs/ with a number prefix:
Review existing convention entries in the project's .claude/CLAUDE.md. For each, ask: Is this now self-evident from the codebase?
A convention is self-evident when:
Propose removing redundant entries. Show which entries would be pruned and why.
Be conservative — only prune conventions that are truly obvious from the code. When in doubt, keep the entry.
Report the current size of the project CLAUDE.md (line count, approximate KB). If it's growing large (>300 lines), suggest:
Quick checks on user-level configuration (lightweight — skip silently if everything is fine):
~/.claude/projects/*/memory/MEMORY.md for the current project. If over 200 lines, flag for pruning.~/.claude/CLAUDE.md line count. If over 150 lines, suggest extracting content into skills./audit-skills. Skip skill-level checks here.Report findings organized as:
Ask the user which findings they'd like to act on before making any changes.
development
Phylogenetic tree visualization and formatting with ggtree (R) or iTOL (web). Use when rendering a phylogenetic tree as a figure, choosing tree layout, coloring branches or labels by taxonomy, collapsing clades, displaying support values, or adding overlays to a tree. Do NOT load for tree inference (use protein-phylogeny skill) or domain annotation (future separate skill).
development
Configure and manage Claude Code security protections for sensitive files, credentials, and data. Use when the user invokes /security-setup to set up or modify protections against unauthorized file access, credential exposure, or sensitive data leaks.
development
Script organization for data science analysis projects with numbered scripts, data/outs/ directories, and reproducibility conventions. Use when creating new analysis scripts in projects that follow data science conventions (numbered XX_ prefix scripts, outs/ directories, BUILD_INFO.txt). Do NOT load for documentation projects (Quarto books), infrastructure repos, or projects without data/outs/ directory structure.
testing
R renv package management for data science projects. Use when working with renv (renv.lock, renv::restore, renv::snapshot) in R analysis projects. Do NOT load for projects that do not use R or renv.