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.
Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/aws-samples/amazon-eks-machine-learning-with-terraform-and-kubeflownpx agentmods add commands/aws-samples/amazon-eks-machine-learning-with-terraform-and-kubeflow/fleet-profileWrote 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.
[](https://agentmods.dev/commands/aws-samples/amazon-eks-machine-learning-with-terraform-and-kubeflow/fleet-profile)<a href="https://agentmods.dev/commands/aws-samples/amazon-eks-machine-learning-with-terraform-and-kubeflow/fleet-profile"><img src="https://agentmods.dev/badge/commands/aws-samples/amazon-eks-machine-learning-with-terraform-and-kubeflow/fleet-profile/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.
<a href="https://agentmods.dev/commands/aws-samples/amazon-eks-machine-learning-with-terraform-and-kubeflow/fleet-profile"><img src="https://agentmods.dev/badge/commands/aws-samples/amazon-eks-machine-learning-with-terraform-and-kubeflow/fleet-profile.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00025 | $0.00783 |
| Opus 5.5 | $0.00010 | $0.00313 |
| Sonnet 5.5 | $0.00005 | $0.00157 |
| Haiku 4.5 | $0.00003 | $0.00078 |
Grade A, and why
fleet-profile 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.
What it actually says
This captures a node and deploys engines on it. From the repository's tutorials/multi-model-gpu-sharing directory:
IMG=$(bash plugins/colocation-pipeline/scripts/harness-image.sh --ensure) || exit 1
COLOCATION_HARNESS_IMAGE="$IMG" PYTHONPATH=src python3 -m colocation.agent profile --fleet $ARGUMENTS
Give the Bash call a timeout well above the default — rounds take minutes each.
On an instance type nobody has leased, it refuses without --gpu-count N, and with it the run
only observes the machine: it holds one node, files its shape and device facts, gives it back to the
holder and exits 0 having measured nothing. Run the same command again for the real round. That is
the only way to file a new type: plan cannot do it.
One deploy-and-drive round runs per (tenant, degree) that the store does not already hold and
arithmetic has not settled. --budget caps the number of rounds. Each round measures a tenant
alone at its full envelope, walking degrees upward from the memory floor and stopping at the
first pass.
Three outcomes take no round at all and are normal: forced by memory alone (the floor is already
the widest degree the node offers), already profiled (a usable row exists — this is why profiles
amortize across fleets), and a tenant with no itl_mean_ms (there is no criterion to judge a degree
against, so it is skipped).
The walk widens on evidence about the degree, and only on that: a measured miss, a degree the arithmetic would not place, an engine that failed to boot twice at the same degree (the first failure is retried automatically), or a row that shows the server driven flat out and too narrow.
Anything else that comes back unusable stops the walk rather than widening it. Do not fight
this. An unusable row — no ITL, delivery_passed: false, a verdict other than measured, sampling
too thin — did not say the degree is too slow. It said the degree was not measured. Fix the cause
and run the same command again: on the way up, a degree with no usable row is measured again
without --reprofile. (Walking down from a degree that passed is the exception: there a stored
unusable row stops the descent until --reprofile, and the log says so.) Widening buys the baseline
a wider shard that nothing ruled the narrower one out at.
It exits 1 when any tenant's degree is still unresolved, which is what the stop above leaves.
Afterwards:
- If
sum(minimal tp)now exceeds the node's GPU count, there is nothing to search: the disjoint arrangement being scored against does not fit. Report it and go back to/fleet-sweep. - Otherwise run
/fleet-planagain before/fleet-search. The degrees moved, so the baseline and every placement moved with them. - The per-shard MPS reserve a round measured needs no paste anywhere. It is filed in the profile store
and merged into every later load of that model at that degree, so re-running
planis what picks it up. Report the number and which envelopes it moved.
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.
- 4d ago First seen · 54 lines · 25 tokens per session scan A 708016b4b0d5
fleet-profile 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 783 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.
fleet-profile compared with commands from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| fleet-profileaws-samples/amazon-eks-machine-learning-with-terraform-and-kubeflow | Command | 132 | 4d ago | Apache-2.0 | A | 25 | Claude Code |
| cost-optimizewshobson/agents | Command | 42k | 5d ago | MIT | A | 26 | Claude Code |
| deploybutterbase-ai/butterbase-skills | Command | 536 | 14d ago | MIT | A | 20 | Claude Code |
| envvercel/vercel-plugin | Command | 336 | yesterday | none | A | 35 | Claude Code |
| firebase-publishPierry/harness-kit | Command | 4 | 1mo ago | MIT | A | 20 | Claude Code |
| scanprajapatimehul/claude-aws-cost-saver | Command | 24 | 4mo ago | MIT | A | 6 | Claude Code |
| migrationdatabayt/hogwarts | Command | 18 | 3d ago | none | A | 4 | Claude Code |