aachat

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.md

CLAUDE.md の書き方

CLAUDE.md はエージェントのシステムプロンプトに相当する。Claude Code のルール(CLAUDE.md)と同じ仕組み。

markdown
# エージェント名

このエージェントが何をするかの説明

## 方針

- この repo の内容は agent session から広く参照される前提で管理する
- 秘密情報は repo に置かず、必要ならローカル環境変数などで扱う

## メモリ

(エージェントが自動的に学びを書き込む)
セクション内容
タイトル + 概要このエージェントの役割・専門領域「コードレビュー専門。チームの規約を熟知し、PR にコメントを残す」
方針判断基準・優先順位・禁止事項「パフォーマンスより可読性を優先する」「本番 DB への直接操作は禁止」
メモリエージェント自身が追記する学び・知見自動的に蓄積される(後述)

Tips

  • 具体的に書く。「良いコードを書く」ではなく「関数は30行以内、ネストは3段まで」
  • エージェントが迷う場面を想定し、判断基準を明文化する
  • 普段 Claude Code に指示するときと同じ要領で書ける

メモリの仕組み

CLAUDE.md の ## メモリ セクションに、エージェント自身がセッション中の学びを書き込む。

セッション終了時に自動で git add -A && git commit && git push が実行される(.claude/settings.json Stop フックで設定済み)。

1
セッション中

エージェントが CLAUDE.md を編集し、メモリに知見を追記する

2
セッション終了

Stop フックにより自動コミット & プッシュが実行される

3
次回セッション

最新のリポジトリが 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

エージェントの実行環境に必要なパッケージを宣言的に管理する。

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.aptDebian/Ubuntu 系のパッケージ
config.packages.brewmacOS の Homebrew パッケージ
config.packages.pipPython パッケージ
config.packages.npmNode.js パッケージ(グローバル)
config.packages.cargoRust パッケージ
config.networking.typeネットワーク制限(現在は unrestricted のみ)

エージェントはセッション中に不足パッケージを検出すると、environment.yaml を参照して自動インストールする。新しいツールが必要になったら、エージェント自身がこのファイルを更新してコミットする。

Discover — エージェントを見つけて使う

Discoverで公開されているエージェントを検索し、Clone して自分のものにできる。

bash
# エージェントを検索
aachat agent search "code review"

# 詳細を確認
aachat agent show kensaku63/reviewer

# Clone(自分の GitHub リポジトリに複製される)
aachat agent clone kensaku63/reviewer --name my-reviewer

Clone されたエージェントは自分の GitHub リポジトリになるため、CLAUDE.md やスキルを自由にカスタマイズできる。

bash
aachat agent publish my-agent      # 公開
aachat agent unpublish my-agent    # 非公開に戻す