CLI Prompt Management Tool - Guides and Documentation
GitHub Issue や Project を自動的に処理する Iterate Agent を設定し、実行します。
Iterate Agent は Claude Agent SDK を使用した自律型開発エージェントです。 以下のサイクルを自動的に繰り返します:
gh CLI を通じて Issue/Project と連携重要: Iterate Agent を使用する前に、以下のセットアップが必要です:
| 要件 | 確認方法 |
|---|---|
GitHub CLI (gh) |
gh auth status |
| Git リポジトリ | git status |
| GitHub リモート | git remote -v |
| 対象 Issue/Project | gh issue list |
| Claude Code Plugin | .claude/settings.json を確認 |
gh auth status
git status
git remote -v
gh issue list
Iterate Agent を実行する前に、必ず初期化コマンドを実行してください:
deno run -A jsr:@aidevtool/climpt/agents/iterator --init
cd your-project
deno run -A jsr:@aidevtool/climpt/agents/iterator --init
your-project/
├── agents/iterator/
│ └── config.json # メイン設定
├── .agent/iterator/
│ └── prompts/dev/ # システムプロンプト(C3L形式)
└── tmp/
└── logs/
└── agents/ # 実行ログ(自動作成)
指定した Issue がクローズされるまで自動実行(-i で短縮可):
deno run -A jsr:@aidevtool/climpt/agents/iterator --issue 123
Project 内のすべてのアイテムが完了するまで実行(-p で短縮可):
deno run -A jsr:@aidevtool/climpt/agents/iterator --project 5
最大10回のイテレーションで停止(-m で短縮可):
deno run -A jsr:@aidevtool/climpt/agents/iterator --iterate-max 10
deno run -A jsr:@aidevtool/climpt/agents/iterator --issue 123 --resume
| オプション | 短縮形 | デフォルト | 説明 |
|---|---|---|---|
--init |
- | - | 設定ファイルを初期化 |
--issue |
-i |
- | 対象の GitHub Issue 番号 |
--project |
-p |
- | 対象の GitHub Project 番号 |
--iterate-max |
-m |
Infinity | 最大イテレーション数 |
--name |
-n |
climpt |
エージェント名 |
--project-owner |
-o |
リポジトリ所有者 | プロジェクト所有者(–project 使用時のみ) |
--resume |
-r |
false | 前回セッションを再開 |
--help |
-h |
- | ヘルプを表示 |
| モード | 完了条件 | チェック方法 |
|---|---|---|
--issue |
Issue がクローズ(label-only 設定時はフェーズ完了) |
gh issue view --json state |
--project |
全アイテムが完了 | gh project view --format json |
--iterate-max |
指定回数に到達 | 内部カウンター |
複数の条件を組み合わせることも可能:
# Issue #123 がクローズされるか、10回のイテレーションで停止
deno run -A jsr:@aidevtool/climpt/agents/iterator --issue 123 --iterate-max 10
# 別のユーザー/組織が所有するプロジェクトで作業
deno run -A jsr:@aidevtool/climpt/agents/iterator --project 5 --project-owner my-org
{
"version": "1.0.0",
"agents": {
"climpt": {
"allowedTools": [
"Skill",
"Read",
"Write",
"Edit",
"Bash",
"Glob",
"Grep"
],
"permissionMode": "acceptEdits"
}
},
"github": {
"apiVersion": "2022-11-28"
},
"logging": {
"directory": "tmp/logs/agents",
"maxFiles": 100,
"format": "jsonl"
}
}
| 項目 | 説明 |
|---|---|
allowedTools |
使用可能なツールのリスト |
permissionMode |
権限モード |
logging.directory |
ログ出力先 |
logging.maxFiles |
ログファイル最大数(ローテーション) |
allowedTools
はエージェントが使用できるツールを制限する主要なメカニズムです。
ここにリストされたツールのみが実行時に Claude に公開されます。
重要な注意点:
allowedTools
による制限はツール使用時に適用される(初期化時ではない)filterAllowedTools()
による追加のステップ種別フィルタを 適用する — boundary ツール(例:
githubIssueClose)は work/verification ステップで自動的に除外されるpermissionMode だけに頼らず allowedTools
を明示的に定義することSDK の権限モードについて詳細は Configure permissions を参照。
| モード | 説明 | 推奨用途 |
|---|---|---|
default |
すべての操作に確認が必要 | 初回テスト |
plan |
プランニングモード(ツール実行なし) | 計画確認 |
acceptEdits |
ファイル編集を自動承認 | 通常運用(推奨) |
bypassPermissions |
すべての操作を自動承認 | 完全自動化 |
システムプロンプトは .agent/iterator/prompts/dev/
にC3L形式で配置されています:
| ファイル | 用途 |
|---|---|
start/default/f_default.md |
イテレーション回数ベースモード |
start/issue/f_default.md |
単一GitHub Issueモード |
start/project/f_default.md |
GitHub Project準備モード |
review/project/f_default.md |
プロジェクト完了レビューモード |
これらのプロンプトはUV変数を使用して動的にコンテンツを挿入します(例:{uv-agent_name},
{uv-completion_criteria})。
デフォルトの system.md テンプレートには {uv-completion_criteria}
が含まれており、実行時に VerdictHandler
の値で自動的に展開されます。独自の完了条件を定義したい場合は、{uv-completion_criteria}
を使わずに system.md に直接記述してください。
claude_code プリセットAgent SDK はデフォルトで空のシステムプロンプトを使用します。Claude Code
の完全なシステムプロンプトを使用するには、claude_code プリセットを指定します:
{
"agents": {
"climpt": {
"systemPrompt": {
"type": "preset",
"preset": "claude_code",
"append": "プリセットプロンプトの後に追加するカスタム指示。"
}
}
}
}
重要なポイント:
settingSources: ["project"]
を別途設定する必要があるappend
を使用すると、組み込み機能をすべて保持したままカスタム指示を追加できる| シナリオ | 設定 |
|---|---|
| Claude Code 風のエージェント | claude_code プリセットを使用 |
| ゼロからカスタム動作 | カスタム systemPrompt 文字列 |
| Claude Code の動作を拡張 | プリセット + append |
| 最小限/組み込みエージェント | プリセット省略(空プロンプト) |
詳細は Modifying system prompts を参照。
--agent は registry_config.json で定義されたレジストリ名を指定します:
// .agent/climpt/config/registry_config.json
{
"registries": {
"climpt": ".agent/climpt/registry.json",
"iterator": ".agent/iterator/registry.json"
}
}
| –agent 値 | 使用されるレジストリ |
|---|---|
climpt |
.agent/climpt/registry.json |
iterator |
.agent/iterator/registry.json |
実行完了時に、詳細なレポートが表示されます。
| 指標 | 値 | ソース |
|---|---|---|
| 総実行時間 | 328秒 (~5.5分) | SDK duration_ms |
| API時間 | 241秒 (~4分) | SDK 内部 |
| ターン数 | 28 | SDK num_turns |
| イテレーション | 1回 | Agent runner |
| 総コスト | $0.82 USD | SDK total_cost_usd |
ログは JSONL 形式で保存されます:
tmp/logs/agents/climpt/session-2025-12-31T10-00-00-000Z.jsonl
ログの確認:
# 最新のログを表示
cat tmp/logs/agents/climpt/session-*.jsonl | jq .
# エラーのみ抽出
cat tmp/logs/agents/climpt/session-*.jsonl | jq 'select(.level == "error")'
| 問題 | 対処 |
|---|---|
gh command not found |
brew install gh → gh auth login。詳細は 01-prerequisites.md |
Configuration file not found |
プロジェクトルートから --init を再実行 |
Empty output from breakdown CLI |
ls -la .agent/iterator/prompts/dev/ で確認、なければ --init を再実行 |
Permission denied |
config.json の permissionMode を確認(推奨: acceptEdits) |
gh auth status fails |
gh auth logout → gh auth login で再認証 |
| Project が見つからない | gh project list --owner @me で番号と所有者を確認 |
| Issue が見つからない | gh issue list で番号を確認 |
頻繁に使用する場合は、deno.json にタスクを追加:
{
"tasks": {
"iterate-agent": "deno run -A jsr:@aidevtool/climpt/agents/iterator"
}
}
実行:
deno task iterate-agent --issue 123
deno task iterate-agent --project 5 --iterate-max 10
問題が発生した場合は、Issue を作成してください: https://github.com/tettuan/climpt/issues