用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/megazear7/canzeltly --skill create-new-event命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | create-new-event |
| description | How to create a new event |
Events are used to communicate between components in the client-side application. They follow a standardized pattern using Zod for type safety.
src/client/event.<event-name>.ts.import z from "zod";
export const MyEventName = z.literal("MyEvent");
export type MyEventName = z.infer<typeof MyEventName>;
export const MyEventDetail = z.object({
someProperty: z.string(),
});
export type MyEventDetail = z.infer<typeof MyEventDetail>;
export const MyEventData = z.object({
name: MyEventName,
detail: MyEventDetail,
});
export type MyEventData = z.infer<typeof MyEventData>;
export const MyEvent = (detail: MyEventDetail): MyEventData => ({
name: MyEventName.value,
detail,
});
src/client/util.events.ts and add it to the CanzeltlyEvent union:import { MyEventData } from "./event.my-event.js";
// ...
export const CanzeltlyEvent = z.union([
// ... existing events
MyEventData,
]);
import { dispatch } from "./util.events.js";
import { MyEvent } from "./event.my-event.js";
// In the component:
dispatch(this, MyEvent({ someProperty: "value" }));