Skip to content

Commit bcd7bca

Browse files
Fix broken links: add missing pages and convert absolute links to relative
- Create illumina-bridge.md, author-journey.md, framework-integration.md - Fix absolute /skills/* and /contributing/* links to relative paths - Fix homepage footer links to use index.md format Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent b87c001 commit bcd7bca

6 files changed

Lines changed: 244 additions & 13 deletions

File tree

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
---
2+
title: Author a Skill
3+
description: Step-by-step guide to creating a new ClawBio skill from scratch
4+
---
5+
6+
# Author a Skill
7+
8+
This guide walks you through creating a new bioinformatics skill for ClawBio, from initial idea to submitted pull request.
9+
10+
## Overview
11+
12+
A complete skill consists of:
13+
14+
1. A `SKILL.md` describing the methodology, domain decisions, and safety rules
15+
2. Demo data that anyone can run without their own files
16+
3. A Python script with `--input`, `--output`, and `--demo` flags
17+
4. Reproducibility files: `commands.sh`, `environment.yml`, and `checksums.sha256`
18+
19+
You do not need all of these to start. A SKILL.md-only contribution is valuable on its own.
20+
21+
## Step 1 — Scaffold
22+
23+
```bash
24+
cd ClawBio
25+
clawbio init my-skill-name
26+
```
27+
28+
This creates `skills/my-skill-name/` with template files.
29+
30+
## Step 2 — Write SKILL.md
31+
32+
The SKILL.md is the most important file. It encodes the domain decisions a trained scientist would make. Fill in:
33+
34+
- **Frontmatter**: name, version, inputs, outputs, domain tags
35+
- **Domain Decisions**: thresholds, classification rules, guideline references with DOIs
36+
- **Safety Rules**: what the skill must never do, when to defer to a human
37+
- **Agent Boundary**: what the skill does and does not cover
38+
39+
See the [SKILL.md specification](../reference/skillmd-spec.md) for the full schema.
40+
41+
## Step 3 — Add Demo Data
42+
43+
Create synthetic or public-domain test data in `demo/`. Requirements:
44+
45+
- Must not contain real patient data
46+
- Should be small enough to run in under 30 seconds
47+
- Should exercise all major code paths
48+
49+
## Step 4 — Implement
50+
51+
Write your Python script with a standard CLI interface:
52+
53+
```python
54+
import argparse
55+
56+
def main():
57+
parser = argparse.ArgumentParser()
58+
parser.add_argument("--input", help="Input file path")
59+
parser.add_argument("--output", help="Output directory")
60+
parser.add_argument("--demo", action="store_true", help="Run with demo data")
61+
args = parser.parse_args()
62+
63+
if args.demo:
64+
args.input = "demo/sample_input.tsv"
65+
args.output = args.output or "/tmp/demo"
66+
67+
# Your skill logic here
68+
69+
if __name__ == "__main__":
70+
main()
71+
```
72+
73+
## Step 5 — Validate and Submit
74+
75+
```bash
76+
# Validate your skill structure
77+
clawbio validate skills/my-skill-name/
78+
79+
# Run demo mode
80+
python skills/my-skill-name/my_skill_name.py --demo --output /tmp/demo
81+
82+
# Create a branch and submit
83+
git checkout -b skill/my-skill-name
84+
git add skills/my-skill-name/
85+
git commit -m "Add my-skill-name skill"
86+
git push origin skill/my-skill-name
87+
```
88+
89+
Then open a pull request at [github.com/ClawBio/ClawBio](https://github.com/ClawBio/ClawBio).
90+
91+
## Tips
92+
93+
- Start with SKILL.md — the domain decisions are harder and more valuable than the code
94+
- Reference authoritative guidelines (CPIC, ACMG, EDAM) with DOIs where possible
95+
- Keep demo data small and deterministic
96+
- Look at [PharmGx Reporter](../skills/pharmgx-reporter.md) as a reference implementation
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
---
2+
title: Integrate a Framework
3+
description: Connect your agent framework to ClawBio's skill registry and MCP bridge
4+
---
5+
6+
# Integrate a Framework
7+
8+
ClawBio skills are framework-agnostic by design. This guide explains how to connect your agent framework to the ClawBio skill registry so your agents can discover and execute skills.
9+
10+
## Architecture
11+
12+
```
13+
Your Agent Framework
14+
15+
16+
ClawBio Registry ──▶ SKILL.md (contract)
17+
18+
19+
Python CLI skill ──▶ --input / --output / --demo
20+
```
21+
22+
Each skill exposes a standard CLI interface. Your framework needs to:
23+
24+
1. **Discover** skills from the registry
25+
2. **Read** the SKILL.md to understand inputs, outputs, and domain rules
26+
3. **Execute** the Python script with the correct arguments
27+
4. **Capture** the output directory contents
28+
29+
## MCP Bridge
30+
31+
ClawBio provides an MCP (Model Context Protocol) server that exposes skills as tools. If your framework supports MCP, this is the simplest integration path:
32+
33+
```bash
34+
# Start the MCP bridge
35+
clawbio mcp serve
36+
37+
# Your MCP-compatible agent can now discover and call skills as tools
38+
```
39+
40+
## Direct Integration
41+
42+
If your framework does not support MCP, integrate directly with the CLI:
43+
44+
```python
45+
import subprocess
46+
import json
47+
48+
def run_skill(skill_name, input_path, output_dir):
49+
"""Execute a ClawBio skill and return the output path."""
50+
result = subprocess.run(
51+
["python", f"skills/{skill_name}/{skill_name}.py",
52+
"--input", input_path,
53+
"--output", output_dir],
54+
capture_output=True, text=True
55+
)
56+
if result.returncode != 0:
57+
raise RuntimeError(result.stderr)
58+
return output_dir
59+
```
60+
61+
## Registry API
62+
63+
The skill registry provides metadata for discovery:
64+
65+
```python
66+
from clawbio import registry
67+
68+
# List all available skills
69+
skills = registry.list_skills()
70+
71+
# Get skill metadata (parsed from SKILL.md frontmatter)
72+
meta = registry.get_skill("pharmgx-reporter")
73+
print(meta["inputs"]) # Expected input formats
74+
print(meta["outputs"]) # What the skill produces
75+
```
76+
77+
## Testing Your Integration
78+
79+
```bash
80+
# Verify your framework can discover skills
81+
clawbio list
82+
83+
# Run a demo skill to test the execution path
84+
python skills/pharmgx-reporter/pharmgx_reporter.py --demo --output /tmp/test
85+
86+
# Check output was produced
87+
ls /tmp/test/
88+
```
89+
90+
## Questions?
91+
92+
- Open a [GitHub Discussion](https://github.com/ClawBio/ClawBio/discussions)
93+
- Join our [Discord](https://discord.gg/clawbio)

docs/contributing/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ ClawBio is an open project. Anyone can contribute a skill -- from a simple SKILL
99

1010
## Ways to Contribute
1111

12-
- **[Author a Skill](/contributing/author-journey)** — Create a new bioinformatics skill from scratch using our scaffolding tools.
13-
- **[Integrate a Framework](/contributing/framework-integration)** — Connect your agent framework to ClawBio's registry and MCP bridge.
12+
- **[Author a Skill](author-journey.md)** — Create a new bioinformatics skill from scratch using our scaffolding tools.
13+
- **[Integrate a Framework](framework-integration.md)** — Connect your agent framework to ClawBio's registry and MCP bridge.
1414

1515
## Quick Start
1616

docs/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,4 +84,4 @@ description: Build AI-powered bioinformatics skills at Imperial College London.
8484

8585
---
8686

87-
[Skill Library](skills/) · [SKILL.md Spec](reference/skillmd-spec/) · [Contributing](contributing/) · [All Tutorials](tutorials/)
87+
[Skill Library](skills/index.md) · [SKILL.md Spec](reference/skillmd-spec.md) · [Contributing](contributing/index.md) · [All Tutorials](tutorials/index.md)

docs/skills/illumina-bridge.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
---
2+
title: Illumina Bridge
3+
description: Integration with Illumina Connected Analytics (ICA) platform
4+
---
5+
6+
# Illumina Bridge
7+
8+
Connect ClawBio to the Illumina Connected Analytics (ICA) platform. List projects, browse pipeline runs, and pull analysis outputs into your local environment for downstream processing.
9+
10+
## Quick Demo
11+
12+
```bash
13+
python skills/illumina-bridge/illumina_bridge.py --demo
14+
```
15+
16+
## CLI Reference
17+
18+
```bash
19+
# List ICA projects
20+
python skills/illumina-bridge/illumina_bridge.py \
21+
--list-projects
22+
23+
# List pipeline runs in a project
24+
python skills/illumina-bridge/illumina_bridge.py \
25+
--project <project_id> --list-runs
26+
27+
# Pull output from a pipeline run
28+
python skills/illumina-bridge/illumina_bridge.py \
29+
--project <project_id> --run <run_id> --output /tmp/demo
30+
```
31+
32+
## Requirements
33+
34+
- An Illumina Connected Analytics account
35+
- An ICA API key (set via `ICA_API_KEY` environment variable)
36+
- `requests` Python package
37+
38+
## Domain Decisions
39+
40+
- Pipeline outputs are downloaded as-is without transformation
41+
- File integrity is verified via checksums provided by ICA
42+
- Large files (>1 GB) are streamed to avoid memory issues

docs/skills/index.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,16 @@ ClawBio ships with **24+ skills** spanning pharmacogenomics, population genetics
99

1010
## Production-Ready Skills
1111

12-
- **[PharmGx Reporter](/skills/pharmgx-reporter)** — Pharmacogenomics report from 23andMe/AncestryDNA/VCF data. CPIC guideline-backed drug-gene interactions.
13-
- **[scRNA Orchestrator](/skills/scrna-orchestrator)** — End-to-end single-cell RNA-seq pipeline: QC, normalisation, clustering, marker genes, doublet removal.
14-
- **[Equity Scorer (HEIM)](/skills/equity-scorer)** — Health Equity Impact Metric — measures genomic dataset diversity and population representation.
15-
- **[NutriGx Advisor](/skills/nutrigx-advisor)** — Personalised nutrition report from genetic data. 40+ nutritionally-relevant SNPs.
16-
- **[Genome Compare](/skills/genome-compare)** — Pairwise genome comparison with IBS scoring. Compare against George Church's genome.
17-
- **[GWAS PRS](/skills/gwas-prs)** — Polygenic risk scores from consumer genetic data. 6 curated traits.
18-
- **[GWAS Lookup](/skills/gwas-lookup)** — Federated variant query across 9 genomic databases.
19-
- **[Illumina Bridge](/skills/illumina-bridge)** — Integration with Illumina Connected Analytics (ICA) platform.
20-
- **[Galaxy Bridge](/skills/galaxy-bridge)** — Search, inspect, and run Galaxy tools from ClawBio.
21-
- **[RNA-seq DE](/skills/rnaseq-de)** — Bulk and pseudo-bulk RNA-seq differential expression with PyDESeq2.
12+
- **[PharmGx Reporter](pharmgx-reporter.md)** — Pharmacogenomics report from 23andMe/AncestryDNA/VCF data. CPIC guideline-backed drug-gene interactions.
13+
- **[scRNA Orchestrator](scrna-orchestrator.md)** — End-to-end single-cell RNA-seq pipeline: QC, normalisation, clustering, marker genes, doublet removal.
14+
- **[Equity Scorer (HEIM)](equity-scorer.md)** — Health Equity Impact Metric — measures genomic dataset diversity and population representation.
15+
- **[NutriGx Advisor](nutrigx-advisor.md)** — Personalised nutrition report from genetic data. 40+ nutritionally-relevant SNPs.
16+
- **[Genome Compare](genome-compare.md)** — Pairwise genome comparison with IBS scoring. Compare against George Church's genome.
17+
- **[GWAS PRS](gwas-prs.md)** — Polygenic risk scores from consumer genetic data. 6 curated traits.
18+
- **[GWAS Lookup](gwas-lookup.md)** — Federated variant query across 9 genomic databases.
19+
- **[Illumina Bridge](illumina-bridge.md)** — Integration with Illumina Connected Analytics (ICA) platform.
20+
- **[Galaxy Bridge](galaxy-bridge.md)** — Search, inspect, and run Galaxy tools from ClawBio.
21+
- **[RNA-seq DE](rnaseq-de.md)** — Bulk and pseudo-bulk RNA-seq differential expression with PyDESeq2.
2222

2323
## Additional Skills
2424

0 commit comments

Comments
 (0)