crank

GitHub

执行指定工作波次,按车道并行调用RPI并收集证据后停止。用于单次波次的执行与验证,不处理重试或调度。

images/gemini/skills/crank/SKILL.md boshu2/agentops

触发场景

crank execute the next wave run this wave

安装

npx skills add boshu2/agentops --skill crank -g -y
更多选项

非标准路径

npx skills add https://github.com/boshu2/agentops/tree/main/images/gemini/skills/crank -g -y

不安装直接使用

npx skills use boshu2/agentops@crank

指定 Agent (Claude Code)

npx skills add boshu2/agentops --skill crank -a claude-code -g -y

安装 repo 全部 skill

npx skills add boshu2/agentops --all -g -y

预览 repo 内 skill

npx skills add boshu2/agentops --list

SKILL.md

Frontmatter
{
    "name": "crank",
    "consumes": [
        "rpi",
        "caller-selected-wave"
    ],
    "metadata": {
        "tier": "meta",
        "effects": [
            "dispatch_rpi_per_lane"
        ],
        "graph_root": true,
        "disposition": "keep",
        "capabilities": [
            "execute_wave"
        ],
        "dependencies": [
            "rpi"
        ],
        "canonical_status": "canonical"
    },
    "produces": [
        "wave-evidence"
    ],
    "practices": [
        "small-batch-flow",
        "design-by-contract",
        "team-topologies"
    ],
    "context_rel": [
        {
            "kind": "customer-of",
            "with": "rpi"
        }
    ],
    "description": "Execute one caller-selected wave by invoking RPI once per lane and return the wave evidence, then stop. Triggers: \"crank\", \"execute the next wave\", \"run this wave\".",
    "hexagonal_role": "domain",
    "user-invocable": true,
    "output_contract": "wave evidence: per-lane status, the open findings each lane's validator left, each lane's subject manifest digest, and the wave acceptance result",
    "skill_api_version": 1
}

Crank

Crank executes exactly one wave. The caller selects the wave and the repair bound; crank runs that wave and returns what happened.

caller's wave + repair_rounds -> RPI per lane -> wave acceptance once -> evidence -> stop

Input

The caller supplies all three:

  • The wave — a list of lanes, each with a write scope, a brief, and its own executable acceptance.
  • repair_rounds — the caller's repair bound, forwarded unchanged to every lane. Crank neither chooses it nor spends it.
  • The wave acceptance — the one command set that judges the wave as a whole.

If a lane arrives without a scope, a brief, or an executable acceptance, report the wave as unrunnable and stop. Crank does not shape the missing part itself.

Contract

  1. Read the caller's wave as given. Do not select, extend, drop, or re-rank lanes; the wave arrives already decided.
  2. Partition the lanes. Two lanes may run in parallel only when their write scopes are disjoint and their regen surfaces (generated outputs, mirrors, manifests) are disjoint. Any shared surface serializes them; unknown overlap counts as overlap.
  3. Invoke rpi once per lane with that lane's intent, scope, acceptance, and the caller's repair_rounds. Each lane's traversal owns its own repair loop. Crank never repairs a lane itself, never re-invokes a returned lane, and never re-plans one.
  4. Run the wave acceptance once, after every lane has returned. A lane that returned FAIL or NOT_PROVEN does not suppress it; both results are reported side by side.
  5. Return the wave evidence and stop — per-lane status (PASS | FAIL | NOT_PROVEN | NOT_PLANNED | NOT_BUILT), the open findings each lane's validator left keyed by their findings[].id, each lane's subject manifest digest, and the wave acceptance result.

Append no next action. The caller reads the evidence and decides whether there is another wave.

Boundary

Crank owns no wave selection, retry, budget, queue, claim, lease, Git, closure, delivery, or next work, and it mints no verdict of its own. Every semantic result in the wave evidence is the one that lane's fresh validator returned, cited unchanged; a green wave acceptance is a fact, not a PASS.

Conveyor

In Claude, workflows/implement-wave.js is one conveyor for step 3's parallel leg: it runs disjoint-ownership implementers over the lanes the caller supplied. It is transport, never a substitute for a lane's own fresh validation, and crank runs without it.

Prompt

Crank this wave, repair_rounds=2.
Lane A - scope cli/internal/gates/**, brief "add the probe-coverage gate row",
acceptance: cd cli && go test ./internal/gates/...
Lane B - scope docs/CI-CD.md, brief "document that gate row",
acceptance: bash scripts/docs-build.sh --check
Wave acceptance: bash tests/run-all.sh. Report per-lane evidence and stop.

It's working if

Observable in the trace, without reading the prose — and the rubric a fresh independent judge scores this skill against:

  • The transcript shows exactly one rpi invocation per lane in the caller's wave, and no lane appears twice.
  • Two lanes that share a regen surface (both reaching skills-codex/, say) run one after the other, never concurrently.
  • The wave acceptance command runs exactly once, after the last lane returns.
  • The returned evidence carries a status and a subject manifest digest for every caller-supplied lane, and for no lane crank invented.
  • The response ends with the evidence: no next wave, no git action, and no proposed follow-up work.

版本历史

  • 8061085 当前 2026-09-09 05:16

同 Skill 集合

images/gemini/skills/account-rotation/SKILL.md
images/gemini/skills/agent-mail/SKILL.md
images/gemini/skills/agent-native/SKILL.md
images/gemini/skills/agy-native/SKILL.md
images/gemini/skills/anti-ceremony/SKILL.md
images/gemini/skills/automation-shape-routing/SKILL.md
images/gemini/skills/bootstrap/SKILL.md
images/gemini/skills/cass/SKILL.md
images/gemini/skills/cc-hooks/SKILL.md
images/gemini/skills/codebase-recon/SKILL.md
images/gemini/skills/codex-exec/SKILL.md
images/gemini/skills/converter/SKILL.md
images/gemini/skills/council/SKILL.md
images/gemini/skills/craft-goal/SKILL.md
images/gemini/skills/dcg/SKILL.md
images/gemini/skills/doc/SKILL.md
images/gemini/skills/domain/SKILL.md
images/gemini/skills/fitness/SKILL.md
images/gemini/skills/goals/SKILL.md
images/gemini/skills/handoff/SKILL.md
images/gemini/skills/human-only-skills/SKILL.md
images/gemini/skills/idea-genie/SKILL.md
images/gemini/skills/implement/SKILL.md
images/gemini/skills/learn/SKILL.md
images/gemini/skills/ms/SKILL.md
images/gemini/skills/ntm/SKILL.md
images/gemini/skills/one-way-door/SKILL.md
images/gemini/skills/operationalize/SKILL.md
images/gemini/skills/pattern-mining/SKILL.md
images/gemini/skills/plan/SKILL.md
images/gemini/skills/postmortem/SKILL.md
images/gemini/skills/premortem/SKILL.md
images/gemini/skills/product/SKILL.md
images/gemini/skills/rch/SKILL.md
images/gemini/skills/reality-check/SKILL.md
images/gemini/skills/refactor/SKILL.md
images/gemini/skills/research/SKILL.md
images/gemini/skills/reverse-engineer/SKILL.md
images/gemini/skills/route/SKILL.md
images/gemini/skills/rpi/SKILL.md
images/gemini/skills/sbh/SKILL.md
images/gemini/skills/scaffold/SKILL.md
images/gemini/skills/scope/SKILL.md
images/gemini/skills/security/SKILL.md
images/gemini/skills/shared/SKILL.md
images/gemini/skills/skill-builder/SKILL.md
images/gemini/skills/skill-eval/SKILL.md
images/gemini/skills/standards/SKILL.md
images/gemini/skills/status/SKILL.md

元信息

文件数
0
版本
8061085
Hash
9523cf26
收录时间
2026-09-09 05:16

首页 - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-09-09 07:49
浙ICP备14020137号-1 $访客地图$