bio-workflow-methods-docwriter
Skill9 starsChanged 4 months agoMITView on GitHub
Generate reproducible Methods from Nextflow, Snakemake, or CWL run artifacts. Use when documenting exact commands, versions, parameters, QC gates, provenance, and outputs.
In this repository35 other files it gives its agents.
- AGENTS.mdAGENTS.md
- docs/agents.mdAGENTS.md
- ai-scientist-evaluatorSkill
- arxiv-searchSkill
- beautiful-data-vizSkill
- bio-annotationSkill
- bio-assembly-qcSkill
- bio-binning-qcSkill
- bio-fasta-database-curatorSkill
- bio-foundation-housekeepingSkill
- bio-gene-callingSkill
- bioinformatics-projectSkill
- bio-interdomain-hgtSkill
- bio-logicSkill
- bio-phylogenomicsSkill
- bio-prefect-dask-nextflowSkill
- bio-protein-clustering-pangenomeSkill
- bio-reads-qc-mappingSkill
- biorxiv-searchSkill
- bio-stats-ml-reportingSkill
- bio-structure-annotationSkill
- bio-viromicsSkill
- crossref-lookupSkill
- csag-extractionSkill
- exploratory-data-analysisSkill
- manuscript-review-councilSkill
- notebooksSkill
- pdf-to-mdSkill
- plotly-dashboard-skillSkill
- polars-dovmedSkill
- proposal-reviewSkill
- public-db-lookupSkill
- scientific-impact-assessmentSkill
- scientific-writingSkill
- tracking-taxonomy-updatesSkill
The file
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 8
Write Methods text and run documentation from real workflow artifacts.
- Very specific: line 84
Solution: Use NOT CAPTURED only while assembling a draft.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Bio Workflow Methods Docwriter
Write Methods text and run documentation from real workflow artifacts. Every command, version, and parameter comes from evidence; nothing is inferred.
Instructions
- Collect the evidence package listed in reference/evidence-checklist.md: launch command, configs, engine version, tool versions or container digests, input checksums or accessions, reference and database versions, QC reports, and the final output list.
- Build a draft
run_manifest.yamlwith the extractor for the engine:- Nextflow:
extract_nextflow_run.pyreadstrace.txtand thework/task folders.--tool-versionsis a JSON mapping of process name to{"tool": ..., "version": ...};--outputs-manifestlists one final output path per line. - Snakemake:
extract_snakemake_run.pyreads a JSONL file with one record per job (rule,status,tool,version,command,inputs,outputs). Assemble it from--printshellcmdslogs and the version records; seefixtures/snakemake/jobs.jsonl. - CWL:
extract_cwl_run.pyreads one normalized JSON record (run metadata plusstepsandoutputs), not a raw CWLProv folder; seefixtures/cwl/provenance.json.
- Nextflow:
- Fill the remaining fields from evidence only. While drafting, mark a missing value
NOT CAPTURED; the final manifest must not contain it. If the value cannot be recovered, record the gap underlimitationsand do not call the manifest reproducible. - Validate the manifest against schemas/run-manifest.schema.json with
validate_run_manifest.py. - Draft
METHODS.mdfrom templates/methods_report.md: workflow summary at the top, then inputs, exact rerun command, environment, steps as executed, QC, outputs, and limitations. - For manuscript Methods prose, hand the manifest to
/scientific-writing. Keep script names, internal flags, and runtime bookkeeping in Methods or the supplement, not in Results.
Resolve the installed skill once:
METHODS_SKILL="${METHODS_SKILL:-$HOME/.agents/skills/bio-workflow-methods-docwriter}"Each script declares its dependencies inline (PEP 723), so uv run --script needs no separate environment.
Quick Reference
| Task | Action |
| Evidence checklist | reference/evidence-checklist.md |
| Standards to align with | reference/standards.md |
| Manifest schema | schemas/run-manifest.schema.json (LinkML source: schemas/workflow-run-schema.yaml) |
| Drafting templates | METHODS.md template, paper-summary YAML |
| Extract a Nextflow draft | uv run --script "$METHODS_SKILL/scripts/extract_nextflow_run.py" --help |
| Extract a Snakemake draft | uv run --script "$METHODS_SKILL/scripts/extract_snakemake_run.py" --help |
| Extract a CWL draft | uv run --script "$METHODS_SKILL/scripts/extract_cwl_run.py" --help |
| Validate manifest | uv run --script "$METHODS_SKILL/scripts/validate_run_manifest.py" run_manifest.yaml |
| Complete example manifest | examples/run_manifest.example.yaml |
Input Requirements
- Workflow artifacts (Nextflow/Snakemake/CWL logs and configs)
- Tool version records or container digests
- QC reports and output manifests
Output
METHODS.md(agent-authored; workflow summary first, then detailed steps)run_manifest.yaml(machine-readable run manifest)- Artifact contract: schemas/run-manifest.schema.json
- Paper-summary schema: schemas/bio-paper-schema.yaml
Quality Gates
- No invented commands, versions, or parameters
- Every step has inputs, outputs, and versions captured
- Commands were sourced from task scripts, not environment-bearing wrappers, and contain no credentials
- No
NOT CAPTURED,UNKNOWN, orTBDplaceholder remains in a required field - Workflow summary appears at top of
METHODS.md - The final manifest passes
validate_run_manifest.py
Examples
Example 1: Nextflow run to validated manifest
METHODS_SKILL="${METHODS_SKILL:-$HOME/.agents/skills/bio-workflow-methods-docwriter}"
uv run --script "$METHODS_SKILL/scripts/extract_nextflow_run.py" \
--trace trace.txt --workdir work --out run_manifest.yaml \
--run-id rnaseq-2026-02-02 --pipeline-name nf-core/rnaseq --pipeline-version 3.14.0 \
--commit-sha <sha> --engine-version <nextflow -version> \
--launch-command "<exact launch command>" \
--tool-versions tool-versions.json --outputs-manifest outputs.txt
uv run --script "$METHODS_SKILL/scripts/validate_run_manifest.py" run_manifest.yamlTroubleshooting
Issue: Missing tool versions in logs
Solution: Use NOT CAPTURED only while assembling a draft. The final validator rejects it; recover the version from provenance or report the missing evidence in limitations without claiming a reproducible manifest.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

