用途:从用户当前源码光标或选区附近最近的 JSDoc Example 生成一个 scratchpad TypeScript 文件,便于快速查看或运行示例。
主要能力:脚本会优先选择包含当前行的 Example 段落;若没有,则选择其后第一个示例,再否则选择最近的前一个示例。文件名由源文件和示例标题派生,例如 scratchpad/Schedule-retrying-and-repeating-effects.ts。已存在的文件不会被覆盖,脚本会追加数字后缀。在 auto 模式下,若存在顶层 program 绑定,脚本会追加 Effect.runPromise(program).then(console.log, console.error);若示例已包含 Effect runner,则保留原样。
使用方式:先确定源路径与行号,优先使用 IDE 当前文件与选区/光标行,也可由用户显式提供文件与行号;若没有行号或选区,需要向用户询问。然后运行:node .agents/skills/scratchpad/scripts/extract-example.mjs <source-path> <line>。若脚本因没有明显 runner 而以退出码 2 结束,需询问用户是原样保留示例、指定要运行的 Effect 值,还是取消。原样保留时用 --mode preserve 重跑;指定 Effect 值时用 --runner <identifier> 重跑。最后把创建的文件路径作为可点击文件链接报告,这是确定性地在代码面板中打开它的方式。除非用户明确要求,否则不要运行 scratchpad 文件。
适用场景:用户要求 dump、copy、open 或类似操作,把源码中的 JSDoc 示例导出为可编辑的 TypeScript 草稿文件时。
限制:需要可用的源路径与行号;没有明显 runner 时需要用户决策;不覆盖已有文件;不主动执行生成的文件。