开发与工程

Scratchpad 示例提取器

从源码中抓取最近的 JSDoc 示例,生成一个可运行的 TypeScript 暂存文件。

49/ 100
谨慎使用

价值存在,但可靠性、证据或控制措施仍有明显缺口。

查看评分依据 ↓
可直接使用于
Codex · Claude Code · ChatGPT(部分支持)
Star 数
★ 26k
最近更新
3 天前
License
MIT
scratchpadjsdoc-extractiontypescripteffect
+1code-examples

这个 Skill 能做什么,适合哪些场景?

该技能定位到当前源码中最靠近光标或选中区域的 JSDoc 的 `**Example**` 示例,并将其提取为一个独立的 TypeScript 文件,存放到 `./scratchpad` 目录。它通过运行一个 Node 脚本来完成提取,并智能处理同名文件的冲突。该技能能够自动识别并执行示例中的 `program` 绑定,或保留已有的 Effect 运行器,为开发者提供快速尝试和验证代码示例的便捷方式。仅需请求即可,无需手动复制粘贴。

确定源文件路径和行号(从 IDE 活动文件或用户指定获取)。运行 node .agents/skills/scratchpad/scripts/extract-example.mjs <source-path> <line> 命令。脚本会找到包含该行或最接近的 JSDoc Example 块,将其提取为一个 TypeScript 文件,并命名如 scratchpad/Schedule-retrying-and-repeating-effects.ts。如果文件已存在,会自动添加数字后缀,避免覆盖。在自动模式下,如果示例中存在顶层 program 绑定,脚本会追加 Effect.runPromise(program).then(console.log, console.error) 代码。如果找不到合适的运行器,脚本退出码为 2,此时会根据用户选择使用 --mode preserve 或 --runner <identifier> 重新运行。最后以可点击的文件链接形式报告创建的文件路径。

适合
  • 当开发者想快速尝试某个源码示例时,在 IDE 中选中示例代码,请求“将此示例放入 scratchpad”即可生成可运行的 TS 文件。
  • 当用户提供一个明确的文件路径和行号时,技能会从该位置提取对应的 JSDoc 示例。
  • 当示例包含 Effect 运行器时,技能会保留原有运行逻辑,方便用户直接测试效果。
  • 当需要修改或测试 Effect 中的特定值或函数时,用户可通过 `--runner` 参数指定要运行的 Effect 值。
  • 当示例文件需要保持不变以避免覆盖时,用户可使用 `--mode preserve` 模式。
  • 当用户只是想要复制或打开示例文件时,技能会提供可点击的链接,方便快速访问。

如何安装这个 Skill?

使用前请注意
  • 技能的脚本会读取任意指定文件并将其中的示例提取到本地scratchpad目录,若用户误用可能读取敏感文件的内容,但不会外发,需注意使用场景。
  • 脚本没有显式的用户确认步骤(除非需要选择runner),自动模式可能直接写入文件,建议在关键操作前增加确认。
  • 发布者未经验证,依赖其长期维护存在不确定性,使用前应自行审查代码。
  • 脚本对中文文件名可能生成不可读的slug,影响输出文件的可识别性。
开始前你需要
Agent 需要具备
  • Shell / 命令行
  • 本地文件系统
需要预先安装
  • Node.js

该技能包含在 T3 Code 仓库中。获取仓库后,技能位于 .repos/effect-smol/.agents/skills/scratchpad/ 目录。要将其用作独立技能,请将该目录复制到您的 Agent Skills 目录中(例如 ~/.claude/skills/ 或项目中的 .agents/skills/)。需要 Node.js 环境。具体安装步骤请参考仓库 README,其中提供了多种安装方式(如 npx t3@latest 或桌面应用)。

通用方式:手动安装到 Claude Code(macOS / Linux)
tmp="$(mktemp -d)"
git clone --depth 1 https://github.com/pingdotgg/t3code.git "$tmp"
mkdir -p ~/.claude/skills
cp -R "$tmp/.repos/effect-smol/.agents/skills/scratchpad" ~/.claude/skills/
rm -rf "$tmp"

根据源仓库地址和 Skill 路径自动生成,只复制这个 Skill 的文件夹。如果上文有作者提供的安装方式,请优先按作者说明操作;想只在当前项目中使用,把 ~/.claude/skills 换成项目里的 .claude/skills。

如何使用这个 Skill?

试试这样说

安装后,把下面任意一句发给 Agent 即可触发:

  • 把最近的示例放到 scratchpad
  • 从 `src/foo.ts` 的第 42 行提取示例到 scratchpad

在支持 Agent Skills 的 IDE 或编辑器中,打开一个源码文件,将光标放在或选中一个 JSDoc 示例附近。然后触发该技能,例如说:“把最近的示例放到 scratchpad”。技能将自动运行提取脚本,并在消息中返回一个可点击的文件链接。如果您需要指定文件和行号,可以直接提供,例如:“从 src/foo.ts 的第 42 行提取示例到 scratchpad”。请注意,技能默认不会自动运行生成的 scratchpad 文件,除非您明确要求。

这个 Skill 有哪些优点和局限?

优点
  • 自动化提取最近的 JSDoc 示例,节省手动复制粘贴的时间。
  • 处理文件名冲突,通过添加数字后缀避免覆盖。
  • 自动识别并运行 `program` 绑定,或保留已有的 Effect 运行器,方便直接测试。
  • 支持通过 `--runner` 参数指定要运行的特定 Effect 值。
  • 提供了可点击的文件链接,方便在编辑器中打开生成的 scratchpad 文件。
  • 脚本逻辑清晰,易于理解和扩展。
局限
  • 仅支持 JSDoc 格式的示例,不适用于其他文档格式。
  • 需要 Node.js 环境,且依赖仓库中的脚本文件,独立使用可能需手动迁移依赖。
  • 如果示例没有明显的运行器,需要用户交互决定如何处理,可能增加操作步骤。
  • 该技能没有内置测试,稳定性未得到充分验证。
  • 提取的代码可能依赖源项目中的类型或模块,单独运行可能缺少上下文。
  • 仅在支持的 IDE/环境中测试过(如 Claude Code、Codex、Cursor 和 OpenCode),其他环境可能兼容。

这个 Skill 与同类方案有什么区别?

与相关 Skills 并排比较;分数均按同一 FSRS 标准得出。

Skill FS 评分 Star 数 最近更新 License
Scratchpad 示例提取器 本页 49 · 谨慎使用 ★ 26k 3 天前 MIT
Anti-Slop:反低证据代码模式的 Oxlint 规则集 62 · 推荐 ★ 5.3k 1 个月前 MIT
Effect JSDoc 规范撰写技能 77 · 高度推荐 ★ 26k 3 天前 MIT
Golden PPTX 关键词分类技能 34 · 不推荐 ★ 15k 11 天前 MIT
PDF 章节分类文档技能 31 · 不推荐 ★ 15k 11 天前 MIT

该技能是针对特定仓库的专用技能,主要与手动复制粘贴方式相比。与通用的代码片段工具相比,它更专注地提取 JSDoc 示例,并保留 Effect 相关语义。没有其他已命名的替代品。

FollowSkills 如何评估这个 Skill?

FollowSkills 评估 · FSRS-2.0
谨慎使用
49/ 100 五分制 2.5 / 5
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
1信任安全12 / 25 · 2.4/5

技能仅读取源文件并在本地写入scratchpad目录,无外部网络调用或敏感数据操作,授予的权限最小化。但流程要求自动提取示例并可能写入代码至本地,缺乏显式的用户确认步骤(除非需要选择runner),且无法确保写入位置的可控性。此外,脚本未实现回滚或删除操作,仅靠不覆盖已有文件来避免数据丢失。作为未验证发布者的技能,来源归因不明确。因此给予12分,扣分原因为权限请求不够显式、缺少用户确认及回滚机制。

2可靠稳定8 / 20 · 2.0/5

脚本逻辑清晰,具备参数验证和错误处理,但未提供测试覆盖,也未实际执行验证。关键路径(如查找JSDoc示例、选择示例、生成唯一文件名)在静态阅读下合理,但异常输入(如文件不存在、无示例)时仅输出错误信息并退出,反馈不够详细。由于静态审查,无法验证可运行性,故给予8分,扣分原因为缺乏测试和实际运行证据,错误反馈质量一般。

3适用触发10 / 15 · 3.3/5

技能定义明确,使用场景(提取JSDoc示例到scratchpad)清晰,触发条件(用户要求时)合理,并提供了明确的非适用情况(如无示例时询问)。环境适配方面,技能依赖本地Node.js和文件系统,不依赖海外服务,符合中国大陆网络可用性。但未明确说明对中文注释或中文文件名的处理,可能导致文件名slug化后不可读,且在无示例时需用户交互,触发精度稍受影响。给予10分,扣分原因为中文支持未明确,触发边界部分依赖用户交互。

4规范维护8 / 15 · 2.7/5

文档结构清晰,包含描述、工作流、行为说明,且脚本有Usage注释。但缺少版本号、变更日志、明确维护负责人及已知限制说明。许可信息在仓库级MIT许可证中,技能本身未单独声明。示例部分虽在README整体中,但技能目录无FAQ或故障排除。因此给予8分,扣分原因为版本管理、维护责任和已知限制披露不足。

5有效结果7 / 15 · 2.3/5

技能核心功能明确:将JSDoc示例提取为TypeScript文件,并通过自动附加runner生成可运行代码,提高了手动复制粘贴的效率。但静态审查无法验证输出文件是否可直接使用,且未提供实际使用效果的证据。在无runner时需用户介入选择,增加了交互成本。作为静态评估,按上限7分,扣分原因为缺乏执行验证和输出直接可用性的证据。

6证据核验4 / 10 · 2.0/5

技能附带了脚本源码,可作为主要证据,但未提供测试用例或CI集成证明脚本工作正常。仓库有CI工作流,但未覆盖此技能路径。缺少交叉验证或独立再现结果。因此给予4分,扣分原因为仅静态阅读,缺乏可复现的测试证据。

1 2 3 4 5 6

点击维度查看打分理由

评估于 2026年8月7日 审查版本 cf5c9948c895 评估证据[1][2][3][4][5][6][7][8][9][10][11]

证据充分度:低 — 主要依赖静态检查、作者材料或有限演示;适合发现线索,不适合做高风险决策。

查看完整评分方法 →

常见问题

技能需要什么权限?
需要本地文件系统读取和写入权限,因为脚本会读取源文件并写入 scratchpad 目录。此外,需要 Node.js 环境执行脚本。不需要网络访问。
如果脚本执行失败怎么办?
如果退出码为 2,表示找不到运行器。此时技能会询问您是保留示例原样、指定运行的 Effect 值,还是取消操作。如果存在其他错误,请检查源文件路径和 Node.js 环境。
生成的 scratchpad 文件会自动运行吗?
不会。技能默认不会运行 scratchpad 文件,除非用户明确要求。当运行器存在时,文件会包含运行代码,但不会自动执行。
这个技能适用于所有仓库吗?
主要针对使用 JSDoc 和 Effect 框架的 TypeScript 项目。对于其他语言或文档格式,该技能可能无法正常工作。

同仓库的其他 Skills

均来自 pingdotgg/t3code

相关 Skills