- 概要
- クイックスタート
- ファイル構成
- コア機能の使い方
- プロンプトファイルの使い方
- カスタムインストラクション
- エージェントとの連携
- 進捗管理と引き継ぎ
- 拡張・カスタマイズ方法
- ECC(Claude Code)との対応表
- ベストプラクティス
- トラブルシューティング
Everything Copilot Chat (ECC-Copilot) は、GitHub Copilot Chat を最大限に活用するためのハーネス最適化システムです。
Everything Claude Code の設計思想をGitHub Copilot Chat向けに移植し、以下の問題を解決します:
| 問題 | ECC-Copilotの解決策 |
|---|---|
| リクエスト回数に制限がある | 1リクエストで実装→テスト→ドキュメントまで完了するプロンプト |
| チャット履歴が消える | docs/progress/ に進捗ログを自動記録 |
| コーディング規約が一貫しない | .instructions.md でルールを自動適用 |
| セキュリティ漏れが発生する | セキュリティレビュープロンプトとインストラクション |
| 引き継ぎが困難 | HANDOFF.md テンプレートと構造化された進捗管理 |
- 1リクエスト完結 — リクエスト数を最小化するため、すべてを1回で完了
- 進捗の永続化 — チャットが終了しても作業状態を保持
- 自動ルール適用 — ファイル種別に応じたルールが自動で効く
- 日本語ファースト — ドキュメント・コメントは日本語
# 新しいプロジェクトにコピーする場合
cp -r everything-copilot-chat/.github your-project/.github
cp -r everything-copilot-chat/prompts your-project/prompts
cp -r everything-copilot-chat/docs your-project/docs
cp everything-copilot-chat/AGENTS.md your-project/
cp everything-copilot-chat/.vscode/settings.json your-project/.vscode/settings.jsonVS Codeで以下の設定が有効であることを確認:
- Settings →
github.copilot.chat.codeGeneration.useInstructionFiles→ 有効 .vscode/settings.jsonが読み込まれていること
Copilot Chat を開き(Ctrl+Shift+I または Cmd+Shift+I)、
プロンプトファイルを活用して作業を開始します。
your-project/
├── .github/
│ ├── copilot-instructions.md # 🔑 リポジトリ全体の基本ルール
│ └── instructions/ # 📋 パス別の詳細ルール
│ ├── typescript.instructions.md # TypeScript/JavaScript 規約
│ ├── python.instructions.md # Python 規約
│ ├── testing.instructions.md # テスト規約
│ ├── security.instructions.md # セキュリティ規約
│ ├── git-workflow.instructions.md # Gitワークフロー規約
│ ├── performance.instructions.md # パフォーマンス規約
│ └── progress-tracking.instructions.md # 進捗管理規約
│
├── .vscode/
│ ├── settings.json # ⚙️ Copilot + エディタ設定
│ └── mcp.json # 🔌 MCPサーバー設定(テンプレート)
│
├── AGENTS.md # 🤖 エージェント共通指示
│
├── prompts/ # 📝 再利用可能なプロンプト
│ ├── implement-feature.prompt.md # 機能実装(一括完了型)
│ ├── fix-bug.prompt.md # バグ修正
│ ├── plan.prompt.md # 実装計画
│ ├── tdd.prompt.md # TDDワークフロー
│ ├── code-review.prompt.md # コードレビュー
│ ├── security-review.prompt.md # セキュリティレビュー
│ ├── refactor.prompt.md # リファクタリング
│ └── document.prompt.md # ドキュメント生成
│
└── docs/
├── progress/ # 📊 進捗・引き継ぎログ
│ └── HANDOFF.md # 引き継ぎ文書テンプレート
├── usage-guide.md # 📖 この説明書
└── usage-guide.html # 📖 HTML版説明書
| ファイル | 自動適用 | 説明 |
|---|---|---|
.github/copilot-instructions.md |
✅ 常に | リポジトリ全体に適用される基本ルール |
.github/instructions/*.instructions.md |
✅ パス一致時 | ファイル種別に応じた詳細ルール |
AGENTS.md |
✅ 常に | AIエージェントへの共通指示 |
.vscode/settings.json |
✅ 常に | エディタとCopilotの設定 |
prompts/*.prompt.md |
❌ 手動 | 明示的に呼び出すプロンプト |
.github/copilot-instructions.md と .github/instructions/ 配下のファイルは、Copilot Chatへの全リクエストに自動で付加されます。
あなたの質問
↓
+ .github/copilot-instructions.md(常に付加)
+ .github/instructions/typescript.instructions.md(.tsファイル操作時)
+ .github/instructions/testing.instructions.md(常に付加 — applyTo: "**")
↓
Copilot Chat へ送信
Copilot Chatの回答の上部にある「References」を展開し、copilot-instructions.md が表示されていれば有効です。
prompts/ 配下の .prompt.md ファイルは、チャットで明示的に呼び出して使います。
Copilot Chat のプロンプト入力欄で以下のように使用:
- チャットボックスのクリップアイコンからプロンプトファイルを添付
- または
/を入力してプロンプト一覧から選択(VS Code 2026以降)
1リクエストで機能を完全に実装するためのプロンプトです。
@workspace #file:prompts/implement-feature.prompt.md
ユーザー認証機能を実装してください。
- メールアドレスとパスワードによるログイン
- JWTトークンの発行
- パスワードはbcryptでハッシュ化
→ Copilot は「計画→テスト作成→実装→リファクタ→テスト実行→ドキュメント→進捗ログ」を1回で実行します。
@workspace #file:prompts/fix-bug.prompt.md
ログイン時にメールアドレスの大文字小文字が区別されてしまう問題を修正してください。
複雑な機能の場合、まず計画を立てます:
@workspace #file:prompts/plan.prompt.md
マルチテナント対応を計画してください。
@workspace #file:prompts/tdd.prompt.md
商品の割引計算ロジックをTDDで実装してください。
- 10%割引、20%割引、クーポン併用
@workspace #file:prompts/code-review.prompt.md
#file:src/auth/login.ts をレビューしてください。
@workspace #file:prompts/security-review.prompt.md
#file:src/api/users.ts のセキュリティをチェックしてください。
@workspace #file:prompts/refactor.prompt.md
#file:src/services/order.ts をリファクタリングしてください。
関数が長すぎます。
@workspace #file:prompts/document.prompt.md
#file:src/api/ のAPIドキュメントを生成してください。
| ファイル | 適用対象 | 内容 |
|---|---|---|
typescript.instructions.md |
**/*.ts,**/*.tsx,**/*.js,**/*.jsx |
型安全性、命名規則、非同期処理 |
python.instructions.md |
**/*.py,**/*.pyi |
PEP 8、型ヒント、pytest |
testing.instructions.md |
**(全ファイル) |
TDD、AAA パターン、カバレッジ |
security.instructions.md |
**(全ファイル) |
OWASP、入力バリデーション、暗号化 |
git-workflow.instructions.md |
**(全ファイル) |
コミットメッセージ、ブランチ命名 |
performance.instructions.md |
**(全ファイル) |
Core Web Vitals、N+1クエリ |
progress-tracking.instructions.md |
**(全ファイル) |
進捗ログ、引き継ぎ文書 |
---
applyTo: '**/*.ts,**/*.tsx' # TypeScriptファイルのみに適用
---**— 全ファイルに適用**/*.ts— 全ディレクトリの.tsファイルに適用src/**/*.py— srcディレクトリ配下のPythonファイルに適用
@workspace はプロジェクト全体のコンテキストを提供します:
@workspace この機能の実装方針を教えてください
特定ファイルの内容をコンテキストに追加:
#file:src/config/database.ts この設定の問題を教えてください
@terminal テストの実行方法を教えてください
@vscode TypeScriptのフォーマッタを設定したい
タスク完了後に docs/progress/ に以下の形式でファイルを作成:
ファイル名: YYYY-MM-DD_<タスク概要>.md
# 進捗ログ: ユーザー認証機能の実装
## 日付
2026-04-12
## 完了した作業
- [x] JWTベースの認証ミドルウェア実装
- [x] ログイン/ログアウトAPI
- [x] テスト作成(カバレッジ87%)
## 変更したファイル
- `src/auth/jwt.ts` — JWTトークン生成・検証
- `src/api/auth.ts` — 認証エンドポイント
- `tests/auth/` — テストスイート
## テスト結果
- 実行: 15件、パス: 15件、失敗: 0件
- カバレッジ: 87%
## 次にやるべきこと
- パスワードリセット機能
- 2要素認証
## 注意事項
- JWT秘密鍵は環境変数 `JWT_SECRET` で設定必要大規模タスクの途中で中断する場合は docs/progress/HANDOFF.md を更新:
@workspace #file:docs/progress/HANDOFF.md
現在の進捗状況で引き継ぎ文書を更新してください。
新しいチャットセッションの冒頭で:
@workspace #file:docs/progress/HANDOFF.md #file:AGENTS.md
前回の作業の続きをしたいです。引き継ぎ文書を読んで、
現在の状況を把握し、次のアクションを提案してください。
.github/instructions/に新ファイルを作成applyToでスコープを指定- ルールを Markdown で記述
---
applyTo: '**/*.go'
---
# Go コーディング規約
## 命名規則
- パッケージ名: 小文字、短い名前
- エクスポート関数: PascalCase
- ローカル変数: camelCase
## エラーハンドリング
- エラーは必ずチェック
- errors.Is / errors.As を使用
- ラップして文脈を追加: fmt.Errorf("xxx: %w", err)prompts/に.prompt.mdファイルを作成- Frontmatter で
modeとdescriptionを設定 - 手順を Markdown で記述
| mode | 説明 | 使い分け |
|---|---|---|
agent |
ファイルの変更・作成を行う | 実装、修正、リファクタリング |
ask |
質問・分析のみ(変更なし) | 計画、レビュー、分析 |
---
mode: ask
description: 'デプロイ前のチェックリストを実行する'
---
# デプロイチェックリスト
以下をすべて確認してください:
## ビルド
- [ ] ビルドがエラーなく完了する
- [ ] テストが全件パスする
- [ ] カバレッジが80%以上
## セキュリティ
- [ ] 環境変数にハードコードされた秘密情報がない
- [ ] 依存パッケージに既知の脆弱性がない
## パフォーマンス
- [ ] N+1クエリがない
- [ ] 不要な依存がバンドルに含まれていない既存のファイルを編集して、チームの規約に合わせます:
# 例: ネスト制限を変更
- ネストは4段階まで
+ ネストは3段階まで
# 例: カバレッジ目標を変更
- 最低テストカバレッジ: 80%
+ 最低テストカバレッジ: 90%
.vscode/mcp.json を編集してツールを追加:
{
"servers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github-token}"
}
}
}
}| ECC (Claude Code) | ECC-Copilot (GitHub Copilot Chat) | 説明 |
|---|---|---|
CLAUDE.md |
AGENTS.md + .github/copilot-instructions.md |
プロジェクト指示 |
~/.claude/rules/ |
.github/instructions/*.instructions.md |
コーディングルール |
~/.claude/agents/*.md |
AGENTS.md 内で定義 |
エージェント定義 |
~/.claude/skills/*/SKILL.md |
prompts/*.prompt.md |
ワークフロー定義 |
~/.claude/commands/*.md |
prompts/*.prompt.md |
スラッシュコマンド |
hooks/hooks.json |
.vscode/settings.json の instructions |
フック(指示ベース) |
/plan, /tdd, /code-review |
プロンプトファイルを添付して実行 | ワークフロー |
| コンテキストウィンドウ管理 | 新セッション開始 / #file で明示的参照 |
コンテキスト管理 |
| 進捗永続化(hooks) | docs/progress/ に手動/指示で記録 |
進捗管理 |
| 項目 | Claude Code | GitHub Copilot Chat |
|---|---|---|
| 課金モデル | トークン数ベース | リクエスト回数ベース |
| フック | 自動実行(PreToolUse/PostToolUse) | 指示ベース(instructions) |
| エージェント | 専用 .md ファイル | AGENTS.md + プロンプト |
| カスタムコマンド | /command 形式 |
プロンプトファイル添付 |
| サブエージェント | 自動委譲 | 手動でプロンプト切り替え |
-
プロンプトファイルを活用する
- 毎回同じ指示を書くのではなく、
.prompt.mdを添付 - 特に
implement-feature.prompt.mdは必ず使う
- 毎回同じ指示を書くのではなく、
-
コンテキストを明示する
@workspace #file:src/models/user.ts #file:src/api/auth.ts ユーザー登録APIを実装してください -
1リクエストに複数タスクを含めない
- 大きな機能は
plan.prompt.mdで分割してから - 各サブタスクを
implement-feature.prompt.mdで実装
- 大きな機能は
- タスク完了後は必ず進捗ログを作成
- 長時間の作業は途中で
HANDOFF.mdを更新 - Git コミットメッセージにも作業内容を記載
- API実装時は
security-review.prompt.mdを使用 .envに秘密情報を入れ、.gitignoreに追加- ユーザー入力は必ずバリデーション
- 実装後は
code-review.prompt.mdでレビュー - 定期的に
refactor.prompt.mdで整理 - テストカバレッジ 80% を維持
- VS Code設定で
useInstructionFilesがtrueであることを確認 .github/copilot-instructions.mdのパスが正しいことを確認- Copilot Chatの「References」欄にファイルが表示されているか確認
prompts/ディレクトリがワークスペースルートにあることを確認- ファイル名が
.prompt.mdで終わっていることを確認 - チャットで
#file:prompts/xxx.prompt.mdと完全パスで指定してみる
- タスクを分割して小さくする
- コンテキストに含めるファイルを減らす
- 新しいセッションで再試行
インストラクションは「指示」であり、Copilot Chatが常に従うとは限りません。 以下のように明示的に依頼してください:
上記の作業が完了しました。
docs/progress/2026-04-12_auth-feature.md に進捗ログを作成してください。
MIT — 自由に使用・改変・再配布してください。