skill-builder
- Repo stars 864
- License MIT
- Author updated Live
- Author repo ClawBio
- Domain
- Engineering · meta · scaffolding · developer-tools
- Compatible agents
-
- Claude Code
- Cursor
- Cline
- Codex
- Windsurf
- Gemini CLI
- +20
- Trust score
- 100 / 100 · audit passed
- Author / version / license
- @ClawBio · v0.1.0 · MIT
- Token usage
- Lean
- Setup complexity
- Plug-and-play
- External API key
- Not required
- Operating systems
- Unspecified (assume cross-platform)
- Runtime requirements
- Python >=3.11
- Permissions
-
- Read-only
- Write / modify
- Network behavior
- Local-only
- Install commands
- 26 variants
Profile is derived at build time from SKILL.md and install vectors. Subject to drift from author intent.
---
name: skill-builder
description: Scaffold a new ClawBio skill from a spec file (JSON/YAML) or interactively — generates SKILL.md…
category: engineering
runtime: Python
---
# skill-builder output preview
## PART A: Task fit
- Use case: Scaffold a new ClawBio skill from a spec file (JSON/YAML) or interactively — generates SKILL.md, Python skeleton, tests, and updates catalog.json 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. r….
- Inputs: target material, constraints, expected output, and acceptance criteria.
- Evidence boundary: follow “Why This Exists / Core Capabilities / Input Formats” and do not present inference as author intent.
## PART B: Execution result
- **01** The card summarizes the use case; runtime output centers on “Scaffold a new ClawBio skill from a spec file (JSON/YAML) or interactively — generates SKILL.md, Python skeleton, tests, and updates catalog.json 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. r…”.
- **02** When the source has headings, the agent prioritizes “Why This Exists / Core Capabilities / Input Formats” so the result follows the author’s structure.
- **03** Typical output includes task judgment, concrete steps, required commands or file edits, validation, and follow-up options.
- **04** Risk context follows the fingerprint: read files, write/modify files; mostly runs locally; usually needs no extra API key.
## Running Rules
- read files, write/modify files; mostly runs locally; usually needs no extra API key.
- Validate with a small sample before expanding scope.
- Return the result, validation criteria, and next iteration options. The source mentions slash commands such as `/tmp`; use them first when your agent supports command triggers.
Name target files or source material, expected output, forbidden changes, and whether network or shell access is allowed. Permission fingerprint: read files, write/modify files.
Start with a small task and check whether the result follows “Why This Exists / Core Capabilities / Input Formats”. Inspect diffs, logs, previews, or tests before expanding scope.
Confirm the final output includes a concrete result, evidence, and next action. If it stays generic, tighten inputs, boundaries, and acceptance criteria.
---
name: skill-builder
description: Scaffold a new ClawBio skill from a spec file (JSON/YAML) or interactively — generates SKILL.md…
category: engineering
source: ClawBio/ClawBio
---
# skill-builder
## When to use
- Scaffold a new ClawBio skill from a spec file (JSON/YAML) or interactively — generates SKILL.md, Python skeleton, test…
- Use it when the task has clear inputs, repeatable steps, and validation criteria.
## What to provide
- Target material, scope, expected result, and forbidden changes.
- Whether network, commands, file writes, or external services are allowed.
## Execution rules
- Organize steps around “Why This Exists / Core Capabilities / Input Formats” and keep inference separate from source facts.
- read files, write/modify files; mostly runs locally; usually needs no extra API key.
- Validate with a small sample before expanding the task.
## Output requirements
- Return the deliverable, key evidence, validation method, and next action.
- Mark missing information as unknown; do not invent commands, platforms, or dependencies. The author source anchors workflow facts; repository files anchor sources and commands; Fluxly only adds fit, limitations, and quality judgment.
skill "skill-builder" {
input -> user goal + target files + boundaries + acceptance criteria
context -> Why This Exists / Core Capabilities / Input Formats
rules -> SKILL.md triggers / order / output contract
runtime -> Python | read files, write/modify files | mostly runs locally
guardrails -> usually needs no extra API key + small-sample validation + diff/log review
output -> copyable result + checklist + next iteration
} 🦖 Skill Builder
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.
Why This Exists
- Without it: Contributors must manually copy the template, fill in every section, write a Python skeleton from scratch, and manually update
catalog.jsonandclawbio.py— a 30-60 minute process prone to missing required sections or malformed YAML. - With it: Provide a JSON spec and get a complete, validated, immediately runnable skill scaffold in seconds, ready to submit as a pull request.
- Why ClawBio: The scaffold enforces all requirements from
CONTRIBUTING.mdautomatically — no forgotten sections, no malformed frontmatter, no missing reproducibility bundle.
Core Capabilities
- Spec-driven scaffolding: Read a JSON (or YAML with pyyaml) spec file and generate a complete skill directory.
- Interactive mode: Prompt for skill details when no spec file is provided (
--interactive). - Validation: Check any existing
SKILL.mdagainst the CONTRIBUTING.md checklist (--validate-only). - Auto-registration: Update
skills/catalog.jsonand patchclawbio.py'sSKILLSdict when run from inside the ClawBio repo. - Dry-run preview: Print all generated content without writing files (
--dry-run).
Input Formats
| 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 |
Workflow
When the user asks to create a new skill:
- Load spec: Read JSON/YAML spec file, or collect fields interactively if
--interactive - Validate spec: Check required fields (name, description, author); apply defaults for optional fields
- Generate files: Create
SKILL.md,<name>.py,tests/test_<name>.py,examples/example_spec.json - Update registry: If repo root found, append entry to
catalog.jsonand patchSKILLSdict inclawbio.py - Report: Print a summary of generated files and next steps
CLI Reference
# 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
Demo
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.
Spec File Reference
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"
}
]
}
Algorithm / Methodology
- Parse spec: Load JSON (stdlib) or YAML (pyyaml if available); fall back to interactive prompts
- Normalise name: Enforce lowercase-hyphen naming (
vcf-annotator, notVCF_Annotator) - Fill defaults: domain → "bioinformatics", version → "0.1.0", capabilities/triggers → generic placeholders
- Render SKILL.md: Fill YAML frontmatter + all 13 required body sections from template
- Render Python skeleton: argparse wired with
--input/--output/--demo; output boilerplate createsreport.md,result.json, reproducibility bundle - Render test skeleton: pytest fixture + 3 standard tests (demo runs, report generated, result.json valid)
- Validate: Run the 13-item CONTRIBUTING checklist against the generated SKILL.md before writing
- Register: Append catalog entry; patch
clawbio.pySKILLS dict via targeted string replacement
Example Queries
- "Create a new skill called vcf-annotator that annotates VCF files with ClinVar"
- "Scaffold a skill for running PLINK GWAS pipelines"
- "Build a skill template for GO enrichment analysis"
- "Validate my SKILL.md before I submit a PR"
Output Structure
output_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
Dependencies
Required (stdlib only — zero install):
- Python 3.11+ standard library (
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
Safety
- Local-first: No network calls; all generation is offline
- Non-destructive: Never overwrites existing files without
--force; prompts or errors if destination exists - No hallucinated science: All generated SKILL.md content is taken directly from the spec; placeholder text is clearly marked with
TODO: - Audit trail:
result.jsonandcommands.shrecord exactly what was generated and when
Integration with Bio Orchestrator
Trigger conditions — the orchestrator routes here when:
- User says "create a skill", "scaffold a skill", "new skill", "build a skill", "add a skill"
- User provides a JSON/YAML file with
name,description,authorfields and asks to build a skill
Chaining partners:
bio-orchestrator: Skill builder output feeds back into the orchestrator once registered
Citations
- CONTRIBUTING.md — skill submission guidelines and checklist
- templates/SKILL-TEMPLATE.md — canonical SKILL.md template
Decide Fit First
Design Intent
How To Use It
Boundaries And Review