Skill Steward MCP

io.github.Arenukvern由 GitHub 帳號 Arenukvern 發布v0.7.1更新於 Nov 14, 2026

Experimental read-only Steward MCP: list/inspect actions, doctor, explain (stdio).

已驗證STDIO僅桌面知識與記憶開發者工具

概覽

AI 產生的概覽

Skill Steward CLI 的唯讀 MCP 前端,讓助理列出並檢視儲存庫內的 action、執行契約 doctor 檢查,並解釋被阻擋的結果。

可以做什麼
  • 列出儲存庫內具型別的 action 及其安全性與影響摘要
  • 在執行前檢視單一 action 的完整契約
  • 在不執行 action 的情況下檢查本機 Steward 契約
  • 把被阻擋的 Steward JSON 解釋為後續動作與產物路徑
  • 僅限唯讀:不透過 MCP 執行任何 action
適用情境
適用於已使用 Skill Steward 的儲存庫,希望助理讀取其宣告的 action、契約與被阻擋的基準結果,而不實際執行任何操作。它是實驗性的唯讀介面,適合檢查與路由,而非自動化。
執行需求
以本機 stdio 程序執行:可使用已發布的 OCI 映像(Docker),或在安裝 steward 執行檔後執行 steward mcp 指令。容器通常以唯讀方式掛載工作目錄啟動。未宣告任何驗證、環境變數或標頭。
安裝前請注意
屬於實驗性且設計為唯讀;它不執行 action、不套用修復、也不證明採用程度,其輸出不應視為成熟度結論。映像需針對掛載的儲存庫執行,請確認該掛載暴露了哪些內容。README 的安裝方式會把遠端腳本直接交給 shell 執行,執行前應先審閱。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Skill Steward MCP,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

steward_cli

Bounded stewardship CLI for Skill Steward. Product CLIs live in their own repos — see ADR 0006.

Commands

The CLI is bounded by stewardship ownership, not by command count. Use these public jobs as the mental model; they are not aliases unless a command is shown below.

JobCommandsBoundary
Adoptadopt, install, update, uninstall, mapCreate or refresh repo-local Steward surfaces
Inspectdoctor, list, schema, actions, action, probeRead facts and declared contracts
Provevalidate, eval, evidence, benchmark, claim, blockedCheck exact claims without flattening proof levels
Repairaction-candidate, unknown-case, diagnoseReviewable routing toward future fixes; no unreviewed mutation
Compressecology, dogfood, protocol, bundle, brand-check, mcpRead-only routing, descriptor checks, or experimental harness support

Command stability tiers:

TierCommandsMeaning
Corevalidate, list, doctor, schema, actions, action, probeStable reader/checker surface for adopters and CI
Adoptionadopt, evidence, benchmark, claim, blockedClaim and adoption workflow surface; proof ceilings stay explicit
Experimentalecology, protocol, dogfood, diagnose, mcp, bundle, brand-check, action-candidate, unknown-case, observeUseful but still learning from dogfood and repeated cases
Maintainer/distributioneval, install, update, uninstall, mapStable for Skill Steward maintenance and pinned skill layers; not a product proof surface
CommandPurpose
steward doctor --jsonInspect the local Steward contract without running actions
steward ecology snapshot --jsonGather read-only repo ecology inventory for disposition review; not a maturity verdict
steward ecology route --jsonCompose ecology inventory into North Star dispositions and optional advisory lane candidates; not repair automation
steward dogfood status --jsonCompose current ledger and ecology routing facts; not a verdict
steward evidence init --minimalCreate only docs/evidence/current-status.mdx as a current claim ledger
steward actions list --jsonList typed repo-local actions and their safety/effect summaries
steward action inspect <id> --jsonInspect one exact action contract before execution
steward schema validate --schema <id> --file <path> --jsonValidate one JSON/JSONL artifact against a Steward schema
steward schema check-outputs --jsonValidate core read-only CLI JSON payloads against repo schemas
steward schema emit --schema <id> --source checked-in|generated --jsonEmit a portable checked-in schema or generated typed-model schema
steward schema drift --jsonCompare generated contract schemas with checked-in schema files
steward blocked explain (--input <path>|--stdin) --jsonTurn blocked Steward JSON into next actions and artifact routes
steward probe --profile quick --jsonRun quick-eligible bounded local observations
steward observe --profile quick --jsonPersist a compact local observation from a bounded probe
steward unknown-case create --from <observation> --jsonTurn an observation into an append-only unknown-case record
steward action-candidate create --from <case> ... --jsonPropose a reviewed action contract from repeated unknown-case evidence
steward action-candidate inspect <path> --jsonInspect a proposed action candidate before review
steward action-candidate review --from <candidate> --jsonValidate an action candidate without promoting it
steward benchmark --scenario <id> --json --output <path>Run or block a durability-gated dogfood scenario and persist a compact summary
steward validate / steward validate allRun every validation lane; bare validate remains the CI-friendly alias for validate all
steward validate skillsValidate installable skill directory structure
steward validate registryValidate skills.sh.json against skill directories
steward validate repo-contractValidate steward.yaml, plan hygiene, custom validators, and plugin manifests
steward validate evidenceValidate committed adoption-run evidence
steward eval --jsonRun T1 behavior-critical rule-based skill routing evals; runtime dogfood belongs to benchmark
steward listList installable skills
steward adoptCreate the baseline skills.json, steward.yaml, and AGENTS.md without typed actions
steward adopt --with-harnessCreate baseline files plus a quick-safe action and probe; add a contract smoke scenario when durable git source facts exist
steward installApply repo-local skills.json registrations into agent-readable folders
steward updateRefresh pinned repo-local skill registrations and update skills.json commits
steward syncDiff installed skill copies against skills.sh.json and prune retired steward skills (--prune to delete, --global/--path to widen scope)

Cold-start proof starts with the claim question: what can this repo honestly claim right now? The loop assumes the steward command is installed or activated; see Portable invocation hierarchy for the supported paths.

bash
steward doctor --jsonsteward schema check-outputs --jsonsteward schema drift --jsonsteward actions list --jsonsteward action inspect steward.contract.status.quick --jsonsteward probe --profile quick --jsonsteward benchmark \  --scenario skill_steward.contract-status-smoke \  --output .steward/benchmark-summaries/skill-steward-contract-status-smoke.json \  --strict \  --json

The schema commands sit in the loop because this dogfood route depends on machine-readable payloads. They catch route drift; they do not prove repo maturity.

Benchmark execution is durability-gated. If source.steward_contract or a file-backed scenario manifest is modified or untracked, the summary must return result: blocked with blocked_by: durability_blocked; track or commit those contract inputs, then rerun the same benchmark for executable proof. The built-in contract-status-smoke scenario proves contract discovery and durability gating only when it returns result: "pass"; it does not prove full agent navigation or diagnosis.

When a fresh command returns blocked JSON, route it directly:

bash
steward benchmark --scenario <scenario> --strict --json | steward blocked explain --stdin --json

Use steward blocked explain --input .steward/benchmark-summaries/<scenario>.json --json only when routing an existing persisted summary. The explanation chooses the next artifact route; it does not repair the repo or turn blocked evidence into proof.

Repository ecology review inventory:

bash
steward ecology snapshot --jsonsteward ecology route --json

The snapshot gathers Steward config status, declared action/probe inventory, benchmark declarations and summaries, schema output status, git state, active plan candidates, and evidence pointers. ecology route composes those facts into North Star dispositions: orient, compress, validate, tutor pain, promote tools, leave native, or stop. It may also emit advisory dispatch_lane_candidates for repo-wide pain, but those hints are not parent lane contracts and never authorize writes. Both commands are read-only; neither executes actions, applies repairs, awards maturity, or proves adoption.

Snapshot benchmark summaries are persisted history from .steward/benchmark-summaries/. The JSON labels them as persisted_history and includes commit/freshness hints; treat may_be_stale: true as a routing signal, not proof failure. Pipe fresh blocked JSON to steward blocked explain --stdin --json; use --output only when a fresh benchmark result should replace persisted history or feed future snapshots.

Minimal evidence bootstrap:

bash
steward evidence init --minimal

This creates one current ledger at docs/evidence/current-status.mdx. It does not create a proof archive, benchmark, or readiness claim. Use it when the repo needs a durable current-status pointer before it needs typed actions, probes, or benchmark machinery.

Evidence growth loop:

bash
steward observe --profile quick --jsonsteward unknown-case create --from .steward/observations/<observation>.json --jsonsteward action-candidate create \  --from .steward/unknown-cases/<case>.json \  --id example.safe.check \  --desc "Run the reviewed bounded check" \  --argv-json '["bash","tool/contracts/example_check.sh"]' \  --fs-read tool/contracts/example_check.sh \  --git false \  --benchmark example.safe-check-smoke \  --jsonsteward action-candidate inspect .steward/action-candidates/<candidate>.json --jsonsteward action-candidate review --from .steward/action-candidates/<candidate>.json --json

An action-candidate review is evidence, not a contract rewrite. Generated candidates include can_promote_in_this_run: false; promote only after repeated evidence, owner review, narrow effects, native validation, and a strict benchmark.

Development

bash
cd packages/steward_clidart pub getdart analyze --fatal-infos   # xsoulspace_lints (library.yaml)dart run :steward validatedart run :steward doctor --jsondart run :steward list

From repo root: pnpm run steward:analyze

Portable invocation hierarchy

Use the first option that matches the job:

  1. Released adopter / CI: install the released binary, then run steward <command>.

    bash
    curl -fsSL https://raw.githubusercontent.com/Arenukvern/skill_steward/main/install.sh | bashsteward doctor --json
  2. Dart maintainer from this checkout: run from source without hard-coded SDK or package-config paths.

    bash
    cd packages/steward_clidart run :steward doctor --json
  3. Local clone global activation: activate the checkout package, then use the normal steward command.

    bash
    dart pub global activate --source path packages/steward_clisteward doctor --json

Raw dart --packages=... bin/steward.dart commands are local provenance only. Do not publish them as adopter instructions; they encode one machine's SDK and package-config layout.

Global install from a source checkout (optional):

bash
dart pub global activate --source path packages/steward_clisteward validate

Distribution

Maintainers: run from a repo clone (commands above). Consumers install public skills with npx skills add arenukvern/skill_steward. Use steward install/update only when a repo intentionally owns a pinned skills.json skill layer for agents and maintainers.

Skill Steward may ship zero-dependency steward binaries for consumer/bootstrap use; see ADR 0014. Product repositories still own their branded harness binaries and release contracts — see skill release-changelog-harness -> references/binary-release-contract.md.

MCP Registry (experimental)

  • Registry server: io.github.Arenukvern/steward-mcp
  • Manifest: server.json; OCI image: packages/steward_cli/Dockerfile.registry
  • Boundary: read-only v1 tools (steward_list_actions, steward_inspect_action, steward_doctor, steward_explain_result); no action execution over MCP
  • Local stdio after binary install: steward mcp (see DX_FAQ)
  • OCI smoke: docker run --rm -i -v "$PWD:/workspace:ro" -w /workspace ghcr.io/arenukvern/steward-mcp:<version>
  • Version drift check: pnpm run mcp:registry:check (also runs in scripts/tag_release.sh)

Decisions

來源:packages/steward_cli/README.md,提交 41635ea

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.7.1最新Nov 14, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分