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.
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 danielmiessler/LifeOS --skill threatmodelgit clone --depth 1 https://github.com/danielmiessler/LifeOSWrote 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/danielmiessler/lifeos/threatmodel)<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>- Snyk pass
- 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 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.
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.00182 | $0.01656 |
| Opus 5 | $0.00091 | $0.00828 |
| Sonnet 5 | $0.00036 | $0.00331 |
| Haiku 4.5 | $0.00018 | $0.00166 |
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.
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 \ 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 withTHREATMODEL_DATA_DIR. Tools/RiskRegister.tsstructurally refuses any data dir that resolves inside askills/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:
-
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 & -
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 |
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.
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.
- 5d ago First seen · 111 lines · 182 tokens per session scan A 873cf9153179
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.
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…
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…
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.
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.
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…
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.