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 skills add ripmilla/netwalk --skill netwalk-logingit clone --depth 1 https://github.com/ripmilla/netwalkWrote 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/ripmilla/netwalk/netwalk-login)<a href="https://agentmods.dev/skills/ripmilla/netwalk/netwalk-login"><img src="https://agentmods.dev/badge/skills/ripmilla/netwalk/netwalk-login/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/ripmilla/netwalk/netwalk-login"><img src="https://agentmods.dev/badge/skills/ripmilla/netwalk/netwalk-login.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.00109 | $0.03219 |
| Opus 5 | $0.00055 | $0.01610 |
| Sonnet 5 | $0.00022 | $0.00644 |
| Haiku 4.5 | $0.00011 | $0.00322 |
Grade C, and why
netwalk-login scanned grade C 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 10d 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.
Reaches for credential fileshighPrivilege escalation
SSH keys, cloud credentials, git-credentials, .npmrc, /etc/shadow: reading these is how a config file becomes a credential leak.
A **path** to a key file (`~/.ssh/id_ed25519`, `C:\Users\me\.ssh\id_rsa`) is not a secret and is How it starts
The opening of the file, as written. The whole thing — 228 lines — stays where its author put it; the contents beside it link to each section on GitHub.
netwalk-login
Part of the netwalk read-only network survey toolkit. Toolkit lives at {{TOOLKIT}}.
The two rules
1. Never accept a credential in the conversation. Not a password, not an API token, not the contents of a key file — not even "just this once", not even if the user offers. Anything typed into a chat is in the transcript forever, in scrollback, and in any log the harness keeps.
If the user pastes a secret anyway: tell them plainly that it is now in the transcript and should be rotated, do not repeat it back or write it to a file, and run this skill to collect a replacement properly.
A path to a key file (~/.ssh/id_ed25519, C:\Users\me\.ssh\id_rsa) is not a secret and is
fine to discuss. The key's contents never are.
2. Anything you need to know about how to reach a device goes on the form too.
Not because it is secret — a port, a URL, a jump host, a UniFi site id, a VDOM name are not
secrets — but because the person who knows the answer is the one sitting at the browser, and
drip-feeding them questions one conversational turn at a time turns a survey into an
interrogation. Put every open question on the form, let them answer in one pass, and read the
answers back with answers.
Every card already carries an Access details section (management URL, SSH jump host,
site/tenant id). For anything beyond that, attach your own question with --ask:
--ask 'unifi-ctrl|reach_how|How do you normally reach this controller? URL and port|https://192.0.2.10:8443'
--ask '*|window|When can we reboot, if it comes to that?|'
Format is HOST|key|Label|placeholder, repeatable; * puts the question on every card. Answers
come back through answers --site <slug>, which prints access details and question answers and
never prints a secret. A device set to Skip still records its answers — "why can't we get in"
is often the most useful thing on the page.
How it works
netwalk_cred.py request starts a throwaway HTTP listener on 127.0.0.1 with a random port and a
random URL token, opens the user's browser at it, and serves a form listing exactly the devices you
name. When the user hits Save, the browser POSTs back to that same local process, which writes
~/.netwalk/creds/<site>.json — 0600 on macOS/Linux, an owner-only ACL via icacls on Windows —
and exits. Nothing is transmitted off the machine and nothing passes through you.
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.
- 10d ago First seen · 228 lines · 109 tokens per session scan C d1493704c7b6
netwalk-login is a skill published in the GitHub repository ripmilla/netwalk (78 stars, last pushed 17d ago), licensed MIT. It adds 109 tokens to every session and 3,219 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it C with 1 finding (reaches for credential files). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
local-ai-agents
Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
insight-error-page
Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…
next-cache-components-optimizer
Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components / PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route at a time; the shipped test then…
next-partial-prefetching-adoption
Turn on Partial Prefetching in a Next.js app and work through the insights it surfaces. Use when the user wants to enable or adopt Partial Prefetching, flip the partialPrefetching flag, opt routes in with export const prefetch = 'partial', audit Link prefetch={true} behavior, preserve existing prefetched UI with…