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 assafkip/kipi-system --skill prd-osgit clone --depth 1 https://github.com/assafkip/kipi-systemWrote 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/assafkip/kipi-system/prd-os)<a href="https://agentmods.dev/skills/assafkip/kipi-system/prd-os"><img src="https://agentmods.dev/badge/skills/assafkip/kipi-system/prd-os/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/assafkip/kipi-system/prd-os"><img src="https://agentmods.dev/badge/skills/assafkip/kipi-system/prd-os.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, 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 30 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.
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.00080 | $0.01546 |
| Opus 5 | $0.00040 | $0.00773 |
| Sonnet 5 | $0.00016 | $0.00309 |
| Haiku 4.5 | $0.00008 | $0.00155 |
Grade A, and why
prd-os 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 9d 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 — 78 lines — stays where its author put it; the contents beside it link to each section on GitHub.
prd-os
Formal, repo-native workflow for PRD creation and PRD execution inside Claude Code. An independent reviewer is the gate at both phases: Codex, or a Claude senior-staff-engineer subagent when Codex is unavailable.
Whichever reviewer ran is recorded in the findings ledger as codex-review, codex-adversarial, claude-review, or claude-adversarial. Stamping one for another puts false provenance in a repo whose thesis is receipts. Enforcement is partial and the boundary matters: the REVIEWER_SOURCES validator in findings_writer.py refuses any value outside that set (so manual and plan cannot fill a review gate), but no checker can tell which of the four actually ran. That last step is a model decision with no gate behind it.
Status
Operational. Plugin version is authoritative in .claude-plugin/plugin.json; the state machines, commands, and gates below are shipped and enforced by the runner scripts. CHANGELOG.md carries the per-version history.
State machines
PRD: idea -> draft -> in-review -> draft (on revise) -> approved -> archived.
Issue: open -> in-progress -> closed. Receipts required between approve and close: verified, reviewed, findings_triaged.
Commands
PRD side (this plugin): /prd-start, /prd-review, /prd-triage, /prd-approve, /prd-split, /prd-archive, /prd-personas, /prd-map.
There is no /prd-revise command. A PRD returns to draft via prd_runner.py advance draft after triage.
Issue side ships in the kipi-dsse plugin, not this one: /issue-start <id>, /issue-approve, /issue-verify, /issue-review, /issue-closeout, /issue-amend. The two plugins share the .prd-os/ state directory and the findings ledger.
Bootstrap: /prd-os-init (runs once per repo to scaffold .prd-os/, write config.json, and add the runtime state dir to .gitignore). It does NOT register hooks -- that claim shipped through 0.17.0 with no code behind it (ASK-402). Hooks come from this plugin's hooks/hooks.json when the plugin is enabled.
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.
- 9d ago First seen · 78 lines · 80 tokens per session scan A db7df64c09c1
prd-os is a skill published in the GitHub repository assafkip/kipi-system (110 stars, last pushed today), licensed MIT. It adds 80 tokens to every session and 1,546 once invoked, about $0.0004 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
tasks
View and manage the task stack and processing queue. Shows pending work, active tasks, completed items, and queue state. Triggers on "/tasks", "show tasks", "what's pending", "task list", "queue status".
roadmap-build
Build or repair a roadmap that agents can actually execute, not just read. Produces a single validated YAML source of truth, generated views, definitions of done with evidence kinds, a task pool linked on two axes, an idea intake queue, and three standing checks that keep it honest. Use when asked to "build a…
core
This skill should be used when the user says "capture memory", "save to memory", "remember this", or trigger phrases like: "I've decided", "let's use", "we're going with", "I learned", "turns out", "TIL", "discovered", "I'm stuck", "blocked by", "always use", "never do", "convention is". Also triggers on recall…
blackboard
Cross-session handoff, persistent context via blackboard, and agent coordination patterns.
custodian
Memory system custodian for health checks, validation, and maintenance. Trigger phrases: "check memory health", "validate memories", "fix broken links", "update decay", "relocate memories", "audit memories", "memory maintenance", "custodian", "memory health".
format
MIF Level 3 specification, memory templates, and formatting guidelines.