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.
git clone --depth 1 https://github.com/perniemann/pnCoreWrote 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/commands/perniemann/pncore/pn-audit-errors)<a href="https://agentmods.dev/commands/perniemann/pncore/pn-audit-errors"><img src="https://agentmods.dev/badge/commands/perniemann/pncore/pn-audit-errors/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/commands/perniemann/pncore/pn-audit-errors"><img src="https://agentmods.dev/badge/commands/perniemann/pncore/pn-audit-errors.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.00041 | $0.00881 |
| Opus 5.5 | $0.00016 | $0.00352 |
| Sonnet 5.5 | $0.00008 | $0.00176 |
| Haiku 4.5 | $0.00004 | $0.00088 |
Grade A, and why
pn-audit-errors 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 1mo 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 — 88 lines — stays where its author put it; the contents beside it link to each section on GitHub.
pn-audit-errors
Start every response with: [pn-command] 🔺
Advanced (palette-hidden). Not in the
/slash palette. Invoked by the/pn-backend-auditumbrella, or directly viaget_command("pn-audit-errors").
Focused error handling pass: audit and standardize error responses, logging, correlation IDs, and graceful error flows. No API design changes (use pn-audit-api), no security hardening (use pn-audit-security) — error handling and observability only.
Flow
1. Context
Check .pncore-stack.md for framework, logging library, and observability tools. If not found, ask:
- "What framework? (Express/Fastify/FastAPI/Rails/other)"
- "What logging library? (pino / winston / structlog / default / none)"
- "Any APM or tracing in use? (Sentry / Datadog / OpenTelemetry / none)"
2. Scope
If not specified: "Full codebase error handling audit, or specific modules?"
3. Audit
Consult pn-core://skills/backend/reference/error-handling.md and load get_skill("pn-observability").
Error response consistency:
- Mixed error shapes across routes? (
{ message }in some,{ error }in others)? - Error codes present and stable (not HTTP status numbers as codes)?
requestIdincluded in all error responses?- Stack traces or internal DB errors leaking to clients?
- Same error class used for both operational and programmer errors?
Centralized error handling:
- Is there a single centralized error middleware/handler?
- Or are errors handled ad-hoc in each route handler?
- Async errors: are all async route handlers wrapped (asyncHandler / proper try-catch)?
- Unhandled promise rejections: is
process.on('unhandledRejection')captured?
Logging:
- Using
console.loginstead of structured logging? console.errorwithout context (no requestId, userId)?- Correct log levels? (errors at
error, handled operational errors atwarn, lifecycle atinfo) - Sensitive data (passwords, tokens, PII) potentially in logs?
- Structured JSON format configured for production?
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.
- 1mo ago First seen · 88 lines · 41 tokens per session scan A 740997f593eb
pn-audit-errors is a command published in the GitHub repository perniemann/pnCore (0 stars, last pushed yesterday), licensed MIT. It adds 41 tokens to every session and 881 once invoked, about $0.0002 per session on Opus 5.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-31.
Other commands, from other repositories
stripe-backend
Centralized LLM prompt instructions for Copilot and Cursor, including scripts to convert and sync rules for Python, React, Shell, and TypeScript. Designed for rapid reuse and contribution across projects.
implement-fastapi-routes
The file docstring contains a description of the FastAPI routes we need to implement. Implement these routes.
t800-start
A single command for creating or updating development helpers such as rules, skills, commands, subagents, and hooks. It can target a plugin, the current project, or shared settings.
t800-fix
A command for making a narrow, predefined fix to existing agents, skills, commands, rules, or hooks. A fix-pack is a file listing the exact changes to make.
t-800-factory
A command that delegates creation or integration of a subagent to the T-800 Factory. It passes the proposed role, category, permissions, callers, and existing registry information to that factory.
t-800-health
bash scripts/health-check.sh.