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/practicalswan/agent-skills/netlify-agent-runnernpx skills add PracticalSwan/agent-skills --skill netlify-agent-runnergit clone --depth 1 https://github.com/PracticalSwan/agent-skillsWrote 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/practicalswan/agent-skills/netlify-agent-runner)<a href="https://agentmods.dev/skills/practicalswan/agent-skills/netlify-agent-runner"><img src="https://agentmods.dev/badge/skills/practicalswan/agent-skills/netlify-agent-runner.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.1 | $0.00056 | $0.03077 |
| Opus 5 | $0.00028 | $0.01538 |
| Sonnet 5 | $0.00011 | $0.00615 |
| Haiku 4.5 | $0.00006 | $0.00308 |
Grade A, and why
netlify-agent-runner scanned grade A with 1 finding 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 2d 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
- **Do not curl `https://api.netlify.com/...`** to fetch, create, or stop a task — the endpoint shapes are not part of the public contract. This is a copy
94% identical to netlify-agent-runner — 55 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 212 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Netlify Agent Runner
Run AI coding agents (Claude, Codex, Gemini) remotely on Netlify infrastructure to automate development tasks on your site.
Prerequisites
- The site must be linked to a Netlify project (via
netlify linkornetlify init). - Or skip linking entirely: pass
--project <name>(a project ID or name) directly tonetlify agents:createto target any Netlify site without linking first. - The Netlify CLI must be installed and authenticated
- Agent runs consume plan credits. If the account has no available credits — or the agent/AI usage limit has been reached —
netlify agents:createis blocked and the run won't start. That's an account/plan-state issue to surface to the user, not something to work around.
Use only documented CLI surfaces
Interact with agent tasks only through the documented netlify agents:* commands (plus netlify --help and the public CLI reference). Do not go around the CLI:
- Do not curl
https://api.netlify.com/...to fetch, create, or stop a task — the endpoint shapes are not part of the public contract. - Do not run
netlify api <method>as a recovery hatch when a documented command fails. - Do not read auth tokens out of
~/Library/Preferences/netlify/config.json(or anywhere on disk) to authenticate side-channel calls.
If a documented command fails, report the exact error and context to the user and stop — don't invent an undocumented way to reach the task.
How Agent Tasks Run
Read this before creating a task — agent tasks behave differently from running an agent locally, and the differences are easy to miss.
- Remote, not local. Tasks run on Netlify infrastructure, not on your machine. They operate on the site's connected repository, not your local working tree. The remote agent only sees what has been pushed to the remote — it cannot see uncommitted or unpushed changes.
- Branch-based. By default a task runs against the production branch (
mainormaster). To choose a different base branch for the agent to start from, use-b <branch>and make sure that branch has been pushed to the remote first, or the agent will be working from code that doesn't exist remotely.-bsets the base (starting) branch — not where the results are written (see the next bullet). - Output lands on a new branch — not in place. The agent does not commit its changes onto the base branch you selected. It pushes its work to a new branch with its own Deploy Preview, so your existing branch (or
main) is never overwritten. Review the task's results on that new branch / Deploy Preview — don't expect the base branch to change directly. - Asynchronous.
netlify agents:createreturns as soon as the task is queued — it does not block until the work is finished. When the command returns, the task is still running remotely. - No webhooks or callbacks. Nothing notifies you when a task changes state or completes. To find out what's happening, you have to poll with
netlify agents:show <task-id>ornetlify agents:list. - Statuses are terminal or not. A task moves through
new→running→ one ofdone,error, orcancelled. Keep polling until the status is one of those last three before you act on the results.
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 2d ago First seen · 212 lines · 56 tokens per session scan A c93e8d6ee0f0
netlify-agent-runner is a skill published in the GitHub repository PracticalSwan/agent-skills (13 stars, last pushed 5d ago), licensed MIT. It adds 56 tokens to every session and 3,077 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). It is 94% identical to netlify-agent-runner, differing in 55 lines, and is treated as a copy.
Other skills, from other repositories
aatmf-t10-confidentiality-breach
AATMF T10 — Integrity & Confidentiality Breach. System prompt extraction, training-data extraction, model-weight leakage, private-key recovery.
ensembl-database
Query Ensembl genome database REST API for 250+ species. Gene lookups, sequence retrieval, variant analysis, comparative genomics, orthologs, VEP predictions, for genomic research.
mochi-remind
Handle due reminders — notify the user with natural language and mark them done.
memory
Use when the user asks to remember, recall, forget, update, search, or inspect durable OpenSquilla memory, including profile facts in USER.md and long-term notes in MEMORY.md or memory//.md.
wukongim-cloud-analysis
Diagnose one exact live WuKongIM cloud Simulation Run or chat-lifecycle Cloud Lease through the repository Analysis MCP. Use when the user or a local Analysis Session asks Codex to inspect a run's cluster state, Prometheus signals, application logs, diagnostics, Controller task audits, profiles, or redacted config…
lazarus-group
Adversary-emulation profile for Lazarus Group (G0032, aka Hidden Cobra / Diamond Sleet / Labyrinth Chollima), a North Korean RGB-linked actor conducting espionage, destructive, and financially motivated operations.