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.
Borrowing it
Nothing to install: this file belongs to Prism-Shadow/penguin-harness. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/Prism-Shadow/penguin-harness/main/.agents/skills/penguin-harness-dev/SKILL.mdgit 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/penguin-harness-dev)<a href="https://agentmods.dev/skills/prism-shadow/penguin-harness/penguin-harness-dev"><img src="https://agentmods.dev/badge/skills/prism-shadow/penguin-harness/penguin-harness-dev/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/penguin-harness-dev"><img src="https://agentmods.dev/badge/skills/prism-shadow/penguin-harness/penguin-harness-dev.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 3 findings, up to medium
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 →
- medium Rogue Agent · line 54 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.
- medium Excessive Agency · line 60 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 Agent Snooping · line 109 Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.Fix: Remove all code or instructions that list or read other skills' files or directories. Skills should operate independently; cross-skill access is a privilege escalation.
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.04561 |
| Opus 5 | $0.00060 | $0.02280 |
| Sonnet 5 | $0.00024 | $0.00912 |
| Haiku 4.5 | $0.00012 | $0.00456 |
Grade A, and why
penguin-harness-dev scanned grade A with 0 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 4d 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 163 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Developing PenguinHarness
PenguinHarness is a TypeScript monorepo: an Agent SDK (packages/core), an HTTP server (packages/server), a Web App (packages/web), a CLI (packages/cli), an Electron shell (packages/desktop), the landing and docs sites, and the shipped plugin library — one npm package per plugin under the repo root's plugins/, with packages/plugins as the loader that depends on them all. It consumes LLM providers through @prismshadow/agenthub and implements no provider clients of its own.
Repo shape — read before your first edit
Two repositories sit side by side: the implementation repo (penguin-harness) and the design repo (penguin-harness-design). Three paths inside the implementation repo are symlinks into the design repo and are gitignored here:
design/→ the design repo, so specs are reachable asdesign/specs/…AGENTS.md→design/AGENTS.mdCLAUDE.md→AGENTS.md
Editing AGENTS.md, CLAUDE.md or anything under specs/ edits the design repo's files. Commit them there, on their own branch, in their own PR. They can never appear in an implementation-repo PR. A fresh clone has none of the three links; recreate them by hand.
Both repos take changes through branch + PR against main, squash-merged. Do not push to main.
Branches are feat/<topic>, fix/<topic>, docs/<topic> in both repos. Some older branches here read docs-<topic> instead: a remote branch literally named docs once held that ref namespace and made the slashed form unpushable. It is gone — if a push is ever rejected as a directory/file conflict again, git ls-remote --heads origin names the branch responsible.
Independent changes each get their own git worktree under ../penguin-harness-wt/<topic>/ so several can run in parallel.
Verify what you changed
Node must be >= 24. In each worktree, pnpm install --frozen-lockfile first.
The full chain CI runs is pnpm build, pnpm format:check, pnpm typecheck, pnpm test, sh scripts/test-installer.sh. Do not reach for pnpm test by reflex — it is nine packages and ~2500 tests, minutes per run, and for a docs-only diff it proves nothing the narrow run does not. Pick the narrowest evidence that would actually fail for this change's regression:
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.
- 4d ago Changed 3573f3a15aff
- 9d ago First seen · 163 lines · 119 tokens per session scan A 31592cae5d7d
penguin-harness-dev is a skill published in the GitHub repository Prism-Shadow/penguin-harness (2,025 stars, last pushed yesterday), licensed Apache-2.0. It adds 119 tokens to every session and 4,561 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
harness-creator
Build, audit, and improve harnesses that make AI coding agents reliable: AGENTS.md/CLAUDE.md instruction files, feature/state tracking, verification gates, scope boundaries, session handoff, memory persistence, context budgets, tool-permission safety, and multi-agent coordination. Use this whenever a coding agent is…
agentfield-use
Whenever you have a discrete task to perform — one the user delegated, or one that arose inside your own work — check FIRST whether an installed AgentField agent covers it, and offload to it by default when one does. Coverage, not task size, is the test: even a small job goes to a covering agent. The check is cheap …
browser-workflow-skill-builder
Create robust browser automation skills for sites like LinkedIn, X/Twitter, YouTube, Stripe, or other logged-in web apps by saving page context, analyzing HTML/CSS, writing skill-local JS extract/verify scripts, and using CSS selector actions with screenshot verification.
agent-browser
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a…
cli-skill-design
Design a co CLI surface and its SKILL.md together so an agent can drive it without guessing — every command ends by naming the next one, --help lists everything, and every failure says what to run instead. Use when adding a new CLI command group, writing or rewriting a SKILL.md for one, or auditing an existing one.
building-ui
Complete guide for building beautiful apps with Expo Router. Covers fundamentals, styling, components, navigation, animations, patterns, and native tabs.