requirements-framework-builder

Extends the Claude Code Requirements Framework with custom strategies, calculators, and requirement types.

1|Updated Dec 11, 2025
One-click install
npx skills add https://github.com/HarmAalbers/claude-requirements-framework --skill requirements-framework-builder-harmaalbers
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: requirements-framework-builder
Source: https://github.com/HarmAalbers/claude-requirements-framework/tree/main/plugins/requirements-framework/skills/requirements-framework-builder
Command: npx skills add https://github.com/HarmAalbers/claude-requirements-framework --skill requirements-framework-builder-harmaalbers

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Developers who need to customize the Claude Code Requirements Framework beyond its built-in blocking, dynamic, and guard strategies lack a clear path for adding new requirement types, calculators, and auto-satisfaction mappings without breaking the hook pipeline. ## Core Features & Use Cases - Custom Strategy Creation: Subclass RequirementStrategy, implement a fail-open check() method, and register the instance in strategy_registry.py. - Dynamic Calculators: Build RequirementCalculator subclasses exposing a module-level Calculator alias that the dynamic strategy loads by name from hooks/lib/. - Auto-Satisfaction Mappings: Link skills to ADR-022 gates (design_approved, plan_written, plan_validated, implementation_done, pr_reviewed, verified) in auto-satisfy-skills.py. - Use Case: Add a code_complexity requirement that counts TODO comments via a custom calculator, blocks edits when the count exceeds 20, and rebuilds the plugin bundle with uv run python scripts/build_plugin_hooks.py. ## Quick Start Ask the assistant to add a new requirement type with a custom strategy and calculator to the requirements framework, then rebuild the plugin bundle.

Frequently Asked Questions about requirements-framework-builder

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

FAQPage Schema
How do I add a new requirement type to the requirements framework?▼

Define the requirement in .claude/requirements.yaml with a type, scope, trigger_tools, and message. If built-in blocking, dynamic, or guard strategies do not fit, create a custom strategy subclassing RequirementStrategy and register an instance in strategy_registry.py.

How do I create a custom calculator for dynamic requirements?▼

Subclass RequirementCalculator in a new hooks/lib module, implement calculate() returning a dict with value and summary keys, and expose a module-level Calculator alias. Reference the module name in the calculator config field; the dynamic strategy imports it automatically.

Why is my custom strategy not loading in the requirements framework?▼

Verify the file is in hooks/lib/, the class is registered as an instance (not a class) in strategy_registry.py, and the plugin bundle was rebuilt with uv run python scripts/build_plugin_hooks.py. Check ~/.claude/requirements.log for import errors.

What gate names are valid for auto-satisfaction mappings?▼

Under ADR-022 the live gates are design_approved, plan_written, plan_validated, implementation_done, pr_reviewed, and verified; ship is gateless. Retired names like commit_plan or pre_pr_review have no backward-compatible aliases and fail validation.

When should I use a blocking strategy versus a guard strategy?▼

Use blocking for checkpoints requiring manual satisfaction via req satisfy, such as plan validation or review approvals. Use guard for conditions that must pass automatically with no manual override, such as protected branch checks.