一键导入
create-module
Create a new WILDS WDL module for a bioinformatics tool following project conventions
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Create a new WILDS WDL module for a bioinformatics tool following project conventions
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Create a new WILDS WDL pipeline that combines existing modules into a workflow
Add a new test data download task to the ww-testdata module for use in module/pipeline testruns
Run WDL linting on a WILDS module or pipeline and fix any issues found
Draft a pull request description using the project's PR template
Run the testrun.wdl for a WILDS module or pipeline using sprocket or miniwdl
| name | create-module |
| description | Create a new WILDS WDL module for a bioinformatics tool following project conventions |
| argument-hint | <tool-name> |
| allowed-tools | Bash, Edit, Read, Write, Glob, Grep, WebSearch, WebFetch |
Create a new module called ww-$ARGUMENTS in modules/ww-$ARGUMENTS/.
Before writing any code, research $ARGUMENTS to understand:
getwilds/$ARGUMENTS (check Docker Hub or the wilds-docker-library) and which version tag to pinIf no getwilds/ Docker image exists, flag this to the user — one will need to be created first.
If the task would benefit greatly from having an additional tool in the Docker image (e.g., samtools for BAM conversion after alignment), stop and let the user know. They can add it to the image in the wilds-docker-library repo before proceeding.
Read the canonical template files to match their exact format:
modules/ww-template/ww-template.wdlmodules/ww-template/testrun.wdlmodules/ww-template/README.mdAlso review modules/ww-testdata/ww-testdata.wdl to see what test data is available (FASTQ, BAM, CRAM, VCF, reference genome, etc.) and pick appropriate test data for this tool.
Create three files in modules/ww-$ARGUMENTS/:
ww-$ARGUMENTS.wdlversion 1.0meta block with: author, email, description, url, outputs
author: "WILDS Team" and email: "wilds@fredhutch.org" as placeholders — the actual contributor will replace these in reviewparameter_meta block describing every inputinput block with typed parameters; include cpu_cores (Int, default sensible), memory_gb (Int, default sensible), and String docker_image = "getwilds/$ARGUMENTS:<version>" (pinned, never latest)command <<< block starting with set -eo pipefail, using ~{var} interpolationoutput block with typed outputsruntime block with docker: docker_image, cpu: cpu_cores, memory: "~{memory_gb} GB"testrun.wdlversion 1.0import "ww-$ARGUMENTS.wdl" as ww_$ARGUMENTS_UNDERSCOREimport "../ww-testdata/ww-testdata.wdl" as ww_testdatatestrun.wdl. This ensures that linting and test runs (both locally and in CI/CD) use the local version of the WDL being developed, not a stale copy on a remote branch.$ARGUMENTS_example (with hyphens converted to underscores)ww_testdata tasks to provision test dataREADME.mdmodules/ww-template/README.mdRun linting and fix any issues. The Makefile requires three tools to be in PATH:
/Users/tfirman/.cargo/bin/sprocket/opt/homebrew/bin/uv/usr/bin/javaAlways include all three in PATH when running make targets:
PATH="/Users/tfirman/.cargo/bin:/opt/homebrew/bin:/opt/miniconda3/bin:$PATH" make lint NAME=ww-$ARGUMENTS
Fix any lint errors and re-run until clean.
Attempt a test run:
PATH="/Users/tfirman/.cargo/bin:/opt/homebrew/bin:/opt/miniconda3/bin:$PATH" make run_sprocket NAME=ww-$ARGUMENTS
If the test run fails due to missing test data or Docker images, note what's needed for the user.
Do NOT create any git commits or push to GitHub. The user will handle all git operations themselves.
Report to the user: