Agent Skillsrocketride-org/rocketride-server › rocketride-configuring-pipelines

rocketride-configuring-pipelines

GitHub

用于配置和验证RocketRide流水线节点,通过获取Schema、填充字段、运行检查清单及引擎校验,确保管道配置正确且安全。

docs/agents/skills/rocketride-configuring-pipelines/SKILL.md rocketride-org/rocketride-server

触发场景

需要配置RocketRide流水线节点 验证管道配置是否符合规范

安装

npx skills add rocketride-org/rocketride-server --skill rocketride-configuring-pipelines -g -y
更多选项

非标准路径

npx skills add https://github.com/rocketride-org/rocketride-server/tree/develop/docs/agents/skills/rocketride-configuring-pipelines -g -y

不安装直接使用

npx skills use rocketride-org/rocketride-server@rocketride-configuring-pipelines

指定 Agent (Claude Code)

npx skills add rocketride-org/rocketride-server --skill rocketride-configuring-pipelines -a claude-code -g -y

安装 repo 全部 skill

npx skills add rocketride-org/rocketride-server --all -g -y

预览 repo 内 skill

npx skills add rocketride-org/rocketride-server --list

SKILL.md

Frontmatter
{
    "name": "rocketride-configuring-pipelines",
    "description": "Use when filling in a RocketRide pipeline's node configuration and validating it — fetching each node's schema, setting required fields, running the anti-pattern checklist, and validating against the engine before a run."
}

Configuring & Validating RocketRide Pipelines

Takes an approved topology (from rocketride-designing-pipelines) to a validated pipeline.pipe ready to run. Reliability comes from tools and a checklist, not cleverness: fetch schema → fill only real fields → checklist gate → validate() → re-validate until clean. Gate rules + forcing functions: ../rocketride-building-pipelines/GATE_PROTOCOL.md.

Step 1 — Configure each node (schema-driven, one at a time)

For every node in the approved topology, in order:

  1. Fetch the schema (L2): describe_component / tools/fetch-node-schema.py <node> / .rocketride/schema/<node>.json. Never configure from memory. (Forcing function 5.) Fetch one node at a time — never bulk-load every schema (FF#17). If you already fetched this node's schema while designing (Phase 1b) this session, reuse it with --cache-ok (serves the cached copy with no reconnect — still schema-grounded, just not re-fetched); a full re-fetch only on a cache miss.

  2. State what the schema says before filling: the required fields, any conditional rules in prose ("if batch_size set, max_batch_wait_ms is required"), and the profile shape for LLM/embedding/store nodes. (Forcing function 10.)

  3. Fill only fields the schema defines. Use ${ROCKETRIDE_*} env references for secrets — never literal keys. Secret values never travel through tools or the model: over MCP, credentials are configured out-of-band — list_integrations reports per-integration readiness and (with a name) returns concrete setup steps to relay to the user. LLM/embedding/store nodes use a profile block:

    "config": { "profile": "openai-5", "openai-5": { "apikey": "${ROCKETRIDE_OPENAI_KEY}" }, "parameters": {} }
    

    Source nodes need the full source config, not {}: { "hideForm": true, "mode": "Source", "parameters": {}, "type": "<provider>" }.

    The block above is the <Good> shape. The <Bad> shape — guessed from memory — fails validation and leaks a key:

    "config": { "model": "gpt-5", "apikey": "sk-...", "max_tokens": 4096 }
    

    Three bugs in one line: a literal key (must be ${ROCKETRIDE_*}), no profile wrapper, and max_tokens is not a real field (the schema calls it modelTotalTokens). Fetch the schema, then copy the <Good> shape — never type config from memory.

  4. Run the 9-point checklist as a gate (full list in PIPELINE_ANTIPATTERNS.md). State each item yes/no for this node before moving on — do not skip and claim "applied":

    Node <id>: 1 ext✓ 2 components-order✓ 3 literal-guid✓ 4 source-match✓ 5 unique-id✓ 6 input-array✓ 7 lane-types✓ 8 acyclic/no-orphan✓ 9 ROCKETRIDE_ env✓

Step 2 — Assemble & validate (→ Gate C)

  1. Assemble the .pipe: components first (each with id, provider, config, and input for non-source nodes; control on controlled nodes), then a literal-GUID project_id, viewport, version: 1. File extension .pipe.
  2. validate() the whole pipeline (L3): validate_pipeline tool / tools/validate-pipeline.py <file> (calls client.validate(){errors, warnings}) / --static lint if no engine.
  3. The re-validation loop (Forcing function 11): if errors is non-empty, show them verbatim, fix the offending node (loop back to Step 1 for that node — don't restart design), then call validate() again. Repeat until errors == []. Never write "validation passed" without a clean result in hand. Address warnings or explain why each is acceptable.
  4. Gate C is a tool gate, not a user gate — it is "passed" only when validate() returns zero errors. Quote it: validate(): 0 errors, K warnings.

Step 3 — Cost approval (→ Gate C.5)

Before handing off to run, estimate cost and gate it (GATE_PROTOCOL §5):

  • Count paid/LLM nodes × expected calls × rough token cost; note if it runs on cloud compute (billed to the wallet) vs the user's own dev keys locally.
  • Gate C.5:

    This run will cost ≈ $X (). Approve this run? (yes / no) Then Write .context/GATE_STATE.md = GATE C.5 | presented | status: AWAITING (§2), and STOP and wait. "Just run it" earlier is not cost approval. A tiny local test on the user's own key can be a one-line confirm; cloud/large runs always gate.

Hand the validated .pipe to rocketride-running-pipelines.

Red flags

Thought Reality
"I'll set apikey/model from what I remember" Fetch the schema; field names differ per provider (modelTotalTokens, profile keys).
"Required fields only; prose constraints are optional" Conditional rules ("if X then Y") are required too — state and satisfy them.
"I'll run the checklist once at the end" Per node, as a gate, stated yes/no. A checklist skimmed once is a checklist skipped.
"validate() erred but I fixed it in the text" A fix you didn't re-validate is a guess. Re-call validate() until errors == [].
"Zero errors but warnings — ship it" Read each warning; fix or justify. Warnings are often the real bug.
"Hardcode the key just for the test" Never. ${ROCKETRIDE_*} always; literal keys leak and break substitution.
"Skip the cost gate, it's a small run" Present Gate C.5 regardless; let the user decide.

Supporting files

  • PIPELINE_ANTIPATTERNS.md — the real common mistakes, the 9-point checklist, the error table
  • tools/fetch-node-schema.pyget_service(name) (live) or read .rocketride/schema/<name>.json
  • tools/validate-pipeline.pyclient.validate(pipeline); --static = local lint, no engine
  • deep docs — for provider-specific config nuance/profiles the schema alone doesn't explain, fetch the node's doc page: ../rocketride-building-pipelines/tools/fetch-doc.py "<node-name>" (→ /nodes/<name>.md). The schema gives exact fields; the page gives the why. Never llms-full.txt.

版本历史

  • 51345ba 当前 2026-09-22 07:20

同 Skill 集合

docs/agents/skills/rocketride-building-pipelines/SKILL.md
docs/agents/skills/rocketride-debugging-pipelines/SKILL.md
docs/agents/skills/rocketride-designing-pipelines/SKILL.md
docs/agents/skills/rocketride-running-pipelines/SKILL.md

元信息

文件数
0
版本
51345ba
Hash
1ae7a0ec
收录时间
2026-09-22 07:20

首页 - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-09-23 04:22
浙ICP备14020137号-1