Skip to content
cccskills
FreePublished on GitHub

skill-creator

当学生说"我想做一个自己的技能"、"每次都要重复交代同样的要求"、"能不能把这套流程固定下来"、"帮我改一下我那个技能"时使用。

先判断他手上已经有什么(一句想法 / 一段聊过的流程 / 一份写坏的草稿),从当前对话里能抠出来的答案就不要再问,查清运行时可声明的能力后直接写出一版完整可跑的 SKILL.md,只把剩下的关键分歧用一张选择题卡问完,改定后出确认卡存进技能库。

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md13.7 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

做一个自己的技能 / Skill Creator

把学生反复用到的一套做法,变成一份能真正跑起来的 SKILL.md。

技能不是"给 AI 的一段说明",是一份可执行的规格:它决定 agent 在什么时候被唤起、 能碰哪些数据、按什么步骤走、哪些事不许做。

先定位,别从头走流程

学生来的时候手上已经有东西了,位置不同,起点就不同:

他手上有从哪一步开始
一句想法("想做个错题整理的技能")第 1 步,走完整流程
刚才这段对话本身("把你刚才那套做法存下来")直接进第 2 步写草稿——流程就在上面,别再问一遍
一份自己写的草稿跳到第 3 步,指出问题并改,不要推倒重写
一个已存在的技能要改read_skill 读回来,只改他要改的部分,version 照「字段怎么定」升一级

最费时间的错误是不管他在哪一步,都从"你想做个什么技能"开始问。

尤其是第二种:学生说"把刚才那套存下来"时,触发场景、流程、边界基本都在上文里—— 他纠正过你哪几次、你读了什么、他嫌你多做了什么,这些就是这个技能要写的东西。 先把这些抠出来,只补真正空着的格子。

何时使用 / When to use

  • 学生发现自己反复在交代同一套要求("每次都要提醒你先看我的课表")
  • 刚聊完一段他满意的流程,想固定下来
  • 他有一套自己的方法想固定(错题整理的流程、面试准备的清单)
  • 他想改自己之前做的某个技能

不适用于 / Not for:

  • 只是想让 AI 这一次按某种方式回答 —— 直接说就行,不必做成技能
  • 想要的能力运行时根本没有(比如收发邮件)—— 技能只能调用已有能力, 做不出新能力。这种情况如实说,别写一个跑不起来的壳

流程 / Process

1. 查能力 + 抠现成答案

调 list_capabilities,记住有哪些读能力、哪些提案能力、哪些提问能力。 这一步在动笔之前,不能省——能力名是运行时定的,凭印象写会声明出一个不存在的名字, 那个技能装上去就是坏的。没有这个工具时也不要凭印象补,按下文「没有这些工具时(降级)」不声明能力。

同时把上文里已有的答案抠出来:他说过的原话、走过的步骤、纠正过你的地方。

学生说"我想要个类似 X 的"、或者已有技能与他要的重叠时,用 read_skill 读 X 当范本。 读参考技能不会把你切走——本 skill 声明了 read_skill,运行时据此把这类读取当查资料处理: 能力面不变,propose_skill / ask_user / list_capabilities 都还在,读完继续走下面的流程。 不要因为看到了别的 skill 的正文就改按它的流程走。 (学生如果是真想改用那个技能,让他点输入框上那张卡右侧的 ✕ 退出本技能,再重新说一次。)

2. 直接写出完整第一版

按下面的骨架写一份完整的 SKILL.md 贴给他看。拿不准的按最保守的选项定并标出来:

  • 拿不准要不要写库 → 不声明 capabilities(缺省即只读,最安全)
  • 拿不准触发场景 → 用他自己的措辞写 description,标注"这句最关键"
  • 拿不准边界 → 先写三条通用的(不代写、不编造、不替他做决定),标注待确认

不要贴填空模板让他填。贴一份能跑的完整草稿。

3. 同一轮把剩下的分歧一次问完

调 ask_user,最多 4 问,只问上文里没有、而且会改变技能形状的:

问什么为什么值得占一问选项举例
什么时候该自动派上用场description 是 agent 判断触发的唯一依据,写空了这技能永远不会被想起来我说要用才用 / 每周固定时候 / 遇到某类情况自动
要不要能改你的数据决定 capabilities 的形状,也决定用户看到多大的授权面只看不改 / 可以帮我加事项 / 可以帮我存文档
绝对不许做什么好技能与坏技能的差别多半在边界上,而作者一开始想不到写边界不替我做决定 / 不编造我没说过的 / 不代写文书 / 都要

上文里已经有答案的就别问。三问全有答案就直接跳到第 4 步。 不要问"这样可以吗""要不要我写出来"——草稿已经在他眼前了。

4. 改定并出卡

按答案调整,然后调 propose_skill。卡片会显示解析结果与授权范围, 解析不过会列出错误——照着错误改,再提一次。 不要在出卡前再问一句"确认要保存吗",卡片本身就是那次确认。

怎么写 description —— 这一段决定技能有没有用

description 是 agent 唯一的触发依据。写不好,技能存进去也永远不会被想起来。

已知的失败方向是"不触发",不是"乱触发"。 所以要写得主动一点: 不只写它做什么,还要写学生会说的哪些话应该唤起它,把原话直接塞进去。

弱:整理错题
强:当学生说"这次考试错了好几道"、"帮我看看错题"、"这题我又错了"时使用。
    把错题按知识点归类,标出重复错的那几个点,产出一份可存档的错题整理。
    只整理他给出的题,不编题也不代解。

写完自查一遍:说三句他真会说的话,对着 description 看会不会命中。 命不中就把那三句的措辞加进去。

正文怎么写

  • 用祈使句:"先读事项" 而不是 "应该先读一下事项"
  • 解释为什么,别堆全大写的 MUST。模型有判断力,告诉它这条规则在防什么, 它能处理你没写到的情况;只给一条硬命令,它在边界上就只会照字面办。 写着写着出现"绝对必须""严禁"时停一下,多半可以换成一句"因为……"
  • 边界要具体:"不代写文书" 比 "保持诚信" 有用一百倍
  • 先写完再回头看。写完通读一遍,删掉那些不出力的句子—— 正文越长模型越容易抓错重点

SKILL.md 骨架 / Skeleton

---
name: <kebab-case,和技能同名>
description: <当学生说"…"、"…"时使用。做什么、不做什么。写满信息,这是 agent 的判断依据>
category: <大类,如 study-planning>
version: 0.1.0
status: draft
priority: P0
compatible_agents:
  - claude-code
  - nestudy
  - generic-llm-agent
display_name: <中文名,界面上显示的>
capabilities:          # 不写 = 只读。要写库才列,且只列真正用到的
  - <来自 list_capabilities>
outputs:
  - <chat / document / canvas / event>
max_rounds: <1-100>
suggest_hint: <一句话,运行时主动建议时说的>
---

# <中文名 / English name>

<一两句话说清楚它做什么。>

## 何时使用
- <具体场景>

**不适用于**:
- <边界外的场景,指向别的技能>

## 流程
1. <步骤,写清楚每步读什么、产出什么。默认先做出东西再问>

## 输出格式
<给个模板>

## 边界
- **不…**:<理由>

字段怎么定 / Fields

  • 只读的流程别声明 capabilities——不写就是只读,这是最安全的默认值
  • 要写库才声明,且只声明真正用到的。多声明不会更强,只会让用户看到不必要的授权
  • outputs 要和 capabilities 对上:document 要有 propose_artifact, canvas 要 propose_canvas,event 要 propose_events
  • max_rounds 给够但别虚高:一次问完再产出的流程 20 上下够用, 一问一答的访谈类要到 50 以上。给 100 不会更强,只会让它有机会绕远路
  • 这个技能自己要不要问用户?要就声明 ask_user,并在正文里写清楚"先做出东西再问"
  • 改已有技能要升 version:不升的话,覆盖前后两版的版本号一样,出了问题分不清是哪一版。 新增步骤、能力或输出段升 minor(0.1.0 → 0.2.0,末位归零);只改措辞、例子或边界升 patch(0.1.0 → 0.1.1)。 原技能末尾有变更记录表的,在表格最上方加一行写明这次改了什么;没有就不必新建

输出格式 / Output

第一版草稿(与问题卡同一轮发出):

先按你说的写了一版,你看着改:

```markdown
<完整的 SKILL.md 原文>
```

**我拿不准、替你定了的:**
- <标注 1,下面问你>
- <标注 2>

没有这些工具时(降级) / Without these tools (degraded mode)

上面的流程按 nestudy 的工具写。在 Claude Code 或其他没有这些工具的环境里,流程和边界不变,只把工具换成下表的做法, 并在草稿上方写明「降级:没有 nestudy 工具,能力名没有核对,这份 SKILL.md 没有经过运行时校验」。

工具没有时怎么做
list_capabilities查不到能力清单,就不声明 capabilities 和 optional_capabilities(缺省只读),outputs 只写 chat;原本要写库的步骤改成"输出一张 Markdown 卡片请使用者自己保存"。学生贴出了他那个运行时的能力清单,才可以从清单里挑名字
read_skill请学生把要改的那份 SKILL.md 原文贴进来;拿不到原文就不动手,不凭记忆重写
ask_user在对话里直接问:同样最多 4 问、每问给选项,一次问完,然后停下等他回答
propose_skill把定稿的完整 SKILL.md 放进一个代码块交给学生,请他自己保存或导入他用的运行时,并写明这个技能能不能改他的数据;不说"已保存"

交出之前,把 propose_skill 平时替你查的几项自己核一遍:frontmatter 用 --- 包住,每行是「键: 值」或「- 列表项」; name 是小写 kebab-case;description 只占一行;version 是三段数字;category、status(新建写 draft)、 priority、compatible_agents 都在;正文不为空;outputs 与 capabilities 对得上(见「字段怎么定」)。

边界 / Boundaries

  • 不编造能力名:capabilities 里的每一个都必须来自 list_capabilities 的返回。 拿不准就再查一次。写错了那个技能装上去就是坏的。
  • 不替学生想需求:草稿是让他改的靶子,不是替他决定。 每一处你自己拿的主意都要标出来,别混在正文里假装是他的意思。
  • 不重问上文已经答过的:他刚说过的话再问一遍,比不问更让人烦。
  • 不省略边界那一问:没有边界的技能等于没有约束的 agent。
  • 不夸大:技能只能调用已有能力。学生要的做不到就直说,不要写一份看起来能跑、 实际调不到工具的规格。
  • 不代替确认:写完必须走 propose_skill 出卡(没有这个工具就交 Markdown 卡片,由他自己保存),由学生自己看过授权范围再存。
  • 写自己的边界也要老实:生成的技能会写库时,在草稿里明确告诉他"这个技能能改你的数据"。
  • 不写会伤人的技能:诱导学生造假申请材料、伪装成他本人对外发言、绕过学校规定的, 一律拒绝并说明理由。"扮演某个角色陪我练面试"这类没问题。

Token 控制 / Token discipline

  • list_capabilities 一次调完,不要每写一个字段查一次
  • 草稿只贴完整的这一次;改定后只贴改动的那几行 + 最后 propose_skill 那一份
  • 问题一次问完。运行时对连续追问有硬上限,一次一问会在写完之前就把额度用光

变更记录 / Changelog

版本日期变更类型
0.3.22026-09-26用例 Case 4 要求改技能时升版本、正文没教:「字段怎么定」补按 minor / patch 升 version 并在原有变更记录表最上方加行;声明兼容 claude-code 却没有降级路径,补「没有这些工具时(降级)」:无 list_capabilities 不声明能力,无 propose_skill 交 Markdown 卡片由学生自己保存patch
0.3.12026-08-05写明「读参考技能不会把你切走」:运行时已按声明把这类读取当查资料,能力面不变——实测模型读了一份范本之后以为自己改按那份流程走了patch
0.3.02026-08-05参考 Claude 官方 skill-creator 收敛轮数:新增「先定位学生在哪一步」(尤其"把刚才那套存下来"应直接从上文抠答案而不是重问一遍)、description 主动写法与三句自查、正文写作规范(祈使句 / 解释 why 而非全大写 MUST / 写完删冗句);max_rounds 60 → 20minor
0.2.02026-08-04转向先产出:查完能力直接写出完整草稿贴给学生改,关键分歧用 ask_user 一次问完;取消"一次只问一件事"的访谈式流程minor
0.1.02026-08-04初始草稿minor

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

当学生说"Common App 活动栏写不下"、"这段活动描述超字数了"、"帮我把这几条压到限制内"时使用。先按官方申请表核对当季字符限额,再逐条检查;一次把所有条目量完并直接给出压缩版,只在需要砍掉实质内容时才用选择题问该保哪部分。每改一版都用工具重新数一遍字符,绝不凭感觉说"这样应该够了"。只压缩,不代写空白。

The English summary is being prepared. Showing the original description.

ChromiteCr/Skills4Updated Oct 21, 2026

当学生说"我参加过一些活动但没整理过"、"帮我把经历录进去"、"我的活动档案是空的"时使用。让学生一口气把记得的活动说出来,直接把这段话拆成结构化的长期事项(角色、组织、起止时间、做了什么、结果、级别),说不清的字段留空标"待补"而不是编,再用一张选择题卡把级别判定与是否重复这类关键项一次问完,然后提案入库。只记录学生真正说出口的内容,级别按事实判定,绝不往高了写。

The English summary is being prepared. Showing the original description.

ChromiteCr/Skills4Updated Oct 21, 2026

当学生问"招生官会怎么看我的档案"、"我的背景还差什么"、"帮我评估一下现在的申请竞争力"时使用。以顶尖大学招生官的视角通读学生的档案、长期活动与已写下的反思,不问任何前置问题直接产出一份指名道姓的坦诚点评:这份材料的亮点、招生官真实的解读方式、明显的短板与空白、以及接下来最值得做的一到两件事。只读不写,不修改学生的任何数据,也不代写任何申请材料。

The English summary is being prepared. Showing the original description.

ChromiteCr/Skills4Updated Oct 21, 2026

当使用者说"帮我填词"、"按这个字数模板写歌词"、"用多Agent对抗式写词"、"这首副歌帮我想几句"时使用,前提是字数骨架和这首歌写什么都已经有了;只有主题、还没定写什么时先用 lyric-concept-builder。拿一份字数骨架和意象系统,派三个 sonnet 子代理按不同路子并行独立起草(场景派 / 口语派 / 意象派),再派一个红队子代理逐句挑毛病,主 Agent 按句裁决拼稿,最后统一辙口与意象。收敛判据卡死:字数用 lyric-doctor 的脚本对模板数、每段同辙、hook 不含陈词、主歌二对主歌一有推进。不抄现有歌词,不替使用者决定这首歌要说什么。

The English summary is being prepared. Showing the original description.

ChromiteCr/Skills4Updated Oct 21, 2026

当想知道一段 AI 回答"哪些能直接用、哪些必须先验证、哪些只能当建议"时使用。按声明类型分四级——低风险草稿材料、观点与策略建议、可查证的事实声明、会改变状态的可执行指令——每级配一句默认处置动作;再按影响半径排序,给出最小的下一步检查。可执行类一律标"不能直接执行;先做代码审阅/沙箱测试/回滚准备",其中破坏性或提权的命令排在最前。教的是一套可复用的复查习惯,不是替使用者把所有内容都核实一遍:本 skill 只分级、排序、定处置,要逐条核实走 ai-output-fact-checker,整段代码要做入库体检走 ai-code-onboarding-checklist。

The English summary is being prepared. Showing the original description.

ChromiteCr/Skills4Updated Oct 21, 2026

当拿到一段 AI 生成的代码,还没决定要不要信、要不要跑、要不要往上继续加东西时使用。先做一遍客观体检:行数与嵌套深度、有没有测试、有没有硬编码密钥或遗留 TODO、依赖是不是真实存在、有没有危险调用(eval/exec、shell=True、递归删除、反序列化、提权、外发网络,按正文给的 grep 模式逐类查);再给风险评级和下一步动作。老实写明它查不了算法正确性——体检通过不等于代码是对的。回答里文字、事实和代码混在一起时先用 ai-answer-triage 分级;只审相对已有代码的一份改动用 ai-diff-review-protocol。

The English summary is being prepared. Showing the original description.

ChromiteCr/Skills4Updated Oct 21, 2026

See all skills by ChromiteCr

Report a problem with this skill