pnCore AGENTS.md

pnCore AGENTS.md is an instructions file for Codex, OpenCode from perniemann/pnCore. It costs 1,995 tokens per session, scanned A, original, MIT.

An AGENTS.md instruction file that stores persistent notes for the pnCore workspace, including user preferences and facts learned from earlier work. AGENTS.md files guide coding agents while they work in a repository.

In plain words
What is it for?
Use it to preserve workspace-specific instructions and learned preferences across coding sessions.
Why use it?
It keeps important working rules in one place, such as commit-message requirements, server handling, planning preferences, and verification expectations.

Instructions file for CodexOpenCode

Install

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.

agentmods
npx agentmods add instructions/perniemann/pncore/agents-md
Clone the repo
git clone --depth 1 https://github.com/perniemann/pnCore

Made for: Codex, OpenCode.

Wrote 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.

agentmods badge for pnCore AGENTS.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/perniemann/pncore/agents-md.svg)](https://agentmods.dev/instructions/perniemann/pncore/agents-md)
Your own site
<a href="https://agentmods.dev/instructions/perniemann/pncore/agents-md"><img src="https://agentmods.dev/badge/instructions/perniemann/pncore/agents-md.svg" alt="Measured on agentmods" height="20"></a>
Per session 1,995 This file is loaded in full into every session.
When invoked 1,995 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.01995 $0.01995
Opus 5 $0.00997 $0.00997
Sonnet 5 $0.00399 $0.00399
Haiku 4.5 $0.00199 $0.00199

Measured today against content hash 711822c979c0, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

pnCore AGENTS.md 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 today.

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.

AGENTS.md · 44 lines

How it starts

The opening of the file, as written. The whole thing — 44 lines — stays where its author put it; the contents beside it link to each section on GitHub.

AGENTS.md

Persistent memory for this workspace. Updated from transcript deltas by pn-continual-learning.

Learned User Preferences

  • Never add trailer "Co-authored-by: Cursor [email protected]" or any "Made-with: Cursor" (or similar IDE) line to commits
  • Contributors: run git config core.hooksPath .githooks so prepare-commit-msg strips those lines automatically (see docs/commits.md); workspace rule .cursor/rules/pn-no-cursor-commit-trailers.mdc (alwaysApply) reduces agent-injected trailers; canonical copy ships as MCP rule pn-no-cursor-commit-trailers for other projects (pn-setup / pn-new)
  • Always terminate running servers before starting a new one
  • Avoid hedging: "possibly", "should", "could", "might" are not acceptable; use definitive statements
  • Prefer plans before implementation; implement plans as specified without editing the plan file
  • Commit when work is done; push only when the user explicitly asks
  • When user asks for verification, confirm everything works before claiming completion
  • On Windows PowerShell: use ; for command chaining (not &&); use Get-ChildItem -Force | Select-Object Mode,Name,Length instead of ls -la; use Test-Path + Get-Item .FullName to verify paths; use Where-Object and -match (case-insensitive by default) for filtering. Do not blindly translate Unix shell snippets — check the cmdlet first
  • When a /pn-* command is invoked but the user's actual request does not match that command's contract, state the mismatch in plain prose in the first response ("You invoked /X but the ask is Y; I'll re-route to Z unless you'd rather I run X as written") before re-routing. Silent re-routing is a RULE-MISS:acknowledge-command-mismatch per pn-build-gate § Command-contract acknowledgement; the [pn-command] ▲ start marker still applies during the re-route. Canonical rule: pn-build-gate § Command-contract acknowledgement

Learned Workspace Facts

  • pnCore: plugin and MCP for Cursor IDE (orchestration, skills, agents, commands, rules)
  • Canonical content source: packages/pn-core-mcp/content/; run npm run sync:content to update plugin
  • Plugin at plugins/pnCore/; MCP server at packages/pn-core-mcp/
  • Octocode used as companion MCP for code research (prior-art, tracing, LSP tools)
  • Open repo root for plugin + MCP; open plugins/pnCore for plugin-only workspace
  • npm run validate runs Prettier format:check first, then all plugin/workflow validators (run npm run format to fix TS/scripts style before commit)
  • npm run test:full matches CI Sync MCP content (lint, sync:content, build:mcp, test coverage, script tests, and full validate); use it before push when you change the MCP package, root scripts, or content sync
  • install-to-project.mjs: when run from repo root, writes root manifest pointing at plugins/pnCore
  • Context handoff manifest: docs/refs/context-index.json (+ schema, optional artifacts array since 1.3.0); npm run check:context-index; npm run check:artifact-status; npm run check:ac-traceability (in validate); see docs/refs/README.md
  • Cold-session packet: MCP tool project_context (modes operator|agent) — call at session start per pn-mcp-proactive; do not rely on Cursor sessionStart inject (optional fail-open canary only)
  • Hard HITL MCP: approval_checkpoint tool + PNCORE_APPROVAL_TOKEN in MCP server env (see packages/pn-core-mcp/README.md)
  • Current date for dated output: MCP health returns calendarDateUtc and timestampUtc (server clock, UTC). Best-practices reference: pn-core://reference/best-practices.md. Rule pn-current-date (always apply) encodes this for the plugin
  • House UI context for this repo: .pncore-design.md at the workspace root; global aesthetics stance in CLAUDE.md. Aesthetics checklist resource: pn-core://reference/aesthetics-baseline.md. Rule pn-aesthetics-baseline (always apply) ships with the plugin for downstream projects
  • engines.node >= 22 (Node 20 EOL April 2026); .nvmrc = 22; CI uses Node 22
  • list_skills without filters returns category index (total + counts + top-3 per category), not the full skill list; use category, filter, or limit to drill in; limit=0 for full list
  • Knowledge distribution: see CONTRIBUTING.md for the workspace map; architecture decisions live in docs/adr/NNNN-*.md (Nygard format). Bus-factor mitigation: every non-obvious decision gets an ADR
  • Skill/rule rot guard: ADR-0002 sets a quarterly audit cadence (Lehman's Laws). Outputs land in docs/refs/audit-YYYY-Qn.md. Pairs with pn-continual-learning (transcript-side) for full-loop maintenance
  • Root .gitignore entry .pncore/* only ignores the repository root .pncore/ tree; if the MCP or tests use CWD packages/pn-core-mcp/, add packages/pn-core-mcp/.pncore/ (or a broader **/.pncore/* policy) so local logs and test state are not committed by mistake
  • Validators that scan packages/pn-core-mcp/src/index.ts for tool registration must use the real helper name: tools are registered with regTool( (not server.tool(), so scripts such as validate-workflow-enums.mjs must search for the same string or CI can fail with “missing tool block”
  • MCP tool responses use compact JSON (no pretty-print); Paperclip workflow hint in terminal workflow steps is conditional on PAPERCLIP_API_URL + PAPERCLIP_API_KEY
  • Session retros: invoke /pn-retro (skill pn-session-retro under content/skills/learning/) for blameless session retrospectives; reports land under docs/refs/retros/ and feed the quarterly audit per ADR-0002; v1 is manual-only (no stop hook, no auto-diffs), v2 exit criteria documented in the SKILL's ## Deferred to v2 section
  • Business-strategy market evidence: when host_websearch / host_webfetch is the only market-evidence source (no FRED, Alpha Vantage, or Tavily MCP companion bound), spot-check at least 3 random citations before locking the verdict — the audit option at pn-business-strategy-orchestration step 7 exists for exactly this case and is now pre-selected as the default in that configuration; treat it as mandatory, not optional
  • /pn-strategy and any workflow_step call use camelCase params: workflowType and step (not workflow_type / workflow_step); the workflow-type enum is defined at packages/pn-core-mcp/src/index.ts workflowTypeEnum and includes business_strategy; if list_workflow_types on a downstream MCP install does not list it, the install is stale — fall back to the orchestration-skill-only path documented in commands/pn-strategy.md
  • Consumer-project gating (ADR-0015): MCP gates workflow_step only — not git or the Merge button. Portable trailer hooks: pn-core://reference/consumer-gating.md / scripts/install-consumer-gating.mjs
  • pnCore uses three distinct "tier" concepts — do not conflate them: (1) delivery tier = MVP/Full (see pn-core://reference/delivery-tier-criteria.md), drives verifier strictness in pn-deliver; (2) context tier = 1–4 reading depth (see pn-context-engineering), drives how much code/docs to load; (3) model tier = fast/standard/premium/premium_thinking/long_horizon (see packages/pn-core-mcp/src/model-tiers.ts), drives LLM choice per workflow step and loop orchestration (suggest_model_tier role orchestrator → long_horizon / Fable 5.1). Loop patterns: pn-core://reference/loop-orchestration-guide.md and pn-core://reference/loop-catalog/README.md. The suggest_model_tier MCP tool and WorkflowStepResult.suggestedModelTier field surface the model tier; override via PNCORE_FEATURES keys modelTierOverrides (per-step) and tierAliases (global remap, e.g. {"premium_thinking":"premium"} or {"long_horizon":"premium"} when Fable is unavailable)

Read the full file on GitHub · 44 lines

Changes

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.

  1. today Changed · +1 lines · +55 tokens per session 711822c979c0
  2. 3d ago First seen · 43 lines · 1,940 tokens per session scan A d50175577a64

Subscribe to this mod's changes

pnCore AGENTS.md is an instructions file published in the GitHub repository perniemann/pnCore (0 stars, last pushed yesterday), licensed MIT. It adds 1,995 tokens to every session, about $0.0100 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-31.