A collection of skills for BioRouter — UCSF's local-first AI workspace for biomedical research.
Skills are reusable instruction bundles that BioRouter loads on demand to shape how the model writes code, drafts documents, reasons about a problem, and runs research. Some run automatically when relevant files are touched (style enforcement, language conventions, bioinformatics tasks). Others are user-invocable and respond to a slash command like /ralph, /auto-research, or /anti-ai-writing in the chat panel.
This repository hosts the skills curated by the Baranzini Lab at UCSF. Each top-level folder is a single skill; a few folders (superpowers/, bio-skills/) are bundled collections of many sub-skills.
- Download the skill's
.zipfrom the Releases page. - Unzip it.
- Move the resulting folder into
~/.config/biorouter/skills/. - Open BioRouter. The skill appears under Skills automatically. User-invocable skills respond to
/skill-name.
You can also drag a .zip (or a single SKILL.md) onto Skills → Add Skill inside BioRouter, or clone individual folders directly into ~/.config/biorouter/skills/ to track updates with git.
General-purpose skills — research, writing, planning, code style, and design.
| Skill | Trigger | What it does |
|---|---|---|
scientific-research |
/scientific-research |
End-to-end research pipeline: scope → literature review → hypotheses → analysis plan → verification → cited write-up. Orchestrates bio-skills and the BioRouter extensions; never fabricates citations or results. |
anti-ai-writing |
/anti-ai-writing |
Pass/fail checklist that strips AI tells out of prose, articles, and essays. |
taste-skill |
Auto (frontend design) | Anti-slop frontend design — landing pages, portfolios, dashboards, and paper companion sites that don't look templated. |
develop-biorouter-extension |
/develop-biorouter-extension |
Step-by-step guide for building a .brxt extension — manifest, MCP server, bundled skills. |
ralph |
/ralph |
End-to-end planning for the Ralph autonomous agent loop — generates a markdown PRD from a feature idea, then converts it to prd.json sized for one-story-per-iteration execution. Adapted from snarktank/ralph (MIT), itself based on Geoffrey Huntley's Ralph pattern. |
ucsf-hpc |
/ucsf-hpc |
SSH setup, SLURM templates (CPU/GPU/H200), file transfer, and module management for the UCSF CHPC cluster. |
python-scripting |
Auto (Python) | Enforces Python naming, typing, error handling, and project-structure conventions. |
r-scripting |
Auto (R) | Tidyverse conventions and documentation standards for R. |
ggplot-visualization |
Auto (R plotting) | Applies the lab's ggplot2 style whenever R plotting code is written. |
superpowers |
Mixed | A bundled collection of 13 engineering-discipline skills (brainstorming, TDD, systematic debugging, parallel agents, plan writing, code review, git worktrees, more). |
Engineering, review, and skill-authoring tools — adapted from Anthropic's official Claude Code plugins (Apache 2.0). Each upstream plugin ships as slash-commands and subagents (none of them carry lifecycle hooks); BioRouter has no commands/ or agents/ loader, so each plugin's commands and subagents are folded into one self-contained SKILL.md the model loads on demand. hookify is the exception — BioRouter has a hook engine, so it writes genuine, enforced hooks in <project>/.biorouter/hooks.yaml instead of honor-system notes.
| Skill | Trigger | What it does |
|---|---|---|
code-review |
/code-review |
Multi-stage, confidence-scored review of a pull request (or local diff); drops low-confidence findings and posts a formatted PR comment via gh. |
code-simplifier |
/code-simplifier |
Simplifies recently-changed code for clarity while preserving exact behavior; defers language style to python-scripting/r-scripting. |
commit-commands |
/commit-commands |
Three git workflows — clean single commit; commit + push + open PR; and clean up [gone] branches and their worktrees. |
skill-creator |
/skill-creator |
The canonical guide to authoring BioRouter skills — frontmatter, progressive disclosure, packaging, and testing. |
hookify |
/hookify |
Captures project guardrails (warn/block rules) and writes them as real Biorouter hooks in <project>/.biorouter/hooks.yaml — a block rule stops the action, a warn rule surfaces a notice. Requires hooks.allow_project_hooks: true. |
code-modernization |
/code-modernization |
Phased legacy-modernization workflow: preflight → assess → map → extract rules → brief → transform → harden → status. |
playground |
/playground |
Generates self-contained single-file interactive HTML playgrounds for configuring something visually and copying out a prompt. |
frontend-design |
Auto (frontend work) | Anthropic's anti-slop frontend guidance; complements the taste-skill. |
bio-skills/ is a large, context-triggered bundle covering the working biologist's toolkit: sequence I/O, alignment, variant calling, single-cell, ATAC/ChIP-seq, proteomics, metabolomics, pathway analysis, machine learning, workflow management, and more — 456 individual skills across 63 categories in this snapshot (upstream now ships 540). These load automatically when BioRouter sees a relevant file or task (a .vcf, a scanpy import, a Seurat object). See bio-skills/INDEX.md for the full catalog.
Integrated from GPTomics/bioSkills (MIT). BioRouter's house style prefers uv over pip; skills with pip install lines carry a one-line uv tip banner while leaving the original commands intact for reproducibility.
scientific-research is designed to delegate to this bundle — and to the SPOKE, CDW, OMOP, and MedCP extensions — for any biomedical data access, so the orchestrator never has to recall facts from memory.
biorouter-skills/
├── LICENSE ← MIT
├── auto-research/SKILL.md
├── anti-ai-writing/SKILL.md
├── taste-skill/SKILL.md
├── develop-biorouter-extension/SKILL.md
├── ggplot-visualization/SKILL.md
├── python-scripting/SKILL.md
├── r-scripting/SKILL.md
├── ucsf-hpc/SKILL.md
├── ralph/
│ ├── SKILL.md ← the skill itself
│ ├── agent-instructions.md ← prompt for the autonomous loop
│ └── prd.json.example
├── superpowers/ ← 13 sub-skill collection
│ ├── brainstorming/
│ ├── test-driven-development/
│ └── …
└── bio-skills/ ← bioinformatics bundle (63 categories)
├── INDEX.md
├── single-cell/
├── variant-calling/
└── …
Every skill folder contains a SKILL.md with YAML frontmatter (name, description, optional user-invocable). Anything else in the folder is supporting material the skill can reference.
-
Fork this repo.
-
Add a new top-level folder named after your skill (kebab-case).
-
Drop a
SKILL.mdinto it with frontmatter:--- name: my-skill description: One sentence — what it does and when to use it. This is the line the model reads to decide whether to load the skill. user-invocable: true # optional --- # My Skill The skill body. Be concrete, give examples, and keep it focused on one job.
-
Open a pull request. A maintainer will review and cut a release with a matching
.zipso BAAM picks it up automatically.
A good description: is the single most important line — it is what the model sees when deciding whether to invoke the skill, so be specific about when to use it, not just what it does.
This repository is licensed under the MIT License. Most skills are adapted from open-source projects; we keep their original license and credit the upstream author. The table below is the full directory of where each skill comes from and what we changed to fit BioRouter. Lab-original skills are written by the Baranzini Lab.
| Skill | Source | License | What changed for BioRouter |
|---|---|---|---|
bio-skills |
GPTomics/bioSkills | MIT | Dropped the bio- name prefix, set user-invocable: false, and added a one-line uv tip banner to skills that shipped pip install commands (originals left intact). 456 skills / 63 categories in this snapshot; upstream has since grown to 540. |
taste-skill |
Leonxlnx/taste-skill | MIT | Wired to BioRouter's auto-trigger on frontend work; content kept. Attribution header retained in the SKILL.md. |
superpowers |
obra/superpowers by Jesse Vincent | MIT | Folded the 13 engineering-discipline skills in; dropped the upstream using-superpowers dispatcher and its SessionStart hook (BioRouter discovers skills natively). verification-before-completion and finishing-a-development-branch gained an optional Stop-hook recipe to hard-enforce "tests pass before finishing." |
ralph |
snarktank/ralph by Ryan Carson, after Geoffrey Huntley's Ralph pattern | MIT | Reworked the PRD → prd.json → one-story-per-iteration flow around BioRouter's agent loop and /ralph invocation. |
code-review, code-simplifier, commit-commands, skill-creator, code-modernization, playground, frontend-design |
anthropics/claude-plugins-official | Apache 2.0 | Each upstream plugin's slash-commands and subagents folded into one SKILL.md (these plugins ship no hooks). Shell routed through the Developer extension; lab-specific defaults adjusted. Each SKILL.md keeps a source header. |
hookify |
anthropics/claude-plugins-official → hookify | Apache 2.0 | Rewritten to generate real, enforced BioRouter hooks (<project>/.biorouter/hooks.yaml) — the upstream's enforced-hook behavior, expressed in BioRouter's native hook schema. |
scientific-research |
Lab-original | MIT | — Orchestrates bio-skills and the SPOKE / CDW / OMOP / MedCP extensions. |
anti-ai-writing |
Lab-original | MIT | — Prose checklist for stripping AI tells. |
ucsf-hpc |
Lab-original | MIT | — UCSF CHPC cluster: SSH, SLURM templates, modules. |
python-scripting, r-scripting, ggplot-visualization |
Lab-original | MIT | — House style for Python, R, and ggplot2; auto-triggered by file context. |
develop-biorouter-extension |
Lab-original | MIT | — Guide for the .brxt extension format. |
Maintained by the Baranzini Lab at UCSF.