From workflow
同一の業務領域が繰り返し現れたとき、その領域専用の Claude Code subagent を 専用フォルダ(~/my-agent)の `.claude/agents/` に直接生成し、そのフォルダで標準 Agent ツールから呼べる状態にする。同一セッション内で同じ業務依頼が 2 回以上出たとき、 または直近 5 営業日の `~/.belta/notes/` に同じ業務領域への発話が 2 回以上出たときに workflow スキルから委譲され、専用エージェント化を提案する。
How this skill is triggered — by the user, by Claude, or both
Slash command
/workflow:agent-learningThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
要件 5 の拡張。テキスト指示([rule-learning](../rule-learning/SKILL.md))に収まらない「**業務領域そのもの**」が繰り返し現れたら、その領域専用の subagent を生成し、以降は標準 `Agent` ツールから呼び出せるようにする。
要件 5 の拡張。テキスト指示(rule-learning)に収まらない「業務領域そのもの」が繰り返し現れたら、その領域専用の subagent を生成し、以降は標準 Agent ツールから呼び出せるようにする。
本プラグインは専用フォルダ(~/my-agent)限定(ローカルスコープ)で動くため、生成した subagent も そのフォルダの .claude/agents/ に直接置く だけで、そのフォルダ内のセッションから自動的に Agent ツールへ載る。~/.claude/(グローバル)への symlink/コピー公開は 行わない(ローカル限定方針と整合し、symlink 機構の保守も不要になる)。
<agent_home>/.claude/agents/<slug>.md(<agent_home> は専用フォルダの絶対パス。後述の方法で解決)~/.belta/agents/AGENTS.md(発火・採用の追跡用。実体とは分離してホーム側に残す)
<agent_home>の解決:node "${CLAUDE_PLUGIN_ROOT}/scripts/belta-init.js" get agent_homeで専用フォルダの絶対パスを得る。空(未設定)の場合は、いま開いている専用フォルダ=プロジェクトルートに相対の.claude/agents/を使ってよい(このスキルは専用フォルダ内のセッションでのみ走るため、カレントが専用フォルダになっている)。
ルール(テキスト)化で足りるものは rule-learning に、既存スキルで賄える非効率作業は skill-suggestion に回す。本スキルは 領域単位で独立した振る舞い・権限を持たせるべき 繰り返しを扱う。
検知経路は 2 つ。どちらか一方でも同じ業務領域/依頼の 2 回目を捉えたら候補化する。反復は別セッションをまたぐものに限らず、同一セッション内で同じ依頼を 2 回以上出した場合も含める(同じ命令を繰り返す=同じ作業を反復させている、とみなす)。
判定材料の前提: 反復の検知は
~/.belta/notes/の日次ログが土台。ここはStopフック(hooks/notes-record.js)が「その日の利用者依頼」を 1 セッション 1 行で確定的に記録しているため、LLM の自動記録が漏れても最低限の履歴が残る。走査前にまず当日・直近の notes を Read すること。
運営モードの起動時、または会話が一段落したタイミングで:
~/.belta/notes/ のうち 直近 5 営業日(土日を除外した暦日。祝日は考慮しない簡易判定でよい)のファイルを Read する。「2 回」は 異なる機会での出現 を数える。別セッションだけでなく、同一セッション内で同じ依頼を独立に 2 回以上出した記録(notes の同一セッション行に同じ趣旨が複数回、または同日の別セッション行に出現)も 2 機会として数える。ただし 1 つのタスクを達成する過程の言い直し・追加指示・絞り込み(同じタスクの継続)は 1 機会に含める(分割して数えない)。
利用者が 同じ趣旨の業務依頼(タスク要求そのもの)を 2 回以上 繰り返したら候補化する。別々のセッションをまたぐ反復だけでなく、同一セッション内で同じ依頼を 2 回以上出した場合も対象とする。rule-learning が拾うのは「訂正」の反復だが、本経路が拾うのは「依頼」の反復である点が違う。
slug を kebab-case で決める(例: notion-db-design, sales-deal-review)。.claude/settings.json の allow の部分集合(参照)に収める。ask / deny のものは渡さない。最小権限で絞る。「最近『○○』の作業が続いています。
<slug>という専用エージェントにしておくと、次回からAgentツールで一発で呼べます。作成しますか?」
model を業務カテゴリで出し分けて <agent_home>/.claude/agents/<slug>.md を Write ツールで生成する(<agent_home> は上記の方法で解決。専用フォルダ内なら相対 .claude/agents/<slug>.md でもよい)。
tools は Step 1 で絞った allow サブセットのみ。source_notes に検知元の notes/YYYY-MM-DD.md(2 件以上)を記録する。.claude/agents/ に置けば、そのフォルダのセッションで自動的に Agent ツールへ載る。~/.belta/agents/AGENTS.md に fired / adopted を記録する(後述)。<slug> を作成しました。次回からこの専用フォルダで『○○して』と言えばこのエージェントに委譲します」と返す。AGENTS.md に rejected を記録する。同一領域を 3 回連続で却下されたら 14 営業日の冷却(提案停止)に入れる。冷却期間と回数は AGENTS.md の当該行に残す。
運営モード起動時、AGENTS.md に adopted 記録がある各エージェントについて、実体ファイルが残っているかを確認する:
<agent_home>/.claude/agents/<slug>.md が存在するかを Read(または node "${CLAUDE_PLUGIN_ROOT}/scripts/belta-init.js" get agent_home で解決したパス配下の一覧)で確認する。AGENTS.md の該当行に deleted_at:<YYYY-MM-DD> を記録する(採用 → 削除の継続率メトリクス取得)。一度記録した deleted は再通知しない。name/description 欠落で Agent ツールに載らない)場合は利用者に知らせ、再生成 or 行削除を確認する。~/.belta/agents/AGENTS.md は起動時に毎回 Read されるインデックス。発火・採用・削除・却下を 1 行で追跡する。
初めてエージェントを扱うとき、次の内容で新規作成してから追記する:
# AGENTS — 自動生成エージェント索引
このファイルは `agent-learning` が自動生成・追記する。起動時に毎回読み込まれ、
発火 / 採用 / 削除 / 却下を追跡する。各エージェント本文(`<slug>.md`)は委譲時のみ Read する。
<!-- 追記形式: - [<slug>](<slug>.md) — <description> [fired:YYYY-MM-DD / adopted:YYYY-MM-DD / deleted:- ] -->
- [notion-db-design](notion-db-design.md) — Notion DB のスキーマ設計を任せる [fired:2026-05-28 / adopted:2026-05-28 / deleted:-]
[fired:YYYY-MM-DD / rejected:YYYY-MM-DD (n) / cooldown_until:YYYY-MM-DD] の形で残す。tools は親 .claude/settings.json の allow の 部分集合のみ。ask / deny 相当の書き込み・破壊系を直接渡さない(多段階権限階層は Phase -1 では実装しない)。hooks/pre-tool-use.js)は subagent 経由でも発火することを前提にする。モデルや権限の選択は防御を肩代わりしない(security-policies.md §3)。$HOME / Windows: %USERPROFILE%)から解決する。実体は専用フォルダの .claude/agents/ に Write ツールで直接配置するだけで、ln -s 等の OS 依存コマンドは使わない(Mac / Windows 両対応)。~/.belta/agents/AGENTS.md はホーム側にあり .gitignore 対象。生成した subagent 実体は専用フォルダ ~/my-agent/.claude/agents/ 配下に置かれる(/workflow-setup が専用フォルダに .gitignore を用意し、誤コミットを防ぐ)。get agent_home)npx claudepluginhub belta-group/belta-workflow-agent --plugin workflowSets up isolated workspaces using native worktree tools or git worktree fallback. Use before starting feature work to protect the current branch.