noodle について
Noodleは、エージェントに定期タスクを自律実行させたいチーム向けのコマンドラインツール兼スキルランナーです。プロジェクト状態を集約し、スケジューラーが指示を作成して、エージェントを独立したワークツリーに割り当て、完了した作業をマージします。
主な機能
- 01文章によるスキルのスケジュール設定
- 02ループによる計画とエージェントの割り当て
- 03独立したワークツリーでのタスク実行
- 04完了した作業のブランチへのマージ
- 05状態、スキル、スキーマ、ワークツリー用CLI
活用シーン
- 01スケジュール設定したスキルで定期タスクを実行
- 02別々のタスクを独立したワークツリーに割り当て
- 03ループ状態とキュー数の確認
- 04ワークツリーの管理と完了作業のマージ
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ poteto/ noodle --skill noodleインストール後、Claude Code で/noodleを入力して読み込まれたか確認します。
同梱ファイルreferences/configuration.mdreferences/skill-authoring.md
詳細
Noodle
自動で実行されるスキル。schedule: フィールドに実行タイミングを記述して、スキルを作成できます。Noodle のスケジューラーエージェントがその説明を読み、指示を書き込みます。ループがエージェントを分離されたワークツリーで起動し、作業を実行します。
ループの仕組み
- 概要の作成 — Noodle がプロジェクトの状態を
.noodle/mise.jsonに集約します(バックログ、アクティブなエージェント、履歴、処理能力、登録済みスキル) - スケジュール — スケジューラーエージェントが mise を読み取り、
.noodle/orders-next.jsonに指示を書き込みます - ディスパッチ — Noodle が指示を有効化し、エージェントセッションを起動します
- 実行 — 各エージェントが割り当てられたスキルを使って、それぞれのワークツリーで実行されます
- マージ — 完了した作業が main にマージされます
スキル
スキルは SKILL.md を含むディレクトリです。本文にはエージェントへの指示を記述します。フロントマターにはメタデータを記述します。
一般スキル(schedule: なし)は、エージェントによって直接呼び出されます。例:commit、debugging。
スケジュール済みスキル(schedule: あり)は自律的に実行されます。スケジューラーは schedule: の値を文章として読み、条件が満たされたかどうかを判断します。
---
name: quality
description: Post-cook quality gate.
schedule: "Follow-up stage after execute. Cross-provider review preferred."
---
スキルはデフォルトで .agents/skills/ に配置されます。skills.paths のパスは記載順に検索され、最初に一致したものが使われます。
スキル、指示、スケジュールフィールドの作成方法については、references/skill-authoring.md をご覧ください。
設定
Noodle はプロジェクトのルートにある .noodle.toml を読み込みます。初回の noodle start 時にひな形が作成されます。ほとんどのプロジェクトでは、必要な設定は次のとおりです。
mode = "supervised" # auto | supervised | manual
[routing.defaults]
provider = "claude"
model = "claude-opus-4-6"
[skills]
paths = [".agents/skills"]
設定の完全なリファレンス:references/configuration.md
CLI
すべてのコマンドで --project-dir を指定できます(デフォルト:カレントディレクトリ、環境変数:NOODLE_PROJECT_DIR)。
コア
| コマンド | 説明 |
|---|---|
noodle start | noodle ループを開始します |
noodle start --once | スケジューリングサイクルを1回実行して終了します |
noodle status | 実行時の状態(アクティブなエージェント、キューの深さ、ループの状態)を表示します |
noodle reset | すべての実行時状態をクリアします(ループの実行中は拒否されます) |
スキルとスキーマ
| コマンド | 説明 |
|---|---|
noodle skills | 解決済みのスキルを一覧表示します |
noodle skills list | 解決済みのスキルをすべて一覧表示します |
noodle schema <target> | 対象のスキーマドキュメントを出力します |
noodle schema list | 利用可能なスキーマ対象(mise、orders、status)を一覧表示します |
ワークツリー
| コマンド | 説明 |
|---|---|
noodle worktree create <name> | リンクされた新しいワークツリーを作成します |
noodle worktree create <name> --from <ref> | 指定したブランチまたはコミットから作成します |
noodle worktree exec <name> <command...> | ワークツリー内でコマンドを実行します(CWD 安全) |
noodle worktree merge <name> | ワークツリーのブランチを統合ブランチにマージします |
noodle worktree merge <name> --into <branch> | 指定した対象ブランチにマージします |
noodle worktree list | マージ状態とともにすべてのワークツリーを一覧表示します |
noodle worktree prune | マージ済み、およびパッチが同等のワークツリーを削除します |
noodle worktree cleanup <name> | マージせずにワークツリーを削除します |
noodle worktree cleanup <name> --force | 未マージのコミットがあっても削除します |
noodle worktree hook | ワークツリーのセッションフックを実行します(内部で使用) |
イベント
| コマンド | 説明 |
|---|---|
noodle event emit <type> | 外部イベントをループに送信します |
noodle event emit <type> --payload <json> | JSON ペイロード付きで送信します |
noodle event emit <type> --session <id> | 特定のセッションのイベントログに送信します |
CLI の完全なリファレンス:https://poteto.github.io/noodle/reference/cli
トラブルシューティング
- 「致命的な設定診断エラーにより起動できません」 —
.noodle.tomlをnoodle schemaと照らし合わせて確認してください。 - アダプタースクリプトが見つからない — スクリプトを作成するか、設定内のパスを更新してください。
- 古いワークツリー —
noodle worktree listを実行し、続けてnoodle worktree pruneを実行してください。
参考資料
- references/skill-authoring.md — スキルの作成:パイプライン、orders スキーマ、スケジュールフィールド、ステージの構成、完全な例
- references/configuration.md — .noodle.toml の設定に関する完全なリファレンス
- https://poteto.github.io/noodle/concepts/adapters — アダプターのセットアップ、スクリプトの契約、プロバイダーの例
- https://poteto.github.io/noodle/concepts/scheduling — ループが作業をスケジュールし、ディスパッチする方法
- https://poteto.github.io/noodle/concepts/skills — スキルの検出、構成、スケジュール型と汎用型
- https://poteto.github.io/noodle/concepts/runtimes — プロセス、sprites、ランタイムのルーティング