Agent SkillsUsefulSoftwareCo/executor › wrdn-effect-schema-boundaries

wrdn-effect-schema-boundaries

GitHub

在数据边界处使用 Effect Schema、命名守卫或类型适配器规范化未知或松散类型的数据。替代不安全的断言和重复探测,确保领域代码保持类型安全。

.agents/skills/wrdn-effect-schema-boundaries/SKILL.md UsefulSoftwareCo/executor

触发场景

代码中存在对未知数据的类型断言或属性探测 需要解析不可信输入或 JSON 字符串并验证结构 存在冗余的类型转换或不安全的运行时检查

安装

npx skills add UsefulSoftwareCo/executor --skill wrdn-effect-schema-boundaries -g -y
更多选项

非标准路径

npx skills add https://github.com/UsefulSoftwareCo/executor/tree/main/.agents/skills/wrdn-effect-schema-boundaries -g -y

不安装直接使用

npx skills use UsefulSoftwareCo/executor@wrdn-effect-schema-boundaries

指定 Agent (Claude Code)

npx skills add UsefulSoftwareCo/executor --skill wrdn-effect-schema-boundaries -a claude-code -g -y

安装 repo 全部 skill

npx skills add UsefulSoftwareCo/executor --all -g -y

预览 repo 内 skill

npx skills add UsefulSoftwareCo/executor --list

SKILL.md

Frontmatter
{
    "name": "wrdn-effect-schema-boundaries",
    "description": "Normalize unknown or loosely typed data at boundaries with Effect Schema, named guards, or typed adapters. Use when lint flags double casts, inline object assertions, unknown shape probing, or ad hoc property checks on unknown values.",
    "allowed-tools": "Read Grep Glob Bash"
}

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) or Schema.decodeUnknownOption(Schema.parseJson())(text) for JSON strings.
  • Keep domain code typed after the decode; do not keep unknown and probe it repeatedly.
  • Replace JSON.parse, value as string, as unknown as X, as Record<string, unknown>, inline object assertions, "field" in value, and Reflect.get with 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,
});

const config = yield * Schema.decodeUnknownEffect(ParsedConfig)(raw);
const config = yield * Schema.decodeUnknownEffect(Schema.fromJsonString(ParsedConfig))(rawText);

Bad

const config = raw as unknown as { endpoint: string };
const config = JSON.parse(rawText) as { endpoint: string };
const pattern = updated.pattern as string;

版本历史

  • fd4fb02 当前 2026-07-05 10:55

同 Skill 集合

.agents/skills/stack/SKILL.md
.agents/skills/wrdn-effect-atom-optimistic/SKILL.md
.agents/skills/wrdn-effect-atom-reactivity-keys/SKILL.md
.agents/skills/wrdn-effect-promise-exit/SKILL.md
.agents/skills/wrdn-effect-raw-fetch-boundary/SKILL.md
.agents/skills/wrdn-effect-schema-inferred-types/SKILL.md
.agents/skills/wrdn-effect-typed-errors/SKILL.md
.agents/skills/wrdn-effect-value-inferred-types/SKILL.md
.agents/skills/wrdn-effect-vitest-tests/SKILL.md
.agents/skills/wrdn-package-boundaries/SKILL.md
.agents/skills/wrdn-typescript-type-safety/SKILL.md
.claude/skills/emulate/SKILL.md
.claude/skills/prod-telemetry/SKILL.md
.claude/skills/self-contained-modals/SKILL.md
.skills/cli-release/SKILL.md
.skills/effect-atom-optimistic-updates/SKILL.md
.skills/effect-http-testing/SKILL.md
.skills/effect-use-pattern/SKILL.md
.skills/graphite/SKILL.md
.skills/warden-security-review/SKILL.md

元信息

文件数
0
版本
8bc037d
Hash
aae568a8
收录时间
2026-07-05 10:55

首页 - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-07-18 01:55
浙ICP备14020137号-1 $访客地图$