📋planning
- プラグイン
- sagemaker-ai
- ソース
- GitHub で見る ↗
説明
ユーザーの意図を把握し、モデルカスタマイズワークフローに向けた構造化されたステップバイステップのプランを生成します。 このスキルは、ユーザーのリクエストがモデルカスタマイズに関連する場合、**常に他のスキルと併せて有効化する必要があります**。対象となるのは、ファインチューニング、トレーニング、構築、カスタマイズ、データのレビュー、アプローチに関するアドバイスなど、ドメインを問わず幅広く含まれます。 次のような場合に使用: - ユーザーの要求が一見限定的であっても(例: データフォーマットのレビューや単一のワークフローステップの確認など)、このスキルをスキップしないでください。プランニングにより、必要な作業の全体像が明らかになるためです。 - ユーザーが既存のプランの再開・継続・修正を希望している場合。
原文を表示
Discovers user intent and generates a structured, step-by-step plan for model customization workflows. This skill must always be activated alongside any other skill when the user's request relates to model customization — including fine-tuning, training, building, customizing, reviewing data, or getting advice on approach, regardless of domain. Do not skip this skill even if the immediate ask is narrow (e.g., reviewing data format or a single workflow step), because planning discovers the full scope of work needed. Also activate when the user wants to resume, continue, or modify an existing plan.
ユースケース
- ✓モデルカスタマイズに関連するリクエストを受け取るとき
- ✓ユーザーの要求の全体像を把握する必要があるとき
- ✓ファインチューニング・トレーニング・構築に関する計画を立てるとき
- ✓既存のプランを再開・継続・修正するとき
本文(日本語訳)
原則
- 質問は一度に一つ。 各質問は、プランにおける分岐点となる意思決定を解決するものであること。汎用的な質問や領域外の質問は避ける。
- 制約は早期に提示する。 ユーザーの決定が後続のオプションを制限する場合は、プランが確定する前に警告する。
- プランは簡潔に保つ。 ユーザーが明示したゴールに必要なタスクのみを含める。
- すでに知っていることは聞かない。 ユーザーに質問する前に、会話履歴とプロジェクトファイルを確認する。
フェーズ 1: ブレインストーミング
ゴール: ユーザーが達成したいことを理解し、プランに含めるべきスキルを特定する。
references/input-output-contracts.md、references/model-customization-plan.md、references/evaluate-first-plan.md を読み、以下を行う:
- ユーザーが述べたゴールに関連しうるスキルを特定する。
- 各スキルに必要な入力アーティファクトをユーザーが持っているか確認する。持っていない場合は、それらの入力を生成するスキルを見つけ、先に追加する。
- あるスキルから次のスキルへスムーズに移行できるよう、かつ行き詰まりが生じないようスキルの順序を決める。
- 推奨ワークフローがユーザーのニーズと合致するか確認する。合致しない場合は、必要な修正を検討し、コントラクトテーブルに照らしてその修正が可能かを確認する。
- 合致するワークフロー内でスキップできるスキルを決める。
- 制限事項は早期に提示する — ユーザーの決定(モデルの選択、リージョン、評価方法)が後続のオプションを制限する場合は、先回りして言及し、ユーザーのフィードバックを得て、プランを適宜調整する。
ブレインストーミング中の注意事項:
- ワークフロー選択ゲート: プランを生成する前に、ユーザーがevaluate-firstワークフローとダイレクトファインチューニングワークフローのどちらを望んでいるかを確認する。ユーザーがすでに明示的に選択している場合(例:「まず評価する」「評価はスキップ」「ベースモデルはすでに評価済み」など)は、その選択に従って進める。そうでない場合は、両方のオプションを簡単なメリット/デメリットとともに提示し、ユーザーに選択を求める。「ファインチューニングする」と言うことや特定の手法を挙げることだけでは、評価スキップの明示的な選択にはならない — ユーザーはevaluate-firstという選択肢があることを知らない可能性がある。ユーザーがパスを選択するまで、プランを提示してはならない。選択後は、対応するリファレンスプランのみを読み込む。
- コントラクトテーブルの「Restrictions(制約)」列を参照し、関連する決定がなされた時点で即座に制約を警告する。以下は例示であり(網羅的なリストではない。全体像についてはコントラクトテーブルを確認すること):
- ユーザーがNovaモデルを選択した → デプロイリージョンが限定されることを警告する。
- ユーザーがリージョンを選択した → モデルの利用可否と競合する場合は警告する。
- 制約が適用される場合は、プランの他のステップへの変更が必要かどうかを確認する。
- ベースモデルの選択や好みについてユーザーに尋ねてはならない。モデルの選択は
model-selectionスキルが専任で処理する。 - プランに必要なスキルとツールが特定できた時点で、フェーズ 2 に移る。
フェーズ 2: プラン生成
ゴール: 構造化されたプランをユーザーにレビュー用として提案する。
プランを番号付きタスクリストとして生成する。各タスクには以下を含める:
- 短い名前
- 何が行われるかを一文で説明
- 担当するスキル(該当する場合)
フォーマット:
Based on what you've described, here's what I propose:
1. ⬜ **[タスク名]** — [内容の説明]。*(Skill: [skill-name])*
2. ⬜ **[タスク名]** — [内容の説明]。*(Skill: [skill-name])*
3. ⬜ **[タスク名]** — [内容の説明]。*(Skill: [skill-name])*
Does this plan look right, or would you like to change anything?
プラン生成のルール:
- コントラクトテーブルの「Prerequisites(前提条件)」列から順序を推定する — スキルはその前提条件となるスキルよりも前に配置できない。不明な場合は
references/skill-routing-constraints.mdを参照すること。 - 利用可能なスキルがカバーする機能のみを提供する。ユーザーが必要としているものをサポートするスキルがない場合は、その旨を伝える。
- ユーザーの実際の意図に合わせてプランをカスタマイズする。すべてのプランがすべてのスキルを必要とするわけではない。
- ユーザーがすでに入力アーティファクトを持っている場合(例: 学習済みモデルなど)、それらを生成するステップはスキップする。
ユーザーがプランを承認したら、PLAN.md に書き出し、directory-management スキルで定義されたプロジェクトディレクトリ構造の下に保存する。
# Plan
1. ⬜ **[タスク名]** — [説明]。_(Skill: [skill-name])_
2. ⬜ **[タスク名]** — [説明]。_(Skill: [skill-name])_
3. ⬜ **[タスク名]** — [説明]。_(Skill: [skill-name])_
ステータスインジケーター:
- ⬜ 未着手
- 🔄 進行中
- ✅ 完了
タスクのステータスが変わるたびに PLAN.md を更新する。
フェーズ 3: プランの反復
ゴール: ユーザーが承認するまでプランを改善する。
- ユーザーが変更を提案した場合は、フィードバックを反映してプランを再生成する。
- ユーザーが承認した場合は、最初のタスクのスキルに引き渡して実行を開始する。
実行
プランが承認されたら:
- タスクを開始する前に、
PLAN.mdのステータスを 🔄(進行中)に更新する。 - タスクがスキルに対応している場合は、作業を開始する前にそのスキルの完全な SKILL.md を読み込む。一般的な知識からタスクを実行しようとしてはならない — 常にスキルの指示に従うこと。
- 読み込んだスキルのワークフローに従ってタスクを実行する。
- タスクが完了したら:
-
PLAN.mdのステータスを ✅(完了)に更新する。タスクで出力ファイル(スクリプト、ノートブック、マニフェストなど)が生成された場合は、完了済みタスクの下にファイルパスを記録する:- [x] Fine-tune model - Output: `scripts/01_sft_finetuning.py` - Output: `manifests/sft-llama-20260515.json` -
完了を簡潔に確認し、次のタスクに移る。
-
- 実行中にユーザーが新しいリクエストで割り込んだ場合:
- 完了済みのタスクは変更不可 — 修正してはならない。
- 残りのタスクを再生成してユーザーの新しい入力を反映する。
- 続行する前に、更新された残りのタスクを提示してユーザーの承認を得る。
プランの完了
プラン内のすべてのタスクが完了したら、 ユーザーに以下を提示する:
"We've completed everything in the plan. What would you like to do next?"
これによりフェーズ 1(ブレインストーミング)に戻り、新しいゴールに向けて再開する。終端状態は存在しない — ユーザーが望む限り会話は継続する。
リファレンス
顧客の意図に合致するリファレンスプランを読み込み、ニーズに応じて調整する。
references/evaluate-first-plan.md— evaluate-firstワークフロー: ファインチューニングするかどうかを決定する前にベースモデルを評価する。references/model-customization-plan.md— ダイレクトファインチューニングプラン。 次のような場合に使用: ユーザーがファインチューニングを明示的にコミットしている場合。references/input-output-contracts.md— すべてのスキル、必要な入力、生成される出力、前提条件、制約を示すテーブル。references/skill-routing-constraints.md— 必須インクルードルール、順序制約、スキル境界ルールに関するオプションの補足リソース。
原文(English)を表示
Principles
- One question at a time. Each question should resolve a branching decision in the plan. Avoid generic or out-of-domain questions.
- Surface constraints early. If a user decision would constrain downstream options, flag it before the plan is finalized.
- Keep plans short. Only include tasks that are necessary for the user's stated goal.
- Don't ask what you already know. Check conversation history and project files before asking the user.
Phase 1: Brainstorming
Goal: Understand what the user wants to accomplish and identify which skills belong in the plan.
Read references/input-output-contracts.md, references/model-customization-plan.md, and references/evaluate-first-plan.md to:
- Identify which skills could be relevant to the user's stated goal.
- Check whether the user has the necessary input artifacts for each skill. If not, find the skills that generate those inputs and add them first.
- Order skills to allow a smooth transition from one to the next and avoid dead ends.
- Check if a recommended workflow matches the user's needs. If not, assess what modifications are needed and verify they are possible against the contracts table.
- Decide which skills in a matching workflow can be skipped.
- Surface limitations early — if a user decision (model choice, region, evaluation method) would constrain downstream options, mention it proactively, get user feedback, and adapt the plan accordingly.
During brainstorming:
- Workflow choice gate: Before generating any plan, determine whether the user wants the evaluate-first workflow or the direct fine-tuning workflow. If the user has explicitly chosen (e.g., "evaluate first", "skip evaluation", "already evaluated the base model"), proceed with their choice. Otherwise, present both options with brief pros/cons and ask the user to choose. Saying "fine-tune" or naming a technique alone is NOT an explicit choice to skip evaluation — the user may not know evaluate-first is an option. Do NOT present a plan until the user has chosen a path. After they choose, read ONLY the corresponding reference plan.
- Use the Restrictions column of the contracts table to flag constraints as soon as the relevant decision is made. Examples (non-comprehensive list, check contracts table for the full picture):
- User picks a Nova model → alert that deployment regions are limited.
- User picks a region → alert if it conflicts with model availability.
- If a restriction applies, check whether it requires changes to other steps in the plan.
- Do NOT ask the user about base model selection or preferences. Model selection is handled exclusively by the
model-selectionskill. - Move to Phase 2 as soon as you can determine which skills and tools the plan needs.
Phase 2: Plan Generation
Goal: Propose a structured plan for the user to review.
Generate a plan as a numbered list of tasks. Each task has:
- A short name
- A one-sentence description of what happens
- Which skill handles it (if applicable)
Format:
Based on what you've described, here's what I propose:
1. ⬜ **[Task Name]** — [What happens]. *(Skill: [skill-name])*
2. ⬜ **[Task Name]** — [What happens]. *(Skill: [skill-name])*
3. ⬜ **[Task Name]** — [What happens]. *(Skill: [skill-name])*
Does this plan look right, or would you like to change anything?
Rules for plan generation:
- Infer ordering from the Prerequisites column in the contracts table — a skill cannot appear before its prerequisites. If unsure, consult
references/skill-routing-constraints.md. - Only offer capabilities covered by an available skill. If the user needs something no skill supports, say so.
- Tailor the plan to the user's actual intent. Not every plan needs every skill.
- If the user already has input artifacts (e.g., a trained model), skip the steps that produce them.
When the user approves the plan, write it to PLAN.md and save it under the project directory structure defined by the directory-management skill.
# Plan
1. ⬜ **[Task Name]** — [Description]. _(Skill: [skill-name])_
2. ⬜ **[Task Name]** — [Description]. _(Skill: [skill-name])_
3. ⬜ **[Task Name]** — [Description]. _(Skill: [skill-name])_
Status indicators:
- ⬜ Not Started
- 🔄 In Progress
- ✅ Completed
Update PLAN.md whenever a task's status changes.
Phase 3: Plan Iteration
Goal: Refine the plan until the user approves it.
- If the user suggests changes, regenerate the plan incorporating their feedback.
- If the user approves, begin execution by handing off to the first task's skill.
Execution
Once the plan is approved:
- Before starting a task, update its status in
PLAN.mdto 🔄 (In Progress). - If the task maps to a skill, load that skill's full SKILL.md before doing any work. Do not attempt the task from general knowledge — always defer to the skill's instructions.
- Execute the task by following the loaded skill's workflow.
- When the task completes:
-
Update its status in
PLAN.mdto ✅ (Completed). If the task generated output files (scripts, notebooks, manifests), record the file paths under the completed task:- [x] Fine-tune model - Output: `scripts/01_sft_finetuning.py` - Output: `manifests/sft-llama-20260515.json` -
Briefly confirm completion and move to the next task.
-
- If the user interrupts with a new request mid-execution:
- Completed tasks are immutable — do NOT modify them.
- Regenerate the remaining tasks to incorporate the user's new input.
- Present the updated remainder for approval before continuing.
Plan Completion
When all tasks in the plan are done: Present to the user:
"We've completed everything in the plan. What would you like to do next?"
This re-enters Phase 1 (Brainstorming) for a new goal. There is no terminal state — the conversation continues as long as the user wants.
References
Load the reference plan that matches the customer's intent, then adjust based on their needs.
references/evaluate-first-plan.md— The evaluate-first workflow: evaluate a base model before deciding whether to fine-tune.references/model-customization-plan.md— The direct fine-tuning plan. Use when the user has explicitly committed to fine-tuning.references/input-output-contracts.md- A table showing all skills, required inputs, produced outputs, prerequisites, and constraints.references/skill-routing-constraints.md— Optional supplemental resource about Mandatory inclusion rules, ordering constraints, and skill boundary rules.
原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。