Scratch文本编程助手

SKILL开发
开发 未标注权限 许可证不明确
安装这个技能

SC3.0 scratchblocks 中文代码块编写助手。根据用户中文描述,输出 Scratch 3.0 中文代码块,仅输出代码不加解释,用 ```blocks 包裹。涵盖运动、外观、声音、事件、控制、侦测、运算、变量、列表、画笔、自定义积木等全部块库及语法速查,含常见错误和反歧义指南。当用户需要将中文自然语言描述转换为 Scratch 3.0 积木代码、scratchblocks 格式代码块、或编写 Scratch 程序脚本时使用。

一句话选型结论

按资料字段整理

Scratch文本编程助手是开发类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类开发 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_fa669e41/use-scratch-with-blocks
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

开发
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_fa669e41仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791638852
正文体量10.7 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
写代码与改 bug

按需求补代码、定位并修掉报错。

读仓库与生成改动

让模型读懂项目结构,再给出可落地的改动。

跑测试与排查故障

按现象排查问题,补测试用例并复跑。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在开发场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
Scratch文本编程助手当前 未标注权限 未标注 未标注 未标注 有
技能审查员 浏览器控制 ClawHub 市场 877.9 万 OpenClaw 有
Vercel React 最佳实践 浏览器控制 GitHub 仓库 849.1 万 Codex、Claude、Cursor 有
GitHub 代码协作 联网访问 ClawHub 市场 763.3 万 OpenClaw 有
网页设计指南 联网访问 GitHub 仓库 668.6 万 Codex、Claude、Cursor 有
本体论 只读 ClawHub 市场 663.7 万 OpenClaw 有

SKILL.md 全文

10.7 KB
模型实际读到的说明书原文,来自技能仓库

SC3.0 scratchblocks 中文代码块编写助手

任务

根据用户中文描述,输出 Scratch 3.0 中文代码块。仅输出代码,不加任何解释、注释或前缀。如用户给了多个独立脚本,每个脚本以帽块开头,脚本之间空一行。

输出格式

  • 用 ```blocks ... ``` 三反引号包裹代码。
  • 围栏标记后必须紧跟 blocks,不能换行或加语言修饰。
  • 不输出标题、说明、对话、emoji。

语法速查

标记 含义 写法示例
(%n) 数字输入槽 (10)、(-5)、(0.5)
[%s] 字符串输入槽 [hello]、[#ff0000]
<%b> 布尔(六边形)槽 <>、<((a) < (b))>、<按住 [空格 v] 键?>
[%m] 文本型下拉(必须带 v) [空格 v]、[鼠标指针 v]、[消息1 v]
(%d) 数字型下拉(必须带 v) (90 v)、(随机位置 v)、(60 v)
@xxx 图标 @greenFlag、@turnRight、@turnLeft、@stopSign
(嵌套) reporter 必须用 () 包裹 (x 坐标)、((1) + (2))
<<嵌套>> boolean 必须用 <> 包裹 <<碰到 (鼠标指针 v) ?>>

核心规则

  • 括号即形状:reporter 圆括号 ();boolean 六角括号 <>;裸写 stack。
  • C 形块 / forever / if:换行 + 缩进 2 空格,结尾用 结束 收尾。
  • if 可选 否则:独占一行,与 结束 配对。
  • 帽块作脚本首行:以 当... 开头;多脚本间空 1 行。
  • 下拉标记:[%m v] 或 (%d v),末尾的 v 不可省略。
  • 颜色:[#ff0000] 直接写十六进制。
  • 字符串转义:字符串内的 < > [ ] \ 必须加 \ 转义,如 [a<b]。
  • 注释:// 注释 独占一行,不要写在行末。
  • 歧义 * of *:参数是数学函数(abs/floor/ceil/sqrt/log/sin/cos/...)→ 运算;其它(x 坐标/y 坐标/造型/背景/...)→ 侦测。

块库

运动(蓝)

移动 (%n) 步
右转 @turnRight (%n) 度
左转 @turnLeft (%n) 度
面向 (%d.direction) 方向
面向 [%m.spriteOrMouse v]
移到 x: (%n) y: (%n)
移到 [%m.location v]
在 (%n) 秒内滑行到 x: (%n) y: (%n)
在 (%n) 秒内滑行到 [%m.location v]
将x坐标增加 (%n)
将x坐标设为 (%n)
将y坐标增加 (%n)
将y坐标设为 (%n)
将旋转方式设为 [%m.rotationStyle v]
碰到边缘就反弹

reporter:(x 坐标)、(y 坐标)、(方向)

外观(紫)

说 [%s] (%n) 秒
说 [%s]
思考 [%s] (%n) 秒
思考 [%s]
显示
隐藏
换成 [%m.costume v] 造型
下一个造型
下一个背景
换成 [%m.backdrop v] 背景
换成 [%m.backdrop v] 背景并等待
将 [%m.effect v] 特效增加 (%n)
将 [%m.effect v] 特效设定为 (%n)
清除图形特效
将大小增加 (%n)
将大小设为 (%n)
移到最 [%m.frontOrBack v]
[%m.layer v] (%n) 层

reporter:(造型编号)、(造型 [%m.costume v])、(大小)、(背景名称)、(背景 [%m.backdrop v])、(背景编号)

声音(粉)

播放声音 [%m.sound v]
将 [%m.soundEffect v] 音效增加 (%n)
将 [%m.soundEffect v] 音效设为 (%n)
清除音效
播放声音 [%m.sound v] 等待播完
停止所有声音
将音量增加 (%n)
将音量设为 (%n)%
击打 (%d.drum v) (%n) 拍
休止 (%n) 拍
演奏音符 (%d.note v) (%n) 拍
将乐器设为 (%d.instrument v)
将演奏速度增加 (%n)
将演奏速度设定为 (%n)

reporter:(音量)、(演奏速度)

事件(黄)

当 @greenFlag 被点击
当按下 [%m.key v] 键
当角色被点击
当舞台被点击
当背景换成 [%m.backdrop v]
当 [%m.triggerSensor v] > (%n)
当接收到 [%m.broadcast v]
广播 [%m.broadcast v]
广播 [%m.broadcast v] 并等待

> ⚠️ 事件/广播类下拉全部是文本型 [%m v],不是 (%m)。

控制(橙)

等待 (%n) 秒
重复执行 (%n) 次
  ...
结束
重复执行
  ...
结束
如果 <%b> 那么
  ...
结束
如果 <%b> 那么
  ...
否则
  ...
结束
等待 <%b>
重复执行直到 <%b>
  ...
结束
停止 [%m.stop v]
当作为克隆体启动时
克隆 [%m.spriteOnly v]
删除此克隆体

辅助:否则(嵌于 if)、结束(C 形块收尾)。

侦测(浅蓝)

询问 [%s] 并等待
计时器归零
将拖动模式设为 [%m.dragMode v]

boolean:

<碰到 [%m.touching v] ?>
<碰到颜色 [%c] ?>
<颜色 [%c] 碰到 [%c] ?>
<按下 [%m.key v] 键?>
<按下鼠标?>

reporter:

(到 [%m.spriteOrMouse v] 的距离)
(回答)
(鼠标的x坐标)
(鼠标的y坐标)
(响度)
(计时器)
([%m.attribute v] 的 [%m.spriteOrStage v])
(当前时间的 [%m.timeAndDate v])
(2000年至今的天数)
(用户名)

运算(绿)

reporter:

((%n) + (%n))
((%n) - (%n))
((%n) * (%n))
((%n) / (%n))
(在 (%n) 和 (%n) 之间取随机数)
(连接 [%s] 和 [%s])
([%s] 的第 (%n) 个字符)
([%s] 的字符数)
((%n) 除以 (%n) 的余数)
(四舍五入 (%n))
(([%m.mathOp v] ((%n))))

> ⚠️ [%m.mathOp v] of (...) 在 scratchblocks 中是 (([%m.mathOp v] ((%n))))——两层圆括号,外层 reporter 套内层输入槽。

boolean:

<[%s] < [%s]>
<[%s] = [%s]>
<[%s] > [%s]>
<[%s] 包含 [%s] ?>
<[%s] 与 [%s]>
<[%s] 或 [%s]>
<[%s] 不成立>

变量(橙)

将 [%m.var v] 设为 [%s]
将 [%m.var v] 增加 (%n)
显示变量 [%m.var v]
隐藏变量 [%m.var v]

> 变量名本身是文本型下拉 [%m.var v],但其值可以是数字或字符串(取决于变量类型)。

列表(橙红)

将 [%s] 加入 [%m.list v]
删除 [%m.list v] 的第 (%d.listDeleteItem v) 项
删除 [%m.list v] 的全部项目
在 [%m.list v] 的第 (%d.listItem v) 项前插入 [%s]
将 [%m.list v] 的第 (%d.listItem v) 项替换为 [%s]
显示列表 [%m.list v]
隐藏列表 [%m.list v]

reporter:

([%m.list v] 的第 (%d.listItem v) 项)
([%m.list v] 中第一个 [%s] 的编号)
([%m.list v] 的项目数)

boolean:

<[%m.list v] 包含 [%s] ?>

画笔(扩展)

全部擦除
图章
落笔
抬笔
将笔的颜色设为 [%c]
将笔的颜色增加 (%n)
将笔的 [%m.color v] 设为 [%c]
将笔的 [%m.color v] 增加 (%n)
将笔的颜色设为 (%n)
将笔的亮度增加 (%n)
将笔的亮度设为 (%n)
将笔的粗细增加 (%n)
将笔的粗细设为 (%n)

自定义积木

定义 [%m.custom v] (:: custom-arg)
  ...
结束
定义 [%m.custom v] (:: custom-arg)
  ...
定义 [%m.custom v] (%n)  // 带数字参数
  ...
结束

调用:

[%m.custom v] (:: custom)
[%m.custom v] (10) (:: custom)

> 圆括号内 :: custom 是 scratchblocks 渲染自定义积木所必需,不可省略。

常见错误(避坑)

错误 正确 说明
广播 (消息1 v) 广播 [消息1 v] 广播是文本型,不是数字型
当按下 (空格 v) 键 当按下 [空格 v] 键 键名下拉是文本型
((%m.mathOp) (%n)) (([%m.mathOp v] ((%n)))) of 块需要嵌套两层
<碰到 (鼠标指针 v) ?> <碰到 [鼠标指针 v] ?> 文本型下拉
if <条件>(裸写 C 形) 如果 <条件> 那么\n ...\n结束 关键字必须存在
repeat(用英文) 重复执行 用中文关键字
forever 重复执行 永远循环用 重复执行
end / } 收尾 结束 必须用中文 结束
字符串含 < 未转义 [\<] 必须加 \ 转义
下拉忘加 v [鼠标指针 v] 几乎所有下拉都需 v
自定义积木漏 :: custom ... (:: custom) 否则会渲染成普通输入
如果 <%b> 后直接写 结束 中间要有内容或显式 那么 如果 <%b> 那么 是完整语法
帽块混在脚本中段 帽块必须作脚本首行 违反会破坏渲染

反歧义指南

当用户描述对应多个可能块时,按以下规则选:

  1. "碰到 X" → <碰到 [X v] ?>(侦测的 boolean),不是控制。
  2. "等待直到 X" → 等待 <X>(控制),不是 等待 (X) 秒。
  3. "循环 N 次" → 重复执行 (N) 次(控制),不是运算。
  4. "X 的余数" → ((X) 除以 (Y) 的余数)(运算),不是变量。
  5. "X 到 Y 的随机数" → (在 (X) 和 (Y) 之间取随机数)(运算),不是侦测。
  6. "X 包含 Y"(字符串)→ <[X] 包含 [Y] ?>(运算的 boolean)。
  7. "X 包含 Y"(列表)→ <[list v] 包含 [Y] ?>(列表的 boolean)。
  8. "克隆自己" → 克隆 [自己 v]。
  9. "删除克隆体" → 删除此克隆体。
  10. "显示 / 隐藏" → 默认指外观的 显示 / 隐藏;变量用 显示变量 / 隐藏变量;列表用 显示列表 / 隐藏列表。

示例

输入:让小猫向前移动 10 步,等待 1 秒,然后说"你好"2 秒。

当 @greenFlag 被点击
移动 (10) 步
等待 (1) 秒
说 [你好] (2) 秒

输入:如果碰到鼠标指针就广播"游戏结束"。

当 @greenFlag 被点击
如果 <<碰到 [鼠标指针 v] ?>> 那么
  广播 [游戏结束 v]
结束

输入:让变量"分数"每次加 1,直到大于 100 停止。

当 @greenFlag 被点击
重复执行直到 <(分数) > (100)>
  将 [分数 v] 增加 (1)
结束

输入:用画笔画一个红色正方形。

当 @greenFlag 被点击
全部擦除
落笔
将笔的颜色设为 [#ff0000]
重复执行 (4) 次
  移动 (100) 步
  右转 @turnRight (90) 度
结束
抬笔

输入:按下空格键,克隆自己;克隆体向右移动 10 步。

当按下 [空格 v] 键
克隆 [自己 v]

当作为克隆体启动时
重复执行 (50) 次
  移动 (10) 步
  等待 (0.1) 秒
结束
删除此克隆体

输入:在 1 到 100 之间随机取一个数,如果是偶数就说"中了"。

当 @greenFlag 被点击
说 [开始抽奖]
等待 (1) 秒
如果 <<((在 (1) 和 (100) 之间取随机数) 除以 (2) 的余数) = (0)>> 那么
  说 [中了]
否则
  说 [没中]
结束

输入:把列表"道具"打乱顺序。

当 @greenFlag 被点击
重复执行 ([道具 v] 的项目数) 次
  替换 [道具 v] 的第 (在 (1) 和 ([道具 v] 的项目数) 之间取随机数) 项为 ([道具 v] 的第 (在 (1) 和 ([道具 v] 的项目数) 之间取随机数) 项)
结束

```

常见问题

5 问
答案由本站依据条目字段整理
Scratch文本编程助手怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_fa669e41/use-scratch-with-blocks。安装方式为未标注。装完刷新技能列表或重开客户端。

Scratch文本编程助手支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

Scratch文本编程助手权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

Scratch文本编程助手收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

Scratch文本编程助手用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。