KS
Killer-Skills

pegasus-wrapper — how to use pegasus-wrapper how to use pegasus-wrapper, pegasus-wrapper setup guide, pegasus-wrapper alternative, what is pegasus-wrapper, pegasus-wrapper install, pegasus-wrapper vs Claude Code, Pegasus WMS workflow automation, Claude Code workflow creation, pegasus-wrapper tutorial, automating pipeline steps with pegasus-wrapper

v1.0.0
GitHub

About this Skill

Ideal for Automation Agents requiring seamless workflow integration with Pegasus WMS and Claude Code. pegasus-wrapper is a reusable toolkit for creating Pegasus WMS workflows with Claude Code, facilitating the automation of pipeline steps

Features

Generates wrapper scripts for Pegasus WMS workflows using Claude Code
Reads reference materials from Pegasus.md and pegasus-templates
Supports creation of shell wrapper scripts using wrapper_template.sh
Utilizes wrapper_template.py for Python-based workflow automation
Gathers requirements for workflow creation through user interaction
Creates wrapper scripts for single pipeline steps using /pegasus-wrapper command

# Core Topics

pegasus-isi pegasus-isi
[0]
[0]
Updated: 3/7/2026

Quality Score

Top 5%
35
Excellent
Based on code quality & docs
Installation
SYS Universal Install (Auto-Detect)
Cursor IDE Windsurf IDE VS Code IDE
> npx killer-skills add pegasus-isi/pegasus-workflow-toolkit/pegasus-wrapper

Agent Capability Analysis

The pegasus-wrapper MCP Server by pegasus-isi is an open-source Categories.community integration for Claude and other AI agents, enabling seamless task automation and capability expansion. Optimized for how to use pegasus-wrapper, pegasus-wrapper setup guide, pegasus-wrapper alternative.

Ideal Agent Persona

Ideal for Automation Agents requiring seamless workflow integration with Pegasus WMS and Claude Code.

Core Value

Empowers agents to generate wrapper scripts for Pegasus WMS workflows using Claude Code, enabling automated pipeline steps and efficient workflow management through shell wrapper scripts and Python templates.

Capabilities Granted for pegasus-wrapper MCP Server

Automating pipeline steps with Pegasus WMS
Generating wrapper scripts for Claude Code integration
Streamlining workflow management with shell wrapper scripts

! Prerequisites & Limits

  • Requires Claude Code compatibility
  • Pegasus WMS workflow dependency
  • Python scripting knowledge for customization
Project
SKILL.md
4.7 KB
.cursorrules
1.2 KB
package.json
240 B
Ready
UTF-8

# Tags

[No tags]
SKILL.md
Readonly

Pegasus Wrapper Script Generator

You are a Pegasus wrapper script generator. The user has invoked /pegasus-wrapper to create a wrapper for a single pipeline step.

Step 1: Read Reference Materials

  1. Read Pegasus.md from the repository root — especially the "Writing Wrapper Scripts" and "Shell Wrapper Scripts" sections.
  2. Read pegasus-templates/wrapper_template.py and pegasus-templates/wrapper_template.sh as starting points.

Step 2: Gather Requirements

Ask the user (skip questions they've already answered):

  1. Tool name: What tool does this wrapper invoke? (e.g., samtools sort, bwa mem, a Python library, an API)
  2. Inputs and outputs: What files does it read and write? Include filenames or patterns.
  3. Does the tool produce nested output? If yes (e.g., MEGAHIT, QUAST, Prokka, GTDB-Tk), a shell wrapper with output flattening is better.
  4. Python or shell?
    • Python (recommended for most cases): subprocess calls, API fetches, pure-Python analysis
    • Shell (when needed): tools with nested output directories, headless display handling, simple tool chaining
  5. Does this wrapper need to accept multiple input files? (For fan-in/merge jobs, use action="append" or nargs="+")
  6. Does this wrapper call support files? (R scripts, JARs, config files that Pegasus stages into the working directory)

Step 3: Select Reference Pattern

Based on user answers, read the closest existing example:

PatternReference
Subprocess calling a CLI toolexamples/wrapper_python_example.py
API fetch (requests)examples/workflow_generator_earthquake.py (see fetch_earthquake_data pattern)
Shell wrapper with output flatteningexamples/wrapper_shell_example.sh
ML training wrapperexamples/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.

Step 4: Generate the Wrapper

For Python wrappers:

Start from pegasus-templates/wrapper_template.py and customize:

  1. Docstring: Describe what this step does
  2. argparse arguments: Must match what the workflow_generator.py will pass via add_args()
  3. os.makedirs: Create output subdirectories before writing (any path with /)
  4. Tool invocation: Use subprocess.run() for CLI tools, or call Python libraries directly
  5. Exit code propagation: sys.exit(result.returncode) after subprocess
  6. Structured logging: Use logging module with logger.info() for inputs, commands, and results
  7. Output verification: Check the output file exists before exiting

For shell wrappers:

Start from pegasus-templates/wrapper_template.sh and customize:

  1. set -euo pipefail: Always include
  2. Argument parsing: case statement to extract named arguments
  3. Tool execution: Call the tool with parsed arguments
  4. Output flattening: Copy expected output files from nested directories to the working directory root
  5. Headless handling (if needed): unset DISPLAY, xvfb-run fallback

Critical Rules

  1. Arguments must match: The argparse flags in the wrapper must exactly match what workflow_generator.py passes in add_args(). Show the user both sides.
  2. No directory scanning: Never use glob(), os.listdir(), list.files(), or find to discover input files. Accept them explicitly via arguments.
  3. Support files via 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__.
  4. Create subdirectories: Any output path containing / needs os.makedirs(os.path.dirname(output), exist_ok=True).
  5. Print the command: Always log the command being run — this is essential for debugging via pegasus-analyzer.

Step 5: Show Integration

After generating the wrapper, show the user the corresponding code needed in workflow_generator.py:

  1. Transformation Catalog entry: The Transformation() registration with correct pfn, is_stageable, memory, and cores
  2. Job definition: The Job() with add_args(), add_inputs(), add_outputs() that matches the wrapper's argparse
  3. Replica Catalog entry (if the wrapper uses support files): rc.add_replica() for R scripts, JARs, etc.

This ensures the wrapper and workflow generator stay in sync.

Full Workflow Repositories

For complete wrapper scripts beyond the examples:

Related Skills

Looking for an alternative to pegasus-wrapper or building a Categories.community AI Agent? Explore these related open-source MCP Servers.

View All

widget-generator

Logo of f
f

widget-generator is an open-source AI agent skill for creating widget plugins that are injected into prompt feeds on prompts.chat. It supports two rendering modes: standard prompt widgets using default PromptCard styling and custom render widgets built as full React components.

149.6k
0
Design

chat-sdk

Logo of lobehub
lobehub

chat-sdk is a unified TypeScript SDK for building chat bots across multiple platforms, providing a single interface for deploying bot logic.

73.0k
0
Communication

zustand

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
Communication

data-fetching

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
Communication