src/main/resources/targets/claude/skills/core/internal/ops/x-internal-validate-rnf/SKILL.md
Validate RNF no-relax markers and justification gate for override inheritance
npx skillsauth add edercnj/claude-environment x-internal-validate-rnfInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
🔒 INTERNAL SKILL — Invoked only by other skills via the Skill tool. Not user-invocable.
Validates RNF inheritance from either explicit override specs or a capability/story artifact markdown table:
SECURITY and COMPLIANCE are hard-blocked — cannot be relaxed even with justification.norelax pass unconditionally.Delegates to XInternalRnfValidateCommand (CLI adapter) and ValidateRNFNoRelaxUseCase (application layer) which calls RNFNoRelaxValidator (domain).
| Flag | Required | Format | Description |
| :--- | :--- | :--- | :--- |
| --artifact | No | file path | Capability/story artifact containing the ## 2. RNFs Herdadas markdown table |
| --override | No (repeatable) | See formats below | One RNF override spec per flag |
| --dry-run | No | flag | Parse and report only; always returns exit 0 |
| Format | Example | Meaning |
| :--- | :--- | :--- |
| CATEGORY:norelax | PERFORMANCE:norelax | RNF carried forward unchanged |
| CATEGORY:norelax:originalValue | SECURITY:norelax:TLS 1.3 | Same, with original value context |
| CATEGORY:relaxed:originalValue:newValue:justification[:approvalStatus:approver] | PERFORMANCE:relaxed:P99<200ms:P99<500ms:Batch path:approved:[email protected] | Relaxed RNF with mandatory justification and formal approval |
CATEGORY must be a valid RNFCategory enum value (case-insensitive): PERFORMANCE, SCALABILITY, RELIABILITY, SECURITY, COMPLIANCE, OBSERVABILITY, DATA_INTEGRITY, MAINTAINABILITY, PORTABILITY, USABILITY.
| Exit | Meaning |
| :--- | :--- |
| 0 | All overrides valid (or --dry-run mode) |
| 1 | Validation failure — one or more hard-block or missing-justification violations |
| 2 | Execution error — malformed spec or unexpected exception |
x-internal-validate-rnf \
--override PERFORMANCE:norelax:P99<200ms \
--override SECURITY:norelax:TLS1.3
# exit 0
x-internal-validate-rnf \
--override PERFORMANCE:relaxed:P99<200ms:P99<500ms:Batch processing path:approved:[email protected]
# exit 0
x-internal-validate-rnf \
--override SECURITY:relaxed:TLS1.3:TLS1.2:Legacy client
# exit 1 — Violation: RNF category SECURITY is mandatory and cannot be relaxed
x-internal-validate-rnf \
--override PERFORMANCE:relaxed:P99<200ms:P99<1s:
# exit 1 — Violation: RNF category PERFORMANCE override requires justification
x-internal-validate-rnf --dry-run \
--override COMPLIANCE:relaxed:PCI-DSS-L1:PCI-DSS-L2:Cost reduction
# exit 0 (violations printed but not blocking)
x-internal-validate-rnf \
--artifact ai/examples/example-capability-auth.md
# exit 0
| Caller | Usage |
| :--- | :--- |
| x-refine-story | Validates RNF inheritance constraints before story refinement is approved |
| x-internal-create-story | Validates override specs declared in epic-level story specs |
Implementation classes:
dev.iadev.application.capability.ValidateRNFNoRelaxUseCasedev.iadev.adapter.inbound.cli.XInternalRnfValidateCommanddev.iadev.domain.capability.RNFNoRelaxValidatorHaiku eligibility (Rule 23 §criterion a): utility command execution — no architectural choices or design reasoning required.
tools
Documentation automation v2: stack-aware generation from documentation.targets.
development
Generates or updates CI/CD pipelines per project stack with actionlint validation.
tools
Generates ADRs from architecture-plan mini-ADRs with sequential numbering and index update.
development
Formats source code; first step of the pre-commit chain (format -> lint -> compile).