/nw-certainty-by-construction
Turn a stable layer claim (domain, application, adapter, or infrastructure) into a construction boundary so the invalid state cannot be built, and state honestly what remains unguarded. Use when a requirement says an invalid state or transition must not occur, when values need a
Claude Code
$ npx -y skills add nWave-ai/nWave --skill nw-certainty-by-construction --agent claude-code
Codex
$ npx skills add nWave-ai/nWave --skill nw-certainty-by-construction -a codex -y
Cursor
$ npx skills add nWave-ai/nWave --skill nw-certainty-by-construction -a cursor -y
Gemini CLI
$ npx skills add nWave-ai/nWave --skill nw-certainty-by-construction -a gemini-cli -y
GitHub Copilot
$ npx skills add nWave-ai/nWave --skill nw-certainty-by-construction -a github-copilot -y
OpenCode
$ npx skills add nWave-ai/nWave --skill nw-certainty-by-construction -a opencode -y
Windsurf
$ npx skills add nWave-ai/nWave --skill nw-certainty-by-construction -a windsurf -y
SKILL.md
nw-certainty-by-construction.SKILL.mdname: nw-certainty-by-construction
description: Load when a state must be unrepresentable, evidence must carry instead of a boolean, or a representation change must preserve meaning - redirect plus the byte-preservation and structural-owner rules.
Certainty by construction
Construction rules (unrepresentable states, evidence instead of booleans, honest claim strength, witness granularity) live in `nw-type-level-design`. Representation-preservation arguments (isomorphism, homomorphism, rewrite and cache equivalence) live in `nw-algebraic-design-protocol`. The two rule families below are defined only here.
Semantic comparison versus retained bytes
When a format admits LF and CRLF as the same layout but promises byte preservation, normalize the comparison view, not the retained source. Law: no semantic change returns the original bytes; a status-only update changes only its designated region, preserving all other bytes. Exercise both admitted line endings and byte-distinct surrounding text. A new export explicitly specified as canonical LF needs no original-byte buffer.
One structural owner
When multiple boundary views express a declared closed structural contract, derive the needed schema, shape parser or field-aware traversal from one description rather than re-declaring alternatives in preflight. Check raw allowed keys before normalizing declared slots: an unknown key remains invalid even when its value is null or empty. Resolve a selector once and return its witness to the consumer. On the declared structural input domain, `schemaAccepts(x) iff shapeParse(x) succeeds`; reference existence and mutable policy remain separate semantic obligations.
Read more
name: nw-certainty-by-construction description: Load when a state must be unrepresentable, evidence must carry instead of a boolean, or a representation change must preserve meaning - redirect plus the byte-preservation and structural-owner rules.
Certainty by construction
Construction rules (unrepresentable states, evidence instead of booleans, honest claim strength, witness granularity) live in `nw-type-level-design`. Representation-preservation arguments (isomorphism, homomorphism, rewrite and cache equivalence) live in `nw-algebraic-design-protocol`. The two rule families below are defined only here.
Semantic comparison versus retained bytes
When a format admits LF and CRLF as the same layout but promises byte preservation, normalize the comparison view, not the retained source. Law: no semantic change returns the original bytes; a status-only update changes only its designated region, preserving all other bytes. Exercise both admitted line endings and byte-distinct surrounding text. A new export explicitly specified as canonical LF needs no original-byte buffer.
One structural owner
When multiple boundary views express a declared closed structural contract, derive the needed schema, shape parser or field-aware traversal from one description rather than re-declaring alternatives in preflight. Check raw allowed keys before normalizing declared slots: an unknown key remains invalid even when its value is null or empty. Resolve a selector once and return its witness to the consumer. On the declared structural input domain, `schemaAccepts(x) iff shapeParse(x) succeeds`; reference existence and mutable policy remain separate semantic obligations.
Other skills on nwave.
More skills from other plugins.
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
ask-matt
Ask which skill or flow fits your situation. A router over the skills in this repo.
Questions about nw-certainty-by-construction.
- Which coding agents can use nw-certainty-by-construction?
- nw-certainty-by-construction installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

