CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

conducting-cyber-risk-assessment-with-nist-800-30

Conduct a defensible cybersecurity risk assessment using the NIST SP 800-30 Rev 1 methodology: prepare scope and a risk model, identify threat sources and threat events, identify vulnerabilities and predisposing conditions, determine likelihood and impact, compute risk, and communicate results as a prioritized risk register. Use when an organization needs an actual risk *assessment* (not a maturity score), when a control framework (CSF, ISO 27001, RMF, SOC 2, PCI) requires a documented risk analysis as input, when leadership asks "what are our top risks and how bad are they", when assessing risk for a new system or major change, or when building a risk register from scratch. This is the methodology that feeds framework selection, ATO packages, and treatment decisions. Keywords: risk assessment, NIST 800-30, threat modeling, likelihood and impact, risk register, risk analysis, threat sources, vulnerabilities, risk determination, qualitative risk, risk matrix, residual risk, risk treatment.

Quality

89%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

78%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-structured instruction-only skill: the 800-30 workflow is sequenced with concrete per-step outputs, a defined report schema, and a properly factored bundle (standards reference, worked template, scoring script) referenced one level deep. The main gaps are minor: no explicit script invocation or sample input in the body, a redundant Key Concepts table, and no validation loop between scoring and communicating results.

Suggestions

Show the actual process.py invocation from its docstring (e.g., `python scripts/process.py --input risks.json --output register.md --fail-on High`) and point to a minimal risk-input JSON example so the scoring step is copy-paste executable.

Trim or merge the 'Key Concepts' table into the workflow steps, where threat sources, events, vulnerabilities, and likelihood are already defined, to remove duplicated definitions.

Add an explicit validation checkpoint between Step 2 and Step 3 — e.g., re-check assessed likelihoods against incident history/threat intel and confirm every register entry has an owner before publishing the risk register.

DimensionReasoningScore

Conciseness

The body is efficient — terse tables ('Threat source | The cause of a threat event: adversarial, accidental, structural, or environmental') and compact bullets dominate, but the 'Key Concepts' table re-explains terms already operationalized in the workflow steps (threat sources/events/vulnerabilities are defined in both Section 2a–2c and the table), and asides like '(Maturity tells you how mature your practices are; a risk assessment tells you what could hurt you and how badly)' pad slightly. This matches anchor 4 (efficient with minor over-explanation that could be trimmed), not 5 — a leaner version would cut the redundant definitions table.

4 / 5

Actionability

Concrete guidance throughout: specific taxonomy steps ('Classify by type: Adversarial... Accidental... Structural... Environmental'), an explicit output table schema ('ID, threat event, asset, likelihood, impact, risk level, contributing vulnerabilities, recommended treatment, owner, residual risk'), and a named script ('Use `scripts/process.py` to score the register from a risk-input JSON... rank risks, and emit the register table'). It stops short of anchor 5 because the actual invocation command (`python process.py --input risks.json [--fail-on High]`) is never shown in the body, and no sample risk-input JSON appears in SKILL.md even though process.py requires one.

4 / 5

Workflow Clarity

The five-step workflow is clearly sequenced (Prepare → Conduct 2a–2f → Communicate → Maintain → Treatment) with per-step outputs and an early checkpoint ('Lock these now' for the risk model/scales, 'Agreement on the risk model and scales before scoring'). This is anchor 4: clear sequence with most checkpoints present but minor validation gaps — there is no explicit review/validation loop after scoring (e.g., sanity-check likelihoods against incident data or re-validate register entries) before communicating results; not 3 because the sequence and checkpoints are far more complete than a bare step list.

4 / 5

Progressive Disclosure

The body is a well-organized overview with three real, one-level-deep bundle files, each cited exactly where needed: '`references/standards.md`' (prerequisites, scales/matrix), '`assets/template.md`' (output format), and '`scripts/process.py`' (register scoring). Bulk detail (taxonomy tables, worked example, scoring engine) is appropriately split out rather than inlined, matching anchor 5 (clear overview with well-signaled one-level-deep references).

5 / 5

Total

17

/

20

Passed

Description

96%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

An exemplary description: it states the complete 800-30 methodology in third person with six concrete actions, provides an explicit multi-trigger 'Use when' clause with natural user phrasing, and cleanly disambiguates itself from maturity-scoring skills. The only weakness is slight keyword overlap with adjacent threat-modeling and compliance skills.

DimensionReasoningScore

Specificity

It enumerates concrete, comprehensive actions: 'prepare scope and a risk model, identify threat sources and threat events, identify vulnerabilities and predisposing conditions, determine likelihood and impact, compute risk, and communicate results as a prioritized risk register' — six specific actions matching the methodology end to end. This fits anchor 5 (multiple specific concrete actions, comprehensive coverage); anchor 4 would apply only if a stage of the methodology were missing, which it is not.

5 / 5

Completeness

It explicitly answers both questions: 'what' is the full 800-30 pipeline described above, and 'when' is a dedicated 'Use when' clause with five concrete triggers ('when an organization needs an actual risk *assessment* (not a maturity score)', 'when a control framework (CSF, ISO 27001, RMF, SOC 2, PCI) requires a documented risk analysis', 'when leadership asks "what are our top risks..."', 'when assessing risk for a new system or major change', 'when building a risk register from scratch'). This is anchor 5 exactly.

5 / 5

Trigger Term Quality

Natural user phrasing is covered comprehensively, including synonyms and scenario wording: 'risk assessment, NIST 800-30, threat modeling, likelihood and impact, risk register, risk analysis, threat sources, vulnerabilities, risk determination, qualitative risk, risk matrix, residual risk, risk treatment', plus a verbatim user question ('what are our top risks and how bad are them' phrased as "what are our top risks and how bad are they"). This matches anchor 5 (comprehensive coverage including synonyms); no commonly-used natural term in this domain is missing.

5 / 5

Distinctiveness Conflict Risk

The niche is sharply defined and self-disambiguating ('needs an actual risk *assessment* (not a maturity score)') with named frameworks and outputs (risk register, ATO packages). However, listing 'threat modeling' as a keyword creates minor overlap with a dedicated STRIDE/ATT&CK threat-modeling skill, and 'risk analysis'/'compliance' could pull requests intended for generic framework-compliance skills — anchor 4 (mostly distinct; minor overlap with closely related skills) rather than 5 (minimal conflict risk).

4 / 5

Total

19

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository

mukul975/Anthropic-Cybersecurity-Skills

Path

skills/conducting-cyber-risk-assessment-with-nist-800-30/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.