カスタムスキルのオーサリング
独自のワークフローをラップして、Showly に接続されているエージェントが使用できるようにします。
公式の Showly スキルは、正規のパブリッシュ ループをカバーします。多くの場合、チームには、ブランディング QA、コンテンツ コンプライアンス チェック、自動ローカリゼーションなど、スタックに固有の「追加」ワークフローがあります。これらは、Showly に接続されているエージェントが取得できる カスタム スキル として送信できます。
スキルを作成する場合とスクリプトのみを作成する場合
次の場合にスキルを作成します。
- ワークフローは _intent-triggered_ です (ユーザーが「デプロイ」または「翻訳」と言うと、エージェントはそれを認識する必要があります)。
- ワークフローには、エンコードする価値のある拒否/安全パターンがあります (チェックなしで出荷しない、フリーズ中に公開しない)。
- チームメンバーまたはプロジェクト全体で再利用できます。
次の場合にスクリプトを作成するだけです。
- ワークフローはエージェントの会話ではなく CI で実行されます。
- 使い捨ての一点ものです。
Showly を意識したスキルの構造
スキルはマニフェストにプロンプトを加えたものです。最小値:
name: my-publish-with-localize
description: |
Use when the user wants to publish a Showly site that has
user-facing strings. This skill localizes new/changed strings,
runs `run_checks`, then proposes a publish.
trigger:
intents:
- "publish"
- "ship"
- "release"
mcp:
required:
- showly
- localizer
prompt: |
1. Call mcp__showly__get_site_context to read the change.
2. Identify new/changed strings in any *.tsx files.
3. Call mcp__localizer__translate for each new string.
4. Apply translations via mcp__showly__apply_site_patch.
5. Call mcp__showly__create_preview.
6. Call mcp__showly__run_checks (include `i18n-coverage`).
7. If checks pass, call mcp__showly__request_publish.
8. Refuse to call request_publish if any check failed.
フィールド参照
| フィールド | タイプ | 必須 | メモ |
|---|---|---|---|
name | 文字列 | はい | スキルの識別子。どのバージョンでも安定しています。名前の変更は重大な変更です。 |
description | 文字列 | はい | エージェントがこのスキルに到達するタイミング。エンドユーザーではなくエージェント向けに書かれており、トリガーとなる状況を説明します。 |
trigger.intents | 文字列配列 | いいえ | スキルを表すフレーズ (例: "publish"、"ship")。省略した場合、エージェントは description のみに基づいていつ呼び出すかを決定します。 |
mcp.required | 文字列配列 | いいえ | スキルを実行するために接続する必要があるMCP サーバー (例: showly と独自のサーバー)。 |
prompt | 文字列 | はい | エージェントが従う指示は、番号付きのステップとして記述されます。 |
prompt ステップを Showly が実行することはありません。これはエージェントへ渡す指示です。エージェントが順番に読み、指定された MCP ツール(例: mcp__showly__get_site_context、続いて mcp__showly__apply_site_patch)を呼び出し、定義された拒否条件を適用します。MCP ツールリファレンスに記載された正確なツール ID を使ってください。本番公開は常に request_publish を経由し、人が公開を完了するための webApprovalUrl が返ります。スキルだけで本番公開を完了することはできません。
完全なマニフェスト スキーマ (公式スキルが付属する入力済みの manifest.json) については、「スキル](/docs/skills/quickstart) のインストール」を参照してください。
拒否パターン
有用なスキルの最も難しい部分は、「してはいけないこと」をエンコードすることです。公式 Showly スキルの例:
- 最近のプレビューがない場合は公開できません: この会話で
create_previewが呼び出されていない場合は、request_publishを拒否します。 - フリーズ中は公開しない: ワークスペース ポリシーに「マージ フリーズがアクティブ」と表示されている場合は、フリーズ通知を拒否してリンクします。
- ガラス破り公開なし: MCP には緊急バイパスがありません。ユーザーが修正が緊急であると言っている場合でも、プレビューを作成し、チェックを実行し、承認をリクエストします。
これらをプロンプト内で箇条書きとしてエンコードし、エージェントが各ツールを呼び出す前にチェックする必要があります。
配布
3 つのオプション:
- 個人 — スキルを
~/.claude/skills/にドロップします。あなただけがそれを見ます。 - ワークスペース —
.showly/skills/の下の Showly サイト リポジトリにコミットします。ワークスペースにアクセスできる人は誰でも、それを自動インストールします。 - パブリック — スキルを独自のパッケージとして公開し、公式 Showly クライアント
npx @showly/mcp-server install --to <claude-code|codex|stdout>がインストールされるのと同じ方法で他の人にインストールさせます。これは正規のインストール コマンドです。作成者とインストーラーが 1 つのパスに留まるように、同じ形式に従います。
上記のインストール手順はスキルのクイックスタートと共通です。正式なコマンドは npx @showly/mcp-server install(@showly/mcp-server パッケージ、実行ファイル showly-mcp)です。カスタムスキルでも同じ形式を使い、作成者と利用者が一貫した手順をたどれるようにしてください。
バージョン管理
スキルはsemverに続きます。重大な変更 (インテントの名前変更、ツール ステップの削除) により、新しいメジャーが出荷されます。 showly-mcp (@showly/mcp-server によって出荷されたビン) を実行して、インストールと更新を行います。 npx @showly/mcp-server install を再実行すると、最新バージョンが取得されます。
次に読む場所
- MCP ツールリファレンス — 各ツールの機能とそれらをチェーンする方法。
- スキルモデル — スキルが存在する理由と、スキルが未加工のツールとどのように異なるのか。