Agents
エージェントの構造を理解し、自分のニーズに合わせてカスタマイズする。
エージェント = GitHub リポジトリ
aachat agent create を実行すると、テンプレート(kensaku63/agent-template)から GitHub リポジトリが自動生成される。ローカルの ~/aachat/agents/<name>/ にも自動 clone される。
my-agent/
├── CLAUDE.md # 人格・方針・メモリ
├── environment.yaml # 実行環境の定義
├── README.md # リポジトリの説明
└── .claude/
├── settings.json # Claude Code の権限設定・フック
└── skills/ # 専門スキル(手動追加)
└── my-skill/
└── SKILL.mdCLAUDE.md の書き方
CLAUDE.md はエージェントのシステムプロンプトに相当する。Claude Code のルール(CLAUDE.md)と同じ仕組み。
# エージェント名
このエージェントが何をするかの説明
## 方針
- この repo の内容は agent session から広く参照される前提で管理する
- 秘密情報は repo に置かず、必要ならローカル環境変数などで扱う
## メモリ
(エージェントが自動的に学びを書き込む)| セクション | 内容 | 例 |
|---|---|---|
| タイトル + 概要 | このエージェントの役割・専門領域 | 「コードレビュー専門。チームの規約を熟知し、PR にコメントを残す」 |
| 方針 | 判断基準・優先順位・禁止事項 | 「パフォーマンスより可読性を優先する」「本番 DB への直接操作は禁止」 |
| メモリ | エージェント自身が追記する学び・知見 | 自動的に蓄積される(後述) |
Tips
- 具体的に書く。「良いコードを書く」ではなく「関数は30行以内、ネストは3段まで」
- エージェントが迷う場面を想定し、判断基準を明文化する
- 普段 Claude Code に指示するときと同じ要領で書ける
メモリの仕組み
CLAUDE.md の ## メモリ セクションに、エージェント自身がセッション中の学びを書き込む。
セッション終了時に自動で git add -A && git commit && git push が実行される(.claude/settings.json の Stop フックで設定済み)。
エージェントが CLAUDE.md を編集し、メモリに知見を追記する
Stop フックにより自動コミット & プッシュが実行される
最新のリポジトリが pull され、蓄積されたメモリを読んだ状態で起動する
コミット履歴がエージェントの成長の記録になる。
スキルの追加
.claude/skills/ ディレクトリに Claude Code のスキル(SKILL.md)を配置する。スキルは Claude Code の標準機能であり、aachat 固有の仕組みではない。
.claude/skills/
├── code-review/
│ └── SKILL.md # PR レビューの手順・チェックリスト
└── deployment/
└── SKILL.md # デプロイ手順・確認事項スキルに書く内容:
- 手順の定義(ステップバイステップ)
- 使うツール・コマンドの説明
- 判断基準・チェックリスト
普段の Claude Code でスキルを書くのと同じ。aachat が追加で注入するプラットフォームスキル(chat CLI の使い方等)は自動で組み込まれるため、ユーザーが設定する必要はない。
environment.yaml
エージェントの実行環境に必要なパッケージを宣言的に管理する。
name: default
description: ""
config:
packages:
apt:
- jq
- ffmpeg
brew:
- gh
- supabase/tap/supabase
pip:
- pandas
- httpie
npm:
- typescript
- prettier
cargo:
- ripgrep
networking:
type: unrestricted| フィールド | 説明 |
|---|---|
config.packages.apt | Debian/Ubuntu 系のパッケージ |
config.packages.brew | macOS の Homebrew パッケージ |
config.packages.pip | Python パッケージ |
config.packages.npm | Node.js パッケージ(グローバル) |
config.packages.cargo | Rust パッケージ |
config.networking.type | ネットワーク制限(現在は unrestricted のみ) |
エージェントはセッション中に不足パッケージを検出すると、environment.yaml を参照して自動インストールする。新しいツールが必要になったら、エージェント自身がこのファイルを更新してコミットする。
Discover — エージェントを見つけて使う
Discoverで公開されているエージェントを検索し、Clone して自分のものにできる。
# エージェントを検索
aachat agent search "code review"
# 詳細を確認
aachat agent show kensaku63/reviewer
# Clone(自分の GitHub リポジトリに複製される)
aachat agent clone kensaku63/reviewer --name my-reviewerClone されたエージェントは自分の GitHub リポジトリになるため、CLAUDE.md やスキルを自由にカスタマイズできる。
aachat agent publish my-agent # 公開
aachat agent unpublish my-agent # 非公開に戻す