review-bench/calkit_calkit/create-pipeline
Claude Code and agent skill by review-bench/calkit_calkit
- community
Checking that the SKILL.md file is still in the repository.
Convert an existing repo with ad hoc scripts into a fully
Install
npx vskill@latest install review-bench/calkit_calkit/create-pipelineSKILL.md
The same SKILL.md was published earlier as calkit/calkit/create-pipeline.
Create a Calkit pipeline
Convert an existing repo with ad hoc scripts and manual steps into a fully reproducible Calkit pipeline. When complete, calkit run should reproduce all important outputs from scratch.
Step 1: Understand the existing repo
Before writing any YAML, map out what's already there. Start with the README. Users will typically write manual environment creation steps, and lists of script and commands to run in order. This is like a manual pipeline. Next:
- List all scripts and notebooks: look in
scripts/,notebooks/,src/,
and the repo root for .py, .R, .jl, .m, .ipynb files.
- Read each script to understand what it reads and writes.
- Identify the dependency order: which outputs of script A become inputs to
script B?
- Note which environment each script needs (Python version, packages, R,
Julia, MATLAB, Docker, etc.).
Ask the user if the order or dependencies are unclear. Do not guess at data flow.
Step 2: Initialize the project
If there is no calkit.yaml, run:
This sets up Git (if needed) and DVC. If calkit.yaml already exists but has no pipeline section, skip this—you will add one.
Step 3: Define environments
Every stage must reference a named environment. Identify what's needed:
- Python:
requirements.txtorpyproject.toml→uv-venv;
environment.yml → conda
- R:
renv.lock→renv - Julia:
Project.toml→julia - LaTeX:
dockerwithtexlive/texlive:latest-full - MATLAB:
matlab
Add environments to calkit.yaml:
Name a single Python environment main. With multiple environments, use descriptive names (e.g., analysis, paper).
Step 4: Try calkit xr first
For each script or notebook, try xr before writing YAML by hand. It auto-detects stage kind, environment, and I/O:
Work through scripts in dependency order. After each call, verify the new stage in calkit.yaml. Override detected I/O if needed:
xr is not magic—sometimes it won't get everything right. But it handles most of the boilerplate, so you can focus on verifying correctness and filling in gaps. Scan through scripts for missing inputs, outputs, environment dependencies, etc., and add those manually in calkit.yaml as needed.
Step 5: Write stages manually when xr isn't suitable
Write stages directly in calkit.yaml when:
- You need fine control over
always_run,iterate_over, storage modes, etc. xrdoes not support the stage kind
Rules:
- Stage names should be short, lowercase, hyphenated.
- Every file one stage writes and another reads must be declared as both an
output and an input—otherwise stages may run out of order or miss re-runs.
- Use
from_stage_outputs: stage-namewhen a stage consumes all outputs of a
prior stage.
Step 6: Choose output storage
For each output:
- Git: small, text-based files (summary CSVs, JSON metadata, PDFs, HTML
reports)
- DVC (default): large or binary files (raw data, model weights, matrices)
When in doubt, ask the user. Storage mode affects whether collaborators can see the file without calkit pull.
Step 7: Run and verify
Common errors:
- Missing inputs: a stage lists an input that no earlier stage produces
- Environment errors: run
calkit check env --name <env>to diagnose - Script errors: fix the script, then re-run
Run a single stage: calkit run <stage-name> Force re-run everything: calkit run --force
Step 8: Commit
Common mistakes
- Missing intermediate files: if
process.pyreadsdata/raw.csvbut
that file isn't declared as an output of collect-data, DVC won't track the dependency.
- Absolute paths in scripts: use paths relative to the repo root (or
wdir if set).
- Editing `dvc.yaml` directly: always edit
calkit.yaml—dvc.yamlis
regenerated by Calkit.
- Missing `environment`: every stage needs one. Use
_systemfor stages
that only use system tools.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingagent-plugin/skills/create-pipeline/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/review-bench/calkit_calkit/create-pipeline)