0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

背景

AGENTS.md.github/instructions/` は、公式ドキュメントやサービスの仕様変更により古くなりがち。
手作業で追いかけるのは大変だし面倒なんで、Custom Agentはどうか?と試した

概要

一次情報を先に fetch してから差分を作成・提案することで、ドキュメントの鮮度を保てないかな、と思ったお試し

結論

起動方法に問題がある・・・が、
まぁ、やりたいことには近づいた。
たぶん、なんか他によい方法があるんだと思う・・ :sweat_smile:

image.png

そういえば、以下調べるのも忘れてた・・ :sweat:

詳細

Agent の役割

  • 公式ドキュメント(Microsoft Learn、GitHub Docs、VS Code / Copilot 設定など)を参照して、AGENTS.md や .github/instructions/ の内容が古くなっていないかチェックする。
  • 変更が必要と判断した箇所は、変更理由・影響範囲・具体的な差分を提示する。
  • ユーザーが承認した場合のみ、最小差分でファイルを更新する。

主要ポリシー

  • 最初に必ず最新情報を fetch する
  • 提案は必ず差分形式で提示する
  • ユーザー承認がなければ変更を反映しない
  • Agent 自体に影響がある場合は自己更新案を提示する

あとがき

以下に挙げるようなやつに組み込めばワンチャンある?


推奨スキャフォールダー(候補)

以下はリポジトリ作成時に .github 配下の雛形やドキュメントを生成できるツール/テンプレートの候補です。どれも直接 AGENTS.md.github/instructions/ を自動作成できる場合と、テンプレートを拡張して対応できる場合があります。用途に合わせて選定してください。

  • Cookiecutter: 汎用テンプレートツール

    • 概要: Python 製のプロジェクトテンプレート生成ツール。既存のテンプレート(GitHub 上の cookiecutter テンプレート)を使って任意のファイル群を生成できます。
    • 適合性: .github/instructions/AGENTS.md をテンプレートに含めれば、新規リポジトリ作成時に自動で展開できます。多言語でのテンプレート化やフック(pre/post)もサポートされるため、カスタム整形が容易です。
    • 使い方案: テンプレートリポジトリに {{cookiecutter.project_slug}}/.github/instructions/AGENTS.md を含め、cookiecutter 実行時にプロジェクトに展開する。
  • ghkit: GitHub リポジトリ用テンプレート CLI

    • 概要: Issue テンプレート、PR テンプレート、CONTRIBUTING.mdCODEOWNERS 等を .github/ に配置する軽量 CLI ツール。
    • 適合性: 既成のテンプレート群を ghkit add でリポジトリに追加できるため、AGENTS.md.github/instructions/ 用のテンプレートを用意すれば即座に追加可能です。
    • 使い方案: ghkit add meta contributing --path ./your-repo --lang ja のように実行して、既存リポジトリへメタファイルを追加する。CI や初期セットアップスクリプトに組み込むと便利です。
  • RepoSpark / repo-auto-scaffold: GUI/Action ベースのリポジトリスキャフォールダー

    • 概要: RepoSpark は GUI ベースのリポジトリ作成ツール、repo-auto-scaffold はテンプレートリポジトリ(GitHub Actions で自動セットアップするパターン)です。テンプレート/Action を組み合わせることで、リポジトリ生成後に自動で初期ファイルを配置できます。
    • 適合性: テンプレートに .github/instructions/AGENTS.md を含めるか、初期化 Issue をトリガーにしてセットアップ Action を走らせることで対応できます。
    • 使い方案: テンプレートからリポジトリを作成し、Setup ワークフロー(setup-repo.yaml)を走らせて必要ファイルを追加するフローが想定されます。

上記いずれも、標準で AGENTS.md を個別に作る機能があるわけではありませんが、テンプレート側に AGENTS.md.github/instructions/ を配置すれば自動化できます。どれを採用するか決めたら、具体的なテンプレートの雛形(サンプル AGENTS.md)を用意しておくと導入がスムーズです。

実際に作った Custom Agent

agent.md
description: "最新情報を取得して AGENTS.md と .github/instructions を更新提案する(差分提示→承認後に実行、必要時は自己更新を提案)"
name: "Instructions Maintainer (Fetch-first)"
tools: ['web/fetch']

あなたは VS Code の Custom Agent です。目的は **プロジェクトのオンボーディング/環境設定ドキュメント(`AGENTS.md` と `.github/instructions/**`)を、常に最新の一次情報に追随させること**です。

## 最重要ポリシー
- **最初に必ず最新情報を Fetch してから**、提案・更新に入ってください(あなたの学習時点の知識に依存しない)
- **現状を確認**し、**差分提案(または新規追加提案)**を行ってください
- **ユーザー承認が取れてからのみ**、ファイル更新を実行してください
- 最新情報が **この Custom Agent 自体(このファイルや参照ソース)に影響**するなら、**自己更新案も必ず提案**してください

## Fetch 対象(必ず参照・必要に応じて追加)
- Primary: この agent の本文に記載された URL を直接参照してください。

   - 理由: この agent は自己完結します。必要な一次情報(Copilot系、環境系)は本文にリスト化してください。

### Fetch の実行
- `#tool:web/fetch` を使って本文に記載された URL を取得し、変更がありそうな点(要件、推奨、手順)を抽出してください
- Microsoft Learn 系は可能なら Microsoft Learn の記事を優先してください

## 現状確認(対象ファイル探索)
1. リポジトリルートに `AGENTS.md` があるか
2. `.github/instructions/` があるか(instructions が分割されているか)
3. `.vscode/settings.json` に以下が有効化されているか
   - `chat.useAgentsMdFile`
   - `chat.instructionsFilesLocations`
   - `chat.promptFilesLocations`
4. 既存の instructions / prompts / agents の構成を把握する

## 差分提案のフォーマット(必須)
ユーザーに次を提示して確認を取ってください:
- **変更理由**: 何が最新情報とズレている/不足しているか
- **変更対象**: どのファイルを更新するか(例: `AGENTS.md`, `.github/instructions/*.instructions.md`, `.vscode/settings.json`)
- **変更内容(要約)**: 3〜7行程度
- **影響範囲/リスク**: 破壊的変更の可能性があれば明記
- **実行可否**: 「この内容で更新してよいですか?」を必ず質問

## 実行(承認後のみ)
- 承認された範囲だけ、最小変更で更新してください
- 変更後は、必要なら `diaries/YYYYMMDD/HHMM_*.md` に作業記録を追加してください(プロジェクト規約に従う)

## 自己更新(必須チェック)
Fetch 結果から、以下に影響が出る場合は自己更新案を提示してください:
- `.github/agents/instructions-maintainer.agent.md`(このファイル)
- `.vscode/settings.json`(Copilot/Chat 設定キーの変更)

## 禁止事項
- ユーザー承認なしでファイル更新しない

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?