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 naveedharri/benai-skills --skill local-ai-setupgit clone --depth 1 https://github.com/naveedharri/benai-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/naveedharri/benai-skills/local-ai-setup)<a href="https://agentmods.dev/skills/naveedharri/benai-skills/local-ai-setup"><img src="https://agentmods.dev/badge/skills/naveedharri/benai-skills/local-ai-setup/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/naveedharri/benai-skills/local-ai-setup"><img src="https://agentmods.dev/badge/skills/naveedharri/benai-skills/local-ai-setup.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 4 findings, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Agent Snooping · line 85 Skill reads from agent configuration directories (.claude/, .codex/, .gemini/). These directories may contain API keys, personal settings, and other credentials that the skill has no legitimate need to access.Fix: Remove all code or instructions that access agent configuration directories (.claude/, .codex/, .gemini/). If configuration values are needed, pass them explicitly as parameters or environment variabl
- high Agent Snooping · line 102 Skill reads from agent configuration directories (.claude/, .codex/, .gemini/). These directories may contain API keys, personal settings, and other credentials that the skill has no legitimate need to access.Fix: Remove all code or instructions that access agent configuration directories (.claude/, .codex/, .gemini/). If configuration values are needed, pass them explicitly as parameters or environment variabl
- medium Excessive Agency · line 102 Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.Fix: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state.
- medium Rogue Agent · line 102 Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
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.00209 | $0.02548 |
| Opus 5 | $0.00105 | $0.01274 |
| Sonnet 5 | $0.00042 | $0.00510 |
| Haiku 4.5 | $0.00021 | $0.00255 |
Grade B, and why
local-ai-setup 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 6d 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.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
**What the user gets is a three line block they paste in order, ending in `ollama launch claude --model <their model>`, not a wall of environment variables.** Ollama configures and starts Claude Code itself, and it does Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
- When a local backend other than Ollama starts serving `/v1/messages`, when `ollama launch` changes its flags or starts handling the context itself, or when a Claude Code variable in the manual block changes, fix `refer How it starts
The opening of the file, as written. The whole thing — 131 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Local AI Setup
The front door. Takes someone with no local AI setup to a working one, in one pass, without making them choose between tools they cannot evaluate yet.
Do not make the user pick a sub-skill. Run the flow.
Before you start
Run the check in references/environment-check.md first. These skills need a shell on the user's own machine. If the environment is a sandbox or container, stop and tell the user to run this in Claude Code on the computer they want to set up. Do not report detected specs from a sandbox: wrong specs are worse than none.
Steps
Track progress:
Task Progress:
- [ ] 1. Scan
- [ ] 2. Ask what it is for
- [ ] 3. Recommend, with sizes
- [ ] 3b. Offer the browser choice, if one applies
- [ ] 4. Confirm
- [ ] 5. Install
- [ ] 6. Prove it and hand over
- [ ] 6b. Offer Claude Code on the local model, if it applies
- [ ] 7. Render the handover report
1. Scan
Invoke scan-my-machine. Report what the machine can run in plain language. Nothing is installed at this step, so say that.
2. Ask what it is for
Invoke pick-my-harness to ask its four questions. If the user already said what they want in their opening message, pass that through rather than re-asking.
3. Recommend, with sizes
Combine both results into one recommendation: one model, one app, the total download in gigabytes, and roughly how long it will take. One option, not a menu. Say in one line what this setup will not do, so the limit is known before they commit.
3b. Offer the browser choice, if one applies
Only when step 3 landed on a browser-based harness, meaning Open WebUI or Odysseus. Skip this entirely for LM Studio, Goose, AnythingLLM and OpenWork: those are not interchangeable with anything and a question there is noise.
The two are genuinely close. Both run in a browser, both have a real login, both sit on Ollama, and allow-team tunnels either one. So ask rather than decide, using an AskUserQuestion with two options:
- Open WebUI (Recommended) — the default. More mature, richer group permissions, the largest community.
- Odysseus — more in the box: Deep Research, blind model Compare, a Documents editor and an email inbox. AGPL-3.0.
What ships with it
6 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.
- 6d ago First seen · 131 lines · 0 tokens per session scan B f8d0465fd1fb
local-ai-setup is a skill published in the GitHub repository naveedharri/benai-skills (61 stars, last pushed 7d ago), licensed MIT. It adds 209 tokens to every session and 2,548 once invoked, about $0.0010 per session on Opus 5. A static security scan graded it B with 2 findings (reads agent configuration directories, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-05.
Other skills, from other repositories
ai-prompting-basics
A practical guide to writing clearer requests for Claude, an AI assistant, by adding context, examples, roles, and output rules.
openrouter-models
Choose among the hosted models the shared router serves — discover current ids and prices from the public catalog, self-enforce a spend budget the router does not meter for you, respect the free-tier prompt-logging caveat, and request onboarding of a model the router does not serve yet.
llm-router-ops
Operate a self-hosted OpenAI-compatible LLM router/proxy (e.g. LiteLLM) in front of one or more backends — the minimal client-wiring block for every client type, the context-window advertisement gotcha, the env-vs-persisted-config gotcha, and why an unauthenticated health probe should 401, not 200. Use when wiring a…
daily-ai-brief
Run the AI-news crew (scout, analyst, editor) to sweep the field with web search and ship a ranked briefing. Trigger when the user asks for an AI news brief, a daily or weekly AI roundup, "what shipped in AI", a model-release recap, or wants the standing cadence run.
scan-releases
Scan official AI release notes, changelogs, and deprecation pages, then flag what affects the user's stack and recommend an action for each item. Trigger on requests like "what AI releases happened recently," "check if my models or tools are deprecated," "any changelog updates that affect my stack," or periodic…
mle-workflow
Production machine-learning engineering workflow for data contracts, reproducible training, model evaluation, deployment, monitoring, and rollback. Use when building, reviewing, or hardening ML systems beyond one-off notebooks.