ThreatModel

ThreatModel is a skill for Claude Code, Codex from danielmiessler/LifeOS. It costs 182 tokens per session (1,656 once invoked), scanned A, original, MIT.

A defensive process for identifying sensitive data, imagining what could happen if systems were compromised, and recording risks with owners and mitigations.

In plain words
What is it for?
Use it to classify data, analyse compromise scenarios, estimate likelihood and impact, assign owners, and track mitigations.
Why use it?
It helps you understand the damage a breach could cause and keeps security risks from being forgotten.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one. Also seen: reads .claude/ paths.

Good fit Use it to classify data, analyse compromise scenarios, estimate likelihood and impact, assign owners, and track mitigations.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/danielmiessler/lifeos/threatmodel
About the project

LifeOS is an AI-assisted personal operating system that records a person’s goals, values, context, and current situation to help move them toward a desired future state. It supports work such as building applications, starting businesses, and creative projects. Its catalogue entries extend the system through skills, hooks, agents, and commands.

danielmiessler/LifeOS · 18,932 stars · on GitHub · ourlifeos.ai

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.

Any agent
npx skills add danielmiessler/LifeOS --skill threatmodel
Clone the repo
git clone --depth 1 https://github.com/danielmiessler/LifeOS

Made for: Claude Code, Codex.

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 ThreatModel

README.md
[![agentmods](https://agentmods.dev/badge/skills/danielmiessler/lifeos/threatmodel.svg)](https://agentmods.dev/skills/danielmiessler/lifeos/threatmodel)
Your own site
<a href="https://agentmods.dev/skills/danielmiessler/lifeos/threatmodel"><img src="https://agentmods.dev/badge/skills/danielmiessler/lifeos/threatmodel.svg" alt="Measured on agentmods" height="20"></a>
Per session 182 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,656 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • Snyk pass 7 Sept 2026
  • NVIDIA SkillSpector warn 7 Sept 2026
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 Data Exfiltration · line 33
    Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
    Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
How audits are shown
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.1 $0.00182 $0.01656
Opus 5 $0.00091 $0.00828
Sonnet 5 $0.00036 $0.00331
Haiku 4.5 $0.00018 $0.00166

Measured 5d ago against content hash 873cf9153179, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-08, from the pricing page.

Security

Grade A, and why

ThreatModel scanned grade A with 1 finding 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 5d ago.

The scan reads SKILL.md. This mod also ships 1 executable file (Tools/RiskRegister.ts), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

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.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

curl -s -X POST http://localhost:31337/notify \
LifeOS/install/skills/ThreatModel/SKILL.md · 111 lines

How it starts

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

ThreatModel

Threat modeling for the estate you actually run. Three moves: classify where sensitive data lives, simulate compromise of the assets that hold it, and keep the resulting risks in a register that gets reviewed instead of forgotten.

Customization

Before executing, check for user customizations at: ~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/ThreatModel/

If this directory exists, load and apply PREFERENCES.md (data locations, sensitive-data class priorities, response runbook cross-references). If not, proceed with defaults.

Data/Code Separation (safety gate)

This skill directory is public code. It must never contain data.

  • Every artifact a workflow produces — scenario docs, data classifications, register entries — is written to the private data directory, never into this skill tree.
  • Default data dir: ~/.claude/LIFEOS/USER/SECURITY/THREATMODEL/ (release-excluded USER tree). Override with THREATMODEL_DATA_DIR.
  • Tools/RiskRegister.ts structurally refuses any data dir that resolves inside a skills/ path.
  • Register entries reference credentials by env-var NAME only — never values. No tokens, keys, or cookies anywhere in threat-model output.

Voice Notification

When executing a workflow, do BOTH:

  1. Send voice notification:

    curl -s -X POST http://localhost:31337/notify \
      -H "Content-Type: application/json" \
      -d '{"message": "Running WORKFLOWNAME in ThreatModel"}' \
      > /dev/null 2>&1 &
    
  2. Output text notification:

    Running **WorkflowName** in **ThreatModel**...
    

Workflow Routing

Workflow Trigger File
SensitiveDataMap "where is our sensitive data", "data classification", "which assets hold sensitive data" Workflows/SensitiveDataMap.md
CompromiseScenario "what if X got hacked", "compromise scenario", "blast radius of X" Workflows/CompromiseScenario.md
ThreatModelTarget "threat model X", "threat model the estate", "risk assessment of X" Workflows/ThreatModelTarget.md
RiskRegister "risk register", "add a risk", "risk review", "accept risk", "close risk" Workflows/RiskRegister.md

Read the full file on GitHub · 111 lines

Files

What ships with it

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

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. 5d ago First seen · 111 lines · 182 tokens per session scan A 873cf9153179

Subscribe to this mod's changes

ThreatModel is a skill published in the GitHub repository danielmiessler/LifeOS (18,932 stars, last pushed 4d ago), licensed MIT. It adds 182 tokens to every session and 1,656 once invoked, about $0.0009 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.

Related

Other skills, from other repositories

plan-devex-review

Interactive developer experience plan review. Explores developer personas, benchmarks against competitors, designs magical moments, and traces friction points before scoring. Three modes: DX EXPANSION (competitive advantage), DX POLISH (bulletproof every touchpoint), DX TRIAGE (critical gaps only). Use when asked to…

Global-mindee/WAY · 156 tokens

plan-tune

Self-tuning question sensitivity + developer psychographic for gstack (v1: observational). Review which AskUserQuestion prompts fire across gstack skills, set per-question preferences (never-ask / always-ask / ask-only-for-one-way), inspect the dual-track profile (what you declared vs what your behavior suggests), and…

Global-mindee/WAY · 170 tokens

i-have-adhd

Action-first, zero-filler replies for a reader who loses the thread in prose. Use when the user asks for terse or direct answers, says too long, get to the point, tldr, stop rambling, or when replies keep getting cut off or ignored.

Zfinix/aster · 60 tokens

shortcuts

Run Apple Shortcuts on this Mac: list the available shortcuts first, then run one by exact name with optional input. Use when the user wants to trigger a shortcut or asks what shortcuts exist.

Zfinix/aster · 0 tokens

aster-capabilities

The complete map of what Aster can do and the exact command, flag, slash command, key, or config for each: install and sign-in, the chat TUI, permission modes and rules, every agent tool, review and fix, sessions, memory, config/keys/provider/model, mom.yaml routing, skills, plugins, MCP, web tools, sub-agents and…

Zfinix/aster · 0 tokens

tabw

Use when the user asks to "continue every session", "send this to all windows", "/ar:tabw". Acts on Claude sessions across tmux windows; destructive to in-flight work, so it states what it will do before doing it.

ahundt/autorun · 53 tokens