PinMe Worker 电子邮件发送技能
在 PinMe Worker (TypeScript) 中集成电子邮件发送 API,自动生成正确的发送代码。
证据显示该技能仅指导调用邮件发送API,明确告知API_KEY是唯一凭证,且所有请求经HTTPS发送。技能没有要求读取或上传用户敏感数据,也没有执行任何外部破坏性操作。但技能中未明确提及用户确认机制或最小权限原则的具体实现,且依赖外部服务(PinMe平台)的可用性和安全实践,故扣分。
代码示例内部一致,错误处理模式清晰,包括网络错误、HTTP错误和业务错误码。但缺乏对极端输入(如空字符串、非法邮箱格式)的测试,且依赖外部API的稳定性,静态审查无法验证实际执行,故扣分。
技能目标明确(在PinMe Worker中集成邮件发送),触发条件描述清楚。但未明确声明非适用场景(如非PinMe项目),且默认依赖海外服务(pinme.cloud)可能在部分网络环境不可达,对中文用户的可达性有限,故扣分。
文档结构清晰,包括环境变量、API说明、请求/响应格式、错误处理、示例代码。但缺少版本、变更日志、已知限制和故障排除部分,维护责任未明确,故扣分。
核心任务(生成调用邮件API的代码)完成度较高,输出可直接使用或需轻微调整。但未提供实际使用的验证证据,且功能相对简单,边际价值有限,故扣分。
无作者主张或营销内容,提供了完整的代码示例和测试用例,但测试主要针对CLI,非本技能。无第三方执行证据,静态审查无法独立复现,故扣分。
- 该技能依赖 PinMe 平台的外部服务(https://pinme.cloud),在中国大陆可能无法访问,建议注意网络可达性。
- 技能中未明确说明用户确认机制,对于邮件发送等外部副作用,建议在使用前获得用户明确同意。
- API_KEY 是唯一凭证,需确保其安全存储,避免泄露。
- 技能未提供故障排除和已知限制,实际使用时可能遇到未覆盖的问题。
这个 Skill 能做什么,适合哪些场景?
该技能为 AI 助手提供在 PinMe Worker (TypeScript) 项目中集成电子邮件发送功能的指南。它定义了 Worker 环境变量(API_KEY 和可选的 BASE_URL),并指导调用 PinMe 平台的 send_email API(POST /api/v4/send_email)。技能包含请求和响应格式、错误处理模式以及完整的代码示例,包括一个可重用的 sendEmail 函数和统一的错误处理程序。它适用于需要在 PinMe 项目中发送验证码或通知邮件的开发者。
读取 Worker 项目的 SKILL.md 文件,提供环境变量的定义和说明(API_KEY、BASE_URL),展示如何通过 X-API-Key 请求头发送 POST 请求到 {BASE_URL}/api/v4/send_email,并给出 TypeScript 代码示例。它指导 AI 生成正确的 Worker TypeScript 代码,包括错误处理逻辑和统一的 API 调用封装函数。
- 开发者在 PinMe Worker 中需要实现发送验证码邮件的功能时。
- AI 助手在生成 PinMe Worker 代码时,需要遵循正确的邮件 API 调用方式。
- 集成邮件通知功能到 PinMe 项目中的场景,例如用户注册、密码重置等。
- 需要在 Worker 中处理 API 错误(如 401、400、500)并返回合适响应的开发者。
这个 Skill 有哪些优点和局限?
- 零配置:API_KEY 自动注入,无需手动设置。
- 提供完整的代码示例,包括错误处理和统一 API 调用函数。
- 清晰的请求/响应格式和错误码说明。
- 支持 BASE_URL 覆盖,方便测试环境。
- 仅针对 PinMe 平台,不通用。
- 未提及测试用例或示例项目,可能缺少验证。
- 依赖外部网络调用 PinMe 云服务。
- 仅适用于 Worker TypeScript 项目,不适用于其他语言或框架。
如何安装这个 Skill?
在包含 SKILL.md 的仓库中,确保技能文件位于 skills/pinme-email/SKILL.md。对于 PinMe 项目,可以通过 npx skills add glitternetwork/pinme 安装整个技能集合(注意:该命令安装的是整个仓库,包含 7 个技能,本技能是其中之一)。
如何使用这个 Skill?
在 PinMe Worker 项目中,向 AI 助手描述需求,例如“请为我的 Worker 集成发送邮件功能,使用 PinMe 的 send_email API”。AI 将根据技能生成代码。使用者需确保 Worker 环境中自动注入 API_KEY(无需手动配置),并可根据需要设置 BASE_URL 环境变量(默认 https://pinme.cloud)。