From lab-skills
Session-scoped script cleanup for data science projects. Checks scripts/scratch/ for working files that need consolidation into .qmd scripts, flags numbered non-.qmd files in scripts/, and verifies script-output directory correspondence. Use when finishing a coding session, when scripts/scratch/ has accumulated files, or when the user says "clean up scripts", "consolidate scratch", or "check script conventions". Lightweight and fast — reads files, no expensive computation.
How this skill is triggered — by the user, by Claude, or both
Slash command
/lab-skills:cleanup-scriptsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Check and consolidate working scripts from the current session. This skill focuses
Check and consolidate working scripts from the current session. This skill focuses
on the current session's work — for project-wide script health, use /audit-project.
/done at the end of a coding sessionscripts/scratch/ has accumulated working filesscripts/scratch/List all files in scripts/scratch/. For each file:
.qmd script this code belongs to. If no matching script exists, it may need a new numbered .qmd..qmd chunk (using the quarto-docs skill template) and add it to the target script. Or create a new numbered .qmd if needed.If scripts/scratch/ is empty or doesn't exist, report "No scratch files" and move on.
Scan scripts/ (not subdirectories) for files that violate conventions:
.qmd files: Files matching [0-9]*_*.R, [0-9]*_*.py, [0-9]*_*.Rmd in scripts/. On local, these should be .qmd — unless they carry a # allow-py: <reason> override comment in the first 20 lines, in which case .py is sanctioned. On the cluster, .py is the default and is fine without the override. Helpers belong in R//python/; superseded scripts in scripts/old/.scripts/old/, scripts/scratch/, scripts/exploratory/, unnumbered files (legacy).For each violation:
.qmd, move to helper dir (R/ or python/), or archive to scripts/old/?For each numbered .qmd in scripts/:
15 from 15a_threshold.qmd).outs/{number}_{topic}/ exists (using the lettered script convention — all scripts with the same number share one output dir).status: development).For each output directory in outs/:
scripts/.Summarize:
/audit-project..Rmd files in scripts/ are legacy — do not flag them as violations.enforce-qmd-scripts.sh hook blocks creation of numbered non-.qmd files unless the file content carries a # allow-py: <reason> override comment in its first 20 lines. The hook auto-skips on the cluster (detected by /nfs/roberts/), where .py is the default. This skill catches anything that slipped through, pre-dates the hook, or used the override.npx claudepluginhub musserlab/lab-claude-skills --plugin lab-skillsProvides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Searches MemPalace before answering questions about past work, people, projects, or prior decisions. Returns verbatim stored content instead of guessing from model memory.