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 commands/jonase47/ccpr/p3-sec-threatsgit clone --depth 1 https://github.com/jonase47/ccprWrote 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/jonase47/ccpr/p3-sec-threats)<a href="https://agentmods.dev/commands/jonase47/ccpr/p3-sec-threats"><img src="https://agentmods.dev/badge/commands/jonase47/ccpr/p3-sec-threats.svg" alt="Measured on agentmods" 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.00000 | $0.00883 |
| Opus 5 | $0.00000 | $0.00441 |
| Sonnet 5 | $0.00000 | $0.00177 |
| Haiku 4.5 | $0.00000 | $0.00088 |
Grade A, and why
p3-sec-threats 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 — 86 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/p3-sec-threats – Create STRIDE Threat Model
Analyzes the system according to the STRIDE model and identifies threats with countermeasures.
Argument: $ARGUMENTS = [Focus area, e.g. "API", "Database", "Frontend"]
If provided: Focus STRIDE on the named area. If not provided: Analyze the entire system.
Prerequisites
- ARCHITECTURE.md with component diagram exists
- TECH_STACK.md exists
Agent
- Type: security-master
- Model: opus
Context (Orchestrator prepares)
Orchestrator reads beforehand and delivers inline:
- From ARCHITECTURE.md: Component diagram and data flows
- From TECH_STACK.md: Technologies in use (short list)
Prompt Template
Goal: STRIDE threat model for: $ARGUMENTS
Architecture: [inline from ARCHITECTURE.md]
Output Format: Table: | STRIDE Category | Threat | Affected Component | Severity | Countermeasure | Status | Severity: Critical / High / Medium / Low Status: open / addressed
Constraints:
- ONLY threat model, NO auth concept, NO checklists
- Max. 12 threats
- Focus on realistic threats for the project type
Orchestrator Checkpoint
- All 6 STRIDE categories covered?
- Severity levels plausible?
Write Detail File
Write the result to docs/architecture/THREATS.md (overwrite if it exists). Start with this YAML frontmatter:
---
phase: P3
subskill: sec-threats
status: active
last_updated: <DD.MM.YYYY>
---
Body sections: ## STRIDE Threat Model (the table STRIDE Category / Threat / Component / Severity / Countermeasure / Status), ## Critical Threats Summary (the open Critical/High items called out for the gate).
Update Sub-Index
Update docs/architecture/SECURITY.md (the security sub-index, created by /p3-security if missing):
- Set
**Last Updated:** <DD.MM.YYYY>. - In its Detail Files table: ensure a row for
[THREATS.md](THREATS.md)with statuscomplete. - Lift any open Critical threat into Open Risks / Open Questions of the sub-index (e.g.
- Critical: <threat> still open → see THREATS.md). - Do not edit the phase-level
ARCHITECTURE.mddirectly —/p3-securityrolls the sub-index summary up to the phase index.
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 · 86 lines · 0 tokens per session scan A 73707a748ab0
p3-sec-threats is a command published in the GitHub repository jonase47/ccpr (1 stars, last pushed today), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 883 tokens. 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-09-03.
Other commands, from other repositories
sdd-implement
Execute a task list in dependency order, tests before implementation for each task, halting on any non-parallel failure instead of pressing ahead.
wiki-tune
Tune wiki schema and conventions interactively.
experiment
Design A/B test with statistical rigor. Usage: /mindforge:experiment [feature] [--metric conversion|engagement|revenue] [--duration 2w].
listen
Show what a given agent should read before coding, plus briefs/approvals mentioning it.
agents
List all agent git worktrees and their branch / dirty / HEAD status.
approvals
Show the pending approval queue.