By MusserLab
Lab conventions for data science, reproducibility, and code organization in Claude Code
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).
Systematic audit of data analysis scripts for bugs, analytical reasoning, data handling, style, and reproducibility. Includes domain verification phase that researches tools, file formats, and methods to catch domain-specific errors (not just code bugs). Use when auditing a script, reviewing code for correctness, checking for bugs, preparing a script for publication, or when the user says "audit this script", "review this code", "check this for bugs", or "is this script correct". Three modes: thorough (collaborative section-by-section), fast (Claude-driven with discussion), and report-only. Do NOT load for quick one-off questions about a single line or function.
Audit Claude Code skills for bloat, trigger accuracy, structural quality, redundancy, and pruning opportunities. Use when skills feel bloated, before publishing to lab repo, after building several new skills, when reviewing a single newly-created skill before publishing, or when the user says "audit my skills", "review skills", "check skill quality", "audit this skill", or invokes /audit-skills. Covers both user-level (~/.claude/skills/) and project-level (.claude/skills/) skills, and supports both full-library scans and single-skill reviews. Do NOT load for auditing data analysis scripts (use /audit-script) or project documentation (use /audit-project).
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.
Conda environment activation for Python commands. Use when running Python scripts, pip, or conda-dependent tools.
Executes bash commands
Hook triggers when Bash tool is used
Modifies files
Hook triggers on file write and edit operations
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Shared Claude Code skills and conventions for the lab. These skills teach Claude Code our lab's standards for data handling, plotting, script organization, reproducibility, and more.
Claude Code skills are markdown files that give Claude specific instructions for particular tasks. They're how we teach Claude our lab's conventions.
How they work: Each skill has a short description that tells Claude when to activate it, and a body with the actual instructions. Some skills also include additional files in their folder — guides, templates, or reference material that Claude can use.
There are two kinds:
r-plotting-style loads automatically and Claude follows our ggplot2 conventions. You don't need to do anything./done or /new-project. These run specific workflows on demand.These skills are under active development. If Claude does something wrong, or you think a skill is missing guidance for a situation you ran into, or you have an idea for a new skill — open a GitHub issue. See Improving skills below for details.
You need Claude Code installed and working before adding lab skills:
claude)There are two ways to install. Choose whichever fits your needs.
The simplest way to get all lab skills and keep them up to date.
In Positron / VS Code:
/plugins in the Claude Code chat panel to open the plugin managerMusserLab/lab-claude-skillslab-skillsIn the terminal CLI:
/plugin marketplace add MusserLab/lab-claude-skills
/plugin install lab-skills
This installs all skills and hooks as a single package. Skills are available as /lab-skills:skill-name (e.g., /lab-skills:done). Security hooks activate automatically — see Security below.
Updates:
If you installed via the marketplace (Option A), the plugin updates automatically when you restart Claude Code. No manual action needed — just restart when prompted.
If auto-update doesn't work or you installed via CLI, you can manually update by opening a terminal, running claude, then:
/plugin uninstall lab-skills
/plugin install lab-skills
If you want to modify skills or pick only the ones you need, clone the repo and copy skills into your personal Claude Code directory instead.
# Clone the repo
git clone https://github.com/MusserLab/lab-claude-skills.git
cd lab-claude-skills
# Copy all skills to your personal skills directory
cp -r skills/* ~/.claude/skills/
# Or copy just the ones you want
cp -r skills/data-handling ~/.claude/skills/
cp -r skills/r-plotting-style ~/.claude/skills/
To update, pull the repo and re-copy the skills you want:
cd lab-claude-skills && git pull
cp -r skills/data-handling ~/.claude/skills/ # update specific skills
Skills that reference machine-specific paths (like conda-env) use ~/miniconda3 as the default. If your conda is installed elsewhere, edit your local copy.
After installing, complete these steps to configure permissions and security protections.
If you used the plugin install and don't have the repo cloned, download template files from templates/ on GitHub.
On your local machine (macOS/Linux desktop):
cp templates/settings-example.json ~/.claude/settings.json
On an HPC cluster (Bouchet, McCleary, etc.):
cp templates/settings-cluster.json ~/.claude/settings.json
The cluster template includes glob-based deny rules for Linux, blanket Bash(*) permissions (hooks handle safety), extra protections for shared filesystems (rm -rf /nfs*, process killing), and disables telemetry. It also has a YCRC cluster quick reference in the comments.
If you already have a settings.json, merge in the entries you want manually.
npx claudepluginhub musserlab/lab-claude-skills --plugin lab-skillsCore skills: ecosystem guide, skill creator, research patterns, session reflection, and plugin development. Includes UserPromptSubmit hook for forced skill evaluation.
Create, test, measure, and iteratively improve Claude Code skills with category-aware design, gotchas-driven development, progressive disclosure coaching, and automated description optimization.
24 elite skills across 5 layers: discipline, domain expertise, intelligence, coordination, and execution. Turn Claude Code into a proactive engineering partner.
Guide for structuring Netresearch skill repositories
Skill and agent authoring tools: generate, audit, and improve Claude Code skills, commands, and agents
Curate auto-memory, promote learnings to CLAUDE.md and rules, extract proven patterns into reusable skills.