waveenv
Installation
SKILL.md
WaveEnv Narrowing Skill
Purpose
A WaveEnv narrowing creates a named subset type of WaveEnv that:
- Documents exactly which parts of the environment a component tree actually uses.
- Forms a type contract so callers and tests know what to provide.
- Enables mocking in the preview/test server — you only need to implement what's listed.
When To Create One
Create a narrowing whenever you are writing a component (or group of components) that you want to test in the preview server, or when you want to make the environmental dependencies of a component tree explicit.
Core Principle: Only Include What You Use
Only list the fields, methods, atoms, and keys that the component tree actually accesses. If you don't call wos, don't include wos. If you only call one RPC command, only list that one command. The narrowing is a precise dependency declaration — not a copy of WaveEnv.