橙皮书 · v261015
拿到这本书,先做什么
这本手册是视频《不会写代码,我给智能体手机手搓了个Skill,实现了「言出法随」》的配套资料。我们从STEPX Neo和阶跃Amoo上的真实制作过程出发,整理出一条可以照着走的路线:明确需求,写规程,保存资料,测试,再决定要不要分享给别人。
配套模板叫「灵感收件箱」,由项目经验重新整理而来。它的基础能力是文件里的素材、偏好与来源管理,暂不提供定时服务,也不是视频里「言出法随」的原始发布包。手机笔记和日历可以另行扩展,前提是你自己的设备确有工具与权限,并完成对应测试。
阅读顺序和动手顺序
- 第1—4章:把自己的需求写成规程。先完成文件侧的最小功能,手机能力章节用于理解分工和设计扩展。
- 第5章:先选好测试,不急着打勾。准备练习资料与预期结果。
- 第6章→第7章前半:打包,推到测试区,安装。手机未安装前,不把纸面设计当作真机通过。
- 回到第5章:在实际环境里验收。失败就改相关规则、重新打包安装后复测。
- 第7章后半→第8章:决定是否提审,再逐步扩展。个人练习不要求公开发布。
没有受支持手机,也可以先完成需求单、SKILL.md和文件记忆练习。对话环境必须具备相应文件工具与持久工作区;没有这些条件,就只能先形成方案,不能声称跨对话保存已完成。
这套资料里有什么
- 本手册:8章实操、附录与官方入口,支持PDF、HTML和EPUB阅读。
- 完整模板学习包:需求单、提示词、24项测试、打包检查、Skill教学目录及检查器。
- 独立技能ZIP:只有6个教学文件,用于准备自己的测试,不能替代真机验收。
- 两页速查卡:动手路线与最小验收记录,适合边做边看。
第5章的8项是便于跟做的场景演练,模板里的24项是更完整的行为用例。基础文件版先测第1—3项演练和模板中相应文件用例;笔记与提醒的演练只在你决定扩展并具备条件时执行。未测的项照实保留,不计入通过。演练1对应模板用例1、6;演练2对应4、5;演练3对应9、10;笔记演练4—5对应13—15。提醒演练6先检查模板用例16的边界;演练7—8须在扩展后另建真机用例,不能用基础模板的24项替代。
事实核查日期:2026年10月15日。产品界面可能更新,书中标明了当前页面与旧文档不同的地方。新提示词与教学模板不等同于本项目原测试逐字复现。作者:花叔。
01从视频里的效果,拆出你的第一个需求
你可能是看完视频,想让自己的智能体手机也做到这些:随口说一句,存下一个选题;隔天换个对话,接着写;到了约好的时间,再来提醒。几件事连起来看很顺,真正动手时,得把每一步拆开。
我从来不会写代码,做「言出法随」时,代码和实现也都由AI完成。但我得告诉它,什么算存好了,哪条是新的偏好,哪句话只管这一次。你也可以从这里开始。先拿一个自己真的会用的需求,把完成标准说清楚,再让coding agent替你写成Skill。
先选一件明天还会用的事
这本书跟做的例子叫「灵感收件箱」。你想到一段内容,告诉它选题名、原话和来源,它保存下来;下次补充时放进同一个选题;你说「接着写」,它读回资料,交出一份可修改的初稿。这个模板是根据项目经验重新编写的教学版本,和视频里的「言出法随」不是同一份发布包。
我建议第一版就做这些。你也许还想接相册、找店、做行程,都可以先记到后续需求里。功能一多,你遇到「它没记住」时就很难分清,究竟是没保存、读错文件,还是拿到了素材却写错了。
想不到选题的话,可以先用「我的通勤观察」练手。练习内容由你自己写,或者明确标成虚构测试数据。第一段说路上看到什么,第二段补自己的想法,第三次让它把两段整理成一个开头。别用银行卡、证件或私人聊天来做第一次实验,几句普通文字就足够检查流程。
把一句愿望写成一张需求卡
「希望手机懂我」很难判断做没做到。换成「新开对话后,能准确说回我为同一选题保存的两段原话和日期」,你就知道该检查什么了。打开你在用的coding agent,在一个新的项目文件夹里,把下面这段交给它。方括号里的内容换成自己的。
我要做一个叫「灵感收件箱」的Skill。
使用者:[我自己,平时随手记录文章想法]。
触发场景:[想到一个片段,但现在没空写]。
输入:选题名、原话、来源日期、这次的要求。
第一版只做:保存片段、追加片段、查回、根据已有片段起草。
成功标准:
1. 保存后重新读取,能核对原话和日期。
2. 追加第二段后,第一段仍然存在。
3. 新对话按选题名查回,两段都在,不增加我的经历。
现在先帮我整理需求卡,指出会影响实现的缺失信息。
不要直接增加提醒、发布或其他手机操作。
你收到的需求卡应该很短,能让你一眼看懂。比如它追问「资料要放在哪里」,这确实影响后面能否找回来;如果它开始问主题色、头像和宣传口号,可以告诉它先做内容存取。我们此时还没有在做一个带完整界面的App。
存储位置也先用人的语言说明:这是我的独立练习资料,与其他项目分开保存。让agent确认当前运行环境实际可写的位置,再记录下来。电脑上的路径、云端工作区和手机文件系统可能不同,不能把其中一个位置的文件当作另外两个地方也已经有了。
从输入一路追到可见结果
拿「帮我记一下,咖啡馆这段以后写文章用」来说,你要的是一段创作素材。若它把这句话放进待办清单,下次写稿时只读选题文件,就可能找不到它。项目在2026年10月9日遇到过这种情况,后来调整为先判断内容类型,再决定存放位置。
所以,需求卡里还应写清楚这句话接下来经过哪些动作。对「灵感收件箱」,顺序是:识别选题和片段,找到已有资料,追加保存,重新读取,再告诉你存了什么。没有同名选题就新建,有两个同名选题就请你指认。这里的每一步,都可以对应一个具体的问题。
「重新读取」值得单独写。AI在聊天里把你的话复述一遍,只能说明这轮对话里有这段文字。我们要核对的是保存后的内容。如果没有文件权限,就应当告诉你没有保存成功,不能把聊天答复当作替代品。
把「完成后我在哪里看」补到每项需求后面。保存片段看资料文件;同步手机笔记看笔记App;提醒看日历或时钟里的条目,并在第5章等实际通知。这样每个功能都有可检查的终点。
提前写出两个容易误会的例子
需求卡只写正常情况还不够,你可以给它两句很接近日常说法的输入。第一句是「这段先存着,今天不写」,第二句是隔天再说「把这篇接着写」。前一句的限制应该在那次存档后结束,不能导致后一句仍然拒绝写作。项目早期就出现过把「这次仅存档」当成长期限制的情况。
再试一句「以后我找地方办公,优先环境安静」。这是可复用的偏好,和一篇文章的片段要分别保存。具体怎么分,第3章会展开。你现在只需让agent在需求卡里承认这两类信息不同,不要把所有带「记」字的句子扔进同一个清单。
请用下面三句话检查刚才的需求卡:
A:「给『通勤观察』存一段,今天先不写正文。」
B:新对话中说「把『通勤观察』接着写」。
C:「以后整理我的稿子,请保留我提供的原话。」
逐句说明:它属于哪类信息,保存在哪里,何时失效。
现在只检查设计,不声称已经实际保存或通过手机测试。
没有STEPX Neo的读者,也可以先把需求卡和文件存取规程做好。手机能力是否可用,要等到受支持设备、相应账号和权限具备后再验证。不要让agent在电脑上模拟一次回答,就把手机部分勾成完成。
本章交付物是一张你能自己检查的需求卡:只保留一个日常场景,列明输入、存放位置、操作范围和三条成功标准,并附上「本次限制」「长期偏好」两个边界例子。把它留在项目里,第2章直接交给coding agent。
本章依据:本项目2026-09-30、2026-10-09实测记录(仅结论公开)。需求卡与练习提示词为本书新增教学示例。
02把需求写成SKILL.md
需求卡写完,你已经完成了很大一部分判断。接下来要把这些判断保存成agent每次都能读取的规程。AmooStore官方给出的Skill标准结构里,必需文件叫SKILL.md,上面是元数据,下面是Markdown指令;脚本、参考资料和模板都可以按需要再放进去。
你可以把这一章和需求卡一起交给coding agent,让它直接生成文件。你负责看懂行为是否符合预期,文件名、格式和目录这些细节让它处理就好。不过建议你至少打开SKILL.md读一遍,这个文件决定了它遇到你的话时会做什么。
文件上半段:什么时候调用
SKILL.md开头用两行短横线包住一段YAML。YAML是按「字段名:内容」记录信息的文本格式,新手不用先学一门语法,照着示例让agent生成即可。下面是本书模板采用的最小头部示意,实际模板包还包含详细规程。
---
name: inspiration-inbox
description: 保存有日期和来源的创作片段,按选题追加、查回并起草;区分长期偏好与本次要求。用户说记个灵感、补一段、接着写时使用。
version: "0.1.0"
---
# 灵感收件箱
这里的name使用英文标识「inspiration-inbox」,书中显示名称是「灵感收件箱」。description要讲清用途和触发场景。写「一个强大的个人效率工具」大概对调用没多少帮助,写出「记个灵感」「补一段」「接着写」,agent更容易把你的日常表达和这个Skill对应起来。
version是Skill包的版本,示例从0.1.0开始。书封上的日期版本和它各管各的,别混在一起。以后实际上传时,还要核对网页回填的显示名、场景和描述;把文件生成出来,不代表所有表单都已经替你填对了。打包与版本管理放在第6章讲。
正文写动作,让它有顺序可循
很多人第一次写Skill,会花很多文字给agent规定身份:细心、聪明、经验丰富。你当然可以写,但接下来还得回答几个很具体的问题:先读哪个选题,追加还是覆盖,碰到同名怎么办,保存后怎样判断成功。
对我们的练习,正文至少要把下面这条流程说清楚。它是规程片段,不是一条可以粘到终端执行的命令。
## 保存与追加
先判断要保存的是事实、偏好、创作片段还是本次要求。
创作片段按选题定位,先读取已有内容。
选题名缺失且无法确定时,问用户这段归哪个选题。
同名候选不唯一时,请用户指认,不替他合并。
保留原话、日期和来源,把新片段追加到已有内容。
保存后重新读取,核对旧片段和本次新增内容。
回复新增了什么、存在哪里、查回结果如何。
无法写入或查回时,报告实际完成的部分。
「保留原话」也得落到实现里。原话可以旁边配摘要,但不能只存摘要、把原话丢掉。以后整理文章时,我们还需要核对某个判断究竟是自己说过,还是agent帮忙推出来的。至于完整日期、偏好更新和临时要求怎么存,第3章会给出例子。
正文再加上「起草」的规则:先读回该选题全部相关片段和写作要求,引用具体经历时只用有来源的内容;缺少关键材料就说明缺口,生成的段落标成初稿。你想要的是以后能继续改的稿子,没必要让它把未知的时间地点也补齐。
给coding agent一份可以开工的任务书
打开第一章建立的项目,把需求卡交给agent,然后发送下面这段。这里授权的是在当前项目里生成教学Skill文件,手机上的安装和实际操作放在后续步骤。
请依据需求卡创建「灵感收件箱」Skill。
slug使用inspiration-inbox,先做文件存取与起草规程。
交付SKILL.md、必要参考文件和一份使用说明。
只有规程无法完成的确定性处理,才增加脚本,并解释原因。
请做到:
- 正文写明触发、分流、读取、追加、回读、失败处理。
- 运行数据与Skill安装文件分开,先确认实际可写目录。
- 示例用明确标注的合成资料,不放个人聊天和凭据。
- 手机能力使用前查当前工具说明,不虚构接口或参数。
- 不自动安装、上传、发布或修改其他项目。
完成后列出生成的文件,说明每个文件负责什么。
把尚未验证的手机步骤单独列出,不算作已通过。
如果它一口气生成几十个文件,你可以请它解释哪个是这个需求必需的。第一版可能几份文本就够了,暂时没有需要脚本处理的逻辑,scripts目录也可以不建。官方把scripts、references和assets都列为可选,目录看起来齐全并不会让Skill自动变可靠。
参考文件适合放较长的记忆规则、手机能力注意事项;assets可以放空白记录模板。SKILL.md要明确告诉agent什么时候读取它们,否则文件虽然在包里,也可能没有进入这次任务的上下文。不要把每份参考全文再复制回主文件,后面改一处、漏一处,很容易互相打架。
拿到文件后,先检查这几处
先在文件列表中找到真正的SKILL.md,确认没有被保存成SKILL.md.txt。打开它,看元数据后面有没有完整正文,再让agent按原始需求卡解释一遍:「追加第二段时,为什么不会覆盖第一段?」如果答案只剩一句「会智能处理」,就请它补具体操作。
也检查有没有把「能力不可用」写成「换个说法继续完成」。比如手机笔记工具暂时没有权限,可以完成已授权的文件保存,再明确告诉你笔记没有同步。失败要停在真实的位置,不能拿一个新建文件去冒充手机笔记。
Skill包和Agent包是不同类型。本章做的是Skill,必需文件是SKILL.md。不要因为看到Agent教程,就额外把AGENTS.md、SOUL.md或.metadata.json当成Skill的必填套装。
本章交付物是一份能读懂的SKILL.md及其必要支持文件。你能指出入口描述在哪里、保存与起草的顺序在哪里、失败后怎样回报,并能把每条规则对应回第一章的需求卡。
本章来源:AmooStore官方文档;Skill上传页面(2026-10-15核查)。正文规程与任务书为本书教学示例。
03记住什么、怎样更新:四类记忆
「记住我喜欢什么」这句话,看起来没什么难度。可你过去喜欢过一家很吵的店,今天又明确说以后办公优先安静,它该听哪条?你说「先存着,别写」,下次让它写时,这句话还算数吗?
做「言出法随」时,我遇到过后一个问题:本来只约束当次存档的要求,影响了后来查询和写作。所以「灵感收件箱」从一开始就把信息分成四类。你不必每次亲口报分类,但Skill必须知道自己保存的是什么,下一次该怎样使用。
同一句话里,可以有不同性质的信息
第一类是过去事实,例如「10月3日我在A店写了一小时文章」。它记录发生过什么,要保留日期和来源。以后即使你不去那家店了,这件事也不会因此变成没发生过。若后来发现日期记错,应留下更正依据,不能悄悄把历史改成新故事。
第二类是当前长期偏好,例如「以后找地方办公,安静优先」。它影响之后同类任务的选择。这里的「长期」指用户希望持续适用,仍然允许修改。你新说「最近更看重离家近」,要看这是新增条件还是替换旧条件;不能确定就问一句。
第三类是创作片段,包括原话、素材出处、选题名以及与这篇内容绑定的写作要求。「这篇别写成旅行攻略」应该跟着这篇选题,下次接着写仍然有效。它不应该影响所有未来文章,更不能被当作一条待办。
第四类是本次指令,例如「今天只存片段,不写正文」。它只约束当前任务,任务结束就失效。把这句话和「这篇保留第一人称」放在一起时,agent需要分别处理:前一句到本轮结束,后一句保留在该选题的要求里。
分类先看内容和适用范围,再看动词。「记一下」后面可能是事实、偏好或片段;「记一下明天交稿」则已经涉及事项。一个句子包含两类内容时可以分别记录,但不要因此额外创建用户没要求的提醒。
让每条记忆都能找到原话
第一版用普通文本就能把结构写清楚。下面是一条合成记录,展示该留下哪些信息,日期不代表读者真实经历。具体格式可以由模板实现,字段含义不要省掉。
类型:当前偏好
内容:整理稿件时优先保留我提供的原话。
原话:以后整理我的稿子,尽量留住我说话的样子。
来源:用户在本次对话明确提出。
记录日期:2026-10-15
适用范围:稿件整理
状态:当前有效
补充:不是逐字禁止修改;拿不准时询问用户。
如果来源是一篇旧帖,还要保留原帖日期和链接。记录日期是今天、事件发生在去年,两者要分开。原帖没有给具体日期,就写未提供,别为了字段齐全去补一个。引用到文章里时,读者看到的时间线才有机会被你核对。
推测也单独放。假如照片里有落地窗,agent可以说「这张照片里能看到落地窗」,不能直接存成「用户长期偏爱落地窗」。你确认之后,它才有了偏好的来源。一次顺手的推测被写进资料,下一轮再被当作事实引用,很容易越积越像那么回事。
新偏好来了,更新相关条目
你可以先做下面这个三轮练习。为免混进已有个人资料,使用独立的教学数据目录。第一轮记过去的评价,第二轮明确新的偏好,第三轮换新对话查回。提示词按项目经验提炼,读者自己的环境仍需实际验证。
第一轮:灵感收件箱,下面是合成练习资料。
2026年10月1日,我对A店的评价是「离家近,座位舒服」。
保存原话、日期和来源,作为历史评价。
第二轮:补充一条当前偏好:以后选办公地点,安静优先。
这条用于今后的推荐,A店的旧评价保留作历史记录。
保存后查回,告诉我改了哪一条。
第三轮,新对话:我选择办公地点有什么讲究?
区分当前明确偏好、过去评价和你的推测。
请指出每条来自哪里。
成功的回答应该同时容得下两件事:你曾经肯定A店的距离与座位,现在优先考虑安静。不能因为新偏好出现就删除旧评价,也不能从旧评价反推「以后必须离家近」。偏好里的「优先」「最好」「必须」强度不同,要尽量保留原话的轻重。
如果两条明确偏好在同一个范围内冲突,最新的明确更正优先;旧条目保留历史状态,并指向这次更正。只写「都记住」而不标当前哪条有效,下次使用时还是会打架。
换一个对话,把同一篇文章继续下去
现在给「通勤观察」存两段材料。每次都写同一个选题名,附上日期或来源,让agent先读已有内容再追加。写作要求和片段放在同一选题下,追加后再读回,确认以前那段还在。
灵感收件箱,给「通勤观察」追加一段。
以下是我提供的原话:[粘贴自己的片段]。
日期与来源:[填写,未知就写未知]。
这篇的要求:[例如保留第一人称]。
本次只保存,暂不写正文。保存后查回这篇已有的全部片段。
另开对话再补第二段,最后说:「读取『通勤观察』的全部片段和写作要求,给我一份初稿。先核对来源,缺的就说缺,不增加我的经历。」如果它准确找到了资料,你就跨过了聊天窗口的限制;如果找不到,先检查新对话是否用了相同数据目录、相同选题名,以及是否真的读取了文件。
项目在几轮新对话里查回过偏好与片段,也生成过初稿,但初稿曾出现输入里没有的时间、地点和经历。取回资料与忠实写作要分开检查。你读稿时,把每个具体经历对应到原片段,无法对应的就删掉或请agent重写,别因为文字顺就放过去。
本章完成后,你应有一份带来源的历史记录、一条当前偏好和一个含两段原话的选题。在新对话里查回它们,能看出当前规则和历史评价的区别;「本次只存」已经失效,该选题的写作要求仍然保留。
本章依据:本项目2026-09-30、2026-10-09实测记录(仅结论公开)。四类分流沿用项目经验,字段与合成练习为本书新增教学设计。
04让阶跃Amoo调用手机能力
本章先理解调用流程。要在手机上实际跟做,请先按第6章打包、完成第7章的测试安装,再回到这里验证;基础模板默认只做文件记忆。
前面几章,我们已经把「怎样做」写进Skill,也有了可查回的资料。接下来,你可能想把选题同步到手机笔记,或者设一个写稿提醒。此时要多看一层:当前手机到底提供什么能力,阶跃Amoo是否能调用,以及调用后有没有留下真实结果。
Skill负责组织流程,阶跃Amoo理解你的话、读取规程并调用当前可用工具,手机里的日历、时钟或笔记承接具体动作。开发时可以查看Step Studio的连接器目录,分发和审核则走AmooStore。这是我们在本书里采用的分工方式。一个能力出现在官方目录里,还需要在你实际使用的环境确认可用性和权限。
先发现能力,再传参数
不要让coding agent看到一个功能名,就自行编一个API。项目采用的调用方式是让阶跃Amoo先通过ability搜索能力,读取当次返回的参数说明,再执行。下面是一项只读查询的真实语法,用于查询手机当前时间与时区。
{"action":"search","query":"alarm_clock_get_current_time_zone"}
确认当前工具返回的说明仍适用后,再调用:
{"action":"exec","method":"alarm_clock_get_current_time_zone","params":{}}
这是阶跃Amoo的ability工具参数,不能复制到电脑终端当作命令运行,也没有一个可以据此拼出来的通用HTTP地址。普通读者直接给阶跃Amoo自然语言任务就行;你写Skill时,把「先查当前能力说明」写进去。若当前环境没有ability,就让它报告缺口,不能假装执行了这段JSON。
对其他方法,连参数也要现查。系统会更新,你手里的旧示例可能只适用于当时版本。官方日历说明就区分了打开新建页面和实际新增日程:打开页面后,还可能需要用户填写保存。看到日历界面出现,不能立即回报「已经创建」。
把文件保存和手机笔记分开回报
「灵感收件箱」的资料文件负责跨对话读取;系统笔记则是你能在手机App里直接查看的另一份内容。你要求「把这段顺手存到笔记」,就是增加了一次同步动作,两个存储位置都需要各自检查。
本项目查回过跨对话片段,也在笔记App里核对过写入结果,但曾出现聊天初稿里有多段、手机笔记只查到一段的情况。于是规程里要分别写:资料文件是否保存,笔记是否同步,分别读回了什么。不要用一句笼统的「都记好了」把两件事混过去。
灵感收件箱,把「[选题名]」中我指定的这段内容,
同步到手机笔记「[唯一标题]」。
先确认当前可用的笔记创建、查询或追加能力。
若已有同名笔记,先查内容;多个候选请我指认。
只操作这一个目标,不处理其他笔记。
完成后分别回报:资料文件状态、笔记写入状态、查回内容。
权限或能力缺失时,说清停在哪一步。
这里「唯一标题」最好带一个你能认出的练习编号,例如「通勤观察练习A」。执行后打开笔记App搜这个标题,看原话、段落和日期是否在。若没有查询能力,只能做到打开App人工检查,就明确保留「待人工核对」状态。重试前也先查有没有已经写入,免得多出几篇同名笔记。
照片能找到了,内容还得看得见
用相册和截图取素材时,同样按步骤检查。相册检索返回了文件路径,只说明找到了候选文件;能读到画面,才能描述里面有什么。项目补测时,相册检索曾需要先准备图文特征模型、等待索引,再继续运行。你的设备若查不到,先看当前工具返回和系统准备状态。
你可以这样说:「读取我指定的截图,只整理可见内容,保留截图日期。看不清就指出哪部分看不清。」一张只截到标题和导语的图,支持你记录一个选题,不支持概括全文。由照片推测出的个人偏好,也按第3章的规则等你确认后再保存。
语音输入转成文字后,可以按普通片段处理。不过「快记能录音」和「能提供转写文本」是两项能力。2026年10月15日查到的官方快记连接器只提供录音启停等动作,明确不提供录音转文字。你要做会议转写,需要再确认独立的转写能力。
提醒要有明确时间,也要看实际权限
用户说「周五写稿前提醒我」,缺少钟点,Skill应当追问。不能替你默认早上9点,也不能把一次短时测试当成给原来的日程改期。创建之前先把目标、日期、时区、钟点以及提醒方式对齐,沿用用户已明确的意图和工具实际授予的权限,只写指定事项。
创建一条独立练习提醒,标题「[唯一标题]」。
日期:[完整年月日];时间:[时:分];时区:[填写]。
请在这个时刻提醒,不提前,不更改其他日程或闹钟。
先确认当前工具支持的提醒方式和所需权限。
缺参数请问我,创建后查回时间及提醒设置。
手机弹出授权时,你需要看清它要访问什么。若返回「等待授权」,就保持这个状态,授权完成后再继续核对结果。通知是否允许、提醒设置是否正确、系统到点是否真的显示,都可能影响最终体验。详细的到点验收放在第5章。
项目在2026年10月12日收到了日历和时钟的实际通知,同时也发现了默认时间、改错旧日程等问题。因此你要同时检查这条提醒和原有事项。测试一条闹钟时,只操作这一条;官方时钟能力里有停用全部和删除全部的方法,不能拿来当作单条测试的清理步骤。
本章交付物是你自己的手机能力记录:需要哪个动作、当前查到什么工具、缺不缺权限、调用返回什么、在哪个App核对。对笔记或提醒选一条独立练习目标,保留明确的已完成与未完成状态,带到下一章验收。
05真机验收:问回来、打开看、等到点
先用这一章准备验收用例,再按第6章打包、第7章完成测试安装,然后回来执行。已经安装的读者,可以直接从基础文件测试开始。
「言出法随」的实测里,三段素材确实能在新对话里合成初稿,但后来独立打开手机笔记,查到的内容并没有覆盖全部三段。提醒也一样:2026年10月12日,测试机上的时钟和日历通知实际出现了,同时却发生了把另一个日程当成改期对象的情况。我们需要分别回答:资料有没有保存,目标App有没有收到,到点有没有通知,以及原来的东西有没有被动过。
先准备一份能对照的记录
测试用虚构素材,标题统一加「验收」,不要拿明天真正要交的工作试手。记下Skill版本、手机系统版本、测试日期、时区和权限状态;再截一张已有测试日程的画面,留作前后对照。下面的方括号要由你填写,其中提醒时间请选当前时间几分钟以后,写完整日期和时分。
每次测试记录五样东西就够了:原话、预期、实际结果、证据、是否通过。模板包的「测试用例.md」可以直接拿来填。没测写「未测」,拿不到证据写「待核」,别把它们算进通过率。
八个可以照着做的测试
第1—3项检验基础文件记忆;第4—5项是系统笔记扩展;第6—8项是提醒扩展。本书附带的基础模板不启用提醒服务,扩展任务书在提示词合集里。没有工具或没有完成扩展时,将相应实操标为「不适用/待扩展」,同时验证它会明确说明未完成,不得假装成功。
存一段,再换对话查回来。输入:「灵感收件箱,存入『验收读书』:我今天读到一个观点,先描述问题,再找解决办法。来源是我手动输入的练习材料,日期是[日期],暂时不写正文。」保存后新开对话,要求逐字取回。标题、日期、原话都在才通过;如果只回了大意,继续查实际文件,分清保存不完整和检索没读全。
追加第二段,检查第一段还在。新对话补充:「给『验收读书』加第二段:我想把这个方法用于整理学习笔记。保留第一段。」随后要求列出两段原话和各自来源。如果新内容覆盖旧内容,先停止追加,保留当前文件,找已有备份恢复,再修保存流程。不要为了补齐而让模型凭记忆重写第一段。
更新偏好,看看它怎么处理冲突。先存「练习偏好:摘要控制在三句话」,再补「以后这类摘要改成五句话,旧要求不再适用」。换对话询问当前要求及来源。应以新要求为准,历史记录仍能解释变更;如果把两条都当有效要求,修正偏好更新规则,再用新对话重跑。
拒绝权限后,能不能说清没做成。在没有授权的能力上发起一次低风险操作,例如把虚构片段写入手机笔记,遇到授权提示时拒绝。预期是停下并说明未完成,原素材仍然保留。如果仍然回复「已保存」,这条失败;补授权后也先查目标App,避免第一次其实写入、第二次又重复创建。
打开目标App,核对全部内容。明确要求将前两段写入标题唯一的测试笔记,然后亲手打开笔记App,检查标题、两段正文和日期。聊天里出现完整文本,只能证明回答里有这些字。若App只出现一段,记录哪段丢了;若出现两条同名笔记,先确认目标条目,再调整更新策略,不要让它批量合并你的其他笔记。
时间不完整时,应该追问。输入:「周五提醒我整理『验收读书』,具体几点还没定。」预期是询问时间,暂不创建日程或闹钟。如果它自行选了上午九点,即使时间看起来合理也不通过。检查日历和时钟,确认没有悄悄生成条目,补全日期、时区和钟点后再进入下一项。
时间完整后,真的等到通知。用下面的提示词创建独立测试事项。先查回日历时间、提醒设置或闹钟启用状态,再亲手打开对应App核对,等到通知实际出现并记录时间。只弹出新建页、只创建待办、只登记了定时任务,都不能算到点通过;没响就逐项查时间、时区、通知权限与系统设置,保留失败结果。
新建提醒之后,旧事项保持原样。对照测试前的截图,检查另一条已有测试日程的日期、标题、提醒设置,以及待办数量。若旧日程被撤掉,或者夹带创建了无关事项,整轮提醒验收失败,即使刚才确实响了。停止继续创建,先定位改动范围,确认恢复方案,再修改Skill里的新建与改期判断。
这是独立测试事项「验收提醒-[编号]」。
请在[完整日期][时分]按[时区]准点提醒我。
这次只创建这一条,不更改其他事项。
先核对时间;创建后查回标题、时间和提醒设置。
如果缺权限或能力不可用,停下并说明实际状态。
不要将「打开新建页面」描述成「已创建」。
失败之后,把修改范围缩小
别把「这次没做好,你再聪明一点」当修复指令。把失败那条原话、预期、实际结果交给coding agent,要求它指出是哪条规程或哪一步执行出了问题,每轮只改相关部分,然后用同一条输入复测。再补一条相邻测试:修了追加丢内容,就测首次保存;修了提醒误改,就同时测明确要求改期的场景。
脚本自检能检查数据处理和规则分支,无法替你看到手机权限弹窗、App里的实际内容或到点通知。项目曾出现本地自检全部通过,而真机素材处理仍失败的情况。没有手机的读者,可以先完成文件检查,完成具备文件工具的基础项,将手机扩展项保留为待验收。
测试结束后,只处理本轮编号对应的测试条目。时钟里存在停用全部闹钟、删除全部闹钟的能力,不要用它们清理一个测试提醒。一次能正常跑完,再用另一段素材、新对话重跑,结果稳定后,再决定是否生成正式提审包。
06打包与版本:只装要交付的文件
你写Skill时,文件夹会慢慢长大:参考材料、截图、测试数据、几次修改的旧稿,都在里面。但用户安装时,只需要执行这项任务用得上的文件。直接把整个项目压缩上传,很容易顺手把自己的资料也送出去。
我们配套提供的公用模板叫「灵感收件箱」,目录名是inspiration-inbox。它从项目经验里提炼了保存、追加、读回和确认规则,方便你改成自己的用途;它并不是视频里「言出法随」的原始发布包,也没有在本次制作手册时完成新的手机端真机验证。先读模板包里的README.md,知道哪些已经提供、哪些要自己接上,再动手。
最小的Skill,只有一个必需文件
截至2026年10月15日,AmooStore官方文档给出的Skill标准结构是下面这样。SKILL.md放在技能目录根部,里面包含YAML元数据和Markdown指令;其他三个目录都是可选的,用不上就不建。
inspiration-inbox/
├── SKILL.md
├── scripts/ 可选,需要确定性处理时再加
├── references/ 可选,放按需读取的参考规程
└── assets/ 可选,放模板等资源
这和Agent资产的目录要求不同。不要因为在另一个示例里看到了AGENTS.md、SOUL.md或.metadata.json,就把它们一起补进来。.metadata.json没有被列为Skill标准包的必需文件;本项目历史包里出现过它,也不能推出所有人都得带。
「灵感收件箱」可以先用SKILL.md指挥阶跃Amoo读写文件,把较长的处理规则放到references/,把可复制的空白记录放到assets/templates/。等你发现某项处理必须反复精确计算,再考虑加scripts/。增加脚本时,让AI同时说明运行依赖和失败时怎么处理,别默认手机端与电脑拥有相同环境。
名称、显示名与版本各管什么
目录用容易识别的英文名,SKILL.md头部明确写name、description和version。name可沿用inspiration-inbox做练习,但正式发布时需要准备自己的唯一Slug,避免与别人冲突。当前官方文档要求Slug为8—60字符,只允许小写字母、数字和连字符;中文显示名另填,例如「读书片段收件箱」。
版本号用x.y.z的形式,例如0.1.0。你可以约定:修正一处规程从0.1.0升到0.1.1,增加一种用途再升到0.2.0。这是便于自己维护的做法,关键是每个交付包都能对应到确定的内容。网页解析后的版本也要核对,别让文件写着一个版本,压缩包名和发布说明又写着另一个。
请检查这个Skill的交付文件,不改功能:
1. 列出SKILL.md引用的每一个文件,确认实际存在。
2. 核对头部name、description、version与说明是否一致。
3. 找出绝对路径、个人数据、凭据、缓存和运行日志。
4. 列出建议打包的文件,说明每个文件的用途。
5. 对不确定是否需要的文件,先列出来,不直接删除。
输出打包清单和未解决的问题。
把技能文件与自己的数据分开
技能目录放方法,运行后的数据放独立位置:你每天存的片段、偏好和手机执行回执,不应该跟着发布包一起更新。具体数据位置由你的运行环境确认,写进自己的说明,别照搬别人电脑上的绝对路径。
升级前先备份已有数据,再让新版读取一小份副本,检查原有片段仍可查询。新版本如果改变了数据格式,要求AI解释如何迁移、迁移失败如何恢复。也别随手改Slug,改了名称,运行环境可能把它视作另一个技能;旧版与新版并存时,要先确认当前究竟加载了哪份。
升级后,先在新对话里让阶跃Amoo读取实际安装的SKILL.md,报告版本与关键规则,再跑一条已知用例。文件头部和行为都对应,才有理由认为你正在测试新版本。要求更高时,可以对照关键文件的哈希值。
压缩时,只选技能目录
配套资料还包含README.md、测试用例.md和打包检查.md,它们是给你看和填写的。读完说明,在文件管理器里选中inspiration-inbox这个技能目录,生成zip,别选中整套手册与模板资料的外层文件夹。官方资料未明确规定zip是否必须去掉顶层目录,本教程保留单一技能目录,确保SKILL.md就在该目录根部。
压缩后再解压到一个新位置,检查能否找到入口,以及references/和assets/templates/中的引用是否仍然有效。这个动作能发现「本地运行正常,只因读到了包外文件」的问题。需要的资源应随包提供,不能靠作者机器上恰好存在。
- 包内只有这一项Skill要用的交付文件,没有整本手册、原始录屏或个人资料。
- 不带.env、密钥、证书、会话、运行日志、数据库、依赖缓存和.git目录。
- 不带官方上传规范禁止的USER.md、*.jsonl、*.log、.DS_Store等文件;运行时产生的数据另存。
- 包中的示例全部是虚构数据,读取路径可迁移,版本与说明一致。
- 按当前上传页准备小于50MB的包;页面规则变化时重新核对。
把这份最终清单和对应zip一起保留。下次收到「你这个版本不能用」的反馈,你能先确认对方装的是哪个包,再去找问题。
结构与禁传文件依据:AmooStore官方文档;界面限制依据:Skill上传页。核对日期:2026年10月15日。
07AmooStore:测试、提审与发布
包做好以后,先把它装到自己的手机上。电脑里的文件、网页上的测试推送、手机已经安装的版本,可能各是各的,不要因为点过上传,就默认手机正在运行最新代码。
AmooStore是官方的资产分发入口。发布前需要STEPX账号和实名认证,身份要求以平台当次流程为准;要同步手机端,还需要符合条件的设备与账号绑定。以下按2026年10月15日可见网页整理,涉及手机安装的部分结合项目真实操作记录,入口名称以后可能调整。
第一步:上传后,逐项核对解析结果
打开AmooStore发布入口,选择Skill,需要手机使用时勾选同步上架StepAOS。你也可以直接进入Skill上传页。当前页面支持选择文件夹或zip,要求包含SKILL.md,界面标示包体积不超过50MB。
网页会尝试从SKILL.md回填部分字段。上传后逐项查看Slug、显示名、场景、版本、描述和标签,中文显示名可以在页面核对调整。不要只看文件上传成功:若版本没有回填,先检查SKILL.md头部的version字段;若显示名变成英文目录名,就在页面改成读者能理解的名称。
当前页面最多5个标签,每个不超过12字。先用两三个准确的词,例如「灵感记录」「读书笔记」「素材整理」,比把所有热门词塞进去更容易让人知道能做什么。描述写清楚触发方式、输出结果和必要条件,不要写「什么都能做」。
用于保存和整理零散的读书、学习与创作片段。
说「帮我存入灵感收件箱」后,记录原话、日期和来源;
后续可以追加、查回,并按已有素材整理初稿。
写入手机App需有可用能力与用户授权。
本模板需在自己的设备上完成测试后再日常使用。
官方飞书文档目前仍写200MB、10个标签、每个60字符,与本次查看的上传页不一致。本手册按页面的50MB、5个标签、每个12字准备。这是2026年10月15日的界面观察,实际提交时仍以当次页面校验为准。
第二步:测试推送之后,到手机里安装
同步StepAOS的Skill,可以先走真机测试。确认网页和手机使用对应的STEPX账号、目标设备正确,再发起测试推送。平台会进行相应扫描,出现失败时先读错误原因,处理包结构、内容或设备连接问题,不要改个名字连续重传。
推送成功后,在手机的AmooStore空间找到Skill测试专区,进入详情安装或配置。项目当时的操作是从会话中心进入AmooStore,再进测试区;你手机的入口如果有变化,以当前界面为准。网页上的成功提示没有替你完成手机安装。
安装完成,开一个新对话,让阶跃Amoo读取当前安装文件中的版本,再回到第5章跑本次功能对应的关键用例。如果读到旧版本,先检查测试区更新是否安装、是否存在同名旧包、当前加载的是哪份。不要立刻改Skill内容来修一个其实由旧版本造成的问题。
测试区的详情页可能出现审核相关字样,这也不能直接拿来宣布正式发布。项目历史记录里,测试包安装和正式提交审核发生在不同日期,两次操作的目的和可见范围不同。
第三步:确认交付内容,再正式提审
真机测试达到你的验收要求后,重新核对准备提交的版本、介绍、标签、同步渠道和协议,正式提交审核。提交前最好保存一份发布清单:包名、版本、提交日期、已测设备、已知限制,以及供审核复现的两三句输入。需要补授权或配置的地方,明确写在说明里。
官方流程是审核通过后自动发布。同步手机端的资产还需要人工审核,未通过时Web与手机端均不可见;页面给出的预计耗时只是预估,不能据此向使用者保证某天一定能装。收到修改意见后,改对应内容、重测相关用例,再按平台流程提交。
用四种状态记录进度
本地待测试。包已生成,但尚未确认手机装上并运行。此时可以说「完成打包」,不能说「手机已可用」。
测试区已安装。自己的手机安装并完成指定测试。证据是实际安装文件、测试结果和App画面,可用范围仍是测试。
已提审,审核中或待修改。有提交回执,但还没有面向普通用户的可见性证据。需要修改时把原因记下来,回到测试再提交。
已公开。平台显示已发布,并且普通用户在目标渠道能看到详情、获取对应版本。发布给手机用户时,还要验证手机端的安装入口。
「言出法随」2.9.8已经正式提交审核,最后一份明确的本地记录停在2026年10月11日「审核中」。本手册制作时,未登录访问无法取得公开详情,因此不能确认它已公开,也不能据此断言它被删除。2.9.9的记录则属于测试区,两者不要混着介绍。
还有一个容易忽略的细节:接口返回过安装命令,不代表普通观众已经能安装。复制CLI命令到电脑,也不等于手机安装完成。真正准备把链接发给别人时,用普通用户能使用的入口检查一次,看到的版本、说明和安装条件都对,再分享。
这一章的完成标准:你能指出当前处于哪种状态,拿出相应证据,并且没有把测试推送、手机安装、提交审核和公开发布合成一句「已上线」。
流程依据:AmooStore官方文档与当前Skill上传页。核对日期:2026年10月15日。
08做成自己的日常工具
你可能不写文章,也没有每天攒选题的习惯,这完全没关系。把「创作片段」换成读书摘录、学习疑问或会议上随手记下的一句话,前面做好的保存、追加、查回流程仍然用得上。
我觉得第一版可以小一点,先找一件你这周就会反复做的事。比如读到一个观点,随手存进去,周末问它「这周哪些内容跟我正在解决的问题有关」。只要你能省下反复翻聊天记录的时间,这个工具就有继续做下去的理由。
读书:留下出处,也留下自己的疑问
读书片段里至少分开原文与自己的理解。原文带书名、章节或页码,记不清就写待补;自己的判断可以变化,不要让AI把它重新包装成作者说过的话。练习时用你手动提供的短片段,先做保存与归类,别一上来就要求它从所有阅读App自动取回划线。
把下面内容存进「[书名]读书片段」。
原文:[短摘录]
出处:[章节或页码,未知就写待补]
我的理解:[你的话]
我的问题:[还没想明白的地方]
先保存并查回,保留这四项的区别。
以后总结时,可以指出不同片段间的冲突,
不要替作者补写没有提供的原文。
验收也很直接:新开对话,问某个结论出自哪里,看它能否回到原始片段。找不到就应该说找不到。引用错了,比少总结两句话更值得优先修。
学习:把「看懂了」变成一次检验
你可以另建一个学习用途,存每次卡住的问题、当时的解释和自己举的例子。几天后让阶跃Amoo只根据这些记录出一道应用题,你回答完再核对。例子不成立就保留错误原因,下次复习才知道自己到底哪里没懂。
我在学[主题],今天卡在[具体问题]。
把下面这段记成学习片段:[你的描述]。
请区分已经核对的解释和还需要查证的说法。
这次先给我一道应用题,等我回答,再讨论答案。
如果我答错,记录错误原因,不把猜测存成结论。
这里不必马上加定时复习。先确认能保存、能取回、题目真的对应你的问题,再决定要不要接手机日历。新增提醒,就重新跑时间不完整、实际到点和旧事项保持不变这几项测试。
会议:从已经拿到的文字开始
会议场景也可以沿用这个结构,但输入先选你手写的片段,或者已通过其他合适方式得到、并获准处理的文字。2026年10月15日查到的官方「快记」连接器支持录音控制,并明确不具备录音转文字能力,不能因为能开始录音,就把自动转写整条链也算做完。
把记录分成「已经决定」「有人提出」「尚未确认」,责任人和截止时间只使用原文明确给出的信息。没说谁负责,就留下空缺,别让模型把发言人顺手填成执行人。
整理下面这段会议文字:[片段]。
保留出处或对应段落,分成决定、建议、待确认。
没有明确责任人和时间的事项,列为待确认。
先给我看整理结果。
我逐条确认前,不发送消息,不建日程,不改待办。
等你愿意让它继续执行,再明确说「只把第2项加入日历,时间是……」。保存记录、生成草稿、对外发送与修改手机事项分别授权,会更容易发现究竟在哪一步需要你接手。
一次只扩展一个动作
可以按这样的顺序做:先存文字,再跨对话取回,再整理草稿;这些稳定后,增加写手机笔记;确实有需要,再接提醒。每增加一步,补上输入、结果、权限和失败分支,别把上一步通过的测试直接当成新功能的证明。
图像输入也一样。读取截图时,只整理图中可见内容;根据照片推断的偏好,先让本人确认。相册找不到图片,可能需要检查授权、图文特征模型或索引准备情况,不要反复换几句提示词,就把结果为空解释成手机里没有。
模板包里的SKILL.md负责主要步骤,references/适合放较长的场景规则,assets/templates/存空白记录样式。你可以让coding agent沿用已有结构做一个小改动,先别要求它同时把读书、学习、会议、旅行和购物全部写进去。
让经验有地方可查
第一次失败时,记下日期、版本、原始输入、期望结果、实际结果和证据位置。一次观察就按一次观察保存,别立即写成永久规则。相同问题换个输入还能复现,或者已有官方说明支持,再把对应处理办法放进规程。用户明确说过的偏好则单独存,注明来源与生效时间。
下次使用前,先读当前偏好和与任务相关的经验;结束后只补值得保留的变化。例如「当前设备上此能力缺权限时会停在授权页」「追加时只写入了最后一段」,都比「以后要更仔细」有用。旧结论失效,标明被哪次验证纠正,保留来源,避免两份相反规则同时生效。
版本更新与个人资料继续分开。给别人分享的是规程和空白模板,自己积攒的摘录、会议材料和偏好不跟着发;修Skill时,也不顺手重写历史记录。出现格式升级,先在数据副本上试,再决定迁移。
这套「灵感收件箱」模板是起点,尚未完成你设备上的真机验证。先从README.md开始,改好SKILL.md,按测试用例.md验收,再用打包检查.md确认交付内容。没有受支持手机,也可以先完成文字规程与文件侧练习,把手机能力留作待测。
你也可以重看配套视频,然后选一件今天真的想省下力气的小事。先存第一段,关掉对话,再回来问一次。
会议录音能力边界:Step Studio快记连接器,核对日期:2026年10月15日。
附模板、排错与来源
先打开哪个文件
- templates/README.md
- 完整资料包的起点,解释基础能力、环境和两个ZIP的区别。
- templates/需求单.md
- 把日常问题写成一个可以验证的需求。
- templates/提示词合集.md
- 交给coding agent的任务书,含基础规程和选修扩展。
- templates/测试用例.md
- 24项待执行用例,覆盖保存、追加、查回、歧义、失败、权限与经验纠正。
- templates/打包检查.md
- 核对元数据、路径、私人文件、包结构与版本。
- templates/inspiration-inbox/SKILL.md
- 技能入口;较长规则在references/,空白格式在assets/templates/。
完整学习包里还有scripts/check_template.py。解压后,在资料包根目录运行下面第一条即可检查结构。需要Python3.9或更新版本;你也可以把这段交给coding agent执行。
python3 scripts/check_template.py
python3 scripts/check_template.py --pack
第二条会创建两个ZIP;如果同名输出已存在,检查器会拒绝覆盖。先把旧包移到自己的归档目录,再重建。这里的检查针对教学文件、引用、元信息和ZIP内容,不会调用手机,也不会自动提交商店。
看到这些现象,先查这一处
- 新对话说找不到资料
- 核对实际工作区、数据目录、选题名和读取动作。只在聊天里复述过的文字,可能从未保存。
- 新增片段后,旧片段不见了
- 先保留现状,再查备份。修正追加与覆盖规则;不要让模型凭印象补写原文。
- 手机笔记里只有一部分
- 逐段对照源文件与App正文。文件存取和手机笔记写入分开检查。
- 提醒显示已创建,却没响
- 检查完整日期、时区、启用状态、通知设置与实际通道。待办、日历、闹钟和定时任务分别验证。
- 截图或照片检索为空
- 先核能力是否可用、权限与索引是否就绪。拿到路径也要确认能否读出图中可见内容。
- 网页推送成功,行为却没更新
- 核手机实际安装版本及是否加载同名旧包,再决定是否修改规程。
公开来源与配套视频
第4章手机能力依据:Step Studio连接器目录、日历、时钟、快记(2026-10-15核查);本项目2026-09-30、2026-10-11、2026-10-12实测记录(仅结论公开)。
- AmooStore官方文档:my.feishu.cn/wiki/Dp2jwEV2MiV7WwkWmkNchqj9nyf
- Skill上传页:amoostore.stepaos.com/create/skill?syncToAos=true
- Step Studio连接器:studio.stepx.com/connectors
- 配套B站视频:bilibili.com/video/BV12JJ16REme
项目经验来自2026年9月30日、10月9日、10月11日和10月12日的代码、操作记录与独立核对。书中只公开与方法相关的结论;原始个人数据、设备标识和认证信息不随资料发放。公开页面没有证实的状态,保留为未知。
把这本书和模板发给自己的coding agent时,可直接说:「先读需求单和SKILL.md,按我的需求做最小改动。告诉我哪些只是方案、哪些已实际执行,并把尚未验证的部分列出来。」
花叔 · AI Native Coder
做一件自己会反复用的小事
我一行代码都不会写,产品里的代码都由AI完成。我做的事是想清楚需求,把结果拿来用,再判断哪里需要改。
这本书到这里,你可以先选一个选题,存第一段。关掉对话,再回来问一次。

B站:花叔v · YouTube:@Alchain
GitHub:github.com/alchaincyf
官网:huasheng.ai
《从一句话到一个手机Skill》
v261015 · 花叔 著