engineer-skill-creator について
engineer-skill-creatorは、抽出したエンジニアのプロフィールを、AIエージェントが照会できるスキルに整理します。段階的開示と対話型クエリツールにより、タスクや言語に関連する知見とコード例を提示します。
主な機能
- 01開発タスク別に知見を整理
- 02言語別のガイダンスを提供
- 03よく使う設計パターンを整理
- 04段階的開示に対応
- 05対話型クエリツールを提供
活用シーン
- 01チームのスタイルに沿ったコード生成
- 02特定タスクの実装方法を調べる
- 03経験者の基準に沿ったコードレビュー
- 04新メンバーへのチーム慣習の共有
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ jamesrochabrun/ skills --skill engineer-skill-creatorインストール後、Claude Code で/engineer-skill-creatorを入力して読み込まれたか確認します。
同梱ファイルscripts/create_expert_skill.sh
詳細
エンジニアスキルクリエイター
抽出したエンジニアのプロファイルを、すぐに使えるスキルに変換します。段階的開示により、AI エージェントがあらゆるコーディングタスクに適した専門知識を効率よく見つけ、適用できるようにします。
このスキルでできること
engineer-expertise-extractor の出力を受け取り、次のような構造化された検索可能なスキルを作成します。
- タスクの種類ごとに専門知識を整理 - 関連するパターンをすばやく見つけられます
- 段階的開示を活用 - 現在のタスクに必要な情報だけを提示します
- 状況に即した例を提供 - 特定のシナリオに対応した実際のコード例を示します
- エージェントを適切にガイド - 適切なタイミングで適切な専門知識を見つけられるよう支援します
- タスクに応じた問い合わせを可能に - 「認証をどのように実装するでしょうか?」
2 段階のプロセス
ステップ 1:抽出(engineer-expertise-extractor)
./extract_engineer.sh senior_dev
# Output: engineer_profiles/senior_dev/
ステップ 2:スキルの作成(このスキル)
./create_expert_skill.sh senior_dev
# Output: expert-skills/senior-dev-mentor/
結果: エージェントが具体的なガイダンスを問い合わせられる、すぐに使えるスキルが作成されます。
段階的開示が重要な理由
段階的開示を使わない場合:
- エージェントがすべての専門知識を一度に受け取ります(情報過多になります)
- 関連情報を見つけにくくなります
- コンテキストの上限にすぐ達します
- 非効率で時間がかかります
段階的開示を使う場合:
- エージェントが具体的な質問をします
- 関連する専門知識だけを取得します
- 焦点を絞った、実行可能なガイダンスを得られます
- コンテキストを効率的に利用できます
- より速く、より良い結果が得られます
出力構造
エンジニアのプロファイルからスキルを作成すると、次のものが得られます。
expert-skills/
└── [engineer-name]-mentor/
├── SKILL.md (skill documentation)
├── query_expertise.sh (interactive query tool)
├── expertise/
│ ├── by_task/
│ │ ├── authentication.md
│ │ ├── api_design.md
│ │ ├── database_design.md
│ │ ├── error_handling.md
│ │ └── testing.md
│ ├── by_language/
│ │ ├── typescript.md
│ │ ├── python.md
│ │ └── go.md
│ ├── by_pattern/
│ │ ├── dependency_injection.md
│ │ ├── repository_pattern.md
│ │ └── factory_pattern.md
│ └── quick_reference/
│ ├── coding_style.md
│ ├── naming_conventions.md
│ └── best_practices.md
└── examples/
├── authentication_service.ts
├── api_controller.ts
└── test_example.spec.ts
段階的開示システム
タスクで問い合わせる
エージェントの質問:「ユーザー認証をどのように実装するでしょうか?」
スキルが提供するもの:
by_task/authentication.mdにある関連パターン- 認証関連の PR から抽出したコード例
- 認証のテストアプローチ
- 使用しているセキュリティ上の考慮事項
- 関連するベストプラクティス
(まだ)提供しないもの:
- 関連のないパターン
- データベース設計の詳細
- 決済処理のアプローチ
- その他すべて
言語で問い合わせる
エージェントの質問:「TypeScript のコーディングスタイルを教えてください」
スキルが提供するもの:
- TypeScript 固有の規約
- 型の使用パターン
- インターフェース設計のアプローチ
- TypeScript でのエラー処理
- 実際の TypeScript の例
パターンで問い合わせる
エージェントの質問:「依存性の注入をどのように実装しますか?」
スキルが提供するもの:
- コードで使われている DI パターン
- コンストラクターインジェクションの例
- IoC コンテナーの設定
- DI を使ったテスト
- 使う場合と使わない場合
エージェントによるスキルの使用
基本的な問い合わせ
"Using the skill expert-skills/senior-dev-mentor/, show me how to
implement authentication"
スキルの応答内容:
- 使用されている認証パターン
- 実際のコード例
- テストアプローチ
- セキュリティプラクティス
- ステップごとのガイダンス
言語に特化した問い合わせ
"Using expert-skills/senior-dev-mentor/, write a TypeScript service
following their style"
スキルが提供するもの:
- TypeScript のコーディング規約
- クラス構造のパターン
- 型定義のアプローチ
- インポートの整理方法
- サービスのテストパターン
パターンに特化した問い合わせ
"Using expert-skills/senior-dev-mentor/, implement the repository
pattern as they would"
スキルが提供するもの:
- リポジトリパターンの実装
- インターフェース定義
- 具体的な実装例
- テストアプローチ
- このパターンを使うべき場面
作成されるスキルの機能
1. タスクベースのナビゲーション
一般的な開発タスクごとに専門知識を整理します。
- 認証と認可
- API 設計
- データベース設計
- エラー処理
- テスト戦略
- パフォーマンス最適化
- セキュリティプラクティス
- コードレビューのガイドライン
2. 言語に特化したガイダンス
使用する言語ごとに個別のドキュメントを用意します。
- 言語ごとの命名規則
- 言語固有のパターン
- その言語らしいコード例
- フレームワークの選好
3. パターンライブラリ
よく使われるデザインパターンをまとめます。
- 各パターンを適用するタイミング
- 実装例
- テストアプローチ
- 避けるべきよくある落とし穴
4. クイックリファレンス
重要な情報にすばやくアクセスできます。
- コーディングスタイルの概要
- 命名規則のチートシート
- よく使うコマンドやスニペット
- レビューチェックリスト
5. 対話型問い合わせツール
専門知識を見つけるためのスクリプトです。
./query_expertise.sh
What are you working on?
1) Authentication
2) API Design
3) Database
4) Testing
5) Custom query
Select: 1
=== Authentication Expertise ===
[Shows relevant patterns, examples, best practices]
スキルの作成方法
入力
エクストラクターが作成したエンジニアのプロファイル:
engineer_profiles/senior_dev/
├── coding_style/
├── patterns/
├── best_practices/
├── architecture/
├── code_review/
└── examples/
プロセス
- プロフィールの構造を分析する
- タスク別に分類する - 関連する専門知識をグループ化する
- 例を抽出する - 関連するコードサンプルを取り出す
- ナビゲーションを作成する - 段階的に情報を開示する仕組みを構築する
- クエリを生成する - クエリツールを作成する
- スキルをパッケージ化する - すぐに使えるスキル構造にする
出力
段階的に情報を開示するスキル:
expert-skills/senior-dev-mentor/
├── SKILL.md
├── query_expertise.sh
├── expertise/
│ ├── by_task/
│ ├── by_language/
│ ├── by_pattern/
│ └── quick_reference/
└── examples/
作成したスキルの例
認証タスクのドキュメント
ファイル: expertise/by_task/authentication.md
# Authentication - Senior Dev's Approach
## Overview
How senior_dev implements authentication based on 15 PRs analyzed.
## Preferred Approach
- JWT-based authentication
- Refresh token rotation
- HttpOnly cookies for web
- Token in headers for mobile/API
## Implementation Pattern
### Service Structure
[Code example from their PR #1234]
### Token Generation
[Code example from their PR #5678]
### Token Validation
[Code example from their PR #9012]
## Testing Approach
- Unit tests for token generation
- Integration tests for auth flow
- Security tests for token validation
[Test examples from their code]
## Security Considerations
From their code reviews:
- Always validate token signature
- Check expiration
- Implement rate limiting
- Use secure random for secrets
## Common Pitfalls They Avoid
- Storing tokens in localStorage (XSS risk)
- Not rotating refresh tokens
- Weak secret keys
- Missing token expiration
## Related Patterns
- Error handling for auth failures
- Middleware pattern for auth checks
- Repository pattern for user lookup
## Examples
See: examples/authentication_service.ts
ユースケース
1. 一貫性のあるコード生成
問題: AI がチームのスタイルに合わないコードを生成する
解決策:
"Using expert-skills/senior-dev-mentor/, write a user service"
結果: シニア開発者のスタイルとパターンに正確に一致するコード
2. タスクに応じたガイダンス
問題: シニア開発者なら、この特定の問題にどう取り組むでしょうか?
解決策:
"Using expert-skills/tech-lead-mentor/, how do I handle rate limiting?"
結果: その開発者ならではのアプローチ、例、推論
3. コードレビューのトレーニング
問題: 経験豊富なエンジニアが何に注目するかを学ぶ
解決策:
"Using expert-skills/architect-mentor/, review this code"
結果: そのエンジニアの基準と優先事項に沿ったレビュー
4. オンボーディング
問題: 新しいエンジニアがチームの規約を学ぶ必要がある
解決策: expert-skills へのアクセスを提供する
結果: 実際の例から、自分のタスクに即した形で学ぶ
スキルクエリの例
例 1:認証
./query_expertise.sh
> Working on: Authentication
> Language: TypeScript
Output:
=== Authentication in TypeScript ===
Preferred approach: JWT with refresh tokens
[Shows specific auth pattern]
[Provides TS code example]
[Testing strategy]
[Security checklist]
Related: error_handling.md, api_design.md
例 2:データベース設計
./query_expertise.sh
> Working on: Database design
> Database: PostgreSQL
Output:
=== Database Design - PostgreSQL ===
Schema design approach:
- Normalized tables
- Foreign keys enforced
- Indexes on lookups
- Migrations for changes
[Shows migration example]
[Query optimization patterns]
[Testing approach]
例 3:エラー処理
./query_expertise.sh
> Working on: Error handling
> Language: Python
Output:
=== Error Handling in Python ===
Pattern: Custom exception classes + global handler
[Shows exception hierarchy]
[Handler implementation]
[Logging approach]
[User-facing messages]
スキルの作成
基本的な使い方
cd engineer-skill-creator
./scripts/create_expert_skill.sh [engineer-username]
高度な使い方
./scripts/create_expert_skill.sh [engineer-username] --focus api,testing
スキルの対象を特定の重点領域に限定します。
生成される内容
自動分類:
- 関連するパターンをグループ化
- 一般的なタスク別に整理
- 言語別に分類
- ベストプラクティスを強調
クエリシステム:
- 対話型 CLI ツール
- スマート検索
- 関連コンテンツへのリンク
- 例の提案
ドキュメント:
- タスク別ガイド
- 言語リファレンス
- パターンライブラリ
- クイックリファレンスカード
開発ワークフローとの統合
Claude Code で
"Load the expert-skills/senior-dev-mentor/ skill and help me
implement this feature following their approach"
コードレビューで
"Using expert-skills/tech-lead-mentor/, review this PR for:
- Code style compliance
- Pattern usage
- Best practices
- Security considerations"
アーキテクチャ上の意思決定で
"Using expert-skills/architect-mentor/, how would they design
this microservice?"
スキルのメンテナンス
スキルの更新
エンジニアのプロフィールが更新された場合:
./scripts/update_expert_skill.sh senior-dev
新しい専門知識を反映してスキルを再生成します。
バージョン管理
スキルの生成ごとに、以下が含まれます:
- ソースプロフィールのバージョン
- 生成日
- 専門知識の数
- 最後に分析した PR
ベストプラクティス
スキルを作成する場合
推奨事項:
- ✅ 専門分野ごとにスキルを作成する
- ✅ スキルを定期的に更新する(四半期ごと)
- ✅ デプロイ前にクエリをテストする
- ✅ スキルの対象範囲を文書化する
避けるべきこと:
- ❌ データが不十分な状態(PR が 20 件未満)でスキルを作成する
- ❌ 複数のエンジニアを 1 つのスキルに混在させる
- ❌ プロフィールの更新を無視する
- ❌ 過剰に分類する(シンプルに保つ)
スキルを使用する場合
推奨事項:
- ✅ 具体的な質問をする
- ✅ コンテキスト(言語、タスク)を提供する
- ✅ 例を参照する
- ✅ 自分の判断と組み合わせる
避けるべきこと:
- ❌ パターンを盲目的にコピーする
- ❌ 理由を理解することを省く
- ❌ プロジェクトのコンテキストを無視する
- ❌ 融通の利かないルールとして扱う
制限事項
スキルでできること:
- ✅ 実績のあるパターンを提示する
- ✅ 実際の例を示す
- ✅ 実装をガイドする
- ✅ 推論を説明する
- ✅ ベストプラクティスを提示する
スキルでできないこと:
- ❌ 代わりに意思決定する
- ❌ 個別のコンテキストを理解する
- ❌ シニアエンジニアの判断に取って代わる
- ❌ 正しさを保証する
- ❌ 新しい技術に自動的に適応する
概要
Engineer Skill Creator は、抽出した専門知識を実行可能で検索可能なスキルに変換します。
入力: エンジニアのプロフィール(extractor から) 処理: 分類、整理、検索システムの作成 出力: 段階的に情報を提示するスキル
メリット:
- 専門知識をすばやく見つけられます
- タスクに応じたガイダンスを得られます
- 実例から学べます
- 一貫性を維持できます
- 知識を拡張できます
エージェントと併用:
"Using expert-skills/[engineer]-mentor/, [task description]"
一連のワークフロー:
- 専門知識を抽出:
extract_engineer.sh username - スキルを作成:
create_expert_skill.sh username - エージェントと併用:プロンプトでスキルを参照
- 一貫性のあるエキスパートレベルの結果を取得
「段階的な情報提示:必要なものだけを、必要なときに表示します。」