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.
npx agentmods add skills/felipefontoura/bento/deploynpx skills add felipefontoura/bento --skill deploygit clone --depth 1 https://github.com/felipefontoura/bentoWrote 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/skills/felipefontoura/bento/deploy)<a href="https://agentmods.dev/skills/felipefontoura/bento/deploy"><img src="https://agentmods.dev/badge/skills/felipefontoura/bento/deploy.svg" alt="Measured on agentmods" 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 | $0.00099 | $0.01138 |
| Opus 5 | $0.00049 | $0.00569 |
| Sonnet 5 | $0.00020 | $0.00228 |
| Haiku 4.5 | $0.00010 | $0.00114 |
Grade B, and why
deploy scanned grade B with 2 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 5d 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.
Asks for rootmediumPrivilege escalation
A mod that escalates privileges can change anything on the machine, not only the project.
| SSH user | default `root`; ask if otherwise | has sudo or is root | Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
2. **HTTPS**: `curl -sI --max-time 15 https://<app>.<base_domain>/` returns a sane status (2xx/3xx or the app's expected code). How it starts
The opening of the file, as written. The whole thing — 86 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are operating bento on a remote machine the user trusts you with. Narrate before every state-changing step and stop on anything that smells off. Every artifact and message you produce stays in English.
When to invoke
The user has a server that ALREADY has bento installed and wants more apps:
- "add n8n and typebot to my VPS"
- "deploy chatwoot on
<host>" - "install paperclip on my bento server"
If bento is NOT yet installed on the host, this is the wrong skill — use
/bento:install (fresh-VPS bootstrap). If the user wants logs/restart/scale of
an already-running app, point them at Portainer (https://portainer.<domain>).
Inputs to gather
| Input | Source | Validation |
|---|---|---|
| VPS host | user message; ask if missing | reachable via SSH |
| SSH user | default root; ask if otherwise |
has sudo or is root |
| apps to deploy | user message (CSV) | each must be a directory under stacks/app/ on the host clone |
| per-app overrides | only if the user wants a non-default hostname/secret | passed as BENTO_ENV_<STACK>_<VAR> |
Use AskUserQuestion for anything missing. Don't guess an app name.
Pre-flight (mandatory)
- SSH reachable:
ssh -o ConnectTimeout=5 "$user@$host" "echo SSH_OK". - Confirm bento is installed:
ssh "$user@$host" "test -f ~/.config/bento/state.json && echo BENTO_OK". If absent, stop — tell the user to run/bento:installfirst. - List deployable apps so you validate the requested set against reality:
Reject any requested app not in that list and show the valid options.ssh "$user@$host" "ls /root/.local/share/bento/stacks/app" - DNS for any NEW public hostname:
dig +short A "<app>.<base_domain>" @1.1.1.1. The wildcard*.<base_domain>from the original install normally already covers it; warn only if it doesn't resolve to the VPS IP.
Deploy — unattended only
Never drive bento's interactive TUI over SSH (gum prompts hang without a real
terminal). Re-run bento's installer in unattended mode with BENTO_APPS set to
ONLY the new apps. bento reconciles state.stacks against Portainer on entry to
unattended_step3, so orphaned state from a Portainer-side deletion won't
short-circuit the deploy.
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.
- 5d ago First seen · 86 lines · 99 tokens per session scan B aaf9b52984b1
deploy is a skill published in the GitHub repository felipefontoura/bento (20 stars, last pushed 1mo ago), licensed MIT. It adds 99 tokens to every session and 1,138 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it B with 2 findings (asks for root, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
cloudflare-skill
Work with Cloudflare via the official cf CLI — check auth identity, list zones, list/create/delete DNS records, query the GraphQL Analytics API (zone traffic, Web Analytics/RUM), and run any other cf command. Output is parsed JSON.
gcloud-skill
Work with Google Cloud via the official gcloud CLI — check auth/config, list and switch projects, manage Compute Engine instances, deploy and inspect Cloud Run services, work with Cloud Storage, and run any other gcloud command. Output is parsed JSON.
vercel-skill
Deploy sites and apps to Vercel, inspect deployments, stream logs, and manage projects/env/domains via the Vercel CLI. Deploy a directory and get back the live deployment URL; everything else the CLI supports is available through the custom command passthrough.
nvcf-self-managed-installation
Install and operate NVCF self-hosted control-plane and separate compute-plane stacks. Covers Helmfile values and CLI profile installation flows, teardown, values overrides, pull secrets, and troubleshooting. Use for nvcf-self-managed-stack, nvcf-compute-plane-stack, split compute-plane installation, control-plane…
nvcf-self-managed-prerequisite
Install the prerequisites the NVCA operator / compute plane needs before nvcf-nvca-install can succeed: the operator tool nvcf-cli (required by the compute-plane stack's register-cluster step), KAI Scheduler (for the KAIScheduler feature gate), and the SMB CSI driver (for the sharedStorage Samba sidecar PVCs). The two…
portal-relay
Set up and run a public Portal relay on any Linux host with a public IP — Docker Compose deployment, embedded authoritative DNS with one-time NS delegation, optional TCP/UDP lease ports for game hosting, and registration in the public relay pool. Use when the user asks to run their own relay, contribute a relay to the…