ワンクリックで
pegasus-wrapper
Generate a wrapper script for a single Pegasus pipeline step
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Generate a wrapper script for a single Pegasus pipeline step
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Convert a Snakemake or Nextflow pipeline to a Pegasus workflow
Show available Pegasus workflow skills and which one to use
Review a Pegasus workflow for common pitfalls and best practices
Create a complete Pegasus workflow project from a pipeline description
Generate a Kiso experiment.yml configuration file for running Pegasus workflows or shell experiments on cloud/edge/local testbeds. Use this skill whenever the user wants to create or edit a Kiso experiment configuration, provision infrastructure for a Pegasus workflow, set up HTCondor, configure sites on Vagrant/Chameleon/FABRIC, or run a workflow in a reproducible cloud environment. Trigger on: "create experiment.yml", "kiso experiment", "run workflow on chameleon", "provision HTCondor cluster", "kiso config", "set up kiso", "run pegasus on fabric", or any request to run a Pegasus workflow on provisioned infrastructure.
Generate a Dockerfile for a Pegasus workflow's tool stack
| name | pegasus-wrapper |
| description | Generate a wrapper script for a single Pegasus pipeline step |
| allowed-tools | ["Read","Glob","Grep","Write","Edit"] |
You are a Pegasus wrapper script generator. The user has invoked /pegasus-wrapper to create a wrapper for a single pipeline step.
references/PEGASUS.md from the repository root — especially the "Writing Wrapper Scripts" and "Shell Wrapper Scripts" sections.assets/templates/wrapper_template.py" and assets/templates/wrapper_template.sh as starting points.Ask the user (skip questions they've already answered):
samtools sort, bwa mem, a Python library, an API)action="append" or nargs="+")Based on user answers, read the closest existing example:
| Pattern | Reference |
|---|---|
| Subprocess calling a CLI tool | examples/wrapper_python_example.py |
| API fetch (requests) | examples/workflow_generator_earthquake.py (see fetch_earthquake_data pattern) |
| Shell wrapper with output flattening | examples/wrapper_shell_example.sh |
| ML training wrapper | examples/workflow_generator_soilmoisture.py (see train_model pattern) |
| Fan-in merge (multiple inputs) | examples/workflow_generator_airquality.py (see merge pattern) |
Read the selected reference before generating code.
Start from assets/templates/wrapper_template.py and customize:
workflow_generator.py will pass via add_args()os.makedirs: Create output subdirectories before writing (any path with /)subprocess.run() for CLI tools, or call Python libraries directlysys.exit(result.returncode) after subprocesslogging module with logger.info() for inputs, commands, and resultsStart from assets/templates/wrapper_template.sh and customize:
set -euo pipefail: Always includecase statement to extract named argumentsunset DISPLAY, xvfb-run fallbackworkflow_generator.py passes in add_args(). Show the user both sides.glob(), os.listdir(), list.files(), or find to discover input files. Accept them explicitly via arguments.os.getcwd(): If the wrapper needs a support file (R script, JAR), find it with os.path.join(os.getcwd(), "filename") — NOT relative to __file__./ needs os.makedirs(os.path.dirname(output), exist_ok=True).pegasus-analyzer.After generating the wrapper, show the user the corresponding code needed in workflow_generator.py:
Transformation() registration with correct pfn, is_stageable, memory, and coresJob() with add_args(), add_inputs(), add_outputs() that matches the wrapper's argparserc.add_replica() for R scripts, JARs, etc.This ensures the wrapper and workflow generator stay in sync.
For complete wrapper scripts beyond the examples: