关于 neo-typescript
neo-typescript 是面向 AI Agent 的 TypeScript 编码技能,适用于编写、修改和审查代码,关注严格类型安全、可维护性及 ESM/CJS 互操作。它会检查项目配置,并按任务加载参考指南。
主要功能
- 01检查项目 tsconfig
- 02按任务加载参考指南
- 03生成并审查类型安全代码
- 04检查 ESM/CJS 互操作风险
- 05提供单元测试断言建议
适用场景
- 01审查 TypeScript 项目配置
- 02按严格类型规则重构代码
- 03检查模块互操作风险
- 04生成高级类型并设计测试断言
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ benknightdark/ neo-skills --skill neo-typescript安装后在 Claude Code 中输入/neo-typescript确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
evals/eval_queries.jsonevals.jsonreferences/advanced-meta-types.mdcompatibility-and-interop.mdtype-system-basics.md详细介绍
Neo TypeScript 专家技能
此技能指导 AI Agent 编写符合最严格类型安全要求、具备高度可维护性和高级元编程灵活性的代码,同时全面避免 ESM/CJS 互操作陷阱等运行时问题。
💡 注意事项
- 可写别名绕过只读限制:在 TypeScript 中,
readonly只限制对属性本身的赋值。被引用对象或数组的内部成员仍可修改。此外,只读对象可以赋值给可写别名,从而完全绕过编译器的只读检查。 - 部分启用 esModuleInterop 导致致命崩溃:启用
allowSyntheticDefaultImports却未启用esModuleInterop,会导致代码通过编译时类型检查,但由于转译输出中缺少__importDefault发射辅助函数,运行时会立即崩溃(TypeError: default is not a function)。 - 库作者的双重默认导出陷阱:在库中使用
export default会迫使 Node.js ESM 使用者通过调用.default()来访问模块。黄金标准是彻底放弃export default,改用export =或命名导出。
📋 静态代码与类型安全审查 SOP
当被要求编写、修改、重构或审查 TypeScript 代码时,请严格执行以下工作流:
步骤 1 — 感知项目环境(感知)
- 检查项目的
tsconfig.json设置,重点关注"strict": true、"strictNullChecks"和"strictFunctionTypes"的配置。 - 确定目标模块格式和解析机制(
"moduleResolution")。
步骤 2 — 核心类型路径选择(推理)
根据任务的具体技术领域,逐步披露并加载技能中的相应参考文件。请勿一次性加载所有文件,以节省上下文令牌空间:
- 基础知识、类型收窄、类与函数设计 ➡️ 加载 type-system-basics.md
- 泛型约束、变异性与类型的高级类型 ➡️ 加载 advanced-meta-types.md
- 结构兼容性、装饰器与 ESM/CJS 互操作 ➡️ 加载 compatibility-and-interop.md
步骤 3 — 精确生成与审查代码(执行)
- 确保所有生成或修改的代码严格遵循已加载参考资料中的指南(例如,绝不声明可选回调参数,确保泛型类型参数至少出现两次以建立关联)。
- 对于高级类型生成,根据 evals 配置建议清晰的单元测试断言。
🛠️ 可用资源(相对路径)
评论
支持 Markdown