From pegasus-ai
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.
npx claudepluginhub pegasus-isi/claude-plugin-marketplace --plugin pegasus-aiThis skill is limited to using the following tools:
You help users create a `experiment.yml` file for [Kiso](https://kiso.readthedocs.io) —
Provides Ktor server patterns for routing DSL, plugins (auth, CORS, serialization), Koin DI, WebSockets, services, and testApplication testing.
Conducts multi-source web research with firecrawl and exa MCPs: searches, scrapes pages, synthesizes cited reports. For deep dives, competitive analysis, tech evaluations, or due diligence.
Provides demand forecasting, safety stock optimization, replenishment planning, and promotional lift estimation for multi-location retailers managing 300-800 SKUs.
You help users create a experiment.yml file for Kiso —
a framework that provisions infrastructure, installs software, and runs experiments
(including Pegasus workflows) on cloud/edge testbeds reproducibly.
Read references/experiment-configuration.md (in this skill's directory) for the full
schema, all supported options, and complete examples. Do this before asking any
questions.
Before asking questions, look around:
experiment.yml or experiment.yaml — if found, read it and
offer to extend or fix it rather than starting from scratch.workflow_generator.py, bin/, or main.sh to understand what script
generates the Pegasus workflow (this becomes the main: field).README.md that might describe the experiment setup.Ask only what you don't already know. Group questions naturally — don't fire off a numbered list unless needed. Key things to establish:
Sites (infrastructure)
Software (optional)
Deployment
personal HTCondor node works; for multi-node,
use central-manager + submit + execute roles.Experiment
bin/workflow_generator.py or bin/main.sh)Use the patterns from references/experiment-configuration.md. Key rules:
Labels are the glue — invent short names (e.g., submit, execute,
central-manager) and use them consistently across sites, software,
deployment, and experiments. Every label in software/deployment/experiments
must be defined in sites.
submit_node_labels must point to HTCondor submit or personal nodes — validate
this before writing the file. If the user picks a label as submit but hasn't
configured it as an HTCondor submit or personal node, flag the mismatch.
Single-node setups: A single machine can carry multiple labels and HTCondor
roles (e.g., one Vagrant VM can be central-manager + submit + execute).
The main: script for Pegasus experiments should generate and submit the
workflow. Include a setup: script if the submit node needs dependencies installed
(e.g., pip install pegasus-wms).
Secrets go in secrets/ — rc_files for Chameleon/FABRIC credentials should
reference secrets/ paths (e.g., secrets/chi-tacc-openrc.sh). Remind the user to
create this directory and add it to .gitignore.
After writing experiment.yml, tell the user:
# Validate the configuration
kiso check
# Provision infrastructure
kiso up
# Run the experiment
kiso run
# Destroy infrastructure when done
kiso down
If they're using Chameleon or FABRIC, remind them they need credentials in secrets/
and the right pip extras installed (pip install kiso[chameleon] or
pip install kiso[fabric]).
If this is a Vagrant setup, remind them they need VirtualBox and Vagrant installed,
plus pip install kiso[vagrant].