By bcmcpher
Route data processing and file changes through DataLad for provenance tracking (datalad create, run, save). Follows YODA principles for reproducible local analysis projects.
Bulk-populate a DataLad dataset by reading a URL manifest and adding each file as an
Auto-invoke when the user wants to obtain a copy of a dataset from a URL or path, install a dataset, add a nested subdataset, or link external data as input to a project. Trigger on "clone a dataset", "get a copy of", "install dataset", "add subdataset", "link this data as input", or /datalad-clone. Use instead of `git clone` when working with DataLad datasets. Do NOT trigger for plain git repos without DataLad context.
Read and write dataset-scoped, clone-local, or global DataLad/git configuration using
Auto-invoke when about to execute a command inside a container (Singularity .sif file, Apptainer image, Docker image) that produces output files inside a DataLad dataset. Trigger on "run in container", "run with Singularity", "run with Apptainer", "run with Docker", "containerized analysis", "remove a container", "unregister container", or /datalad-container-run. Records both the command and the container image in dataset provenance. Do NOT trigger for bare datalad run commands without a container — use datalad-run for those.
Auto-invoke when the user needs to set up credentials for a DataLad remote, gets an authentication error pushing to GitHub/OSF/S3/Figshare, or asks how to store tokens for DataLad siblings. Trigger on "set up credentials", "configure token", "authentication error", "credential error", "how do I authenticate", "store my GitHub token for DataLad", "OSF token", "S3 credentials", or /datalad-credentials. Do NOT trigger for general SSH key setup or non-DataLad credential management.
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.
Personal monorepo for developing Claude Code plugins — skills (slash commands), subagents,
hooks, and MCP server configs. Each plugin under plugins/ is independently installable.
# Test locally during development (session-only)
claude --plugin-dir ./plugins/<name>
# Install permanently (user scope)
claude plugin install ./plugins/<name>
# Install from GitHub (when a plugin has its own repo)
claude plugin install https://github.com/bcmcpher/<plugin-name>
| Plugin | Description |
|---|---|
| example-hello | Working example: /hello skill + greeter subagent |
| boutiques | /boutiques <cmd> [subcmd] — generate a Boutiques 0.5 JSON descriptor from --help output |
| testing | /tdd for test-first development; /retrofit-tests for adding coverage to existing code |
Start new tools by copying a template:
cp -r templates/skill plugins/my-new-skill
cp -r templates/agent plugins/my-new-agent
cp -r templates/plugin plugins/my-new-plugin
Then replace all PLUGIN_NAME, SKILL_NAME, AGENT_NAME placeholders with real names.
Each template includes a SETUP.md with detailed setup instructions — it's the first thing to read after copying and the last thing to replace with your own README.md.
| Template | Use when |
|---|---|
| templates/skill/ | Adding a slash command or auto-invoked instruction |
| templates/agent/ | Adding a specialized subagent with isolated context |
| templates/plugin/ | Full plugin: skills + agents + hooks + MCP server |
| If you want… | Use |
|---|---|
| A slash command or auto-triggered instruction set | templates/skill |
| A specialized subagent with its own context and policy | templates/agent |
| Both, plus hooks or MCP servers | templates/plugin |
Start with the smallest template that covers your need. You can always promote a skill to a full plugin later.
cp -r templates/skill plugins/my-new-skill # or agent / plugin
Then rename the placeholder directories inside:
mv plugins/my-new-skill/skills/SKILL_NAME plugins/my-new-skill/skills/my-new-skill
plugin.json)Open .claude-plugin/plugin.json and fill in every placeholder:
name — kebab-case slug, shown in listings and used internallydescription — one sentence; what does this plugin do?version — start at 0.1.0skills / agents — paths to your SKILL.md directories (update after renaming)Leave hooks and mcpConfig out of the manifest entirely if you're not using them.
For skills: the description frontmatter field is what Claude reads to decide when to auto-invoke the skill. Make it specific about the trigger condition and what the skill produces. The name field becomes the slash command (name: commit → /commit).
For agents: the description field is a delegation trigger — it describes when the main Claude should hand off work to this agent. The body of the file is the agent's system prompt; write it as a policy (purpose statement, explicit steps, hard constraints).
claude --plugin-dir ./plugins/my-new-skill
Inside the session, invoke your skill with /skill-name or describe a task that should trigger it. Edit SKILL.md, exit and relaunch to reload.
claude plugin install ./plugins/my-new-skill
Keep it in this monorepo while:
--plugin-dir path or GitHub subpathGraduate to a standalone repo when:
claude plugin install github.com/bcmcpher/<name># 1. Create the new repo and push the plugin contents (not the whole monorepo)
gh repo create bcmcpher/<plugin-name> --public --clone
cp -r plugins/<plugin-name>/. <plugin-name>/
cd <plugin-name> && git add . && git init && git commit -m "initial commit"
git remote add origin https://github.com/bcmcpher/<plugin-name>
git push -u origin main
Then in the new repo:
npx claudepluginhub bcmcpher/my-skills --plugin datalad-cliScaffold and configure new projects for use with Claude Code — project structure, environment setup, and Claude-specific tooling for coding tools, data analysis, and information management.
BIDS (Brain Imaging Data Structure) conventions — naming rules, entity ordering, sidecar fields, and dataset structure for neuroimaging datasets.
Generate a Boutiques JSON descriptor for a CLI tool by inspecting its --help output
Git workflow best practices and PR lifecycle commands for Claude Code sessions: when to use worktrees vs branches, commit conventions, parallel-agent coordination, conflict resolution, and slash commands for commit, push, PR creation, PR review, and branch cleanup.
Design and refactor repeated analysis scripts using five-layer architecture.
Comprehensive skill pack with 66 specialized skills for full-stack developers: 12 language experts (Python, TypeScript, Go, Rust, C++, Swift, Kotlin, C#, PHP, Java, SQL, JavaScript), 10 backend frameworks, 6 frontend/mobile, plus infrastructure, DevOps, security, and testing. Features progressive disclosure architecture for 50% faster loading.
A growing collection of Claude-compatible academic workflow bundles. Covers scientific figures, manuscript writing and polishing, reviewer assessment, citation retrieval, data availability, paper reading, literature search, response letters, paper-to-PPTX conversion, and evidence-grounded Chinese invention patent drafting. Rules are organized as reusable skill folders with explicit workflows and quality checks.
Complete creative writing suite with 10 specialized agents covering the full writing process: research gathering, character development, story architecture, world-building, dialogue coaching, editing/review, outlining, content strategy, believability auditing, and prose style/voice analysis. Includes genre-specific guides, templates, and quality checklists.
Permanent coding companion for Claude Code — survives any update. MCP-based terminal pet with ASCII art, stats, reactions, and personality.