mcpField
P
prompt-design

prompt-design

github.com/xmcp-devエージェントワークフロー053 回インストール36 週間前に更新
リポジトリ

prompt-design について

xmcpのプロンプトを作成するワークフロー型スキルです。再利用可能なMCPプロンプトを作るユーザー向けに、要件を確認し、xmcpの形式に沿ったTypeScriptファイルの作成を案内します。

主な機能

  1. 01対話形式での要件確認
  2. 02シンプル・パラメーター付き・複数コンテンツ形式
  3. 03Zodによるパラメータースキーマの案内
  4. 04プロンプトのメタデータとハンドラー形式
  5. 05生成後のビルド確認項目

活用シーン

  1. 01コードレビュー用プロンプトの作成
  2. 02パラメーター付き文書作成プロンプトの構築
  3. 03再利用可能な専門分野向けプロンプトの定義

MCP 対応

xmcpがMCPクライアントに公開し、検出・利用できるプロンプトの作成を案内します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/xmcp-dev/skills --skill prompt-design

インストール後、Claude Code で/prompt-designを入力して読み込まれたか確認します。

同梱ファイルreferences/patterns.md

詳細

xmcp プロンプトの作成

ユーザーが新しい xmcp プロンプトを作成できるよう支援します。次の対話型ワークフローに従ってください。

ステップ 1:情報の収集

コードを生成する前に、AskUserQuestion を使って次の質問をユーザーに尋ねてください。

  1. プロンプト名(未指定の場合):プロンプトの名前は何にしますか?(ケバブケースを使用)

  2. プロンプトの種類:必要なプロンプトの種類を尋ねます。

    • シンプル - パラメーターのない静的なプロンプトテキスト
    • パラメーター化 - ユーザー指定のパラメーターを持つプロンプト(最も一般的)
    • 複数コンテンツ - 複数のコンテンツブロック(テキスト、画像など)を返すプロンプト
  3. パラメーター(パラメーター化する場合):プロンプトが受け付ける入力を確認します。

    • パラメーター名
    • 型(string、number、enum)
    • 説明
    • 省略可能かどうか
    • 検証ルールやデフォルト値
  4. ロール:プロンプトにどのロールを担わせますか?

    • user - ユーザーの視点からのプロンプト(最も一般的)
    • assistant - アシスタントの応答テンプレートとしてのプロンプト
  5. ユースケース:プロンプトは何を目的としていますか?

    • コードレビュー
    • ドキュメント生成
    • データ分析
    • コンテンツ作成
    • その他の特定のタスク

ステップ 2:プロンプトの生成

プロンプトファイルを src/prompts/ に作成します。

ファイルの場所
src/prompts/{prompt-name}.ts

プロンプト構造のリファレンス

すべての xmcp プロンプトには、次の 3 つの主要なエクスポートがあります。

// 1. Schema (optional) - Define parameters with Zod
export const schema = { /* ... */ };

// 2. Metadata (optional) - Prompt configuration
export const metadata: PromptMetadata = { /* ... */ };

// 3. Handler (required) - Default export function
export default function handler(params?) { /* ... */ }

クイックリファレンス

必須のインポート
import { type PromptMetadata } from "xmcp";

// For parameterized prompts
import { z } from "zod";
import { type InferSchema, type PromptMetadata } from "xmcp";
メタデータのフィールド
フィールド型必須説明
namestringいいえ*一意のプロンプト識別子
titlestringいいえ人が読めるタイトル
descriptionstringいいえこのプロンプトの機能
rolestringいいえ"user" または "assistant"(デフォルト:user)

*メタデータを省略すると、xmcp はファイル名をプロンプト名として使用します。

ハンドラーの戻り値の型
戻り値の型ユースケース
stringシンプルなテキストプロンプト
{ type: "text", text: string }明示的なテキストコンテンツ
{ type: "image", data: base64, mimeType: string }画像コンテンツ
Array<Content>複数のコンテンツブロック

サーバーが公開するプロンプトのユースケース

MCP プロンプトは次の用途に便利です。

  1. 標準化されたワークフロー - 一貫性のあるコードレビュー、ドキュメント作成のパターン
  2. 複雑なテンプレート - 構造化された複数ステップの分析プロンプト
  3. ドメイン知識 - 特定の分野に特化したプロンプト
  4. 再利用可能なパターン - パラメーター化が有効な一般的なタスク
  5. クライアントとの連携 - MCP クライアントが検出して使用できるプロンプト

詳細なテンプレート

次の内容を含む、完全なコードテンプレートについては、

  • シンプルなプロンプトのパターン
  • Zod スキーマを使ったパラメーター化プロンプト
  • 複数のロールを使った会話プロンプト
  • 自動補完のサポート
  • コードレビューとドキュメントの例

references/patterns.md を参照してください


生成後のチェックリスト

  1. src/prompts/{prompt-name}.ts にファイルが作成されている
  2. メタデータを使用する場合、name、title、description が設定されている
  3. スキーマのすべてのパラメーターに .describe() が使われている(パラメーター化する場合)
  4. ハンドラーが適切なコンテンツ形式を返す
  5. ユースケースに適したロールが設定されている

プロンプトが正しくコンパイルされることを確認するため、pnpm build の実行を提案してください。

コメント