risk-based-verification

Designs and executes a risk-based verification matrix for behavior-changing code work.

10|1|Updated Jul 29, 2026
One-click install
npx skills add https://github.com/flowing-abyss/obsidian-local-fonts --skill risk-based-verification-flowing-abyss
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: risk-based-verification
Source: https://github.com/flowing-abyss/obsidian-local-fonts/tree/main/.ai/skills/risk-based-verification
Command: npx skills add https://github.com/flowing-abyss/obsidian-local-fonts --skill risk-based-verification-flowing-abyss

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Testing effort often follows file count or code coverage instead of actual risk, leaving high-impact changes under-verified. This Skill ensures every behavior-changing modification gets verification proportional to its risk, with documented evidence instead of vague claims like "all tests pass". ## Core Features & Use Cases - Risk Mapping: Evaluates data integrity, security, boundaries, concurrency, compatibility, availability, and user behavior risks, classifying each as low, medium, or high. - Verification Matrix: Maps every medium or high risk to at least one executable test, spanning unit, regression, contract, integration, concurrency, end-to-end, and migration tests. - Evidence Reporting: Requires exact commands, exit codes, pass/fail counts, uncovered risks, and residual risks in every completion report. - Use Case: Before claiming a database migration feature is complete, use this Skill to build a risk map, add rollback and regression tests, run verification progressively, and produce an auditable evidence report. ## Quick Start Ask the AI to apply risk-based verification to the current change before marking the work complete.

Frequently Asked Questions about risk-based-verification

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I decide which tests to write for a code change?

Build a risk map covering data integrity, security, boundaries, concurrency, compatibility, availability, and user behavior, then classify each applicable risk as low, medium, or high. Every medium or high risk must map to at least one executable test, such as unit, integration, contract, or end-to-end tests.

What is risk-based testing in software development?

Risk-based testing allocates verification effort according to the risk a change introduces rather than file count or coverage metrics. It identifies risks per category, selects matching test types, runs them progressively, and reports concrete evidence including commands, exit codes, and residual risks.

Does risk-based verification replace TDD or unit testing?

No, it complements test-driven development and existing verification practices rather than replacing them. TDD owns red-green-refactor and implementation, while this approach owns risk identification, test-strategy selection, coverage decisions, and evidence reporting.

When should I apply risk-based verification?

Apply it to any change that modifies observable behavior, crosses a boundary, changes stored data, affects authorization, introduces concurrency, or alters a public contract. Use it after design approval, before implementation, and again before claiming completion.

Why is a bug fix not complete without a regression test?

A bug fix without a regression test has no executable proof that the defect is resolved or that it will stay fixed. Risk-based verification requires creating a test that fails for the reported defect before fixing it, and treats missing regression tests as a stop condition.

What are the limitations of mocked tests for external boundaries?

Testing only mocked behavior for an external boundary is an explicit stop condition because mocks cannot reveal real API, queue, database, or filesystem behavior. Boundary changes require integration or contract tests against the actual external system or a faithful test environment.