mcpField
S
SuperSkill Registry

SuperSkill Registry

リモート
superskill.shAI・エージェント015 週間前に更新
リポジトリ公式サイト

SuperSkill Registry について

SuperSkill Registryは、レビュー済みの再利用可能なAIエージェント機能を探して導入するためのカタログです。Web画面とCLIを備え、リリース、信頼の根拠、失効、同意の条件を明示します。

主な機能

  1. 01エージェントリソースの検索と絞り込み
  2. 02信頼情報、ファイル、バージョンの確認
  3. 03CodexとClaude Codeへの機能導入
  4. 04CLIによる検証と評価
  5. 05ワークスペースの承認と設定ゲート

活用シーン

  1. 01エージェントのタスクに使う機能の検索
  2. 02導入前のリリースと信頼情報の確認
  3. 03CodexまたはClaude Codeへの機能導入
  4. 04ハーネスパッケージの検証や評価

MCP 対応

カタログ機能はMCPとHTTPから利用でき、`/mcp` を含むエージェント向けの発見用エンドポイントもあります。CLIからMCP設定を生成することもできます。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://superskill.sh/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

12
パラメーター型必須説明
querystringはい公開 SuperSkill リソースを検索する自然言語またはキーワードのクエリ。

詳細

SuperSkill

superskill.sh は、レビュー済みの AI エージェント機能を見つけてインストールするための、人間向けの唯一のプロダクトです。既存の登録情報とワークスペースをそのまま維持し、Codex と Claude Code 共通のインストールリンクを提供するとともに、正確なリリース、信頼性、取り消し、同意に関するゲートを明示します。

旧 OnlyHarness の UI とホストは、互換性のためだけに維持されます。人間向けのルートは SuperSkill にリダイレクトされますが、インストール済みのクライアントとデータの継続性のため、旧 API/MCP の接続先、npm/パッケージ名、データベース識別子、不変のアーカイブ URL は引き続き利用できます。内部パッケージ名には引き続き @harnesshub/* を使用し、公開されている互換 CLI パッケージは onlyharness のままです。

ネイティブハーネスパッケージとは何ですか?

ネイティブハーネスパッケージは、より広範な OnlyHarness リソースカタログ内にある、厳密に検証されたパッケージ形式です。

  • ランタイム、ツール、権限、品質ゲート、リスクプロファイルを含む harness.yaml マニフェスト。
  • プロンプト、例、評価ケース、期待される出力。
  • 検証、評価、ゲート、差分、インポート、PR 注釈の CLI コマンド。
  • ソーシャルレイヤー:スター、サーバー側のリミックスフォーク、スレッド、検証済みゲート実行、インストール確認、注目度、タグ、成果、メンテナーによるレビュー。

ライブ MVP

Supabase 認証は、サインアップ/ログイン、スター、ローカルのリミックス下書き、スレッド投稿、認証済みの公開で有効になっています。

機能

  • エージェントリソースを見つけるための HuggingFace スタイルのディスカバリー。実際のウィンドウマネージャー(ドラッグ、最小化、Z オーダー、タスクバー、スタートメニュー)を備えた Win98 デスクトップに表示されます。
  • 成果によるフィルター、グローバル検索、リーダーボード、Harness Heat、スター、サーバー側のリミックスフォーク数、スレッド、検証済みゲート実行数。
  • ハーネスの詳細は独立したウィンドウで開き、概要、インストール、信頼性、サンプルの試用、スレッド、ファイル、バージョンの各タブと、簡潔な口調の信頼性パネルを表示します。バージョンはアーカイブスナップショット履歴を参照します。
  • Markdown を小規模な未検証のひな型にインポートする、認証済みのクイック公開フロー(New Resource Wizard)。
  • 共有カードウィンドウ(harness_flex.exe)、Wild West アワード、Paint のヒートチャート、ウィザードを開くクリップのマスコット。
  • hh 互換コマンドと superskill install を備えた CLI パッケージ onlyharness。HH_REGISTRY_URL で別のレジストリを指定でき、デフォルトは https://superskill.sh/api です。
  • エージェント向けディスカバリー:/llms.txt、/api/openapi.json、/server.json、/mcp。
  • ローカルの報奨金フロー:既存の gate_escrow レールを介して作業状態を作成/請求/納品/承認します。paid が設定されるのは、納品されたゲートレシートに対する一致するエスクロー購入が確定した後だけです。
  • セマンティック PR レビューと品質ゲートのサイドカー API。
  • 共有 VPS ホスト向けのシステム Caddy デプロイモードを備えた、Docker 本番スタック。

アーキテクチャ

flowchart LR
  Web["React/Vite UI"] --> API["Fastify Harness API"]
  API --> Seeds["Seed harnesses"]
  API --> Imports["Imported harnesses"]
  Web --> Supabase["Supabase Auth + RLS tables"]
  API --> SupabaseAuth["Supabase token verification"]
  Caddy["System Caddy / superskill.sh"] --> Web
  CLI["hh CLI"] --> Schema["Schema, eval, gate, diff"]

ローカルで実行

npm install
npm run seed
npm run check
npm run smoke
npm run dev

次を開きます。

  • UI:http://127.0.0.1:5177
  • API:http://127.0.0.1:8787/healthz
  • ローカル Gitea フォージ:http://127.0.0.1:3000

オペレーターへの支払い

支払いのレポート作成と台帳の作成は、手動運用のみで行います。このスクリプトは、決済済みの purchases と payout_accounts を読み込み、現在のレートを適用し、冪等な支払い台帳の下書きを作成できます。支払いプロバイダーを呼び出すことはなく、項目を支払い済みにすることもありません。

npm run payout:report -- --month 2026-07
npm run payout:report -- --month 2026-07 --json
npm run payout:ledger -- --month 2026-07 --ledger-out data/payout-ledgers/2026-07.json

SUPABASE_URL と SUPABASE_SERVICE_ROLE_KEY を使用するか、--purchases と --payout-accounts でローカルの JSON フィクスチャを指定してください。--record-ledger は Supabase のサービスロールを通じて payout_runs/payout_items をアップサートします。creator_user_id がない行には MISSING_CREATOR_ID を設定し、支払いアカウントがない行は MISSING_PAYOUT_ACCOUNT としてブロックします。

CLI

npm パッケージを公開しています。

npx onlyharness@latest search market research
npx onlyharness@latest suggest market research --json
npx onlyharness@latest resources search superpowers --json
npx onlyharness@latest resources detail github:obra/superpowers --json
npx onlyharness@latest resources open github:obra/superpowers --json
npx onlyharness@latest resources approve onlyharness:harnesses/deep-market-researcher --workspace acme --collection approved --json
npx onlyharness@latest install harnesses/deep-market-researcher --target claude-code --json
npx onlyharness@latest publish-resource ./agent-tool --name agent-tool --type command_pack --json
npx onlyharness@latest publish-resource ./agent-tool --workspace acme --name agent-tool --type command_pack --json
npx onlyharness@latest mcp-config deep-market-researcher --target claude-desktop --json
npm i -g onlyharness   # installs the `hh` command

リソースカタログ、不変の publish-resource、ワークスペースの承認/セットアップ/ゲート、メンバーシップの有効期限、手動かつプロバイダーに依存しないワークスペースサブスクリプションのライフサイクル、ユニバーサルインストール、SuperSkill の管理コマンドは、公開済みの [email protected] で利用できます。0.2.18 は、公開されたユニバーサルスキルのダイジェストが古い、既知の不具合があるワンリンクリリースです。サーバーカタログのフローは MCP/HTTP 経由でも利用できます。

ローカル開発では、ワークスペースバンドルをビルドして直接実行します。

npm run build -w onlyharness
node packages/harness-cli/dist/hh.mjs doctor
node packages/harness-cli/dist/hh.mjs audit-setup
node packages/harness-cli/dist/hh.mjs suggest market research --apply --out suggested-deep-market-researcher --json
node packages/harness-cli/dist/hh.mjs suggest market research --apply --target codex --out suggested-deep-market-researcher --adapter-out .codex/harnesses/deep-market-researcher --json
node packages/harness-cli/dist/hh.mjs install harnesses/deep-market-researcher --target codex --out deep-market-researcher --adapter-out .codex/harnesses/deep-market-researcher --json
node packages/harness-cli/dist/hh.mjs pull harnesses/deep-market-researcher --version 0.1.0 --out deep-market-researcher-0.1.0 --json
node packages/harness-cli/dist/hh.mjs mcp-config deep-market-researcher --target claude-desktop --out mcp.json
node packages/harness-cli/dist/hh.mjs benchmark benchmarks/research-discovery.yaml --json
node packages/harness-cli/dist/hh.mjs extract ~/.claude/skills/my-skill --out my-skill-harness
HH_TOKEN=<token> node packages/harness-cli/dist/hh.mjs publish [email protected]:acme/harnesses.git --path harnesses/my-harness --name my-harness --json
HH_TOKEN=<token> node packages/harness-cli/dist/hh.mjs publish-resource ./agent-tool --name agent-tool --type command_pack --json
HH_TOKEN=<token> node packages/harness-cli/dist/hh.mjs publish-resource https://github.com/acme/agent-tool.git --path packages/tool --name agent-tool --type command_pack --json
HH_WORKSPACE_TOKEN=<workspace-token> node packages/harness-cli/dist/hh.mjs publish-resource ./agent-tool --workspace acme --name agent-tool --type command_pack --json
HH_WORKSPACE_TOKEN=<workspace-token> node packages/harness-cli/dist/hh.mjs resources search agent-tool --workspace acme --json
HH_WORKSPACE_TOKEN=<workspace-token> node packages/harness-cli/dist/hh.mjs resources detail @acme/agent-tool --json
HH_WORKSPACE_TOKEN=<workspace-token> node packages/harness-cli/dist/hh.mjs workspace setup acme --target claude-code --json
HH_ORG_TOKEN=<org-token> node packages/harness-cli/dist/hh.mjs setup @acme
HH_ORG_TOKEN=<org-token> node packages/harness-cli/dist/hh.mjs publish workflow.md --org acme --name my-private-harness
HH_ORG_TOKEN=<org-token> node packages/harness-cli/dist/hh.mjs sync [email protected]:acme/skills.git --org acme
TELEGRAM_BOT_TOKEN=<bot-token> HH_ORG_TOKEN=<org-token> TELEGRAM_CHANNEL_ID=<channel-id> npm run telegram:gate-bot

SuperSkill 内部アルファ

SuperSkill は、OnlyHarness を基盤とする、タスク優先の管理機能レイヤーです。チェックイン済みのカタログには、完全に一致する不変の候補が現在 12 件含まれています。実際の Claude Code、Codex、人間によるレビューの証明が存在するまで、承認済みのショールーム項目は意図的に 0 件にしています。

  • 公開、読み取り専用:GET /api/showroom/capabilities と GET /api/showroom/capabilities/{id}。これらのルートは、ファイルを推奨、ダウンロード、アクティベートすることはありません。
  • 選択済みの棚:GET /api/showroom/selected は、現在レビュー待ちの取り込み候補を selected_unreviewed カードとして公開します。Daylight カタログを補完できますが、リリースが完全に一致する承認証拠が存在するまで、推奨またはアクティベートすることはできません。
  • 確認済みユーザーの Bearer:/api/recommendations、/api/capabilities/{id}、リリース/アーカイブの完全一致ルート、ホスト型の証明公開、および管理ライフサイクルイベントでは、確認済みの Supabase ユーザー認証情報 1 つと、有効なサーバー側の superskill:managed 権限付与を使用します。ヘッドレスクライアントは HH_TOKEN を明示的に継承します。HH_SUPERSKILL_TOKEN は内部アルファとの互換性を保つためのレガシー機能に限られ、公開 GO の証拠には使用できません。
  • 管理 CLI リリース:[email protected] は現在のワンリンクリリースであり、クリーンな npx インストールを通じて公開・検証済みで、plugins/superskill/runtime.json には公式 npm integrity が固定されています。ホスト型のスキル詳細、アーカイブヘッダー、アーカイブのバイト列を、1 つの不変なバージョン/ダイジェスト/サイズ/信頼のタプルに結び付けます。0.2.14 と 0.2.18 は既知の不具合があるワンリンクリリースです。正確なランタイムピンの代わりに latest を使用しないでください。
  • Web:SuperSkill のプロダクト画面は superskill.sh のホスト名に固定されています。レガシーのクエリ状態や保存済みのスキン状態で切り替えることはできません。
npm run build:superskill-catalog
npm run check:superskill-catalog
npm run check:superskill-router
npm run smoke:superskill
npm run superskill:pilot-report

プラグインのソースは plugins/superskill にあり、Claude Code と Codex でバイト単位まで同一の共有スキルが 1 つあります。機能の引き渡しには、不変の https://superskill.sh/api/superskill/install/{id}/{version}/{sha256} URL を 1 つ使用します。固定されたローカルインストーラーは曖昧さのないクライアントを 1 つだけ選択し、ルーティングとアクティベーションへの同意は別々に扱います。マーケットプレイスへの公開と、クリーンな新規セッションでのプラグイン証明は、別々のロールアウト作業です。

エージェント向け

  • ディスカバリー:/llms.txt、/AGENTS.md、/api/openapi.json、/server.json の MCP Registry メタデータ、/.well-known/oauth-protected-resource の OAuth 保護リソースメタデータを利用できます。SuperSkill は独自の認可サーバーを公開していません。管理されたヘッドレスフローでは、確認済みアカウントのトークンを HH_TOKEN を通じて手動で受け取ります。また、完全に標準準拠したフローを担う発行者が決まるまで、/.well-known/oauth-authorization-server は意図的に 404 を返します。
  • MCP v0.2.19:https://superskill.sh/mcp で、正確なツール一覧は search_harnesses、harness_detail、search_resources、resource_detail、resource_use_instructions、pull_instructions、pull_harness、search_docs、publish_markdown_to_harness、publish_resource_package です。リソースの詳細/利用ツールは任意の正確な version を受け付けます。過去バージョンを明示して読み込んだ場合、最新バージョンに切り替わることはありません。ツールの結果は structuredContent を使用します。論理エラーでは isError: true と、安定した機械可読コードおよびサニタイズ済みの詳細が設定されます。
  • リソースパッケージの公開は、本番環境で有効です。確認済みの公開者は、冪等性、永続的な所有権、アーティファクトの SHA-256、上限付きテキストアーカイブを備えた不変のセマンティックバージョンを作成できます。既存のバージョンを変更する処理は安全側に失敗します。SuperSkill のウェブフォームは、リポジトリのフォルダーまたは作成済みのスキルを受け付け、別途レビューの証拠が存在するまで、受け付けたリリースすべてに unreviewed のラベルを付けます。static-v2 の fail は、アーカイブ、カタログ、イベントを変更する前に拒否され、ルール/ファイルの証拠はサニタイズされます。HTTP では SECURITY_SCAN_FAILED を使用し、MCP では安定した VALIDATION_FAILED エンベロープを維持します。受け付けられた pass/warn リリースも unreviewed のままであり、静的チェックの合格は既知のランタイムリスク階層を示すものではありません。
  • Registry への公開:server.json は正規 URL https://superskill.sh/mcp のリモート専用です。com.onlyharness/registry は互換性識別子として維持されます。公開には、superskill.sh に対する MCP Registry の認可/公開証明、正確な公開済みランタイムのピン留め、および問題のないクライアント証明が引き続き必要です。onlyharness.com は互換性のためだけに使用されます。
  • チームのセットアップと公開:hh setup @acme は GET /api/orgs/{slug}/bundle を読み込み、hh publish --org acme は組織のプライベートなハーネスを書き込みます。どちらも ORGS_ENABLED=true の場合に HH_ORG_TOKEN を使用します。組織の認証/バンドル/監査では、まず Supabase のサービスロールテーブルを読み込み、ローカルでのスモークテスト用フォールバックとして HARNESS_ORGS_PATH/HARNESS_ORG_AUDIT_PATH を保持します。
  • チームのワークスペース UI/API:Network Neighborhood は、同じ組織トークンを使って GET /api/orgs/{slug}/workspace を呼び出し、組織のプライベートカード、サニタイズ済みの監査行、権限/リスクの概要を返します。
  • ワークスペースのリソースカタログ:確認済みアカウントは POST /api/workspaces を通じて招待制のワークスペースを作成します。このトランザクションでは、オーナーのメンバーシップ、招待ポリシー、デフォルトの承認済みコレクションも作成されます。GET /api/workspaces/{slug}/workspace、GET/PUT /api/workspaces/{slug}/setup-bundle、GET /api/workspaces/{slug}/resources、GET /api/workspaces/{slug}/resources/{id}、GET /api/workspaces/{slug}/resources/{id}/archive、POST /api/workspaces/{slug}/imports/resource-package、POST /api/workspaces/{slug}/resources/approve、および /api/workspaces/{slug}/collections... は WORKSPACES_ENABLED=true の場合に利用できます。API/ウェブの読み込みでは、有効かつ期限切れでないワークスペースメンバーセッションまたは HH_WORKSPACE_TOKEN のどちらかを受け付けます。CLI は現時点では引き続きトークンを使用し、移行時のフォールバックとして HH_ORG_TOKEN を利用します。hh workspace setup acme --target claude-code は、ワークスペースでホストされたパッケージをインストールし、承認済みの公開リソースについては、ワークスペースのアーカイブがあるかのように装わずに手順を記述します。GET/POST /api/workspaces/{slug}/members、POST /api/workspaces/{slug}/invites、POST /api/workspaces/{slug}/join、DELETE /api/workspaces/{slug}/members/{userId} は、member:write/invite:write を通じてメンバーシップを管理します。POST /members は任意の expiresAt を受け付けます。期限切れまたは削除済みのメンバーは、プライベートなインストール/アーカイブ用パスを利用できません。生の招待コードは一度だけ返され、保存されるのはハッシュ値のみです。ウェブの共有 URL では生のコードを # の後ろに保持するため、明示的に参加する前にサーバーへ送信されることはありません。ワークスペースのゲートでは、GET/PUT /api/workspaces/{slug}/join-policies、POST /api/workspaces/{slug}/join-code、読み取り専用の POST /api/workspaces/{slug}/join-code/verify、および Telegram/Discord/エンタイトルメントの確認に使う明示的な POST /api/workspaces/{slug}/join-grants が、gate:verify/gate:write スコープとともに追加されます。有効な paid_subscription 参加ポリシーには WORKSPACE_SUBSCRIPTIONS_ENABLED=true が必要です。POST /subscriptions/checkout は未完了のレシートのみ作成します。署名付きの POST /webhooks/workspace-subscriptions は、アクセスを冪等に有効化/更新/猶予/キャンセルしますが、削除済みまたは一時停止中のメンバーを復元することはありません。また、POST /subscriptions/sweep は料金を請求せずに終了済みのアクセスを期限切れにします。hh resources approve onlyharness:harnesses/deep-market-researcher --workspace acme --collection approved を使うと、スキャン済みの公開リスティングを OnlyHarness による検証ではなく、ローカルの整理としてワークスペースのコレクションに追加できます。not_scanned および失敗したリソースは、インストール可能として承認できません。
  • チームの Git 同期:hh sync <git-url-or-local-path> --org acme は Markdown のスキルとランブックをクローン/スキャンし、組織の公開エンドポイントを通じてインポートします。初期バージョンには Webhook がありません。
  • メンテナーによる公開:hh publish <harness-dir> にはローカルの .harnesshub/results.json が必要です。hh publish <git-url> --path <harness-dir> は一時ディレクトリにクローンし、そこでローカルの評価/ゲートを実行した後、サーバーがスキーマ、セキュリティ、ゲートを正常に再チェックした場合にのみ公開します。
  • リソースパッケージの公開:hh publish-resource <dir-or-git-url> --name <slug> --type <type> は、スキル、プラグイン、ワークフロー、MCP サーバー、コマンドパック、スクリプト、ドキュメント、ソースバンドルから、安全でサイズ上限のあるテキストファイルをパッケージ化して OnlyHarness のアーカイブストレージに保存し、結果を /api/resources に掲載します。Verified ハーネスのバッジではありません。
  • ワークスペースのリソースパッケージの公開:hh publish-resource <dir-or-git-url> --workspace acme --name <slug> --type <type> は、同じ完全なパッケージを @acme/name としてプライベートなワークスペースカタログに公開します。Markdown のスキャフォールド経由ではなく、Verified バッジを示すものでもありません。
  • 組織のプライベートなプルでも同じトークン経路を使用します:HH_ORG_TOKEN=<org-token> hh pull @acme/private-harness。
  • ディレクトリの棚エントリーは、directories というオーナーのもとにある、リンクのみのディスカバリーインデックスです。検索結果には open <url> と表示され、GET /api/repos/directories/{name}/archive は実行可能なファイルではなく 409 DIRECTORY_LINK_ONLY を返します。
  • サーバー側のリミックスは、実際のフォークグラフ行を持つローカルドラフトフローです。POST /api/repos/{owner}/{repo}/remixes は、アーカイブファイルのみから無料の未検証 local/{name} コピーを作成し、ソースからフォークへのエッジを記録します。有料、組織/プライベート、ディレクトリ、リンクのみ、ライセンス未指定のソースは安全側に倒して失敗します。コピーされたフォールバックレシピはフォーク数を増やさず、プロンプトやローカルパスも保存しません。
  • 公開 API のペイロードでサーバーのファイルシステムパスが公開されることはありません。レジストリ/詳細では、利用可能な場合は公開フォージ、OnlyHarness の GitHub ミラー、またはアップストリームの URL を使用します。/healthz が返すのはステータスのみです。詳細画面のメンテナーレビューは、実際のフォージ PR ソースが接続されるまで、明示的に local-demo プレビューとして扱われます。
  • /api/resources は、スキル、プラグイン、ワークフロー、MCP サーバー、設定、ガイド、ランタイム、ディレクトリ、ネイティブなハーネス形式のパッケージを扱う、ソース認識型の主要な混合カタログです。/api/registry は、既存のエージェントクライアント向けに、ハーネスとリンクのみのディレクトリを組み合わせた仕様を維持します。
  • カテゴリベンチマークのインフラストラクチャはローカル優先です。hh benchmark <suite.yaml> は、宣言された評価ケースのスコアを使い、ローカルパスにある候補ハーネスと類似ハーネスを比較します。スイートは benchmarks/ に置かれ、そこにあるすべての YAML スイートがスモーク実行されます。これは引き続き実行/比較レイヤーであり、独立した LLM 品質測定ではありません。
  • エージェントの自動操縦:hh suggest <task> --json は検索を行い、信頼性フィールド付きの候補をランキング順に返し、選択されたハーネスの詳細を取得し、信頼性の概要全体を表示して、プライバシーに配慮した suggested イベントを記録します。別の候補を確認/適用するには --pick <rank> を使用します。hh suggest <task> --apply --out <dir> は hh pull と同じアーカイブ経路で選択したハーネスをインストールし、--apply が選ばれた時点で accepted を記録し、ファイルの書き込み後にのみ applied を記録します。--target cli|claude-code|codex|cursor を追加すると、applied の記録前にアダプターのインストール経路全体を実行します。
  • バージョン付きアーカイブ:ハーネスの詳細には versions[] が含まれます。hh pull owner/name --version <semver> と hh install owner/name --version <semver> は、同じ不変の /archive?version= パスをリクエストし、.harnesshub/source.json には解決済みのバージョンをピン留めして保持します。
  • hh eval と hh gate は、プルしたハーネスが合格した場合に、プライバシーに配慮した eval/gate イベントを記録します。詳細ペイロードでは、これらのイベントに基づく verification.lastVerifiedAt が公開されます。レジストリの runs に数えられるのは、合格した gate イベントのみであり、hh run のサンプルプレビューは含まれません。
  • hh gate --receipt は、ハーネス参照、バージョン、resultsHash、判定、タイムスタンプを含む署名済みゲートレシートを書き込みます。POST /api/receipts が検証するのは ed25519 署名のみです。副作用はなく、プロンプト、ローカルパス、支払い、エンタイトルメントは保存しません。
  • ゲートエスクローは先に予約します。pricing.model: gate_escrow のチェックアウト/Webhook は、reserved と有効期限付きの escrow_reserved アーカイブエンタイトルメントを作成します。POST /api/billing/escrow/receipt は、有効で合格したレシートがあれば決済を確定し、有効で不合格のレシートがあれば返金します。POST /api/billing/escrow/timeout は 72 時間の期間終了後に返金します。
  • バウンティは、同じエスクロー経路を使う作業状態です。/api/bounties* は作成、申請、納品、受け入れをサポートします。受け入れ時には、納品されたレシート、エスクローの対象、金額、通貨を検証し、エスクローの再利用を防止して、決済確定後にのみ paid を書き込みます。
  • ホスト型エンドポイントはまだ稼働していません。hh run はサンプルプレビューとしてローカルでのみ実行され、HTTP/MCP のサーフェスは、作成者のコードをサーバー側で実行せずにハーネスファイルを提供します。ランナー/パートナー経路が提供され、スモークテストが完了するまで、pricing.model=per_call は 409 HOSTED_EXECUTION_NOT_AVAILABLE を返します。
  • 有料のインストール/プルは、エンタイトルメントが付与されるまで 402 を返します。PAYMENTS_ENABLED=true、X402_ENABLED=true、X402_PAY_TO が設定されている場合、アーカイブの応答には x402 v2 の PAYMENT-REQUIRED ヘッダーも含まれます。hh install --pay または hh pull --pay によるアーカイブの提供成功には、X402_FACILITATOR_URL による検証/決済が必要で、その後ウォレットのエンタイトルメントが付与されます。
  • チェックアウト URL は /checkout に移動します。provider_ref がない場合、ウェブ UI は購入者にログオンして手動チェックアウトセッションを作成するよう求めます。provider_ref がある場合は、手動引き継ぎ待ちとして表示します。どちらの状態でも、クライアント側でアクセス権が付与されることはありません。
  • 有効なチェックアウトプロバイダーは手動チェックアウトのみです(PAYMENT_PROVIDER が未設定または manual)。その他のプロバイダー値は、購入を作成する前に安全側に倒して失敗します。x402 は独立したアーカイブ決済経路として引き続き利用できます。
  • 購入者のレシートは読み取り専用です。GET /api/billing/receipt?provider_ref=<ref> は、認証済みユーザーの支払い待ち/支払い済みの購入状況とエンタイトルメントフラグを返しますが、プロバイダーの決済確定やアクセス権の付与は行いません。
  • ボットのゲートは、entitlements:read を持つ組織トークンを使い、GET /api/entitlements/check?subject=user:<id>&harness=owner/name を呼び出せます。返されるのは判定のみで、アーカイブファイルは含まれません。
  • より安全なコミュニティゲートでは、有効期間の短い署名付きコードを使用します。購入者はエンタイトルメントの付与後に POST /api/community/invite-code を呼び出し、Telegram/Discord ボットはアクセスを付与する前に、スコープを限定した組織トークンを使って POST /api/community/verify-code を呼び出します。API には COMMUNITY_INVITE_SECRET の設定が必要です。
  • レジストリアイテムには installConfirms が含まれます。認証済みの kind=install&client=claude-code イベントのみが、works in Claude Code: N confirms バッジのカウント対象になります。
  • Claude Code 互換マーケットプレイス:claude plugin marketplace add elvismusli/onlyharness、続いて claude plugin install superskill@superskill を実行します。主要な経路はワンリンクインストーラーです。
  • Codex MCP の設定:codex mcp add superskill --url https://superskill.sh/mcp --bearer-token-env-var HH_TOKEN。
  • ローカル検証:npm run check:mcp-registry && npm run check:plugin。Claude CLI がインストールされている場合は、claude plugin validate . && claude plugin validate plugins/onlyharness も実行します。 例からローカル環境を作成します:
cp .env.example .env.local
cp .env.example apps/registry-web/.env.local

本番環境へのデプロイ

現在の VPS では、ポート 80/443 で共有システム Caddy が稼働しています。OnlyHarness は 127.0.0.1:8097 の背後で動作します。

SSH_TARGET=hetzner-root DEPLOY_MODE=system-caddy scripts/deploy-production.sh

scripts/deploy-production.sh は、コンテナの再読み込み後にデフォルトでパブリックのスモークテストを実行します。対象は、/api/healthz、/server.json、/.well-known/oauth-protected-resource、意図的に 404 を返す /.well-known/oauth-authorization-server、/checkout、および /mcp です。デフォルト以外のホスト名を使用する場合は PUBLIC_BASE_URL を上書きするか、意図的に一部のみをデプロイする場合に限り RUN_DEPLOY_SMOKE=0 を設定してください。 使い捨てユーザーを作成せずに認証済みの本番スモークテストを行うには、無視対象の本番環境ファイルに互換性 QA 認証情報を設定し、https://superskill.sh/api に対して scripts/smoke-production-auth.ts を実行してください。

デプロイ成果物:

  • infra/production-compose.yml
  • infra/production-system-caddy.override.yml
  • infra/Caddyfile.local-smoke
  • scripts/deploy-production.sh
  • scripts/smoke-production-compose.sh
  • scripts/smoke-production-auth.ts

本番スモークテスト:

scripts/smoke-production-compose.sh

set -a
. infra/production.env
set +a
SMOKE_API_URL=https://superskill.sh/api SMOKE_EXPECT_EMAIL_CONFIRMATION=1 npm run smoke:prod-auth

検証

現在の検証ゲート:

npm run build
npm run check
npm run smoke
npm run smoke:mcp
npm run smoke:x402
scripts/smoke-production-compose.sh

本番認証スモークテストでは QA Supabase ユーザーを作成し、メール確認によって直ちにサインインできないことを検証します。確認済みトークンを使用して認証済みの公開をテストするには、CLI の公開フローに HH_TOKEN を渡すか、確認済みセッションを使って API 公開スモークテストを実行してください。

リポジトリの構成

apps/
  harness-api/       Fastify API and registry endpoints
  registry-web/      React/Vite OnlyHarness UI
packages/
  cli/               hh CLI
  schema/            harness.yaml schema, validation, risk checks
  semantic-diff/     harness semantic diff and PR review markdown
seed-harnesses/      curated MVP harness examples
supabase/            auth/social/thread schema migrations
infra/               Docker, Caddy, Gitea, and production compose
scripts/             seed, smoke, deploy, Gitea proof scripts

セキュリティに関する注意事項

  • 実際の .env.local、アプリ環境ファイル、および infra/production.env ファイルは gitignore 対象です。
  • 本番環境での公開には、有効な Supabase ベアラートークンが必要です。
  • 設定されている場合、内部 webhook/eval エンドポイントには HARNESS_WEBHOOK_TOKEN が必要です。
  • 組織のセットアップは ORGS_ENABLED によって制御されます。組織トークンは Supabase またはローカルのフォールバックストアに sha256: ハッシュとして保存され、監査ログに生のトークンを含めてはなりません。
  • Supabase のテーブルでは、プロフィール、ユーザーアクション、スレッド投稿に RLS ポリシーが使用されています。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。