MCP HubMCP Hub
Retour aux compétences

create-agent

pjt222
Mis à jour 2 days ago
6 vues
17
2
17
Voir sur GitHub
Métaai

À propos

Cette compétence crée de nouveaux fichiers de définition d'agents en suivant les modèles de l'agent-almanac et les règles du registre. Elle gère la conception de la persona, la sélection des outils, l'attribution des compétences et la configuration du modèle pour les sous-agents spécialisés Claude Code. Utilisez-la pour ajouter des assistants spécialisés à votre bibliothèque ou pour convertir des flux de travail en personas d'agents réutilisables.

Installation rapide

Claude Code

Recommandé
Principal
npx skills add pjt222/agent-almanac -a claude-code
Commande PluginAlternatif
/plugin add https://github.com/pjt222/agent-almanac
Git CloneAlternatif
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/create-agent

Copiez et collez cette commande dans Claude Code pour installer cette compétence

Documentation

新しいエージェントを作成する

焦点を絞った目的、キュレートされたツール、割り当てられたスキル、エージェントテンプレートとレジストリ規則に従った完全なドキュメントを持つClaude Codeサブエージェントのペルソナを定義する。

使用タイミング

  • まだカバーされていないドメインの新しい専門エージェントをライブラリに追加する場合
  • 繰り返されるワークフローまたはプロンプトパターンを再利用可能なエージェントペルソナに変換する場合
  • キュレートされたスキルと制約されたツールを持つドメイン固有のアシスタントを作成する場合
  • 過度に広いエージェントを焦点を絞った単一責任エージェントに分割する場合
  • マルチエージェントチームを構成する前に新しいチームメンバーを設計する場合

入力

  • 必須: エージェント名(小文字ケバブケース、例: data-engineer
  • 必須: エージェントの主要目的の一行説明
  • 必須: エージェントが解決する問題を説明する目的ステートメント
  • 任意: モデルの選択(デフォルト: sonnet; 代替: opushaiku
  • 任意: 優先度レベル(デフォルト: normal; 代替: highlow
  • 任意: skills/_registry.yml から割り当てるスキルのリスト
  • 任意: エージェントが必要とするMCPサーバー(例: r-mcptoolshf-mcp-server

手順

ステップ1: エージェントペルソナを設計する

エージェントに明確で焦点を絞ったアイデンティティを選ぶ:

  • 名前: 小文字ケバブケース、役割の説明的なもの。名詞またはドメイン修飾子で始める: security-analystr-developertour-plannerhelperassistant などの一般的な名前を避ける。
  • 目的: このエージェントが解決する特定の問題を説明する一段落。問う: 「このエージェントは既存のエージェントがカバーしていない何をするか?」
  • コミュニケーションスタイル: ドメインを考慮する。技術的なエージェントは正確で引用が豊富であるべき。クリエイティブなエージェントはより探索的になれる。コンプライアンスエージェントは正式で監査指向であるべき。

進める前に、既存の53エージェントとの重複を確認する:

grep -i "description:" agents/_registry.yml | grep -i "<your-domain-keywords>"

期待結果: 既存のエージェントが同じニッチをカバーしていない。既存のエージェントが部分的に重複している場合、新しいエージェントを作成する代わりにそのエージェントを拡張することを検討する。

失敗時: 重大な重複を持つエージェントが存在する場合、そのエージェントのスキルリストを拡張するか、新しいエージェントのスコープを既存のエージェントと補完するように絞り込む。

ステップ2: ツールを選択する

エージェントが必要とする最小限のツールセットを選ぶ。最小権限の原則が適用される:

ツールセット使用タイミングエージェント例
[Read, Grep, Glob]読み取り専用の分析、レビュー、監査code-reviewer, security-analyst, auditor
[Read, Grep, Glob, WebFetch]分析プラス外部検索senior-researcher
[Read, Write, Edit, Bash, Grep, Glob]完全な開発 — コードの作成/変更r-developer, web-developer, devops-engineer
[Read, Write, Edit, Bash, Grep, Glob, WebFetch, WebSearch]開発プラス外部調査polymath, shapeshifter

コードのみを分析するエージェントには Bash を含めない。外部リソースを検索する必要が本当にある場合を除いて WebFetchWebSearch を含めない。

期待結果: ツールリストにエージェントの主要なワークフローで実際に使用するツールのみが含まれている。

失敗時: エージェントの機能リストを確認する — 機能がツールを必要としない場合、そのツールを削除する。

ステップ3: モデルを選択する

タスクの複雑さに基づいてモデルを選択する:

  • sonnet (デフォルト): ほとんどのエージェント。推論と速度の良いバランス。開発、レビュー、分析、標準的なワークフローに使用。
  • opus: 複雑な推論、マルチステップ計画、微妙な判断。シニアレベルのエージェント、アーキテクチャの決定、深いドメイン専門知識を必要とするタスクに使用。
  • haiku: シンプルで高速な応答。単純な検索、フォーマット、またはテンプレート入力を行うエージェントに使用。

期待結果: モデルがエージェントの主要なユースケースの認知的要求に一致する。

失敗時: 疑わしい場合は sonnet を使用する。テストで推論品質が不十分であることが明らかになった場合のみ opus にアップグレードする。

ステップ4: スキルを割り当てる

スキルレジストリを参照し、エージェントのドメインに関連するスキルを選択する:

# ドメインのすべてのスキルを一覧表示する
grep -A3 "domain-name:" skills/_registry.yml

# キーワードでスキルを検索する
grep -i "keyword" skills/_registry.yml

フロントマターのスキルリストを構築する:

skills:
  - skill-id-one
  - skill-id-two
  - skill-id-three

重要: すべてのエージェントはレジストリレベルの default_skills フィールドからデフォルトスキル(meditateheal)を自動的に継承する。これらをエージェントのフロントマターに一覧する必要はない。ただし、それがエージェントの方法論の核心である場合を除く(例: mystic エージェントは瞑想の促進が主な目的であるため meditate を一覧する)。

期待結果: スキルリストに skills/_registry.yml に存在する3〜15のスキルIDが含まれている。

失敗時: 各スキルIDが存在することを確認する: grep "id: skill-name" skills/_registry.yml。一致しないものは削除する。

ステップ5: エージェントファイルを作成する

テンプレートをコピーしてフロントマターを入力する:

cp agents/_template.md agents/<agent-name>.md

YAMLフロントマターを入力する:

---
name: agent-name
description: One to two sentences describing primary capability and domain
tools: [Read, Write, Edit, Bash, Grep, Glob]
model: sonnet
version: "1.0.0"
author: Philipp Thoss
created: YYYY-MM-DD
updated: YYYY-MM-DD
tags: [domain, specialty, relevant-keywords]
priority: normal
max_context_tokens: 200000
skills:
  - assigned-skill-one
  - assigned-skill-two
# Note: All agents inherit default skills (meditate, heal) from the registry.
# Only list them here if they are core to this agent's methodology.
# mcp_servers: []  # Uncomment and populate if MCP servers are needed
---

期待結果: YAMLフロントマターがエラーなく解析される。必須フィールド(namedescriptiontoolsmodelversionauthor)がすべて存在する。

失敗時: YAML構文を検証する。一般的な問題: バージョン文字列のクォーテーション欠落、不正なインデント、ツールリストの閉じていない括弧。

ステップ6: 目的と機能を作成する

テンプレートのプレースホルダーセクションを置き換える:

目的: このエージェントが解決する特定の問題と提供する価値を説明する一段落。具体的にする — ドメイン、ワークフロー、結果を名前を挙げる。

機能: 太字のリードインを持つ箇条書きリスト。エージェントに多くの機能がある場合はカテゴリでグループ化する:

## Capabilities

- **Primary Capability**: What the agent does best
- **Secondary Capability**: Additional functionality
- **Tool Integration**: How it leverages its tools

利用可能なスキル: 割り当てた各スキルを簡単な説明で一覧する。スキルIDのまま(スラッシュコマンド名)を使用する:

## Available Skills

- `skill-id` - Brief description of what the skill does

期待結果: 目的が具体的で(「開発を助ける」ではない)、機能が具体的で検証可能で、スキルリストがフロントマターと一致する。

失敗時: 目的が曖昧に感じられる場合、「このエージェントに何を依頼するか?」と答える。その答えを目的として使用する。

ステップ7: 使用シナリオと例を作成する

エージェントのスポーンの仕方を示す2〜3の使用シナリオを提供する:

### Scenario 1: Primary Use Case
Brief description of the main scenario.

> "Use the agent-name agent to [specific task]."

### Scenario 2: Alternative Use Case
Description of another common use case.

> "Spawn the agent-name to [different task]."

ユーザーリクエストと期待されるエージェントの動作を示す1〜2の具体的な例を追加する:

### Example 1: Basic Usage
**User**: [Specific request]
**Agent**: [Expected response pattern and actions taken]

期待結果: シナリオが現実的で、例が実際の価値を示し、呼び出しパターンがClaude Codeの規則と一致する。

失敗時: 例を精神的にテストする — エージェントは割り当てられたツールとスキルでリクエストを実際に実行できるか?

ステップ8: 制限事項と「参照」を作成する

制限事項: 3〜5の正直な制約。エージェントができないこと、使用すべきでないこと、または貧しい結果を生む場所:

## Limitations

- Cannot execute code in language X (no runtime available)
- Not suitable for tasks requiring Y — use Z agent instead
- Requires MCP server ABC to be running for full functionality

参照: 補完的なエージェント、関連するガイド、関連するチームへのクロスリファレンス:

## See Also

- [complementary-agent](complementary-agent.md) - handles the X side of this workflow
- [relevant-guide](../guides/guide-name.md) - background knowledge for this domain
- [relevant-team](../teams/team-name.md) - team that includes this agent

期待結果: 制限事項が正直で具体的。「参照」が存在するファイルを参照している。

失敗時: 参照されているファイルが存在することを確認する: ls agents/complementary-agent.md

ステップ9: レジストリに追加する

agents/_registry.yml を編集し、アルファベット順の位置に新しいエージェントエントリを追加する:

  - id: agent-name
    path: agents/agent-name.md
    description: Same one-line description from frontmatter
    tags: [domain, specialty]
    priority: normal
    tools: [Read, Write, Edit, Bash, Grep, Glob]
    skills:
      - skill-id-one
      - skill-id-two

ファイルの先頭の total_agents カウントをインクリメントする。

期待結果: レジストリエントリがエージェントファイルのフロントマターと一致する。total_agents が実際のエージェントエントリ数と等しい。

失敗時: grep -c "^ - id:" agents/_registry.yml でエントリをカウントし、total_agents と一致することを確認する。

ステップ10: 発見を確認する

Claude Codeは .claude/agents/ ディレクトリからエージェントを発見する。このリポジトリでは、そのディレクトリが agents/ へのシンリンクだ:

# シンリンクが存在し解決されることを確認する
ls -la .claude/agents/
readlink -f .claude/agents/<agent-name>.md

.claude/agents/ シンリンクが無傷であれば、追加のアクションは必要ない — 新しいエージェントファイルは自動的に発見可能だ。

READMEオートメーションを実行してエージェントREADMEを更新する:

npm run update-readmes

期待結果: .claude/agents/<agent-name>.md が新しいエージェントファイルに解決される。agents/README.md に新しいエージェントが含まれている。

失敗時: シンリンクが壊れている場合、再作成する: ln -sf ../agents .claude/agentsnpm run update-readmes が失敗する場合、scripts/generate-readmes.js が存在し js-yaml がインストールされていることを確認する。

ステップ11: 翻訳ファイルを生成する

すべてのエージェントに必須。 このステップは、この手順に従う人間の著者とAIエージェントの両方に適用される。スキップしない — 欠落した翻訳は古いバックログとして蓄積される。

新しいエージェントをコミットした直後に、サポートされている4つのロケールすべての翻訳ファイルを生成する:

for locale in de zh-CN ja es; do
  npm run translate:scaffold -- agents <agent-name> "$locale"
done

その後、各ファイル内の生成されたプロセを翻訳する(コードブロックとIDは英語のまま)。最後にステータスファイルを再生成する:

npm run translation:status

期待結果: i18n/{de,zh-CN,ja,es}/agents/<agent-name>.md に4つのファイルが作成され、すべての source_commit が現在のHEADと一致する。npm run validate:translations は新しいエージェントに対して0件の古さ警告を示す。

失敗時: 足場作りが失敗した場合、エージェントが agents/_registry.yml に存在するか確認する。ステータスファイルが更新されない場合、npm run translation:status を明示的に実行する — CIでは自動的にトリガーされない。

バリデーション

  • エージェントファイルが agents/<agent-name>.md に存在する
  • YAMLフロントマターがエラーなく解析される
  • 必須フィールドすべてが存在する: namedescriptiontoolsmodelversionauthor
  • name フィールドがファイル名(.md 除く)と一致する
  • すべてのセクションが存在する: 目的、機能、利用可能なスキル、使用シナリオ、例、制限事項、参照
  • フロントマターのスキルが skills/_registry.yml に存在する
  • デフォルトスキル(meditateheal)はエージェントの方法論の核心でない限り一覧されていない
  • ツールリストが最小権限原則に従っている
  • エージェントが agents/_registry.yml に正しいパスと一致するメタデータで一覧されている
  • レジストリの total_agents カウントが更新されている
  • .claude/agents/ シンリンクが新しいエージェントファイルに解決される
  • 既存のエージェントとの重大な重複がない

よくある落とし穴

  • ツールの過剰プロビジョニング: エージェントが読んで分析するだけの場合に BashWrite、または WebFetch を含める。これは最小権限に違反し、意図しない副作用につながる可能性がある。最小限のセットから始め、機能がツールを必要とする場合にのみツールを追加する。
  • スキル割り当ての欠落または誤り: レジストリに存在しないスキルIDを一覧するか、スキルを割り当てることを完全に忘れる。常に grep "id: skill-name" skills/_registry.yml で各スキルIDを確認してから追加する。
  • デフォルトスキルの不必要な一覧: レジストリからすでに継承されている場合に meditateheal をエージェントフロントマターに追加する。方法論の核心である場合(例: mysticalchemistgardenershaman)にのみ一覧する。
  • 既存エージェントとのスコープの重複: 既存の53エージェントのいずれかによって既にカバーされている機能を複製する新しいエージェントを作成する。常にレジストリを先に検索し、代わりに既存エージェントのスキルを拡張することを検討する。
  • 曖昧な目的と機能: 「開発を助ける」ではなく「完全な構造、文書化、CI/CD設定でRパッケージを足場する」と書く。具体性こそがエージェントを有用で発見可能にする。

関連スキル

  • create-skill - エージェントファイルの代わりにSKILL.mdファイルを作成するための並行手順
  • create-team - 複数のエージェントを調整されたチームに構成する(予定)
  • commit-changes - 新しいエージェントファイルとレジストリ更新をコミットする

Dépôt GitHub

pjt222/agent-almanac
Chemin: i18n/ja/skills/create-agent
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

Compétences associées

content-collections

Méta

Cette compétence propose une configuration éprouvée en production pour Content Collections, un outil axé sur TypeScript qui transforme des fichiers Markdown/MDX en collections de données typées de manière sûre avec une validation Zod. Utilisez-la lors de la création de blogs, de sites de documentation ou d'applications Vite + React riches en contenu pour garantir la sécurité de typage et la validation automatique du contenu. Elle couvre tout, de la configuration du plugin Vite et de la compilation MDX à l'optimisation des déploiements et la validation des schémas.

Voir la compétence

polymarket

Méta

Cette compétence permet aux développeurs de créer des applications avec la plateforme de marchés prédictifs Polymarket, incluant l'intégration d'API pour le trading et les données de marché. Elle fournit également une diffusion de données en temps réel via WebSocket pour surveiller les transactions en direct et l'activité du marché. Utilisez-la pour mettre en œuvre des stratégies de trading ou pour créer des outils traitant les mises à jour de marché en direct.

Voir la compétence

creating-opencode-plugins

Méta

Cette compétence aide les développeurs à créer des plugins OpenCode qui s'interconnectent avec plus de 25 types d'événements tels que les commandes, les fichiers et les opérations LSP. Elle fournit la structure du plugin, les spécifications de l'API événementielle et les modèles d'implémentation pour les modules JavaScript/TypeScript. Utilisez-la lorsque vous avez besoin d'intercepter, de surveiller ou d'étendre le cycle de vie de l'assistant IA OpenCode avec une logique personnalisée pilotée par les événements.

Voir la compétence

sglang

Méta

SGLang est un framework de service LLM haute performance spécialisé dans la génération rapide et structurée pour les workflows JSON, regex et agentiques grâce à son cache de préfixe RadixAttention. Il offre une inférence nettement plus rapide, particulièrement pour les tâches avec des préfixes répétés, ce qui le rend idéal pour les sorties complexes et structurées ainsi que les conversations multi-tours. Choisissez SGLang plutôt que des alternatives comme vLLM lorsque vous avez besoin d'un décodage contraint ou que vous construisez des applications avec un partage étendu de préfixes.

Voir la compétence