---
name: skills-generator
description: Agent Skillsを新規作成・改善・セキュリティ診断・日本語ローカライズするメタスキル。ユーザーの目的に応じたSKILL.mdとオプションフォルダ（references/assets/examples/scripts/）を含む完全なスキルパッケージを生成する。既存スキルの発火条件・構造・品質の改善、ヘルパースクリプト付きスキルの生成、悪意ある指示やリスクの診断、英語スキルの日本語化にも対応。「スキルを作って」「Skill作成」「新しいスキル」「スキル生成」「スキルを改善」「スキルを最適化」「発火しない」「発火条件を改善」「スキルの診断」「スキルをチェック」「スキルを監査」「スキルを日本語化」「スキルを翻訳」「ローカライズ」「こんなことしたい」「あんな事ができたら」「自動化したい」などで発火。
---

# Skills Generator — Agent Skills のメタスキル

## スキル読み込み通知

このスキルが読み込まれたら、必ず以下の通知をユーザーに表示してください：

> 💡 **Skills Generator スキルを読み込みました**  
> Agent Skillsの作成・改善・診断・ローカライズを行います。

Agent Skills を **作成**・**改善**・**診断**・**ローカライズ** するためのメタスキルです。
ユーザーの要望に応じて、以下の4つのモードで動作します。

| モード | 説明 | トリガー例 |
|--------|------|-----------|
| 🔨 **Generate** | 新しいスキルを一式作成（スクリプト付きも対応） | 「pytestのスキルを作って」「自動化スクリプト付きで」 |
| ✨ **Improve** | 既存スキルをベストプラクティスに基づき改善 | 「スキルを改善して」「発火条件を良くして」 |
| 🛡️ **Audit** | 既存スキルのセキュリティ診断 | 「スキルをチェックして」「スキルを監査」 |
| 🌐 **Localize** | 英語スキルの日本語化 | 「スキルを日本語化して」「翻訳して」 |

また、ユーザーが「こんなことしたい」「〜を自動化したい」と漠然とした要望を伝えた場合でも、目的を分析して最適なスキル構成を提案・生成します。

---

## When to Use

- 新しい Agent Skill を作成したいとき
- 「こんなことできたらいいな」を実現するスキルが欲しいとき
- ヘルパースクリプト付きの自動化スキルを作りたいとき
- 既存スキルの発火条件・構造・品質を改善したいとき
- スキルが思ったように発火しない・期待と違う動作をするとき
- 外部から取得したスキルの安全性を確認したいとき
- 英語で書かれたスキルを日本語に翻訳したいとき

---

## Mode 1: Generate — スキル新規作成

### 手順

#### Step 1: ヒアリング

ユーザーから以下の情報を確認する：

1. **目的**: 何をするスキルか（例: pytest実行、セキュリティ分析、コードレビュー）
2. **スコープ**: プロジェクト固有か、汎用か
3. **配置先**: `.github/skills/`（プロジェクト）か `~/.copilot/skills/`（個人）か
4. **必要リソース**: テンプレート、スクリプト、参照ドキュメントが必要か
5. **自動化**: ヘルパースクリプトで自動化したい処理があるか

> 💡 ユーザーが「こんなことしたい」「あんな事ができたら」と漠然とした要望の場合は、目的から逆算して最適な構成を提案する。必要に応じて Generate + scripts/ の組み合わせを自動的に選択する。

#### Step 2: スキル構成の設計

以下のディレクトリ構成を基本として、必要に応じて各オプションフォルダを追加する：

```
.github/skills/{skill-name}/
├── SKILL.md              # 必須：スキル定義
├── scripts/              # オプション：ヘルパースクリプト
├── references/           # オプション：参照ドキュメント・仕様
├── examples/             # オプション：実装例・サンプル
└── assets/               # オプション：テンプレート・図
```

各フォルダの使い分け：

| フォルダ | 用途 | 追加する条件 |
|---------|------|-------------|
| `scripts/` | 自動化スクリプト、診断ツール | スキルがコマンド実行を伴う場合 |
| `references/` | 仕様書、ガイドライン、チェックリスト、実装パターン | 詳細な参照情報がある場合 |
| `examples/` | サンプルコード、実装例 | 具体的なコード例が必要な場合 |
| `assets/` | テンプレート、ひな型 | 出力フォーマットが決まっている場合 |

> 💡 **実装パターン・注意点の組み込み**: プロジェクトオーバービュースキルを作成する場合、`references/` に **実装パターン・注意点リファレンス** を含めることを強く推奨する。調査方法・出力フォーマット・完全な例は以下を参照：
>
> 📄 **[references/implementation-patterns-guide.md](references/implementation-patterns-guide.md)**

#### Step 3: SKILL.md の作成

SKILL.md テンプレートは以下を参照：

📄 **[assets/skill-template.md](assets/skill-template.md)**

作成時のルール：

1. **name**: 小文字の英字・数字・ハイフンのみ（最大64文字）
2. **description**: 1行で完結させる。改行や `|` は使わない。以下を必ず含める：
   - スキルの目的（何をするか）
   - 発火キーワード（日本語・英語の両方が望ましい）
3. **スキル読み込み通知**: **必須**。スキルが読み込まれたら、ユーザーにスキル名と目的を通知する指示を含める（テンプレートに含まれています）
4. **本文**: 手順（Step）を軸に構成し、詳細は外部ファイルへ分離する

#### Step 4: オプションファイルの作成

SKILL.md 本文にテンプレートやチェックリストを直接埋め込まず、外部ファイルに分離する。

**分離の判断基準**：
- 10行を超えるコードブロック → `assets/` または `examples/` へ
- 表形式のリファレンス → `references/` へ
- 実行可能なスクリプト → `scripts/` へ

SKILL.md からは相対パスのリンクで参照する：

```markdown
📄 **[assets/template.md](assets/template.md)**
📄 **[references/guidelines.md](references/guidelines.md)**
```

#### Step 5: ヘルパースクリプトの作成（該当する場合）

スキルが **コマンド実行を伴う自動化** を含む場合、`scripts/` フォルダにヘルパースクリプトを作成する。

**スクリプトが必要なケースの判断**：

| ユーザーの要望 | スクリプトの種類 | 例 |
|---------------|----------------|-----|
| 「ファイルを自動生成したい」 | ジェネレーター | テンプレートからファイルを生成するスクリプト |
| 「チェックを自動化したい」 | バリデーター | lint、型チェック、規約チェック |
| 「データを変換したい」 | トランスフォーマー | フォーマット変換、マイグレーション |
| 「情報を収集したい」 | コレクター | プロジェクト情報の収集・集約 |
| 「定型処理をまとめたい」 | ワークフロー | 複数コマンドの一括実行 |

**スクリプト作成のルール**：

スクリプト作成のパターン集と安全性ガイドラインは以下を参照：

📄 **[references/script-patterns.md](references/script-patterns.md)**

主要な原則：
1. **言語選択**: プロジェクトの技術スタックに合わせる。迷ったら Node.js（`.mjs`）か Python（`.py`）か Shell（`.sh`/`.ps1`）
2. **安全性**: 破壊的操作は必ず `--dry-run` オプションを提供し、デフォルトではドライランとする
3. **冪等性**: 何度実行しても同じ結果になるようにする
4. **エラーハンドリング**: 失敗時に明確なエラーメッセージを出力する
5. **SKILL.md からの参照**: スクリプトの使い方を SKILL.md に記述する

```markdown
## 使い方

スクリプトを実行して○○を行います：

\```bash
node scripts/generate.mjs --target src/
\```
```

#### Step 6: 品質チェック

作成したスキルについて以下を確認する：

- [ ] `name` が命名規則に準拠しているか
- [ ] `description` が1行で、発火キーワードを含んでいるか
- [ ] スキル読み込み通知セクションが含まれているか
- [ ] SKILL.md が肥大化していないか（外部ファイル分離が適切か）
- [ ] 外部ファイルへのリンクが正しいか
- [ ] `scripts/` がある場合、スクリプトが安全で冪等か
- [ ] 日本語で記述されているか

### スキル設計のベストプラクティス

詳細は以下を参照：

📄 **[references/best-practices.md](references/best-practices.md)**

---

## Mode 2: Improve — 既存スキルの改善

### 概要

プロジェクトに既に存在するスキルを分析し、ベストプラクティスに基づいて改善します。
発火条件の最適化、構造の改善、不足している機能の追加などを行い、スキルの効果を最大化します。

### 手順

#### Step 1: 対象スキルの分析

対象スキルの全ファイルを読み込み、以下の観点で現状を評価する：

| 評価軸 | チェック内容 |
|--------|-------------|
| 発火精度 | `description` の記述が十分か、発火キーワードが適切か |
| 構造品質 | SKILL.md がスリムか、外部ファイル分離が適切か |
| 網羅性 | 必要な手順・リファレンス・テンプレートが揃っているか |
| 実用性 | 実際の業務フローに沿った指示になっているか |
| スクリプト | 自動化すべき処理がスクリプト化されているか |
| 実装パターン | プロジェクト固有の注意点・ワークアラウンドがリファレンスとして整備されているか |

#### Step 2: 改善レポートの作成

改善提案を以下のフォーマットで出力する：

📄 **[assets/improvement-report-template.md](assets/improvement-report-template.md)**

#### Step 3: 改善の実施

ユーザーの承認を得た上で、以下の改善を実施する：

**発火条件の改善**:

発火しない・意図と違う発火をする場合の改善チェックリストは以下を参照：

📄 **[references/improve-checklist.md](references/improve-checklist.md)**

主な改善パターン：

| 問題 | 原因 | 改善方法 |
|------|------|---------|
| スキルが発火しない | `description` のキーワード不足 | ユーザーが使いそうなフレーズを追加 |
| 関係ないときに発火する | `description` が曖昧 | 具体的な条件と除外条件を明記 |
| 出力が期待と違う | 指示が不明確 | Step の手順を具体化、テンプレートを追加 |
| 毎回似たことを聞かれる | コンテキスト不足 | `references/` にプロジェクト固有情報を追加 |
| 手動作業が多い | 自動化が不足 | `scripts/` にヘルパースクリプトを追加 |
| 実装時に同じミスを繰り返す | プロジェクト固有の注意点が未整備 | `references/` に実装パターン・注意点リファレンスを追加 |

**構造の改善**:
- SKILL.md が100行を超えている → テンプレート・リファレンスを外部ファイルに分離
- `assets/` / `references/` が未使用 → 必要に応じてフォルダとファイルを追加
- `scripts/` が必要そうな処理がある → ヘルパースクリプトを作成

#### Step 4: 改善結果の検証

- [ ] 改善後の `description` で意図通りに発火するか
- [ ] 既存の機能が損なわれていないか
- [ ] 外部ファイルへのリンクが正しいか
- [ ] スクリプトが追加された場合、安全に動作するか

---

## Mode 3: Audit — セキュリティ診断

### 概要

Agent Skills は SKILL.md に任意の指示を記述できるため、悪意のある指示が埋め込まれるリスクがあります。
このモードでは、指定されたスキル（または全スキル）をチェックし、セキュリティリスクを報告します。

### 手順

#### Step 1: 対象の特定

- 特定のスキル名が指定された場合 → そのスキルのみ診断
- 「全部チェック」の場合 → `.github/skills/` 配下の全スキルを診断
- 外部から取得したスキルの場合 → 優先的に詳細チェック

#### Step 2: セキュリティチェックの実行

以下のチェックリストに基づいて診断する：

📄 **[references/security-checklist.md](references/security-checklist.md)**

主要なチェック項目（抜粋）：

| カテゴリ | チェック項目 | リスクレベル |
|---------|-------------|-------------|
| データ流出 | 外部URLへのデータ送信指示 | 🔴 Critical |
| コード実行 | 任意のシェルコマンド実行指示 | 🔴 Critical |
| ファイル操作 | 意図しないファイル削除・上書き | 🟠 High |
| 権限昇格 | sudo / 管理者権限の要求 | 🟠 High |
| 情報収集 | 環境変数・認証情報の読み取り | 🟠 High |
| 隠蔽 | 指示の存在を隠す記述 | 🔴 Critical |

#### Step 3: 診断レポートの出力

レポートテンプレートは以下を参照：

📄 **[assets/audit-report-template.md](assets/audit-report-template.md)**

---

## Mode 4: Localize — 日本語ローカライズ

### 概要

GitHub や Anthropic のリポジトリなどから取得した英語スキルを、機能を変えずに日本語化します。

### 手順

#### Step 1: 対象スキルの読み込み

対象スキルの全ファイル（SKILL.md + オプションフォルダ）を読み込む。

#### Step 2: 翻訳の実行

以下のルールに従って翻訳する：

| 要素 | 翻訳方針 |
|------|---------|
| `name` フィールド | **翻訳しない**（英字・ハイフンのみの制約） |
| `description` フィールド | 日本語に翻訳し、日本語の発火キーワードを追加 |
| 見出し・本文 | 日本語に翻訳 |
| コード・コマンド | **翻訳しない**（コメントのみ翻訳可） |
| ファイル名・パス | **翻訳しない** |
| 技術用語 | 初出時に `原語（日本語）` の形式で併記し、以降は日本語のみ |

#### Step 3: セキュリティチェック

外部から取得したスキルは、ローカライズの前後に **Mode 3: Audit** を自動実行する。

#### Step 4: 出力

翻訳後のスキルを同じディレクトリ構成で出力する。元のスキルは上書きする（不安であれば事前にバックアップを提案）。

---

## 参照ドキュメント

| ドキュメント | 内容 |
|-------------|------|
| [assets/skill-template.md](assets/skill-template.md) | SKILL.md の作成テンプレート |
| [assets/audit-report-template.md](assets/audit-report-template.md) | セキュリティ診断レポートテンプレート |
| [assets/improvement-report-template.md](assets/improvement-report-template.md) | スキル改善レポートテンプレート |
| [references/best-practices.md](references/best-practices.md) | スキル設計のベストプラクティス |
| [references/improve-checklist.md](references/improve-checklist.md) | 既存スキル改善チェックリスト |
| [references/script-patterns.md](references/script-patterns.md) | ヘルパースクリプト作成パターン集 |
| [references/security-checklist.md](references/security-checklist.md) | セキュリティ診断チェックリスト |
| [references/skill-standard-summary.md](references/skill-standard-summary.md) | Agent Skills Standard 仕様サマリー |
| [references/implementation-patterns-guide.md](references/implementation-patterns-guide.md) | 実装パターン・注意点リファレンス作成ガイド |
| [examples/example-skill/](examples/example-skill/) | 良いスキルの実装例 |
