PenguinHarness is a local-first platform in which multiple AI agents create, evaluate, optimize, and deploy agent applications. It is for people building AI software who want agents to generate applications and improve their own behavior through skills.
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 Prism-Shadow/penguin-harness --skill ollamagit clone --depth 1 https://github.com/Prism-Shadow/penguin-harnessWrote 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/prism-shadow/penguin-harness/ollama)<a href="https://agentmods.dev/skills/prism-shadow/penguin-harness/ollama"><img src="https://agentmods.dev/badge/skills/prism-shadow/penguin-harness/ollama/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/prism-shadow/penguin-harness/ollama"><img src="https://agentmods.dev/badge/skills/prism-shadow/penguin-harness/ollama.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.00029 | $0.00910 |
| Opus 5 | $0.00015 | $0.00455 |
| Sonnet 5 | $0.00006 | $0.00182 |
| Haiku 4.5 | $0.00003 | $0.00091 |
Grade D, and why
ollama scanned grade D with 3 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.
Downloads and executes remote codehighSupply chain
curl | sh runs whatever the server returns today, which is not necessarily what it returned when this was reviewed.
curl -fsSL https://ollama.com/install.sh | sh # Linux; macOS/Windows use the desktop app Unrestricted tool accessmediumExcessive agency
A wildcard tool grant or "run any command" leaves no least-privilege boundary at all.
If the user's message only invokes this skill (e.g. "use ollama skill") without a concrete request, ask the user what they want. Do not run any command until the goal is clear. Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
4. Verify with `curl http://localhost:11434/v1/models`. How it starts
The opening of the file, as written. The whole thing — 88 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Ollama Serving
Ollama runs open-weight models locally with automatic GPU detection and an OpenAI-compatible API on http://localhost:11434.
Before you start
If the user's message only invokes this skill (e.g. "use ollama skill") without a concrete request, ask the user what they want. Do not run any command until the goal is clear.
Ask the user which model to run; if they have no preference, recommend the small default Qwen/Qwen3.5-0.8B (ollama pull qwen3.5:0.8b). The model must fit the machine's RAM/VRAM.
Ollama runs everywhere — macOS, Linux and Windows, on CPUs as well as NVIDIA/AMD GPUs — so engine choice follows the user's preference: Ollama is the simple default, while vLLM targets high-throughput GPU serving. Check the current state first:
ollama --version # is Ollama installed?
ollama ps # is the service already serving models?
If port 11434 is already serving, reuse that instance — never kill an existing Ollama process.
Suggested workflow
- Ask the user which model to run; with no preference, recommend Qwen/Qwen3.5-0.8B (
qwen3.5:0.8b). - Pick the engine the user prefers: Ollama is the default; vLLM covers high-throughput GPU serving.
- Install Ollama if missing, then
ollama pull qwen3.5:0.8b. - Verify with
curl http://localhost:11434/v1/models. - Register the endpoint:
penguin config model add ... --client-type openai-chat --base-url http://localhost:11434/v1— a pulled Ollama model is not visible to Penguin until added. - Confirm the new entry with
penguin config model list.
Install
curl -fsSL https://ollama.com/install.sh | sh # Linux; macOS/Windows use the desktop app
The service then listens on http://localhost:11434.
Pull and run
ollama pull qwen3.5:0.8b # download a model
ollama run qwen3.5:0.8b # interactive chat (pulls first if missing)
ollama list # downloaded models
ollama ps # models loaded in memory
ollama stop qwen3.5:0.8b # unload a model
What ships with it
1 file 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.
- 5d ago Changed · -4 lines 2cf623bd5cc0
- 10d ago First seen · 92 lines · 29 tokens per session scan D e36a813fc5ee
ollama is a skill published in the GitHub repository Prism-Shadow/penguin-harness (2,048 stars, last pushed today), licensed Apache-2.0. It adds 29 tokens to every session and 910 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it D with 3 findings (downloads and executes remote code, unrestricted tool access, 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
deepseek-harness
Use when building AI agent applications with a plugin-based architecture — Web UI, CLI, Python SDK, Cordis plugin system, multi-model orchestration. DeepSeek Harness (dsh): open-source agent harness by DeepSeek AI where everything is a plugin, powered by Cordis for spatiotemporal composability.
deepseek-harness
Use this skill whenever the user wants to call DeepSeek V4-Pro / V4-Flash (or its legacy aliases deepseek-chat / deepseek-reasoner), or you see code that imports from openai import OpenAI with baseurl="https://api.deepseek.com". This skill teaches you the 10 protocol contract rules required to avoid the 16 documented…
LLM
Implement large language model (LLM) chat completions using the z-ai-web-dev-sdk. Use this skill when the user needs to build conversational AI applications, chatbots, AI assistants, or any text generation features. Supports multi-turn conversations, system prompts, and context management.
ASR
Implement speech-to-text (ASR/automatic speech recognition) capabilities using the z-ai-web-dev-sdk. Use this skill when the user needs to transcribe audio files, convert speech to text, build voice input features, or process audio recordings. Supports base64 encoded audio files and returns accurate text…
VLM
Implement vision-based AI chat capabilities using the z-ai-web-dev-sdk. Use this skill when the user needs to analyze images, describe visual content, or create applications that combine image understanding with conversational AI. Supports image URLs and base64 encoded images for multimodal interactions.
AudioCraft
PyTorch library for audio generation including text-to-music (MusicGen) and text-to-sound (AudioGen). Use when you need to generate music from text descriptions, create sound effects, or perform melody-conditioned music generation.