strategies/<candidate_id>/metadata.json (recommended for provenance)
Folder name <candidate_id> must match strategy.yaml field id.
strategy.yaml Required Top-Level Keys
id
name
universe
signals
risk
cost_model
validation
promotion_gates
Phase I Constraints
validation.method must be full_sample.
validation.oos_ratio must be omitted or null.
risk.risk_per_trade must satisfy 0 < value <= 0.10.
risk.max_positions must be >= 1.
risk.max_sector_exposure must satisfy 0 < value <= 1.0.
signals.entry.conditions must be non-empty.
signals.exit.stop_loss must be non-empty.
signals.exit must include trailing_stop or take_profit.
Supported Entry Families (v1)
pivot_breakout with vcp_detection block
gap_up_continuation with gap_up_detection block
If both detection blocks exist, implementation may merge both as logical OR.
Execution Handshake
Run:
uv run python -m pipeline.runner.cli \
--strategy <candidate_id> \
--data-dir data \
--output-dir reports/<candidate_id>
Dry-run first:
uv run python -m pipeline.runner.cli --strategy <candidate_id> --dry-run
Minimum machine-readable outputs:
run_status from CLI exit code
gate_status from Promotion gate: PASSED|FAILED
report_path from Report: ...
1---2name: 2511-pipeline-if-v1-190b7f523description: Pipeline Interface v14---5# Pipeline Interface v167This reference summarizes the `edge-finder-candidate/v1` contract used by8`trade-strategy-pipeline` Phase I.910## Required Artifact Layout1112- `strategies/<candidate_id>/strategy.yaml` (required)13- `strategies/<candidate_id>/metadata.json` (recommended for provenance)14- Folder name `<candidate_id>` must match `strategy.yaml` field `id`.1516## `strategy.yaml` Required Top-Level Keys1718- `id`19- `name`20- `universe`21- `signals`22- `risk`23- `cost_model`24- `validation`25- `promotion_gates`2627## Phase I Constraints2829- `validation.method` must be `full_sample`.30- `validation.oos_ratio` must be omitted or `null`.31- `risk.risk_per_trade` must satisfy `0 < value <= 0.10`.32- `risk.max_positions` must be `>= 1`.33- `risk.max_sector_exposure` must satisfy `0 < value <= 1.0`.34- `signals.entry.conditions` must be non-empty.35- `signals.exit.stop_loss` must be non-empty.36- `signals.exit` must include `trailing_stop` or `take_profit`.3738## Supported Entry Families (v1)3940- `pivot_breakout` with `vcp_detection` block41- `gap_up_continuation` with `gap_up_detection` block4243If both detection blocks exist, implementation may merge both as logical OR.4445## Execution Handshake4647Run:4849```bash50uv run python -m pipeline.runner.cli \51 --strategy <candidate_id> \52 --data-dir data \53 --output-dir reports/<candidate_id>54```5556Dry-run first:5758```bash59uv run python -m pipeline.runner.cli --strategy <candidate_id> --dry-run60```6162Minimum machine-readable outputs:6364- `run_status` from CLI exit code65- `gate_status` from `Promotion gate: PASSED|FAILED`66- `report_path` from `Report: ...`
Run npx skillmds@latest add tools-only/2511-pipeline-if-v1-190b7f52 in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
Pipeline Interface v1 It is listed under DevOps & Infra on SkillMD.
This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
tools-only (@tools-only) published this skill. Their other Agent Skills are listed on their SkillMD profile.