pymc-bayesian-modeling
Bayesian modeling with PyMC 5: priors, likelihood, NUTS/ADVI sampling, diagnostics (R-hat, ESS), LOO/WAIC comparison, prediction.…
Scaffold a new SciAgent-Skills entry. Picks pipeline/toolkit/database/guide template, creates skills/{category}/{name}/SKILL.md with valid frontmatter, appends the registry.yaml entry, runs validation. Enforces name uniqueness, kebab-case, description keyword rules, schema rules
Claude Code
$ npx -y skills add jaechang-hits/SciAgent-Skills --skill sciagent-skill-creator --agent claude-code
Codex
$ npx skills add jaechang-hits/SciAgent-Skills --skill sciagent-skill-creator -a codex -y
Cursor
$ npx skills add jaechang-hits/SciAgent-Skills --skill sciagent-skill-creator -a cursor -y
Gemini CLI
$ npx skills add jaechang-hits/SciAgent-Skills --skill sciagent-skill-creator -a gemini-cli -y
GitHub Copilot
$ npx skills add jaechang-hits/SciAgent-Skills --skill sciagent-skill-creator -a github-copilot -y
OpenCode
$ npx skills add jaechang-hits/SciAgent-Skills --skill sciagent-skill-creator -a opencode -y
Windsurf
$ npx skills add jaechang-hits/SciAgent-Skills --skill sciagent-skill-creator -a windsurf -y
name: sciagent-skill-creator
description: |
Scaffold a new SciAgent-Skills entry. Picks pipeline/toolkit/database/guide template,
creates skills/{category}/{name}/SKILL.md with valid frontmatter, appends the
registry.yaml entry, runs validation. Enforces name uniqueness, kebab-case,
description keyword rules, schema rules from AGENTS.md.
TRIGGER when user says (any language): "add a SciAgent skill", "add a skill for <X>",
"create new skill", "create a SKILL.md for <X>", "scaffold a skill", "new skill entry",
"register a skill", "신규 skill 추가", "스킬 만들어줘", "스킬 생성", "skill 만들어",
or any request to add a new SKILL.md to this repo. ALWAYS invoke this skill BEFORE
writing to skills/ or registry.yaml.
DO NOT TRIGGER when: editing existing entry's content (just edit the file directly);
migrating an existing entry (read AGENTS.md "Migrating from Existing Entries" first);
only updating registry.yaml without creating a new SKILL.md.Repo-local scaffolder for `skills/` entries. Mechanizes the boilerplate from `AGENTS.md` Steps 1, 2, 4, 5, 6 so authoring effort stays on *content* (When to Use, Workflow, Recipes, References) and not on field plumbing.
Do **not** invoke for:
Before calling the scaffold script, gather these — in conversation, not via flags hidden from the user:
1. **Topic** — concrete tool/library/concept name. Reject vague topics ("ML stuff") with a clarifying question. 2. **Sub-type** — `pipeline` | `toolkit` | `database` | `guide`. Use the decision rule from AGENTS.md Step 1b. If unsure, ask the user. 3. **Category** — primary category directory. List the table from `AGENTS.md` Step 2 if the user is unsure. 4. **Entry name** — kebab-case slug. Convention: `{tool-name}-{purpose}` (e.g., `pydeseq2-differential-expression`). Confirm with the user. 5. **License** — underlying tool's license. Default to `CC-BY-4.0` for original prose-only content. 6. **Description** — 1-2 sentences, max 1024 chars. Lead with tool/domain keyword in the first 120 chars. Anti-patterns are in AGENTS.md Step 5 "Description writing rules". 7. **Tags** (optional) — only if the entry meaningfully spans multiple categories (e.g., literature DB stored under `scientific-writing`, tag with `["databases", "literature"]`).
Before calling the scaffold script, search the registry and `legacy/` for similar names:
grep -i "<topic-keyword>" registry.yaml ls legacy/ | grep -i "<topic-keyword>"
If a near-duplicate exists, surface it to the user before continuing. Authoring a parallel entry usually means the existing one needs updating, not duplication.
Call `scripts/scaffold.py` with explicit arguments. The script is **non-interactive** — the agent provides all values:
python .claude/skills/sciagent-skill-creator/scripts/scaffold.py \ --sub-type pipeline \ --category genomics-bioinformatics \ --name my-tool-purpose \ --description "MyTool short-form description starting with the tool name. Brief on inputs, outputs, when to pick this over alternatives." \ --license MIT \ --tags databases,literature # optional, comma-separated
Behavior:
1. Validates name (kebab-case, not already in `registry.yaml`, not in `legacy/`) 2. Validates category exists as a directory under `skills/` 3. Validates description with `validate_description.py` (length + first-120-char keyword lead) 4. Validates tags (kebab-case if provided) 5. Creates `skills/{category}/{name}/SKILL.md` from the matching template, substituting frontmatter fields 6. Appends a new entry to `registry.yaml` with `date_added` = today (UTC) 7. Runs `pixi run validate` to confirm the registry is still well-formed 8. Prints next steps (fill in Overview, Workflow, Recipes, References)
On any validation failure, the script aborts without writing anything. Fix the offending value and re-run.
The generated SKILL.md is a **skeleton with placeholders**. The agent's remaining job:
1. Fill `Overview`, `When to Use`, `Prerequisites`, `Workflow` / `Core API` / `Key Concepts`, `Common Recipes`, `Troubleshooting`, `References` 2. Match the section structure required by the sub-type (see AGENTS.md Step 4 format rules) 3. Run `pixi run test` — full suite, not just `validate` — to catch sub-type-specific structural failures (code block counts, table row counts, section presence)
The scaffold script does not pretend to write content. Content stays with the agent and the source material.
Skills document a tool's *analysis surface*, not the consumer's *house style*. A SKILL.md is read by many agents for many downstream tasks — visual choices that fit one analysis brief leak into every future invocation. Strip the following before committing:
Turn your AI coding agent into a life sciences expert — 199 bioinformatics skills for Claude Code covering RNA-seq, single-cell analysis, genomics, proteomics, drug discovery, and more. Boosted BixBench from 65% to 92%. Open source.
Bayesian modeling with PyMC 5: priors, likelihood, NUTS/ADVI sampling, diagnostics (R-hat, ESS), LOO/WAIC comparison, prediction.…
Time-to-event modeling with scikit-survival: Cox PH (elastic net), Random Survival Forests, Boosting, SVMs for censored data.…
Guided statistical analysis: test choice, assumption checks, effect sizes, power, APA reporting. Pick tests, verify assumptions,…
Python statistical modeling: regression (OLS, WLS, GLM), discrete (Logit, Poisson, NegBin), time series (ARIMA, SARIMAX, VAR),…
DL cell/nucleus segmentation for fluorescence and brightfield microscopy. Pre-trained models (cyto3, nuclei, tissuenet) and a…
Parse/write FCS (Flow Cytometry) files v2.0-3.1. Events as NumPy, channel metadata, multi-dataset files, CSV/FCS export. Use…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.