skill-harvester について
Skill HarvesterはClaude Code向けのメタスキルです。過去の作業から再利用可能なパターン、ワークフロー、専門知識を抽出し、個人やチームで使える形式のスキルにまとめます。
主な機能
- 01最近の作業とファイル変更の分析
- 02再利用可能な問題解決パターンの特定
- 03テンプレートに沿ったスキル構成
- 04スキル生成用ヘルパースクリプト
- 05スキルのレビューと整理のガイド
活用シーン
- 01複雑な問題解決を再利用可能なスキルに変換
- 02繰り返し作業からチームのワークフローを抽出
- 03インフラやツールの知識を記録
- 04チームで再利用するスキルライブラリの構築
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ jackspace/ claudeskillz --skill skill-harvesterインストール後、Claude Code で/skill-harvesterを入力して読み込まれたか確認します。
詳細
スキルハーベスター
過去の作業を再利用可能な Claude Code スキルに自動変換します。
概要
スキルハーベスターは、Claude Code のセッションから再利用可能なパターン、ワークフロー、専門知識を体系的に抽出し、共有して再利用できるよう、適切に構成されたスキルに変換するメタスキルです。
使用するタイミング
次のような場合にこのスキルを使用します:
- 重要なプロジェクトや作業セッションを完了したとき
- 複数のセッションにわたる反復パターンを特定したとき
- 組織のナレッジリポジトリを構築するとき
- チーム全体で使えるスキルライブラリを作成するとき
- 複雑なワークフローを将来再利用できるよう文書化するとき
- インフラやツールに関する専門知識をスキルに変換するとき
- 将来の作業に役立つ複雑な問題を解決した後
スキルの抽出プロセス
1. 振り返りと分析
最近の作業を調べます:
# Review recent git commits
git log --oneline -20
# Analyze file changes
git diff HEAD~10..HEAD --stat
# Check which files were most modified
git log --pretty=format: --name-only | sort | uniq -c | sort -rg | head -20
分野を特定します:
- どのような技術を使用しましたか?(フレームワーク、言語、ツール)
- どのような問題を解決しましたか?(デプロイ、テスト、最適化)
- どのようなパターンが見られましたか?(エラー処理、API 統合、ワークフロー)
- どのような専門知識を身につけましたか?(分野の知識、ベストプラクティス)
2. スキルの特定
確認する質問:
- 再利用性:将来のプロジェクトに役立ちますか?
- 汎用性:この特定の状況以外にも応用できますか?
- 複雑さ:スキルとしてまとめる価値がある程度に複雑ですか?
- 価値:このパターンは他の人にも役立ちますか?
- 完全性:単独で使えるスキルとして文書化できますか?
検討するスキルのカテゴリ:
- インフラ:Docker、Kubernetes、クラウドプラットフォーム、CI/CD
- バックエンド:API 設計、データベース最適化、認証
- フロントエンド:コンポーネントのパターン、状態管理、ビルドの最適化
- DevOps:デプロイ戦略、監視、自動化
- データエンジニアリング:ETL パイプライン、データ検証、変換
- セキュリティ:認証パターン、暗号化、脆弱性スキャン
- テスト:テスト戦略、モック、カバレッジ分析
- ドキュメント:API ドキュメント、アーキテクチャ図、運用手順書
3. スキルテンプレートの作成
優れたスキルに欠かせない要素:
---
name: skill-name (kebab-case)
description: Clear, concise 1-2 sentence description of what the skill does
license: MIT
tags: [relevant, searchable, tags]
---
# Skill Title
Brief overview paragraph explaining the skill's purpose and value.
## When to Use
- Specific scenario 1
- Specific scenario 2
- Specific scenario 3
## Core Concepts
Explain the fundamental ideas and principles.
## Workflow
Step-by-step process for using the skill.
### Step 1: [Action]
Detailed explanation with code examples.
### Step 2: [Action]
More details and examples.
## Common Patterns
### Pattern 1: [Name]
Description and example.
### Pattern 2: [Name]
Description and example.
## Best Practices
### ✅ DO
- Recommended approach 1
- Recommended approach 2
### ❌ DON'T
- Anti-pattern 1
- Anti-pattern 2
## Examples
### Example 1: [Scenario]
Full working example with explanation.
### Example 2: [Scenario]
Another complete example.
## Troubleshooting
### Issue 1: [Problem]
**Symptoms**: What you see
**Cause**: Why it happens
**Solution**: How to fix
## Reference
Quick reference table or cheat sheet.
## Additional Resources
- Links to relevant documentation
- Related skills
- External references
4. コンテンツの抽出
さまざまなソースから抽出します:
# From code files
# Look for:
# - Complex functions that solve specific problems
# - Utility scripts with general applicability
# - Configuration patterns that work well
# - Error handling strategies
# - Integration patterns
# From documentation
# Harvest:
# - README instructions
# - Setup guides
# - Troubleshooting notes
# - Architecture decisions
# - Lessons learned
# From git commits
git log --all --grep="fix\|feat\|refactor" --pretty=format:"%h %s" -20
# From issue trackers
# Extract:
# - Common problems and solutions
# - Debugging strategies
# - Workarounds and fixes
5. スキルの整理
ディレクトリ構成:
harvestable_skills/
├── automation/
│ ├── skill-name/
│ │ └── skill.md
├── backend/
├── devops/
├── frontend/
├── infrastructure/
├── testing/
└── documentation/
分類のガイドライン:
- automation:ワークフローの自動化、スクリプト作成、バッチ処理
- backend:サーバーサイド開発、API、データベース
- cloud:クラウドプラットフォーム、サーバーレス、インフラ
- data-engineering:データ処理、ETL、分析
- devops:CI/CD、デプロイ、監視
- documentation:ドキュメントの生成、図表
- frontend:UI 開発、クライアントサイドのフレームワーク
- infrastructure:コンテナオーケストレーション、VM、ネットワーク
- security:認証、認可、暗号化
- testing:テストフレームワーク、戦略、自動化
- web-development:フルスタック Web 開発のパターン
スキル抽出の戦略
戦略 1:分野の専門知識の抽出
特定のツールや技術を集中的に扱った場合:
- メンタルモデルを文書化します:どのように動作しますか?重要な概念は何ですか?
- よく使う操作を記録します:最も頻繁に行うことは何ですか?
- 注意点を記録します:よくある落とし穴は何ですか?
- クイックリファレンスを作成します:いつも調べていることは何ですか?
分野の例:
- データベースクエリの最適化
- Docker のマルチステージビルド
- JWT 認証パターン
- GraphQL スキーマ設計
- Terraform モジュールの作成
戦略 2:ワークフローパターンの抽出
効果的なワークフローを確立した場合:
- 手順を整理します:どのような順序で作業しますか?
- 判断が必要な箇所を特定します:どこで選択が必要ですか?
- 前提条件を文書化します:開始に必要なものは何ですか?
- 成功基準を記録します:成功したことをどのように確認しますか?
ワークフローの例:
- ブルーグリーンデプロイ
- フィーチャーブランチのレビュープロセス
- データベースの移行戦略
- API のバージョニング手法
戦略 3:問題と解決策のパターンを抽出する
複雑な問題を解決したときは、次の手順に従います。
- 問題を説明する:何が壊れていた、または不足していましたか?
- 診断方法を説明する:どのように問題を特定しましたか?
- 解決策を詳しく説明する:何によって解決しましたか?
- パターンを一般化する:同様の問題を防ぐ、または解決するにはどうすればよいですか?
パターンの例:
- メモリーリークのデバッグ
- 競合状態の解決
- パフォーマンスのボトルネック分析
- セキュリティ脆弱性の修正
戦略 4:ツールの習熟度を文書化する
ツールを使いこなせるようになったときは、次の点をまとめます。
- 基本操作:不可欠なコマンドは何ですか?
- 高度な機能:上級ユーザー向けのテクニックは何ですか?
- 連携パターン:ほかのツールとどのように連携しますか?
- トラブルシューティング:よくあるエラーとその解決方法は何ですか?
ツールの例:
- Kubernetes 用の kubectl
- クラウド運用向けの AWS CLI
- JSON 処理用の jq
- バージョン管理用の git
自動化ヘルパー
スキルの一括生成
#!/bin/bash
# bulk-harvest.sh - Generate multiple skills from a list
SKILLS_FILE="$1"
OUTPUT_DIR="harvestable_skills"
while IFS='|' read -r category name description; do
# Skip header and empty lines
[[ "$category" == "Category" ]] && continue
[[ -z "$category" ]] && continue
SKILL_DIR="$OUTPUT_DIR/$category/$name"
mkdir -p "$SKILL_DIR"
cat > "$SKILL_DIR/skill.md" << EOF
---
name: $name
description: $description
license: MIT
---
# ${name//\-/ }
$description
## When to Use
TODO: Add specific scenarios
## Implementation
TODO: Add implementation details
## Examples
TODO: Add working examples
## Best Practices
TODO: Add recommendations
EOF
echo "✓ Created: $category/$name"
done < "$SKILLS_FILE"
使用方法:
# Create skills-to-harvest.txt
cat > skills-to-harvest.txt << EOF
Category|Name|Description
devops|docker-layer-optimization|Optimize Docker image layers for faster builds and smaller images
backend|api-rate-limiting|Implement rate limiting for API endpoints with Redis
testing|snapshot-testing|Create and manage snapshot tests for UI components
EOF
./bulk-harvest.sh skills-to-harvest.txt
Git 履歴の分析
#!/bin/bash
# analyze-work.sh - Analyze recent work for harvestable patterns
echo "=== Most Modified Files ==="
git log --since="1 month ago" --pretty=format: --name-only | \
sort | uniq -c | sort -rg | head -20
echo ""
echo "=== Technologies Used ==="
git log --since="1 month ago" --pretty=format:"%s" | \
grep -oE "(docker|kubernetes|terraform|ansible|python|node|react|vue|postgres|redis|mongodb)" | \
sort | uniq -c | sort -rg
echo ""
echo "=== Common Commit Themes ==="
git log --since="1 month ago" --pretty=format:"%s" | \
grep -oE "^(feat|fix|refactor|docs|test|chore)" | \
sort | uniq -c | sort -rg
echo ""
echo "=== Recent Problem Areas ==="
git log --since="1 month ago" --all --grep="fix\|bug\|issue" --pretty=format:"%h %s" | head -10
品質チェックリスト
抽出したスキルを公開する前に、次の項目を確認してください。
網羅性:
- 明確で説明的な名前(kebab-case)
- 簡潔な説明(1~2 文)
- 具体的なシナリオを含む「使用するタイミング」セクション
- 中核となる概念の説明
- ステップごとのワークフロー
- 動作する例を少なくとも 2 つ
- ベストプラクティス(すべきこと、避けるべきこと)
- トラブルシューティングのセクション
- クイックリファレンスまたはチートシート
品質:
- 例はコピーしてすぐに使え、実際に動作する
- コードに適切なコメントが付いている
- 説明が明確で簡潔
- よくあるエッジケースを網羅している
- エラー処理が含まれている
- パフォーマンスに関する考慮事項に触れている
- セキュリティへの影響に対処している
- 公式ドキュメントへのリンクがある
有用性:
- 現実の問題を解決する
- 複数のシナリオに適用できる
- ゼロから始めるより効率的
- ドメインの専門知識が含まれている
- 実行可能なガイダンスを提供する
構成:
- 適切なカテゴリに配置されている
- 適切にタグ付けされている
- 既存のスキルと重複していない
- 関連するスキルとの関係が明確
統合ワークフロー
ステップ 1:抽出可能なディレクトリに作成する
mkdir -p harvestable_skills/[category]/[skill-name]
# Create skill.md with full content
ステップ 2:レビューして改善する
- すべての例をテストする
- 手順を確認する
- 不足しているセクションを追加する
- 分かりやすさを改善する
ステップ 3:スキルコレクションに移動する
# Copy to final location
cp -r harvestable_skills/[category]/[skill-name] skills/
# Or organize by category
cp -r harvestable_skills/[category]/[skill-name] skills-by-category/[category]/
ステップ 4:コミットして共有する
git add skills/ harvestable_skills/
git commit -m "🎯 Harvest skills: [description]"
git push
抽出したスキルの例
例 1:インフラストラクチャ作業からスキルへ
元の作業:コンテナと VM を含む Proxmox VE クラスターの管理
抽出したスキル:proxmox-manager
- コンテナのライフサイクル管理
- VM のプロビジョニング
- GPU パススルーの設定
- ネットワークのトラブルシューティング
- バックアップと復元の手順
例 2:問題解決からスキルへ
元の作業:一括操作中に発生する Claude Code のタイムアウトへの対処
抽出したスキル:session-timeout-handler
- チャンク化の戦略
- チェックポイントのパターン
- 進行状況の追跡
- 再開の仕組み
- バックグラウンドプロセスの管理
例 3:ワークフローからスキルへ
元の作業:Claude 固有のブランチ運用による複数の Git リポジトリの管理
抽出したスキル:claude-git-branching
- ブランチの命名規則
- 再試行ロジックを使ったプッシュ
- 複数リポジトリの連携
- コンフリクトの解決
- PR の自動化
効果的に抽出するためのヒント
🎯 価値に焦点を当てる
次のようなスキルを抽出します。
- 大幅な時間短縮につながる
- エラーを減らす
- 専門知識を体系化する
- 新しい機能を利用できるようにする
- 繰り返し発生する問題を解決する
📝 背景を記録する
次の内容を含めます。
- この方法が有効な理由
- 代替手段を使うべき状況
- トレードオフと考慮事項
- 実際のシナリオ
- 学んだ教訓
🔄 反復して改善する
- 基本的なバージョンから始める
- 実際の使用例を追加する
- フィードバックを取り入れる
- 経験に基づいて改善する
- 必要に応じてバージョン管理する
🤝 共有して協力する
- チームのリポジトリに貢献する
- 貢献を受け入れる
- 改善をレビューしてマージする
- ほかの人のスキルを活用する
- スキルの組み合わせを作成する
スキルの組み合わせ
複数のスキルを組み合わせて、強力なワークフローを実現します。
# Example: Full-Stack Deployment Skill
Combines:
- docker-optimization (build efficient images)
- kubernetes-deploy (deploy to cluster)
- database-migration (update schema)
- health-check-monitoring (verify deployment)
- rollback-strategy (revert if needed)
測定と追跡
スキルの価値を追跡します。
# Track skill usage
echo "$(date): Used skill-harvester for project X" >> ~/.claude/skill-usage.log
# Count skill reuse
grep "skill-harvester" ~/.claude/skill-usage.log | wc -l
# Measure time saved
# Before: 4 hours to set up manually
# After: 20 minutes with skill
# Savings: 3.67 hours per use
高度なパターン
パターン 1:段階的な開示
シンプルなテンプレートから始め、必要に応じて複雑さを加えます。
- 基本:必須の操作のみ
- 中級:一般的なパターンとバリエーション
- 上級:エッジケースと最適化
- エキスパート:詳細な解説と内部構造
パターン 2:スキルファミリー
連携して動作する関連スキルを作成します。
database-skills/
├── postgres-optimization/
├── postgres-backup/
├── postgres-replication/
└── postgres-monitoring/
パターン 3:メタスキル
ほかのスキルの作成や管理に役立つスキルです。
- skill-harvester(このスキル)
- skill-tester(スキルの動作を検証)
- skill-documenter(ドキュメントを生成)
- skill-versioner(バージョンを管理)
リソース
スキルリポジトリ
- anthropics/claude-code-skills
- コミュニティのスキル集
- チーム固有のリポジトリ
ツール
- バージョン管理用の Git
- ドキュメント作成用の Markdown
- メタデータ用の YAML
- 自動化用のシェルスクリプト
ベストプラクティス
- Claude Code のスキル規約に従う
- 一貫した書式を使用する
- メタデータのフロントマターを含める
- 適切なタグを付ける
- 必要に応じてバージョン管理する
バージョン:1.0.0 作成者:your_claude_skills リポジトリから収集 最終更新日:2025-11-18 ライセンス:MIT
クイックスタート
- 振り返る:最近の作業を確認する(git log、変更したファイル、解決した問題)
- 特定する:収集する価値のあるスキルを 3~7 個リストアップする
- 作成する:各スキルにスキルテンプレートを使用する
- 整理する:適切なカテゴリに配置する
- コミットする:リポジトリに追加する
- 共有する:プッシュしてチームが利用できるようにする
忘れないでください:優れたスキルは、実際の問題を解決し、真の専門知識を取り入れます。スキルの収集を楽しみましょう! 🎯