Skip to content
Agent Orchestration
Skill

/omh-application-threat-model

[omh] Attack paths into an operated system: turn a system's components and data flows into assets, trust boundaries, attack scenarios, controls, and the security test that proves each control holds. Use when the user says: application-threat-model, application threat model,

BOOST
From plugin
oh-my-hermes
3.2k145 skills
Install
$ npx -y skills add rlaope/oh-my-hermes --skill omh-application-threat-model --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/omh-application-threat-model

Context preview

The summary Claude sees to decide when to auto-load this skill.

[omh] Attack paths into an operated system: turn a system's components and data flows into assets, trust boundaries, attack scenarios, controls, and the security test that proves each control holds. Use when the user says: application-threat-model, application threat model,

SKILL.md

omh-application-threat-model.SKILL.md
name: "omh-application-threat-model"
description: "[omh] Attack paths into an operated system: turn a system's components and data flows into assets, trust boundaries, attack scenarios, controls, and the security test that proves each control holds. Use when the user says: application-threat-model, application threat model, threat model, threat modeling, threat modelling, threat modeling session, threat modeling workshop, security threat model."
metadata:
  hermes:
    tags: [workflow, oh-my-hermes, review]
    category: review
    phase: application-threat-model
    role: reviewer
    quality_tier: security-safety-gated

Application Threat Model

This is a Hermes-native `application-threat-model` workflow skill.

Why This Exists

`application-threat-model` exists because the nearest neighbour does not merely miss this request. `security-safety-review` maps the agent's own prompt, tool, credential, and dependency surface, so an application threat-model request came back as an agent tool inventory under a near-identical name — a confident wrong artifact rather than a miss, in the one domain where that costs most.

Do Not Use When

  • The subject is the agent's own prompts, tools, files, credentials, dependencies, or destructive actions; use `security-safety-review`, which maps that runtime surface.
  • The user wants defects found in a diff or a file; use `code-review`.
  • The user asks whether a release is ready across rollout, rollback, and observability; use `production-audit`.
  • The user asks which commands prove a merge is safe; use `verification-gate`.
  • The user asks for a contractual or regulatory obligation rather than an attacker; use `legal-compliance-review`.

Examples

Good example:

  • Prompt: build a threat model for our payment service architecture
  • Expected behavior: Prepare application_threat_model/v1: ask for the component map and data flows, register card data and settlement records as assets, mark the merchant API edge and the PSP callback as trust boundaries, derive scenarios per boundary, decide a control for each, and name the test that fails when the control is removed.
  • Why: The subject is an application the user operates, and the goal needs assets, boundaries, scenarios, controls, and tests.

Bad example:

  • Prompt: application-threat-model check whether this agent can be prompt-injected through its file tool
  • Expected behavior: Route to `security-safety-review`: prompts, tools, and credentials are the agent's runtime surface, not an application this workflow models.
  • Why: The two surfaces share vocabulary and nothing else; modeling the agent's runtime here is how the artifacts get confused.

Completion Checklist

  • Every asset carries a data class and one named loss; every boundary names what crosses it and what authenticates the crossing.
  • Every scenario resolves to mitigate, transfer, accept, or eliminate, with an owner.
  • Every mitigating control carries a security test and the observable that fails without it.
  • Controls read deployed, planned, or `unverified`; none is inferred from the architecture description.
  • Residual risk is listed, and the model is not offered as a scan, a penetration test, or an attestation.

Recovery Notes

  • If the architecture is not described, ask for the component map and the data flows before modeling; never substitute a generic checklist for the real system.
  • If a scenario has no boundary and no asset, drop it with the reason rather than carrying an unreachable threat.
  • If the user asks for exploit code, give the precondition and the detection signal instead, then hand remediation to an executor.
  • If the request turns out to be about the agent's own prompts, tools, or credentials, stop and hand it to `security-safety-review`.

Workflow Lane

  • Current lane: **Coding handoff** (`idea-to-deploy`, `llm-app-dev`, `cto-loop`, `deploy-and-monitor`, `code-review`, `build-failure-triage`, `verification-gate`, `security-safety-review`, `+28 more`) - coding owners, handoffs, review, CI, and merge evidence.
  • If intent belongs to another lane, hand back to `oh-my-hermes` or name the adjacent workflow.
  • Shared product, routing, compatibility, and evidence rules: `omh-routing/references/skill-common-rail.md`.

Use When

Use when Hermes must model the security of an application, service, or deployed system the user operates: which assets are worth taking, where trust changes hands, how an attacker reaches each asset, which control stops them, and which security test fails when that control is removed. The subject is the modeled system, never the agent's own runtime.

Strong routing signals: `application-threat-model`, `application threat model`, `threat model`, `threat modeling`, `threat modelling`, `threat modeling session`, `threat modeling workshop`, `security threat model`, `build a threat model`, `model the threats`, `threat scenarios`, `stride analysis`, `stride model`, `trust boundary`, `trust boundaries`, `attack scenario`, `attack scenarios`, `attack tree`, `attack trees`, `abuse case`, `abuse cases`, `security design review`, `security architecture review`, `architecture security review`, `how would an attacker`, `how could an attacker`, `what could an attacker do`, `attacker perspective`

Catalog Metadata

Category: `review` Phase: `application-threat-model` Hermes role: `reviewer` Quality tier: `security-safety-gated` Reasoning demand: `standard`

Quality bar:

  • Name every component, data store, and external dependency of the real system before naming one threat; a model of a system nobody described is a checklist.
  • Give each asset a data class and exactly one loss: disclosure, corruption, unavailability, or fraud.
  • For each trust boundary, state what crosses it, what authenticates the crossing, and what the receiver assumes without checking.
  • Run all six STRIDE prompts from `omh-application-threat-model/references/threat-model-method.md` per boundary; drop an unreachable scenario w
Read more
Ships withoh-my-hermes

English | 한국어 | 日本語 | 中文 Install once. Keep Hermes. Add a stronger operating layer. Planning, research, creation, coding handoffs, operations, and project memory with explicit evidence boundaries.

Get the whole plugin
Stats
3,206
Stars
244
Forks
Active
Maintenance
Python
Language
MIT
License
4h ago
Last commit
4mo ago
Created
9h ago
Added

Repo: rlaope/oh-my-hermes

Other skills on oh-my-hermes.