awslabs/planning
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.
npx skills add https://github.com/awslabs/agent-plugins --skill planning
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:
During brainstorming:
model-selection skill.Goal: Propose a structured plan for the user to review.
Generate a plan as a numbered list of tasks. Each task has:
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:
references/skill-routing-constraints.md.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:
Update PLAN.md whenever a task's status changes.
Goal: Refine the plan until the user approves it.
Once the plan is approved:
PLAN.md to 🔄 (In Progress).PLAN.md to ✅ (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`
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.
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.Take awslabs/planning from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.