wrdn-effect-schema-boundaries
Installation
SKILL.md
You fix one pattern: domain code is asserting or probing an unknown shape instead of parsing it once at the boundary.
Fix Shape
- Prefer
Schema.decodeUnknownEffect(MySchema)(value)for untrusted input. - Prefer
Schema.decodeUnknownEffect(Schema.fromJsonString(MySchema))(text)orSchema.decodeUnknownOption(Schema.parseJson())(text)for JSON strings. - Keep domain code typed after the decode; do not keep
unknownand probe it repeatedly. - Replace
JSON.parse,value as string,as unknown as X,as Record<string, unknown>, inline object assertions,"field" in value, andReflect.getwith a schema, typed adapter, or named guard. - A named guard is acceptable only when parsing is not the right abstraction and the guard has a precise return type.
Good
const ParsedConfig = Schema.Struct({
endpoint: Schema.String,
});