一键导入
effect-schema
Effect Schema naming conventions. Use when defining schemas for data validation and type inference.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Effect Schema naming conventions. Use when defining schemas for data validation and type inference.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Effect service definition, interface design, error types, retries. Use when creating new services or defining error hierarchies.
AXM - Agent Extension Manager: Use for any operation (install/create/new/edit/update/add/remove/delete/publish/find/discover) on agent skills, subagents, slash commands/stored prompts, MCP servers, context packages, rule extensions, hook extensions, or packs — e.g. "create a skill", "make a /command", "add a subagent", "build an MCP server", "publish an extension". Use this BEFORE hand-authoring or editing any SKILL.md, slash-command, subagent, MCP, rule, hook, or extension manifest file: route extension authoring through AXM instead of writing these files directly.
Native skill manifest with two unknown top-level keys.
Effect CLI + Effect architecture. Use when adding commands, defining flags, or wiring handlers. Covers file organization, argument/flag patterns, and testing.
"unterminated
Native skill with an invalid extension name in manifest.
| name | effect-schema |
| description | Effect Schema naming conventions. Use when defining schemas for data validation and type inference. |
| user-invocable | false |
Naming conventions for Effect Schema definitions.
Schema constants use the Schema suffix. Types are derived and exported without the suffix.
import { Schema } from "effect";
// Schema constant: <TypeName>Schema
export const UserSchema = Schema.Struct({
id: Schema.String,
name: Schema.String,
email: Schema.String,
});
// Type export: <TypeName> (no suffix)
export type User = typeof UserSchema.Type;
// Simple schema
export const ConfigSchema = Schema.Struct({
host: Schema.String,
port: Schema.Number,
});
export type Config = typeof ConfigSchema.Type;
// Schema with optional fields
export const SettingsSchema = Schema.Struct({
theme: Schema.optional(Schema.String),
verbose: Schema.optional(Schema.Boolean),
});
export type Settings = typeof SettingsSchema.Type;
// Union schema
export const ResultSchema = Schema.Union(
Schema.Struct({ type: Schema.Literal("success"), data: Schema.Unknown }),
Schema.Struct({ type: Schema.Literal("error"), message: Schema.String }),
);
export type Result = typeof ResultSchema.Type;
// Array schema
export const ItemsSchema = Schema.Array(Schema.String);
export type Items = typeof ItemsSchema.Type;
<TypeName>Schema<TypeName> using typeof <TypeName>Schema.Type