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/san-npm/skills-wsnpx agentmods add skills/san-npm/skills-ws/stasho-deployWrote 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/san-npm/skills-ws/stasho-deploy)<a href="https://agentmods.dev/skills/san-npm/skills-ws/stasho-deploy"><img src="https://agentmods.dev/badge/skills/san-npm/skills-ws/stasho-deploy/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/skills/san-npm/skills-ws/stasho-deploy"><img src="https://agentmods.dev/badge/skills/san-npm/skills-ws/stasho-deploy.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.00119 | $0.02129 |
| Opus 5.5 | $0.00048 | $0.00852 |
| Sonnet 5.5 | $0.00024 | $0.00426 |
| Haiku 4.5 | $0.00012 | $0.00213 |
Grade A, and why
stasho-deploy 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 2mo 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.
curl -sS --fail-with-body -w '\nHTTP %{http_code}\n' \ How it starts
The opening of the file, as written. The whole thing — 110 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Stasho Deploy
Stasho publishes static sites to IPFS. Two paths, and they are separate products:
| Path | Account | Best for |
|---|---|---|
Drop (POST /api/drop) |
none | An agent that just built a site and wants to hand the user a live URL in one request |
| Repo project (dashboard) | wallet or email + GitHub | Push-to-deploy, build settings, env vars, rollback |
Every publish is content-addressed: the response carries a CID, and any IPFS-compatible host can serve those exact bytes. That is what the user keeps if they never sign up.
Stasho is in alpha. Limits below are operational values, not a contract.
Path 1: publish from an agent (no account)
This is the default. One anonymous HTTP request, no key, no CORS (server-side only, so run it from your shell or backend, never from browser JS).
rm -f site.zip # zip UPDATES an archive in place; a stale one republishes deleted files
cd dist && zip -r ../site.zip . && cd .. # index.html must be at the ZIP ROOT
curl -sS --fail-with-body -w '\nHTTP %{http_code}\n' \
-F [email protected] --form-string source=my-agent \
https://api.stasho.xyz/api/drop
--fail-with-body is what makes a failed publish look failed: plain curl -sS exits 0 on a 400 or a 503 and prints the error body, so an agent that only checks the exit code reports a live site that does not exist. Non-zero exit means the drop did not happen, and the trailing HTTP <code> line picks your row out of the table below. Use --form-string for source, not -F: @ is a legal character in an attribution, and -F source=@alice makes curl upload a file named alice instead of sending the text.
--fail-with-body needs curl 7.76 (2021). On an older one, Ubuntu 20.04 ships 7.68 and Debian 11 ships 7.74, it aborts with an unknown-option error before uploading anything; swap in plain -f, which still fails the publish loudly but discards the error body, so lean on the HTTP <code> line for the reason.
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.
- 2mo ago First seen · 110 lines · 119 tokens per session scan A c290823b08d8
stasho-deploy is a skill published in the GitHub repository san-npm/skills-ws (4 stars, last pushed 1mo ago), licensed MIT. It adds 119 tokens to every session and 2,129 once invoked, about $0.0005 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-07.
stasho-deploy compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| stasho-deploysan-npm/skills-ws | Skill | 4 | 1mo ago | MIT | A | 119 | Codex |
| gke-compute-classesgoogle/skills | Skill | 22k | yesterday | Apache-2.0 | A | 83 | Claude Code, Codex |
| gke-reliabilitygoogle/skills | Skill | 22k | yesterday | Apache-2.0 | A | 85 | Claude Code, Codex |
| gke-workload-securitygoogle/skills | Skill | 22k | yesterday | Apache-2.0 | A | 171 | Claude Code, Codex |
| cloud-architectJeffallan/claude-skills | Skill | 12k | 7d ago | MIT | A | 71 | Claude Code |
| nemo-automodel-launcher-configNVIDIA/skills | Skill | 3.9k | yesterday | Apache-2.0 | A | 30 | Claude Code |
| azure-mgmt-botservice-dotnetmicrosoft/skills | Skill | 3.2k | yesterday | MIT | A | 78 | Claude Code |