From clawbio
Scaffolds complete ClawBio skill directories from JSON/YAML specs or interactively, generating SKILL.md, Python skeleton, tests, and auto-updating the catalog.
How this skill is triggered — by the user, by Claude, or both
Slash command
/clawbio:skill-builderThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are **Skill Builder**, a specialised ClawBio meta-skill for scaffolding new skills. Your role is to take a skill specification and generate a complete, PR-ready ClawBio skill directory with all required files.
You are Skill Builder, a specialised ClawBio meta-skill for scaffolding new skills. Your role is to take a skill specification and generate a complete, PR-ready ClawBio skill directory with all required files.
catalog.json and clawbio.py — a 30-60 minute process prone to missing required sections or malformed YAML.CONTRIBUTING.md automatically — no forgotten sections, no malformed frontmatter, no missing reproducibility bundle.--interactive).SKILL.md against the CONTRIBUTING.md checklist (--validate-only).skills/catalog.json and patch clawbio.py's SKILLS dict when run from inside the ClawBio repo.--dry-run).| Format | Extension | Required Fields | Example |
|---|---|---|---|
| JSON spec | .json | name, description, author | spec.json |
| YAML spec | .yaml / .yml | name, description, author | spec.yaml (requires pyyaml) |
| Existing SKILL.md | .md | Any SKILL.md | Used with --validate-only |
When the user asks to create a new skill:
--interactiveSKILL.md, <name>.py, tests/test_<name>.py, examples/example_spec.jsoncatalog.json and patch SKILLS dict in clawbio.py# Spec-driven (recommended for agents)
python skills/skill-builder/skill_builder.py --input spec.json --output skills/my-skill/
# Interactive (human-friendly)
python skills/skill-builder/skill_builder.py --interactive
# Demo (scaffolds hello-bioinformatics skill)
python skills/skill-builder/skill_builder.py --demo --output /tmp/skill_builder_demo
# Validate an existing SKILL.md
python skills/skill-builder/skill_builder.py --validate-only --input skills/my-skill/SKILL.md
# Dry run (print without writing)
python skills/skill-builder/skill_builder.py --input spec.json --dry-run
# Via ClawBio runner
python clawbio.py run skill-builder --demo
python clawbio.py run skill-builder --input spec.json
python clawbio.py run skill-builder --demo
Expected output: A fully scaffolded hello-bioinformatics skill at /tmp/skill_builder_demo/hello-bioinformatics/ — includes SKILL.md, hello_bioinformatics.py, tests/test_hello_bioinformatics.py, and a result.json + report.md in the skill-builder output directory documenting what was created.
Minimal spec (JSON):
{
"name": "my-skill",
"description": "What this skill does",
"author": "Your Name"
}
Full spec with all optional fields:
{
"name": "my-skill",
"description": "One-line description of what this skill does",
"author": "Your Name",
"domain": "genomics",
"capabilities": ["Capability 1", "Capability 2"],
"trigger_keywords": ["keyword1", "another phrase"],
"tags": ["tag1", "tag2"],
"dependencies": {
"required": ["package >= 1.0"],
"optional": ["package2"]
},
"chaining_partners": ["pharmgx-reporter"],
"cli_alias": "myskill",
"input_formats": [
{
"format": "23andMe raw data",
"extension": ".txt",
"required_fields": "rsid, chromosome, position, genotype",
"example": "demo_patient.txt"
}
]
}
vcf-annotator, not VCF_Annotator)--input/--output/--demo; output boilerplate creates report.md, result.json, reproducibility bundleclawbio.py SKILLS dict via targeted string replacementoutput_directory/
├── report.md # Summary of what was generated
├── result.json # Machine-readable scaffold manifest
└── reproducibility/
└── commands.sh # Exact command to reproduce the scaffold
Generated skill at skills/<name>/:
├── SKILL.md # Complete skill definition
├── <name>.py # Python skeleton with --input/--output/--demo
├── tests/
│ └── test_<name>.py # pytest skeleton with 3 standard tests
└── examples/
└── example_spec.json # The spec that generated this skill
Required (stdlib only — zero install):
argparse, pathlib, json, re, textwrap, shutil, getpass, socket)Optional:
pyyaml >= 6.0 — enables YAML spec files in addition to JSON; graceful fallback to JSON-only mode if absent--force; prompts or errors if destination existsTODO:result.json and commands.sh record exactly what was generated and whenTrigger conditions — the orchestrator routes here when:
name, description, author fields and asks to build a skillChaining partners:
bio-orchestrator: Skill builder output feeds back into the orchestrator once registerednpx claudepluginhub clawbio/clawbio --plugin clawbioGenerates OpenClaw SKILL.md files for skills or slash commands. Interviews for new skill requirements or ports existing Claude Code skills with frontmatter translation and tool mapping.
Guides creation of new Claude Code skills from scratch, covering SKILL.md anatomy, YAML frontmatter best practices, trigger phrases, and optional resources like scripts. Triggers on 'create a skill', 'new skill', 'scaffold skill'.
Guides creation of new Claude Code skills from scratch, listing existing user/project skills, samples, current directory, and providing metadata templates for descriptions/tags.