fleet-plan

fleet-plan is a command for Claude Code from aws-samples/amazon-eks-machine-learning-with-terraform-and-kubeflow. It costs 25 tokens per session (929 once invoked), scanned A, original, Apache-2.0.

An offline planner for a fleet of models sharing GPUs. It calculates memory limits, minimum GPU degrees, a baseline arrangement, and whether any co-resident placement is possible without contacting a cluster.

In plain words
What is it for?
Use it to check a fleet file, identify missing hardware or model measurements, and decide whether the requested workloads can share a node.
Why use it?
It reveals impossible or incomplete plans early and must be rerun when the fleet, measurements, or stored hardware information changes.

Command for Claude Code ✓ vendor

Written for Claude Code: allowed-tools in frontmatter.

Part of the colocation-pipeline plugin — 2 skills, 15 commands, 2 hooks shipped together

Good fit Use it to check a fleet file, identify missing hardware or model measurements, and decide whether the requested workloads can share a node.

Compare 6 commands from other repositories ↓
Install with agentmods
npx agentmods add commands/aws-samples/amazon-eks-machine-learning-with-terraform-and-kubeflow/fleet-plan
About the project

Amazon EKS Machine Learning with Terraform and Kubeflow is a modular platform for running machine-learning operations on Amazon EKS, the managed Kubernetes service, including training pipelines and model-serving systems. It is intended for teams deploying distributed training and inference with tools such as Kubeflow, MLflow, Airflow, and KServe, using configurable AWS infrastructure. The catalogue entries provide commands, skills, hooks, and a plugin for working with this deployment setup.

aws-samples/amazon-eks-machine-learning-with-terraform-and-kubeflow · 132 stars · on GitHub

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Clone the repo
git clone --depth 1 https://github.com/aws-samples/amazon-eks-machine-learning-with-terraform-and-kubeflow

Made for: Claude Code.

Or install colocation-pipeline, the plugin that ships this one along with the rest of its 2 skills, 15 commands, 2 hooks.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for fleet-plan

README.md
[![agentmods](https://agentmods.dev/badge/commands/aws-samples/amazon-eks-machine-learning-with-terraform-and-kubeflow/fleet-plan/github.svg)](https://agentmods.dev/commands/aws-samples/amazon-eks-machine-learning-with-terraform-and-kubeflow/fleet-plan)
Your own site
<a href="https://agentmods.dev/commands/aws-samples/amazon-eks-machine-learning-with-terraform-and-kubeflow/fleet-plan"><img src="https://agentmods.dev/badge/commands/aws-samples/amazon-eks-machine-learning-with-terraform-and-kubeflow/fleet-plan/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for fleet-plan

Your own site · 80×15
<a href="https://agentmods.dev/commands/aws-samples/amazon-eks-machine-learning-with-terraform-and-kubeflow/fleet-plan"><img src="https://agentmods.dev/badge/commands/aws-samples/amazon-eks-machine-learning-with-terraform-and-kubeflow/fleet-plan.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 25 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 929 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00025 $0.00929
Opus 5.5 $0.00010 $0.00372
Sonnet 5.5 $0.00005 $0.00186
Haiku 4.5 $0.00003 $0.00093

Measured 4d ago against content hash c21df064efe2, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

fleet-plan scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

tutorials/multi-model-gpu-sharing/plugins/colocation-pipeline/commands/fleet-plan.md · 44 lines

What it actually says

From the repository's tutorials/multi-model-gpu-sharing directory:

PYTHONPATH=src python3 -m colocation.agent plan --fleet $ARGUMENTS

Offline, no node captured. Run it every time anything changes — a fleet file, a profile round, a store — not once per fleet.

Read the output in this order and stop at the first thing that refuses:

what you see what it means what to do
the hardware store holds no shape for '<type>', or nobody has observed what a <type> presents nobody has leased this instance type, so the store has no address for its measurements plan cannot fix this, not even with --gpu-count: only a node can be observed. /fleet-profile <fleet> --gpu-count N holds one node, files what it reports, measures nothing and exits 0; then run the same command again, and plan resolves offline from then on. Needed once per type. Do not edit the fleet file around it
no environment has measured how much memory a <product> has the card's memory total has never been measured, and there is no default on a type nobody has leased, the first profile or search files it off the node — say so and go on. On a type that has been run, the store or the --gpu-product is wrong: stop. Never supply the number yourself
this fleet cannot be placed on this node (exit 1) a tenant's KV floor exceeds one GPU at every degree stop. Name the tenant. The fleet file has to change — a lower rate, or one fewer tenant
NO CO-RESIDENT PLACEMENT IS FEASIBLE no two tenants' minimum envelopes fit on one GPU stop, unless the next line is BUT NOT ON THE WEIGHTS. Co-location has nothing to sell this fleet. Report the closest pair and by how much it is over
BUT NOT ON THE WEIGHTS (after the line above) some pairs fit on weights alone; only the computed KV, activation and reserve terms rule them out go on: search warns and runs anyway, because those terms have been measured wrong before. Profile the pair's tenants first
THE BASELINE ABOVE IS AN UPPER BOUND a tenant met its target at the degree shown, but a narrower degree was never measured note it: a later profile round can still shrink the baseline
BASELINE NOT ESTABLISHED normal on a fresh fleet — every degree is a memory floor go on to /fleet-sweep
<-- FLOOR, not a measured minimum which tenants still need a solo round this is the /fleet-profile list

A fleet with hardware.max_nodes above 1 also prints --- splits over up to N nodes ---: each tenant on one node, ranked by fewest nodes, then GPUs, then margin, with the first split placed node by node. Disjoint over nodes ... more than the N this fleet allows gates nothing: the splits share GPUs, so a fleet that needs more nodes disjoint is still searched. this fleet cannot be split over N node(s): the weights alone rule every split out (exit 1) is a stop. NO SPLIT OVER N NODE(S) IS PROVEN INFEASIBLE is not a proof: profile first. <tenant> fits no node even alone names the tenant to change.

Never quote sum(floor) as the baseline, or compute a saving against it. It is printed as a lower bound because a floor that fits may still miss its target, and then the tenant needs more shards and the baseline goes up. A saving quoted against the floor sum is an overstatement, and it is the single error the whole design exists to prevent.

The placements are on the shape of the instance type. They name GPU ordinals and look deployable. They are not.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago First seen · 44 lines · 25 tokens per session scan A c21df064efe2

Subscribe to this mod's changes

fleet-plan is a command published in the GitHub repository aws-samples/amazon-eks-machine-learning-with-terraform-and-kubeflow (132 stars, last pushed 4d ago), licensed Apache-2.0. It adds 25 tokens to every session and 929 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-11-09.

Related

fleet-plan compared with commands from other repositories

fleet-plan next to 6 commands from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
fleet-planaws-samples/amazon-eks-machine-learning-with-terraform-and-kubeflowCommand1324d agoApache-2.0A25Claude Code
checklistgithub/spec-kitCommand150kyesterdayMITA13Claude Code
clarifygithub/spec-kitCommand150kyesterdayMITA27Claude Code
specifygithub/spec-kitCommand150kyesterdayMITA13Claude Code
convergegithub/spec-kitCommand150kyesterdayMITA35Claude Code
implementgithub/spec-kitCommand150kyesterdayMITA14Claude Code
speckit.bug.fixgithub/spec-kitCommand150kyesterdayMITA12Claude Code