Skip to content

Instantly share code, notes, and snippets.

@umeyuki
Created February 16, 2026 01:53
Show Gist options
  • Select an option

  • Save umeyuki/c572e06a1185d1c34c671dd86e8b7700 to your computer and use it in GitHub Desktop.

Select an option

Save umeyuki/c572e06a1185d1c34c671dd86e8b7700 to your computer and use it in GitHub Desktop.
AGENTS.md auto-growing setup: reusable prompts for Claude Code context optimization

AGENTS.md 自動成長セットアップ

このリポジトリに対して以下を実行してください。

目的

  • 常時ロードされるコンテキストを最小化し、ドメイン知識は条件付きロードに分離する
  • エージェントが作業中に発見した知見を自動蓄積する仕組みを入れる

手順

Step 1: 現状把握

  1. CLAUDE.mdAGENTS.md の内容を読む
  2. .claude/rules/ があれば全ファイルを読む
  3. プロジェクトの技術スタック・ディレクトリ構成を把握する(package.json, Gemfile 等)

Step 2: コンテンツ仕分け

各セクションを以下の基準で分類する:

分類 基準 行き先
常時必要 プロジェクト概要、用語、コマンド、スタイル規約 AGENTS.md(50行以下)
編集時のみ レイアウト仕様、API設計、ドメインルール等 .claude/rules/{domain}.md
コードから推測可能 ディレクトリ構造、issue一覧、色定義等 削除
陳腐化しやすい バージョン固有情報、進捗状況 削除(GitHub issues に委譲)

Step 3: AGENTS.md 作成

以下のテンプレートに沿って書き換える:

# Agent Guidelines
<!-- Do not restructure or delete sections. Update values in-place. -->
<!-- Last reviewed: {today} -->

## Core Principles
- Keep this file under 50 lines. Every line competes for context budget.
- Do NOT maintain backward compatibility unless explicitly requested.

## Overview
{1行でプロジェクト概要: 技術スタック + 目的}

## Terminology
{誤解されやすいドメイン用語があれば2-3行。なければセクション削除}

## Commands
{主要コマンド: install / dev / test / lint / format を1-3行で}
{コミット規約とブランチ戦略を1行で}

## Style
{コーディング規約の要点を2-3行}

## Knowledge Self-Amendment
When you discover a non-obvious pattern or gotcha during work:
1. Route: tool/env workaround → MEMORY.md | domain pattern → .claude/rules/{domain}.md
2. Check: not already documented, not inferrable from code, concise (1-2 lines)
3. Append to target file's appropriate section (Gotchas or Maintenance Notes)
4. If a MEMORY.md entry recurs 2+ sessions → propose promotion to .claude/rules/

## Discovered Patterns
<!-- Agent-amendable. Max 10 entries. When full: promote to rules, clear. -->

## Maintenance Notes
<!-- PROTECTED: Do not delete this section -->
{移設先・削除理由のメモを箇条書き}

Step 4: .claude/rules/ にドメイン知識を移設

  • 各ファイルの先頭に YAML frontmatter で paths: を設定する
  • <!-- Last reviewed: {today} --> ヘッダーを付ける
---
paths:
  - "app/models/**"
  - "app/services/**"
---

paths の設計指針:

  • 実際に編集するファイルパスの glob パターンを指定
  • .claude/rules/ 自身にマッチしないよう注意
  • 広すぎる **/* は避け、関連ディレクトリに絞る

Step 5: CLAUDE.md → AGENTS.md シンボリックリンク化

git rm -f CLAUDE.md
ln -s AGENTS.md CLAUDE.md
git add CLAUDE.md AGENTS.md .claude/rules/

Step 6: コミット

変更をコミットする(pushはしない)。

品質基準

  • AGENTS.md が50行以下
  • 旧 CLAUDE.md の全セクションが「移設 or 意図的削除」で説明可能
  • .claude/rules/*.md に全て YAML frontmatter paths: あり
  • ls -la CLAUDE.md でシンボリックリンク確認

AGENTS.md セットアップ検証

以下を順に確認して結果を報告してください:

1. ファイル構造

  • ls -la CLAUDE.md → シンボリックリンクか?
  • wc -l AGENTS.md → 50行以下か?
  • cat CLAUDE.md で AGENTS.md の内容が表示されるか?

2. セクション確認

  • ## Knowledge Self-Amendment が存在するか?
  • ## Discovered Patterns が存在するか?
  • ## Maintenance Notes が存在するか?

3. 条件付きロード確認

  • .claude/rules/ 配下の全ファイルの先頭5行を表示
  • 各ファイルに YAML frontmatter paths: があるか?
  • paths のパターンが実在するディレクトリにマッチするか?

4. 知見ルーティングテスト

以下の架空の知見をどこに記録すべきか回答してください:

  • 「CI で特定のテストが flaky になる場合の回避策」
  • 「ドメイン固有のバリデーションルール」
  • 「新しいlintルールが追加された」

5. 書き込みテスト

Discovered Patterns に以下を追記 → 確認 → 削除: - [TEST] Self-amendment verification (delete after check)

6. 移設カバレッジ

旧 CLAUDE.md(git show HEAD~1:CLAUDE.md で確認)の全セクションについて、 移設先 or 意図的削除の理由を表形式で報告してください。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment