agentsclimarketplace

Lion writing skills

Skill Lion-1209/Lion-Skills/skills/lion-writing-skills

在 Lion-Skills 仓库创建或修改 skill 时。From its SKILL.md

Install
npx -y skills add Lion-1209/Lion-Skills --skill lion-writing-skills

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

5.8 KB, ~2.1k tokens by cl100k_base, as published. Nobody here has run it

Lion Writing Skills

概述

Lion-Skills 的"造 skill 流水线":按本仓库规范,把一个重复的工作流沉淀成可复制、经验证的 skill。

核心原则:skill 是给未来 Claude 读的"操作手册"——它的价值不在于你写了什么,而在于未来的 Claude 在触发它时,能照着做出正确的事。

何时使用

  • 用户想新增一个 skill("帮我加个 X 的 skill")
  • 用户想修改/优化现有 skill
  • 用户想检查某个 skill 写得是否符合规范
  • 想把对话里反复出现的工作流沉淀成 skill

不该做成 skill 的情况:一次性的、项目特定的约定(放 CLAUDE.md)、能用简单校验自动化的(写成校验脚本而不是文档)。

只是审查/优化现有 skill 时:直接对照下文相关规则做合规判断即可,不必每次重走第 1 步"值不值得做"四问——那是新增 skill 的决策;现有 skill 要不要继续存在,是另一个问题。

核心内容

第 1 步:判断值不值得做

回答四个问题(都"是"才值得做):

  1. 高频吗?(反复出现,不是一次性的)
  2. 跨项目吗?(不止一个代码库用得到)
  3. 有判断空间吗?(需要决策/经验,不是机械操作——机械操作写成脚本)
  4. 未来 Claude 不读这个 skill,会做错或做差吗?

任何一个答"否",就别做成独立 skill:项目特定的约定放 CLAUDE.md,能机械自动化的写成校验脚本,一次性的直接在对话里处理。

第 2 步:复制模板,填 frontmatter

新 skill 建在 skills/<name>/SKILL.md(同名目录,里面放 SKILL.md,可选再放 evals/ 存验证用例)。复制 template/SKILL.md 过去,填两个字段:

  • name:全小写、连字符,用 skill 的核心动作或概念命名(如 commit-messageerror-handlingonboarding-unknown-codebase)。不要下划线或驼峰(commit_messageCommitMessage 都错)
  • description只写"何时触发",第三人称,中文,用三段式——①触发场景("当用户……时使用")+ ②典型信号(把用户实际会说的原话尽量列全)+ ③涉及关键词(中文说法 + 常见英文术语)。这样覆盖面广、不易漏触发。上限 1024 字符

关键:description 绝不能写工作流("先做 A 再做 B")。原因——测试发现 Claude 会偷懒只读 description 跳过正文。把流程留给正文。

第 3 步:写正文

按这个骨架:概述 / 何时使用 / 核心内容 / 常见错误(参考 template/SKILL.md)。

写作约定:

  • 解释 why,少用全大写 MUST(讲道理比下命令管用)
  • 一个优秀例子 > 多语言版本;例子尽量覆盖该 skill 最核心的 2–3 类场景,而非只示范单类
  • 正文 < 500 行;超了拆 references/
  • 中文为主,工具名/术语保留英文

第 4 步:轻量验证

前置:先确认目标 SKILL.md 在手(文件路径或正文)。用户只说"帮我验证"却没给内容时,先向用户要;skill 还在草稿态没落盘时,把全文直接贴进 subagent 的 prompt 即可,效果等同落盘。

写 2–3 个真实测试 prompt,用 subagent 带着新 skill 跑,看产出对不对。这一步最容易被跳过,但也最能发现问题,别省。

怎么算"真实" prompt:要像真实用户会说的、带具体细节——好的如"我把组件状态从 useState 换成 useReducer,还修了个内存泄漏,写个 commit message";坏的如"测一下你的能力"(太抽象,既测不出触发、也测不出指引力)。

范式:派一个 general-purpose subagent(让它只读 skill、把产出放进报告,不要改动仓库——除非任务就是要它落地文件),prompt 写「读取 skills/<name>/SKILL.md,然后按其指引处理这个需求:<测试 prompt>。完成后报告:你走了哪些步骤、产出什么、哪里卡壳」。多个 prompt 可以并行派。

通过标准:subagent 的产出 (a) 解决了用户问题,且 (b) 遵循 skill 的设计意图。把该 skill 正文里"该走的流程""该遵循的约定"抽成几条可勾选项来核(如 description 没写工作流、正文解释了 why、例子覆盖核心场景)。跑偏长这样:该走五步的跳过了验证、该三段式的 description 写成了能力清单、该按维度系统的退化成逐条枚举——出现这些就改正文重跑。

把用例固化下来:把这几个 prompt + 预期结果写进 skills/<name>/evals/evals.json(格式:{skill_name, evals: [{id, prompt, expected}]})。evals.json 是验证的"存档"(记录测过什么、预期什么),subagent 实跑是"当下执行"。两者配合时注意时序:prompt 可以先定,但 expected 往往要跑一轮、看到实际产出才写得准——所以实操是「粗定 prompt → 跑 → 用实际产出校准 expected → 固化」,而不是单向的"先写完 evals.json 再跑"。

第 5 步:迭代

输出不对就改正文,重跑。重点改:

  • 触发不准 → 改 description(补关键词、加症状)
  • 做错了 → 正文讲清 why 或加常见错误
  • 啰嗦/跑偏 → 删冗余
  • 正文流程漏了关键步骤 → 补步骤(这种问题几乎只能靠验证暴露,是迭代里最高频也最有价值的产出)

常见错误

问题修法
description 写了工作流(→ Claude 只读 description 跳过正文)description 只留触发条件
正文超 500 行没拆(→ 加载慢、难维护)大段参考拆到 references/
堆 MUST 不讲 why(→ 死板、难泛化)解释原因
一个例子写多语言(→ 平庸、难维护)一个优秀例子
name 用下划线/驼峰全小写连字符

What ships with it: 1 file

865 B alongside SKILL.md

evals/

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.