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 jimtin/production-ai --skill security-threat-modelgit clone --depth 1 https://github.com/jimtin/production-aiWrote 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/jimtin/production-ai/security-threat-model)<a href="https://agentmods.dev/skills/jimtin/production-ai/security-threat-model"><img src="https://agentmods.dev/badge/skills/jimtin/production-ai/security-threat-model/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/jimtin/production-ai/security-threat-model"><img src="https://agentmods.dev/badge/skills/jimtin/production-ai/security-threat-model.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.00129 | $0.01931 |
| Opus 5 | $0.00064 | $0.00966 |
| Sonnet 5 | $0.00026 | $0.00386 |
| Haiku 4.5 | $0.00013 | $0.00193 |
Grade A, and why
security-threat-model 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 10d 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 — 101 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Security Threat Model
Purpose
Produce a written threat model that is specific to the target system — grounded in files that exist, attackers that are realistic, and impacts that matter — and save it as <target-name>-threat-model.md. The default outcome is a report and a prioritized mitigation list. This skill does not change code; remediation is separate work.
The quality bar: a reader who knows the repo should recognize every component, and a reader who knows security should find no threat they cannot trace to a boundary and an asset.
Operating Rules
- Start from repo truth: entrypoints, route handlers, jobs, parsers, configs, deployment files, CI workflows. Do not model from the README alone.
- Tag every material claim
confirmed(file evidence),inferred(reasonable reading of evidence), orunknown. Never present inferred architecture as fact. - Model the system that runs. Separate runtime surface from build/CI/dev tooling and from tests/examples — they have different attackers and different blast radii.
- Calibrate the attacker. State capabilities and non-capabilities explicitly; severity inflation comes from imaginary attackers with unlimited access.
- Prefer a small set of high-quality abuse paths over a long generic checklist. Every threat must name the boundary it crosses and the asset it reaches.
- Existing mitigations need evidence; recommended mitigations need a location and a control type. No "validate inputs" hand-waving.
- In interactive work, pause before final priorities: surface the ranking-critical assumptions to the user and ask up to 3 targeted questions. If the user cannot answer, keep the assumptions listed and mark affected priorities conditional.
- In headless or gate contexts, do not wait for user input and do not fabricate answers. Record ranking-critical assumptions as
unvalidated, mark affected priorities conditional, and fail closed only when an unknown prevents a defensible risk decision. - Do not paste secrets, tokens, or sensitive payloads into the report — reference their locations instead.
What ships with it
8 files 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.
- agents/openai.yaml 479 B
- references/boundaries-assets-controls.md 2.7 KB
- references/example-report.md 4.4 KB
- references/report-contract.md 2.6 KB
- references/surface-checklists.md 2.9 KB
- scripts/threat-model-report-check.mjs 3.0 KB runs code
- scripts/threat-model-report-check.test.mjs 2.0 KB runs code
- security-threat-model-skill-threat-model.md 6.6 KB
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.
- 10d ago First seen · 101 lines · 129 tokens per session scan A 6f14a49ee6ff
security-threat-model is a skill published in the GitHub repository jimtin/production-ai (1 stars, last pushed 2mo ago), licensed MIT. It adds 129 tokens to every session and 1,931 once invoked, about $0.0006 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
git-workflow
This skill should be used when the user asks to "create git commit", "manage branches", "follow git workflow", "use Conventional Commits", "handle merge conflicts", or asks about git branching strategies, version control best practices, pull request workflows. Provides comprehensive Git workflow guidance for team…
daily-paper-generator
Use when the user asks to generate daily paper digests on a general topic. This skill supports both arXiv and bioRxiv (or either one), then produces structured Chinese/English summaries for selected papers.
codex-autoresearch
Run autonomous, measurable experiments in a Git repository: change one hypothesis, verify a numeric metric, keep improvements, and revert failures. Use when the user wants Codex to keep iterating toward a numeric target in the foreground or as a detached background run. Do not use for ordinary one-shot coding…
clipboard
Copy text to clipboard with optional rich formatting. Triggers on "copy to clipboard", "copy that", "pbcopy", "copy formatted", "copy rich text".
neo4j-modeling-skill
Design, review, and refactor Neo4j graph data models. Use when choosing node labels vs relationship types vs properties, migrating relational/document schemas to graph, detecting anti-patterns (generic labels, supernodes, missing constraints), designing intermediate nodes for n-ary relationships, enforcing schema with…
agent-safety
Use when bounding an LLM agent that already runs — scoping its task domain, gating tools to least privilege, defending against prompt injection in untrusted web/email/RAG text, requiring human approval on irreversible actions, capping runtime and cost, or triaging what it already did. NOT building the loop, tools, or…