Communityコーディング&開発github.com

スキルクリエーター

新しいスキルの作成、既存スキルの修正・改善、スキルパフォーマンスの測定を行います。ユーザーがスキルをゼロから作成したい場合、既存スキルを編集・最適化したい場合、evalsを実行してスキルをテストしたい場合、分散分析を用いてスキル性能をベンチマークしたい場合、またはトリガー精度向上のためにスキルの説明文を最適化したい場合に使用します。

スキルクリエーター とは?

スキルクリエーターは、AIエージェント(Claude Codeなど)向けのスキルを開発・改善するための包括的なツールです。主な機能は、新しいスキルをゼロから作成するプロセス全体(意図のキャプチャ、インタビュー、SKILL.mdの作成、テストケースの作成)、既存スキルの修正と最適化(スキル説明文の改善によるトリガー精度向上を含む)、そして定量的・定性的な評価を用いたスキルパフォーマンスの測定です。SKILL.mdの作成においては、マークダウンの構造(YAMLフロントマター、段階的開示、ファイル参照)や記述スタイル(命令形、例の提示、理論的根拠の説明)のベストプラクティスに従います。評価フェーズでは、スキルあり・なしの両方でサブエージェントを並行実行し、アサーションのドラフト、タイミングデータの収集、採点、ベンチマーク集計、ビューアー起動を一連の流れで行います。このプロセスは、ドメイン知識やスクリプト参照、柔軟なユーザーとのコミュニケーションを重視しています。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/bytedance/deer-flow/tree/main/skills/public/skill-creator

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

スキルクリエーター は何をしますか?

新しいスキルを作成し、反復的に改善するためのスキルです。

大まかに言えば、スキル作成のプロセスは次のようになります。

  • スキルに何をさせたいか、そして大まかにどのように実現するかを決める
  • スキルのドラフトを書く
  • いくつかのテストプロンプトを作成し、スキルにアクセスできる状態のClaudeで実行する
  • 結果を定性的および定量的に評価するのをユーザーを支援する
    • バックグラウンドで実行中に、定量的な評価(eval)がまだない場合はドラフトを作成する(ある場合は、そのまま使用するか、変更が必要だと感じれば修正する)。その後、それらをユーザーに説明する(または既存のものがあれば、それらを説明する)
    • eval-viewer/generate_review.py スクリプトを使用して結果をユーザーに表示し、確認してもらい、定量的なメトリクスも確認できるようにする
  • 結果のユーザー評価からのフィードバック(および定量的ベンチマークで明らかになった明らかな欠陥)に基づいてスキルを書き直す
  • 満足するまで繰り返す
  • テストセットを拡大し、より大規模で再試行する

このスキルを使用する際のあなたの役割は、ユーザーがこのプロセスのどこにいるのかを把握し、その段階を進むのを支援することです。例えば、ユーザーが「Xのためのスキルを作りたい」と言った場合、その意味を絞り込み、ドラフトを作成し、テストケースを作成し、評価方法を決め、すべてのプロンプトを実行し、繰り返すのを支援します。

一方、ユーザーがすでにスキルのドラフトを持っている場合は、評価/反復のループに直接進むことができます。

もちろん、常に柔軟に対応し、ユーザーが「たくさんの評価を実行する必要はない、雰囲気でやってほしい」と言った場合は、そのように対応することもできます。

そして、スキルが完成した後(ただし、順序は柔軟です)、スキル説明文改善ツール(別途スクリプトがあります)を実行して、スキルのトリガーを最適化することもできます。

いいですね?

ユーザーとのコミュニケーション

スキルクリエーターは、コーディング用語に様々なレベルの習熟度を持つ人々に使用される可能性があります。最近(と言っても最近始まったばかりですが)、Claudeの力に触発されて、配管工がターミナルを開き、祖父母が「npmのインストール方法」をGoogleで検索するというトレンドがあります。一方、大多数のユーザーはおそらくコンピューターにかなり精通しています。

したがって、コンテキストの手がかりに注意を払い、コミュニケーションの表現方法を理解してください!デフォルトの場合、参考までに:

  • 「評価(evaluation)」と「ベンチマーク(benchmark)」は微妙なラインですが、問題ありません
  • 「JSON」や「アサーション(assertion)」については、説明なしで使用する前に、ユーザーがそれらを理解していることを示す明確な手がかりが必要です

疑わしい場合は用語を簡単に説明しても構いません。ユーザーが理解できるかどうか確信が持てない場合は、短い定義で用語を明確にしてください。


スキルの作成

意図のキャプチャ

まず、ユーザーの意図を理解することから始めます。現在の会話に、ユーザーがスキル化したいワークフローがすでに含まれている場合があります(例:「これをスキルにして」と言う場合)。その場合は、まず会話履歴から回答を抽出します — 使用されたツール、手順の順序、ユーザーが行った修正、観察された入出力フォーマット。ユーザーがギャップを埋める必要があるかもしれません。次のステップに進む前に確認を得るべきです。

  1. このスキルはClaudeに何をさせるべきですか?
  2. このスキルはいつトリガーされるべきですか?(どのようなユーザーのフレーズ/コンテキストで)
  3. 期待される出力形式は何ですか?
  4. スキルが動作することを確認するためのテストケースを設定すべきですか?客観的に検証可能な出力(ファイル変換、データ抽出、コード生成、固定ワークフローステップ)を持つスキルは、テストケースの恩恵を受けます。主観的な出力(文体、アート)を持つスキルは、通常テストケースを必要としません。スキルのタイプに基づいて適切なデフォルトを提案しますが、ユーザーに決定させてください。

インタビューと調査

エッジケース、入出力形式、サンプルファイル、成功基準、依存関係について積極的に質問します。この部分が固まるまで、テストプロンプトを作成するのは待ってください。

利用可能なMCPを確認します — 調査に役立つ場合(ドキュメントの検索、類似スキルの発見、ベストプラクティスの調査)、サブエージェントが利用可能であれば並行して調査し、そうでなければインラインで調査します。ユーザーの負担を減らすために、コンテキストを準備して臨んでください。

SKILL.md を書く

ユーザーインタビューに基づいて、以下のコンポーネントを埋めます:

  • name: スキル識別子
  • description: いつトリガーされるか、何をするか。これが主要なトリガー機構です — スキルが何をするかと、いつ使用すべきかの特定のコンテキストの両方を含めます。「いつ使用するか」の情報はすべてここに記述し、本文には記述しません。注意:現在、Claudeはスキルを「過少トリガー」する傾向があります — 役立つ場面でも使用しない傾向があります。これに対抗するために、スキルの説明を少し「押し付けがましく」してください。例えば、「内部のAnthropicデータを表示するためのシンプルで高速なダッシュボードの構築方法」の代わりに、「内部のAnthropicデータを表示するためのシンプルで高速なダッシュボードの構築方法。ユーザーがダッシュボード、データ可視化、内部メトリクスについて言及したり、明示的に「ダッシュボード」を要求しなくても、あらゆる種類の会社データを表示したい場合には、必ずこのスキルを使用すること。」と書いてください。
  • compatibility: 必要なツール、依存関係(オプション、ほとんど必要ありません)
  • **残りのスキル :) **

スキル作成ガイド

スキルの構造

skill-name/
├── SKILL.md (必須)
│   ├── YAML frontmatter (name, description 必須)
│   └── Markdown 指示
└── Bundled Resources (オプション)
    ├── scripts/    - 決定論的/反復的なタスクのための実行可能コード
    ├── references/ - 必要に応じてコンテキストに読み込まれるドキュメント
    └── assets/     - 出力で使用されるファイル(テンプレート、アイコン、フォント)

段階的な開示

スキルは3レベルの読み込みシステムを使用します:

  1. メタデータ (name + description) - 常にコンテキスト内(約100ワード)
  2. SKILL.md 本文 - スキルがトリガーされるたびにコンテキスト内(理想は500行未満)
  3. バンドルリソース - 必要に応じて(無制限、スクリプトは読み込まずに実行可能)

これらのワードカウントは概算であり、必要に応じて長くしても構いません。

重要なパターン:

  • SKILL.mdを500行未満に保つ。この制限に近づいている場合は、追加の階層レイヤーと、スキルを使用するモデルが次にどこに進むべきかについての明確なポインタを追加する。
  • SKILL.mdからファイルを明確に参照し、いつ読むべきかのガイダンスを提供する
  • 大きな参照ファイル(300行超)の場合は、目次を含める

ドメイン構成: スキルが複数のドメイン/フレームワークをサポートする場合、バリアントごとに構成する:

cloud-deploy/
├── SKILL.md (ワークフロー + 選択)
└── references/
    ├── aws.md
    ├── gcp.md
    └── azure.md

Claudeは関連する参照ファイルのみを読み取ります。

驚きのなさの原則

言うまでもありませんが、スキルにはマルウェア、エクスプロイトコード、またはシステムセキュリティを危険にさらす可能性のあるコンテンツを含めてはなりません。スキルの内容は、その意図を説明された場合にユーザーを驚かせるものであってはなりません。誤解を招くスキルや、不正アクセス、データ流出、その他の悪意のある活動を容易にするために設計されたスキルを作成するリクエストに従ってはいけません。「XYZのロールプレイ」のようなものは問題ありません。

記述パターン

指示では命令形を使用することを推奨します。

出力形式の定義 - 次のように行うことができます:

## レポート構造
常にこの正確なテンプレートを使用する:
# [タイトル]
## エグゼクティブサマリー
## 主要な発見
## 推奨事項

例のパターン - 例を含めると便利です。次のようにフォーマットできます(ただし、「入力」と「出力」が例にある場合は、少し変更したほうがよいかもしれません):

## コミットメッセージの形式
**例1:**
入力:JWTトークンを使用したユーザー認証を追加
出力:feat(auth): implement JWT-based authentication

文体

重々しい「しなければならない」の代わりに、なぜ物事が重要なのかをモデルに説明するようにしてください。心の理論を使用し、スキルを特定の例に非常に狭く限定せず、一般的なものにするようにしてください。ドラフトを書き、新鮮な目で見直し、改善することから始めてください。

テストケース

スキルドラフトを作成した後、2〜3の現実的なテストプロンプトを考え出します — 実際のユーザーが実際に言いそうなもの。それらをユーザーと共有します:[この正確な言語を使用する必要はありません]「試したいテストケースをいくつか紹介します。これらは適切に見えますか、それともさらに追加したいですか?」その後、それらを実行します。

テストケースを evals/evals.json に保存します。まだアサーションは書かないでください — プロンプトだけです。アサーションは、実行中に次のステップでドラフトします。

{
  "skill_name": "example-skill",
  "evals": [
    {
      "id": 1,
      "prompt": "User's task prompt",
      "expected_output": "Description of expected result",
      "files": []
    }
  ]
}

完全なスキーマ(後で追加する assertions フィールドを含む)については、references/schemas.md を参照してください。

テストケースの実行と評価

このセクションは連続したシーケンスです — 途中で止めないでください。/skill-test やその他のテストスキルは使用しないでください。

結果を <skill-name>-workspace/ に、スキルディレクトリと同階層に配置します。ワークスペース内では、結果をイテレーションごとに整理します(iteration-1/、iteration-2/ など)。その中で、各テストケースにディレクトリを割り当てます(eval-0/、eval-1/ など)。これらを事前にすべて作成するのではなく、進みながらディレクトリを作成してください。

ステップ1: すべての実行(スキルあり AND ベースライン)を同じターンで起動する

各テストケースについて、同じターンで2つのサブエージェントを起動します — 1つはスキルあり、もう1つはスキルなし。これは重要です:スキルありの実行を先に起動し、後でベースラインに戻ってくるのは避けてください。すべてを一度に起動し、大体同じ時間に終了するようにします。

スキルありの実行:

このタスクを実行してください:
- スキルパス: <path-to-skill>
- タスク: <eval プロンプト>
- 入力ファイル: <eval ファイルがあれば、なければ「なし」>
- 出力を保存: <workspace>/iteration-<N>/eval-<ID>/with_skill/outputs/
- 保存する出力: <ユーザーが気にするもの — 例:「.docx ファイル」「最終的なCSV」>

ベースライン実行(同じプロンプトですが、ベースラインはコンテキストに依存します):

  • 新しいスキルを作成する場合: スキルなし。同じプロンプト、スキルパスなし、without_skill/outputs/ に保存。
  • 既存のスキルを改善する場合: 古いバージョン。編集する前に、スキルをスナップショットします(cp -r <skill-path> <workspace>/skill-snapshot/)。その後、ベースラインサブエージェントをスナップショットに向けます。old_skill/outputs/ に保存します。

各テストケースに対して eval_metadata.json を書きます(アサーションは今のところ空でも構いません)。各evalに、何をテストしているかに基づいて説明的な名前を付けます — 単なる「eval-0」ではなく。この名前をディレクトリ名としても使用します。このイテレーションが新しいevalプロンプトまたは変更されたevalプロンプトを使用する場合、新しい各evalディレクトリに対してこれらのファイルを作成します — 以前のイテレーションから引き継がれると想定しないでください。

{
  "eval_id": 0,
  "eval_name": "descriptive-name-here",
  "prompt": "The user's task prompt",
  "assertions": []
}

ステップ2: 実行中にアサーションをドラフトする

実行が終わるのをただ待つだけではありません — この時間を生産的に使うことができます。各テストケースの定量的なアサーションをドラフトし、ユーザーに説明します。アサーションがすでに evals/evals.json に存在する場合は、それらをレビューし、何をチェックしているかを説明します。

優れたアサーションは、客観的に検証可能で、説明的な名前を持ちます — ベンチマークビューアーで明確に読めるため、ざっと見た人が各アサーションが何をチェックしているかをすぐに理解できます。主観的なスキル(文体、デザイン品質)は、定性的に評価する方が適しています — 人間の判断を必要とするものにアサーションを強制しないでください。

ドラフトができたら、eval_metadata.json ファイルと evals/evals.json をアサーションで更新します。また、ビューアーでユーザーに何が表示されるか(定性的な出力と定量的なベンチマークの両方)について説明します。

ステップ3: 実行完了時にタイミングデータをキャプチャする

各サブエージェントタスクが完了すると、total_tokens と duration_ms を含む通知を受け取ります。このデータをすぐに実行ディレクトリの timing.json に保存します:

{
  "total_tokens": 84852,
  "duration_ms": 23332,
  "total_duration_seconds": 23.3
}

これがこのデータをキャプチャする唯一の機会です — タスク通知を通じて提供され、他の場所には保持されません。バッチ処理しようとせず、各通知が到着したら処理します。

ステップ4: 採点、集計、ビューアーの起動

すべての実行が完了したら:

  1. 各実行を採点する — 採点者サブエージェントを起動するか(インラインで採点)、agents/grader.md を読み取り、各アサーションを出力に対して評価します。結果を各実行ディレクトリの grading.json に保存します。grading.json の expectations 配列は、フィールド text、passed、evidence を使用する必要があります(name/met/details やその他のバリアントではありません) — ビューアーはこれらの正確なフィールド名に依存しています。プログラムでチェックできるアサーションについては、目視で確認するのではなく、スクリプトを作成して実行してください — スクリプトはより高速で信頼性が高く、イテレーション間で再利用できます。

  2. ベンチマークに集約する — スキルクリエーターディレクトリから集約スクリプトを実行します:

    python -m scripts.aggregate_benchmark <workspace>/iteration-N --skill-name <name>
    

    これにより、各構成のpass_rate、時間、トークンを含む benchmark.json と benchmark.md が生成され、平均 ± 標準偏差とデルタが表示されます。benchmark.json を手動で生成する場合は、references/schemas.md でビューアーが期待する正確なスキーマを参照してください。各スキルありバージョンを、そのベースラインの前に配置します。

  3. アナリストパスを実行する — ベンチマークデータを読み取り、集計統計が隠している可能性のあるパターンを表面化します。agents/analyzer.md(「ベンチマーク結果の分析」セクション)で何を探すべきか参照してください — スキルに関係なく常にパスするアサーション(非識別)、高分散の評価(おそらく不安定)、時間/トークンのトレードオフなど。

  4. ビューアーを起動する — 定性的出力と定量的データの両方を表示します:

    nohup python <skill-creator-path>/eval-viewer/generate_review.py
    

…

[翻訳のため一部省略]

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

academic-paper-review

Use this skill when the user requests to review, analyze, critique, or summarize academic papers, research articles, preprints, or scientific publications. Supports comprehensive structured reviews covering methodology assessment, contribution evaluation, literature positioning, and constructive feedback generation. Trigger on queries involving paper URLs, uploaded PDFs, arXiv links, or requests like "review this paper", "analyze this research", "summarize this study", or "write a peer review".

bootstrap

Generate a personalized SOUL.md through a warm, adaptive onboarding conversation. Trigger when the user wants to create, set up, or initialize their AI partner's identity — e.g., "create my SOUL.md", "bootstrap my agent", "set up my AI partner", "define who you are", "let's do onboarding", "personalize this AI", "make you mine", or when a SOUL.md is missing. Also trigger for updates: "update my SOUL.md", "change my AI's personality", "tweak the soul".

bytedance/academic-paper-review

Use this skill when the user requests to review, analyze, critique, or summarize academic papers, research articles, preprints, or scientific publications. Supports comprehensive structured reviews covering methodology assessment, contribution evaluation, literature positioning, and constructive feedback generation. Trigger on queries involving paper URLs, uploaded PDFs, arXiv links, or requests like "review this paper", "analyze this research", "summarize this study", or "write a peer review".

bytedance/chart-visualization

This skill should be used when the user wants to visualize data. It intelligently selects the most suitable chart type from 26 available options, extracts parameters based on detailed specifications, and generates a chart image using a JavaScript script.

bytedance/claude-to-deerflow

Interact with DeerFlow AI agent platform via its HTTP API. Use this skill when the user wants to send messages or questions to DeerFlow for research/analysis, start a DeerFlow conversation thread, check DeerFlow status or health, list available models/skills/agents in DeerFlow, manage DeerFlow memory, upload files to DeerFlow threads, or delegate complex research tasks to DeerFlow. Also use when the user mentions deerflow, deer flow, or wants to run a deep research task that DeerFlow can handle.

bytedance/consulting-analysis

Use this skill when the user requests to generate, create, or write professional research reports including but not limited to market analysis, consumer insights, brand analysis, financial analysis, industry research, competitive intelligence, investment due diligence, or any consulting-grade analytical report. This skill operates in two phases — (1) generating a structured analysis framework with chapter skeleton, data query requirements, and analysis logic, and (2) after data collection by other skills, producing the final consulting-grade report with structured narratives, embedded charts, and strategic insights.

bytedance/data-analysis

Use this skill when the user uploads Excel (.xlsx/.xls) or CSV files and wants to perform data analysis, generate statistics, create summaries, pivot tables, SQL queries, or any form of structured data exploration. Supports multi-sheet Excel workbooks, aggregation, filtering, joins, and exporting results to CSV/JSON/Markdown.

bytedance/deep-research

Use this skill instead of WebSearch for ANY question requiring web research. Trigger on queries like "what is X", "explain X", "compare X and Y", "research X", or before content generation tasks. Provides systematic multi-angle research methodology instead of single superficial searches. Use this proactively when the user's question needs online information.

bytedance/find-skills

Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.

bytedance/frontend-design

Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML/CSS layouts, or when styling/beautifying any web UI). Generates creative, polished code and UI design that avoids generic AI aesthetics.

bytedance/github-deep-research

Conduct multi-round deep research on any GitHub Repo. Use when users request comprehensive analysis, timeline reconstruction, competitive analysis, or in-depth investigation of GitHub. Produces structured markdown reports with executive summaries, chronological timelines, metrics analysis, and Mermaid diagrams. Triggers on Github repository URL or open source projects.

bytedance/image-generation

Use this skill when the user requests to generate, create, imagine, or visualize images including characters, scenes, products, or any visual content. Supports structured prompts and reference images for guided generation.

bytedance/podcast-generation

Use this skill when the user requests to generate, create, or produce podcasts from text content. Converts written content into a two-host conversational podcast audio format with natural dialogue.

bytedance/ppt-generation

Use this skill when the user requests to generate, create, or make presentations (PPT/PPTX). Creates visually rich slides by generating images for each slide and composing them into a PowerPoint file.

bytedance/skill-creator

Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.

bytedance/surprise-me

Create a delightful, unexpected "wow" experience for the user by dynamically discovering and creatively combining other enabled skills. Triggers when the user says "surprise me" or any request expressing a desire for an unexpected creative showcase. Also triggers when the user is bored, wants inspiration, or asks for "something interesting".

bytedance/vercel-deploy

Deploy applications and websites to Vercel. Use this skill when the user requests deployment actions such as "Deploy my app", "Deploy this to production", "Create a preview deployment", "Deploy and give me the link", or "Push this live". No authentication required - returns preview URL and claimable deployment link.

bytedance/video-generation

Use this skill when the user requests to generate, create, or imagine videos. Supports structured prompts and reference image for guided generation.

bytedance/web-design-guidelines

Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my site against best practices".

chart-visualization

This skill should be used when the user wants to visualize data. It intelligently selects the most suitable chart type from 26 available options, extracts parameters based on detailed specifications, and generates a chart image using a JavaScript script.

関連スキル