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 agentmods add skills/getpostern/postern/verifynpx skills add getpostern/postern --skill verifygit clone --depth 1 https://github.com/getpostern/posternWhat 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 | $0.00037 | $0.02485 |
| Opus 5 | $0.00018 | $0.01242 |
| Sonnet 5 | $0.00007 | $0.00497 |
| Haiku 4.5 | $0.00004 | $0.00248 |
Grade A, and why
verify 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 yesterday.
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 — 77 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Verification gate
This file is the one place the repo's verification commands are written down. Other skills point here rather than restating them. Run the ones your change can reach; run all five before declaring a unit done.
| Command | Covers | Note |
|---|---|---|
npm run typecheck |
tsc --noEmit over src/ only — tsconfig.json:include is ["src"] |
Never sees apps/web. Green here says nothing about the Console. |
npm run typecheck --prefix apps/web |
The Console's own tsc --noEmit |
Its own tsconfig, its own React types. Worth running whenever you touched apps/web. |
npm run build --prefix apps/web |
tsc --noEmit && vite build |
The bundle proof on top of the typecheck. This is the Console leg of a merge gate. |
npm test |
vitest run over the whole repo, including apps/web/**/*.test.tsx |
DB suites skip without DATABASE_URL — see below. |
npm run test:db |
The whole DB-backed suite, against a throwaway Postgres of its own | Needs no db:up, no compose file, and works from a worktree. Brings up its own container (pci-throwaway-testdb, port 55432, no volume) and starts the runtime if needed. |
npm run test:db:file -- <path> |
One DB-backed file, same throwaway | ~2 s instead of ~40 s for all 170. Anything after -- reaches vitest, so -t "name" works too. |
npm run test:db:reap |
Removes the throwaway container | Nothing persists in it anyway; this is just disk. |
CI runs, in this order: npm ci · npm ci --prefix apps/web · npm run typecheck · npm run typecheck --prefix apps/web · npm run build · npm run migrate · npm test · npm run lint · npm audit --omit=dev --audit-level=high. Read .github/workflows/ci.yml — it is the authoritative sequence.
The test-DB guard — the detail behind the CLAUDE.md rule
CLAUDE.md states the rule (disposable *_test DB only; PCI_TEST_DB=1 is a full bypass). What it doesn't carry, and what makes the rule concrete:
Which suite does the damage. src/rest/admin.db.test.ts drives the revoke/erase paths, deleting seed-user provider_credentials and FK-cascading every domain row beneath them. On 2026-06-17 a run against the live pci database destroyed ~700 real finance rows that way (ADR docs/specs/decisions/0015-test-db-isolation.md).
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.
- yesterday First seen · 77 lines · 37 tokens per session scan A 78c9650eec4a
verify is a skill published in the GitHub repository getpostern/postern (1 stars, last pushed 22d ago), licensed Apache-2.0. It adds 37 tokens to every session and 2,485 once invoked, about $0.0002 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.
Other skills, from other repositories
openclaw
Use when setting up a multi-channel personal AI assistant gateway bridging chat platforms (Telegram, Discord, WhatsApp, WeChat) with LLM backends. OpenClaw: multi-channel AI assistant gateway for unified personal AI access.
tautulli
Monitor and analyze Plex Media Server usage via Tautulli analytics API. Use when the user asks to "check Tautulli", "Plex analytics", "watch statistics", "current streams", "who's watching", "Plex history", "most watched", "user activity", "library stats", or mentions Tautulli/Plex monitoring.
notebooklm
Programmatic access to Google NotebookLM for creating notebooks, adding sources (URLs, YouTube, PDFs, audio, video, images), chatting with content, generating artifacts (podcasts, videos, reports, quizzes, mind maps, flashcards, infographics), and downloading results. Includes capabilities beyond the web UI.
gh-address-comments
This skill should be used when addressing GitHub pull request review comments systematically with mandatory resolution tracking. Use when user says "address PR comments", "fix review feedback", "handle PR review", "resolve PR threads", or needs to ensure all review comments are addressed before merging. Fetches…
plex
Control Plex Media Server - browse libraries, search media, check what's playing, view recently added. Use when the user asks to "check Plex", "search Plex", "what's on Plex", "recently added", "who's watching", "Plex sessions", "Plex library", "browse movies", "browse TV shows", or mentions Plex media server.
radarr
This skill should be used when managing movies in Radarr. Use when the user asks to "add a movie", "search Radarr", "find a film", "add to Radarr", "remove a movie", "add movie collection", "check if movie exists", "Radarr library", or mentions movie management, TMDB integration, or Radarr operations.