with one click
Execute multi-step pipelines defined in JSON with:
npx skills add https://github.com/JansenAnalytics/claudex --skill pipeline-runnerCopy and paste this command into Claude Code to install the skill
Execute multi-step pipelines defined in JSON with:
npx skills add https://github.com/JansenAnalytics/claudex --skill pipeline-runnerCopy and paste this command into Claude Code to install the skill
| description | Execute multi-step pipelines defined in JSON with: |
| name | pipeline-runner |
| triggers | ["run pipeline","create pipeline","workflow","multi-step","backtest and deploy","if this then that"] |
| category | development |
| maturity | stable |
| tags | ["pipeline","workflow-orchestration","dependency-graph","retries","json"] |
Execute multi-step pipelines defined in JSON with:
needs)if)on_fail: continue|notify)node ${CLAUDE_SKILLS_DIR:-$HOME/.claude-agent/.claude/skills}/pipeline-runner/scripts/pipeline.cjs <command> [args]
pipeline run <file.json> [--dry-run] [--var key=value] — Execute a pipeline
pipeline validate <file.json> — Validate syntax
pipeline list — List saved pipelines
pipeline history [--limit 10] — Recent runs
pipeline show-run <run-id> — Run details
{
"name": "my-pipeline",
"env": { "MY_VAR": "value" },
"steps": [
{
"name": "build",
"run": "npm run build",
"timeout": 120,
"retries": 2,
"retry_delay": 5
},
{
"name": "test",
"needs": ["build"],
"run": "npm test",
"on_fail": "continue"
},
{
"name": "deploy",
"needs": ["test"],
"if": "steps.test.exitCode == 0",
"run": "./deploy.sh"
},
{
"name": "checks",
"parallel": [
{ "name": "lint", "run": "npm run lint" },
{ "name": "typecheck", "run": "tsc --noEmit" }
]
}
]
}
| Property | Type | Default | Description |
|---|---|---|---|
name | string | required | Unique step identifier |
run | string | — | Shell command to execute |
needs | string[] | — | Steps that must complete first |
if | string | — | Condition: steps.NAME.exitCode == 0 |
timeout | number | 300 | Seconds before kill |
retries | number | 0 | Retry count on failure |
retry_delay | number | 5 | Seconds between retries |
on_fail | string | halt | continue or notify or halt |
parallel | step[] | — | Run sub-steps in parallel |
Each step's stdout is available to subsequent steps as:
$STEP_<NAME>_OUTPUT (name uppercased, non-alphanumeric → underscore)
When the user asks for a multi-step workflow, write a JSON pipeline file and run it:
# Write pipeline
cat > /tmp/my-pipeline.json << 'EOF'
{ "name": "...", "steps": [...] }
EOF
# Execute
node pipeline.cjs run /tmp/my-pipeline.json
Store in ~/.pipelines/ for future use:
cp /tmp/my-pipeline.json ~/.pipelines/backtest-flow.json
Always dry-run complex pipelines first:
node pipeline.cjs run pipeline.json --dry-run
See ${CLAUDE_SKILLS_DIR:-$HOME/.claude-agent/.claude/skills}/pipeline-runner/examples/:
test-pipeline.json — basic test with all featuresbacktest-pipeline.json — prop-hedge backtest → analyze → commit → push~/.pipelines/ (JSON)~/.pipelines/runs/ (JSON, one per run)Semantic memory search across all agent memories and conversation history. Use BEFORE answering questions about prior work, decisions, dates, people, preferences, projects, or past conversations. Also use when asked "do you remember", "what did we discuss", "when did we", etc.
Get current weather and forecasts. Use when the user asks about weather, temperature, or forecasts for any location.
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
Accessibility auditing: WCAG compliance checking, contrast ratios, ARIA labels, keyboard navigation, semantic HTML, screen reader compatibility.
ADR Manager Skill
Autonomous API testing and evaluation. Tests any REST API for correctness, security, performance, error handling, and standards compliance. Discovers endpoints, probes with valid/invalid/edge-case payloads, checks auth, response times, injection vulnerabilities, and generates severity-scored reports with actionable fixes. Use before any API "done" claim.