ドキュメント&知識ベース · daymade/claude-code-skills

marketplace-health-check

この Claude Code スキルマーケットプレイスリポジトリに対して、並列ファンアウト型の Dynamic Workflow を通じて、コード/スクリプトの安全性、ドキュメント/SSOT の整合性、セキュリティ/PII 漏洩、オープン PR のトリアージ、オープン Issue のトリアージ、マーケットプレイスマニフェストの完全性の 6 つの次元で完全な健全性チェックを実行し、深刻な検出事項を検証して優先度順に報告します。ユーザーがリポジトリのチェック、ヘルスチェックの実行、リリース前の全面的な確認/監査、「全面体检」「检查仓库状态」「看看仓库健康吗」「审计一下仓库」を依頼した場合、または PR / Issue / ドキュメント / バージョン / PII が全般的に良好な状態にあるか尋ねてきた場合に(「workflow」という言葉が使われていなくても)これを使用してください。単一ファイルのチェックにとどまらない、広範な「リポジトリ全体が問題ないか」というリクエストに対して活用してください。

L4 高権限 · 段階的認可と監査V1 コミット固定コマンド実行依存関係インストールネットワーク通信ファイル書き込みDual-pass Audit
Author daymadeGitHub daymade/claude-code-skills ↗Stars 1392License MIT(仓库根 LICENSE 文件;GitHub API spdx MIT;Copyright (c) 2025 daymade)Commit d5c4678cb5
管理レベルは Skill の能力と推奨統制措置を示すものであり、品質や安全性の認証、利用可否の判定ではありません。使用の可否はユーザーおよび管理者が決定します。Agent 環境によって制約が異なるため、自動保護を仮定しないでください。第三者製 Skill の著作権は原著作者に帰属し、利用リスクは利用者が負います。

1仕組みと動作原理

実行主体は 6 並列の fan-out 構成:互いに独立した 6 つの inspector が各次元(コード/スクリプト安全性、ドキュメント SSOT 整合性、セキュリティ/PII、オープン PR トリアージ、オープン Issue トリアージ、マーケットプレイスマニフェスト完全性)を分担し、同時に並列実行します。

marketplace-health-check/SKILL.md
Six independent inspectors cover, in parallel:
6 つの次元間に依存関係がないため完全並列化が可能です。これが「単一 agent によるリポジトリ全体の直列走査」と比較した本スキルの最大のパフォーマンス源泉です。各 inspector は自身のプロンプトのみを保持し、コンテキストの相互汚染を防ぎます。

並列化は単なる提案ではなくコードとして実装されています:workflow.js 内の phase('Inspect') の後、parallel() を使って 6 つの次元ごとに agent() を起動し、各 agent に同一の CHECK_SCHEMA 構造化出力コントラクトをバインドします。

marketplace-health-check/scripts/repo-health-check.workflow.js
const checks = await parallel(dims.map(d => () => agent(COMMON + d.prompt, { label: 'check:' + d.key, phase: 'Inspect', schema: CHECK_SCHEMA })))
動作メカニズム:dims 配列の各要素が 1 つの次元(キー + 長文プロンプト)に対応し、parallel が並行ディスパッチを行い、agent(..., {schema}) が各 inspector に同一形状の JSON 出力を強制することで、メイン agent は集計可能な 6 つの結果を受け取ります。

inline で実行する必要があり、context: fork は禁止されています。fork された subagent はさらに subagent を生成することも workflow を起動することもできず、fork 実行すると fan-out 全体がサイレントに失敗するためです。

marketplace-health-check/SKILL.md
**This skill must run inline (no `context: fork`).**
SKILL.md はこれを「Why a workflow — and why it MUST run inline」セクションに明記しており、スタイルの推奨ではなく実行ランタイムに依存する厳密な制約です。

スクリプトは、ホスト側にインストールパスを探させるのではなく、Workflow ツールの script パラメータ経由でインライン文字列としてそのまま渡されます。

marketplace-health-check/SKILL.md
Read the bundled script and launch it **inline via the `script` parameter**
対応する呼び出し形式は SKILL.md のコードブロックに記載されています:Workflow({ script: <scripts/repo-health-check.workflow.jsの全内容>, args: { repo: "<owner/name>", scale: "<Step 1の1行サマリー>" } })。これにより「スキルがどこにインストールされているか」という不確定要素を排除します。

最初に迅速な scout を 1 回実行してリポジトリ規模(リポジトリ名、スキル数、オープン PR/Issue 数、マニフェストバージョン、HEAD、最新リリース)を収集し、args として 6 つの inspector に共有します。省略された場合は各 inspector が個別に再検出します。

marketplace-health-check/SKILL.md
gh repo view --json nameWithOwner,stargazerCount,isPrivate | jq -c .
workflow.js の ctx ロジックに対応:const repoName = ctx.repo || … および const scale = ctx.scale || 'NOT pre-supplied …'、ならびにコメント「args is OPTIONAL — if omitted, each inspector self-discovers the repo scale first.」。また SKILL.md では、PII をリリースリスクとして扱う前に isPrivate: false であることを確認するよう求めています。

出力コントラクトはスキーマによって厳格に固定されています:各次元は dimension/health/summary/findings[]/stats を返し、findings の各項目には severity(critical|high|medium|low|info)、title、detail、location、recommendation が必須です。

marketplace-health-check/scripts/repo-health-check.workflow.js
severity: { type: 'string', enum: ['critical', 'high', 'medium', 'low', 'info'] },
同一スキーマ内で health は 4 段階(good|minor-issues|needs-attention|critical)に限定され、additionalProperties: false が設定されています。これにより 6 つの結果を直接 1 つの健全性テーブルに結合でき、inspector が勝手なフィールドを生成するのを防ぎます。

出力規律が本スキルの核心です:inspector の結論は明示的に仮説(hypotheses)へと格下げされ、そのまま報告することは禁止されており、実行者が自ら再検証した上で報告する必要があります。

marketplace-health-check/SKILL.md
**Agent findings are HYPOTHESES, not conclusions. Never relay them verbatim.**
SKILL.md では、high/critical の各指摘について単一のクイックコマンド(漏洩値の grep、破損行を確認する sed -n、公称ステータスを突き合わせる gh repo view)で再確認し、さらに 4 つの問い(probability / cost / real scenario / verifiable)でフィルタリングすることを義務付けています。

25 件もの finding をそのままユーザーに投げつけるのではなく、優先度と証拠レベルに基づいて階層化して報告します。

marketplace-health-check/SKILL.md
- **🔴 Must-fix** — each VERIFIED high/critical, with exact location + a concrete fix
階層構造:1 行の結論 + 6 次元の健全性テーブル → 🔴 Must-fix → 🟠 Backlog → 🟢 Optional → 💡 Key insights。さらに各項目に ✅ real / ⚠️ partly / ❌ false-alarm を付与します。SKILL.md は、未加工の agent 出力の大部分はノイズであると率直に指摘しています。

全行程を通じて読み取り専用(inspector によるファイル変更、PR/Issue へのコメント、push は禁止)を宣言し、作業開始前にコストをユーザーに伝達します。

marketplace-health-check/scripts/repo-health-check.workflow.js
This is READ-ONLY: do NOT modify files, comment on PRs/issues, or push. gh CLI is authenticated.
コストは SKILL.md で定量化されています:所要時間約 15〜20 分、約 400k〜500k 出力トークンで、事前にユーザーへコストを伝えるよう義務付けられています。その後の修正対応はリポジトリオーナーの判断に委ねられ、スキルによる自動変更や自動コメントは行いません。

2コア機能

016 次元のリポジトリ健全性チェックの並列オーケストレーション(Workflow スクリプト + 6×agent 並列 fan-out)
02構造化された finding 出力(4 段階の health / 5 段階の severity / location および recommendation 必須)
03オープン PR の個別トリアージ:worth-merging / needs-changes / low-quality-or-spam / SHOULD-DECLINE の判定、および外部 PR で漏れがちな必須のバージョン引き上げと CHANGELOG の確認
04オープン Issue の分類(real-bug / skill-request / cross-list-or-promotion / question)と broken-install-command などの不具合の能動的調査
05マーケットプレイスマニフェストの完全性検証:check_marketplace.sh および check_doc_skill_lists.py の実行による孤立した SKILL.md、スイートメンバー登録、バージョン・個数の整合性突合
06セキュリティ/PII のセマンティック監査:キーワード非依存の漏洩(実名、プライベートドメイン)、.security-scan-passed マーカーの未付与リスト、ケースファイルの目視確認
07Counter-Review 判断基準セット:アンチターゲット / git 履歴の露出 / スキャンマーカーの必要条件と十分条件 / 必須バージョン番号 / プロモーションのデフォルト拒否
08優先度 + 証拠信頼度レベルで階層化された最終レポート(🔴/🟠/🟢 + ✅/⚠️/❌ + insights)

3外部依存関係

KindDependency / Endpoint
cligh(GitHub CLI)
clijq
cligit
clibash(执行仓库自带检查脚本)
clipython3
cliuv(跑 skill-creator 的 security_scan 模块)
cliclaude plugin validate(经 check_marketplace.sh 调用)
cligitleaks(经 security_scan.py 调用)
cligrep / find / sed(检索与逐行核对)
apiGitHub REST API(经 gh CLI:PR / issue / release / repo 元数据,只读)

4推奨統制措置と判定根拠

安全運用のための推奨統制措置
Agent 向け
段階的・都度認可、サンドボックス推奨
管理者向け
承認フロー、ロールバック可能、全履歴監査
判定根拠(ファイルパスと抜粋)
  • scripts/: ローカルスクリプトまたはコマンドの実行: marketplace-health-check/scripts/repo-health-check.workflow.js — Workflow 経由
  • scripts/ 或 SKILL.md: 外部言語パッケージ依存の動的インストールの宣言
  • 网络端点: 外部ネットワークアクセスの宣言: gh CLI を介した GitHub REST アクセス(api.github.com、gh のデフォルトエンドポイント、リポジトリテキスト内にドメイン明記なし): gh repo view /
  • 本地工作目录: ファイル読み書きおよび成果物出力: 設計上書き込みなし(COMMON プロンプトおよびスクリプトコメントにて READ-ONLY: inspectors must not modify files, c と明記)
監査ノート: 純粋なプロンプトスキルではありません。Workflow スクリプトからシェルおよび gh 実行権限を持つ 6 つの inspector を生成し、ユーザーがログイン済みの GitHub 認証情報を用いて api.github.com に対して読み取り専用クエリを発行し、リポジトリ同梱のスクリプト(check_marketplace.sh / check_doc_skill_lists.py / security_scan.py)を指定して実行します。外部サードパーティへのデータ送信、秘密情報の窃取、破壊的な書き込みは行われないためオレンジ判定には達しませんが、スクリプトの実行と認証付きネットワーク通信を伴うため、純粋な読み取り専用のグリーン/ブルーより上位に位置づけられます。残存リスクは以下の 3 点です:①コードレベルの副作用として security_scan.py がマーカーを書き換える(読み取り専用の公約は事後の git checkout による復元に依存);②読み取り専用はプロンプトによる制約であり権限上の制約ではないため、inspector は実際には gh の書き込み権限を保持している;③インジェクション面(権限を持つ agent のコンテキストにリポジトリファイルや PR/Issue 本文が入力される)が最大の不確定要素となっています。

5二重目の独立検証

  • [ok] 六维清单与代码 dims 一一对应 — SKILL.md 列的六维(代码/脚本安全、文档 SSOT、安全/PII、开放 PR、开放 issue、marketplace 清单)与 workflow.js 的六个 key(code-and-script-safety / doc-consistency / security-pii / pull-requests / issues / marketplace-integrity)逐项对应,dims 数组经计数恰为 6 项,无多无少。
  • [ok] parallel fan-out 是真实实现而非修辞 — 源码含 phase('Inspect') 与 parallel(dims.map(d => () => agent(COMMON + d.prompt, { label: 'check:' + d.key, phase: 'Inspect', schema: CHECK_SCHEMA }))),description 里「parallel fan-out Dynamic Workflow」无夸大。
  • [ok] 必须 inline 的运行约束 — SKILL.md 逐字存在该段,且理由(forked subagent 不能 spawn subagents 或启动 workflow)与 workflow 脚本调用 agent()/parallel() 的宿主能力要求自洽。
  • [ok] 外部 CLI 调用点真实存在 — gh、jq、git、bash、python3、uv、claude plugin validate、gitleaks 均在 SKILL.md 或 workflow.js 逐字可定位;gitleaks 仅出现在 methodology 对 security_scan.py 实现的描述里,属间接调用(该脚本确实存在于 daymade-skill/skill-creator/scripts/security_scan.py)。
  • [unlocatable] gh 网络端点域名 — 仓库内检索 api.github.com / github.com 零命中:skill 只写 gh CLI is authenticated. 与各 gh 子命令,端点域名按 gh CLI 的默认行为推断为 api.github.com,无法在源码内取证,已在 external_deps 与 security.network_calls 中标注该推断。
  • [discrepancy] 只读承诺 vs 实际副作用 — 脚本注释、COMMON prompt 与 SKILL.md 三处 READ-ONLY 声明针对「文件修改/评论/push」,但 methodology 自述 security_scan.py MUTATES the marker file,并要求 git checkout 还原。故第一遍若把本 skill 概括为「零写入」属过强;准确说法是「对代码与协作面无写入,但被点名执行的扫描器有一条 marker 写副作用,靠人工还原」。
  • [ok] 资产引用路径真实存在 — workflow.js 引用的 check_marketplace.sh、check_doc_skill_lists.py 与 security_scan.py 在 pin commit 下均真实存在;SKILL.md 提到「repo 根、bundles 之外的 decline policy 参考文档」对应仓库根 references/promotion-policy.md,CLAUDE.md 亦以 references/promotion-policy.md 指向它。
  • [unlocatable] 成本声明可验证性 — 「~15-20 min, ~400-500k output tokens」来自该 skill 蒸馏时的实测会话,仓内无基准、日志或脚本可复算,只能视为作者经验值。

6結論

  • 「単発の監査セッション」を再現可能なマルチエージェントワークフローに定型化:6 並列 + スキーマ構造化出力により、規模拡大時も容易に水平展開可能(dims を編集するだけで次元の追加・削除が可能)。
  • 徹底された出力規律:「agent の発言をそのまま受け流す」ことを明確に拒絶し、4 つの問いによる選別 + 1 コマンドによる再検証 + 項目ごとの ✅/⚠️/❌ 付与を義務付け、誤検知や不適切な修正案を第一級の課題として扱います。
  • 知見の形式知化が本スキルの最も価値ある要素:6 つの判断基準(アンチターゲット、履歴、マーカー、インストール破損、バージョン更新、プロモーション拒否)は、抽象的なスローガンではなく実際の失敗事例に紐付けられています。
  • 実行における 3 要素の明示:inline 実行の厳格制約、15〜20 分・40〜50 万トークンのコスト、ユーザーリクエストに基づく Workflow 利用の明示により、高コストな監査を意図せず開始してしまうリスクを防ぎます。
  • 抑制されたスコープ境界:読み取り専用監査にとどめて修正はオーナーに委ね、PR/Issue への書き込みなどの外部操作にはユーザーの事前許可を必須としており、「監査は意見でありアクションではない」という位置付けに適合しています。
  • 最適な用途: daymade/claude-code-skills のような、marketplace.json を SSOT として管理し、オープンな PR/Issue キューを持つ成熟したマルチスイートリポジトリにおけるリリース前の総合監査に最適です。また、「マルチ並列 fan-out + 構造化スキーマ + Counter-Review」ワークフローのテンプレートとして、他の監査スキルへ移植・流用するベースとしても適しています(流用時は dims 内のリポジトリパスやスクリプトの差し替えが必要です)。
    不向きな用途: 単一のファイルや単一のスキルのみを確認する用途には不向きです(description にて not just one-file checks と明記);他のリポジトリへのそのままの適用には不向き(次元プロンプトが本リポジトリ固有のツール群に依存);gh 認証や GitHub リモートが存在しない環境には不向き(PR/Issue/リリースの 3 次元が完全に失敗します);スキルの自動修正やコントリビューターへの自動返答を期待する用途には不向き(ドキュメントにより修正や対外コミュニケーションはオーナーの役割と定義されています)。
    Install Agent-Ready
    ① Verified Mirror 2026-09-15
    Option A · Direct DownloadDownload marketplace-health-check.tar.gz
    sha256: 066980771e4106d8…
    Option B · Copy Guide for Agent
    install.json
    Agent はこの JSON ガイドから自動的にダウンロードして検証します。
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit d5c4678cb5.