skillify

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

/skillify — Create, adapt, or update a skill

/skillify — 创建、适配或更新技能

One skill, three modes. Routes automatically to the right one based on input signal.
Consolidates and replaces the prior
create-skill
,
adapt-skill
, and
update-skill
(all merged as of v0.2.0 for vocabulary-moat consistency with the
-ify
trifecta).
一个技能,三种模式。会根据输入信号自动路由到正确的模式。
整合并替换了之前的
create-skill
adapt-skill
update-skill
(从v0.2.0版本开始合并,以与-ify三部曲保持词汇一致性)。

Step 0 — Detect mode

步骤0 — 检测模式

Route by signal:
SignalMode
Invoked mid-conversation with substantive recent workflow discussionCREATE / from-chat (default)
/skillify from-video <url>
OR
/skillify
+ a video URL
CREATE / from-video
/skillify from-dump
+ pasted brief/transcript/notes
CREATE / from-dump
/skillify from-scratch <name>
OR "make a new skill called X" with no context
CREATE / from-scratch
/skillify <github-url>
OR "adapt this skill" / "port this skill" / "fork this skill" + external source
ADAPT
/skillify <existing-skill> <change>
OR "update X skill" / "propagate this learning"
UPDATE / targeted
/skillify update
(mid-conversation)
UPDATE / from-chat — scan recent chat for learnings
/skillify usage <skill>
UPDATE / usage — review recent runs, suggest improvements
If ambiguous, ask before proceeding. Never guess between CREATE and ADAPT if there's an external URL involved.

根据信号路由:
信号模式
在包含实质性近期工作流讨论的对话中途调用CREATE / from-chat(默认)
/skillify from-video <url>
/skillify
+ 视频URL
CREATE / from-video
/skillify from-dump
+ 粘贴的简报/转录稿/笔记
CREATE / from-dump
/skillify from-scratch <name>
或 "创建名为X的新技能"且无上下文
CREATE / from-scratch
/skillify <github-url>
或 "适配这个技能" / "移植这个技能" / "复刻这个技能" + 外部来源
ADAPT
/skillify <existing-skill> <change>
或 "更新X技能" / "传播这个经验"
UPDATE / 定向更新
/skillify update
(对话中途)
UPDATE / from-chat — 扫描近期对话获取经验
/skillify usage <skill>
UPDATE / 使用记录 — 查看近期运行情况,提出改进建议
如果存在歧义,请先询问再继续。如果涉及外部URL,切勿在CREATE和ADAPT模式之间猜测。

Mode: CREATE

模式:CREATE

Build a new skill from chat / video / dump / scratch.
从对话/视频/转储内容/从零开始构建新技能。

Step 1 — Confirm the input source

步骤1 — 确认输入来源

Sub-modeWhat
from-chat (default)Extract the skill from the workflow discussed in this conversation. Most common case.
from-videoUser recorded a Loom / Zoom / screen-share. Calls
watch-video
in visual mode → transcript + key visual moments → SKILL.md. Best for visual/UI-heavy workflows.
from-dumpUser pastes a brief, prior conversation transcript, exported chat, or notes.
from-scratchFresh idea with no source material — interactive Q&A.
子模式说明
from-chat(默认)从本次对话中讨论的工作流提取技能。最常见的情况。
from-video用户录制了Loom/Zoom/屏幕共享视频。在可视化模式下调用
watch-video
→ 转录稿 + 关键视觉时刻 → SKILL.md。最适合视觉/UI密集型工作流。
from-dump用户粘贴了简报、先前对话的转录稿、导出的聊天记录或笔记。
from-scratch无素材的全新想法 — 交互式问答。

Step 2 — Defer to Anthropic guidance for the schema

步骤2 — 遵循Anthropic的Schema指导

Don't reinvent SKILL.md format rules. For frontmatter, description-writing, references/ structure, and skill best practices:
  • compound-engineering:create-agent-skill
    (agent) — expert guidance for creating + editing Claude Code skills
  • compound-engineering:skill-creator
    (skill) — deeper guide for effective skills
  • compound-engineering:heal-skill
    (skill) — for fixing existing skills
  • anthropics/skills — official Anthropic examples
  • agentskills.io — open Agent Skills spec
Call those directly when in doubt about format.
skillify
orchestrates your workflow — which repo, which conventions, which cross-references. Format expertise lives upstream.
不要重新发明SKILL.md格式规则。对于前置元数据、描述撰写、参考/结构以及技能最佳实践:
  • compound-engineering:create-agent-skill
    (Agent) — 创建和编辑Claude Code技能的专家指导
  • compound-engineering:skill-creator
    (Skill) — 有效技能的深度指南
  • compound-engineering:heal-skill
    (Skill) — 修复现有技能的指南
  • anthropics/skills — Anthropic官方示例
  • agentskills.io — 开放Agent Skills规范
当对格式有疑问时直接调用上述资源。
skillify
负责编排你的工作流 — 选择哪个仓库、遵循哪些约定、添加哪些交叉引用。格式相关的专业知识来自上游。

Step 3 — Pick target repo

步骤3 — 选择目标仓库

Load the user's sibling repo list from
${MAKERSKILLS_CONFIG:-$HOME/.config/makerskills}/skillify/repos.yaml
if present. Otherwise default to
makerskills
(this repo). Example format:
yaml
undefined
如果存在配置文件,则从
${MAKERSKILLS_CONFIG:-$HOME/.config/makerskills}/skillify/repos.yaml
加载用户的兄弟仓库列表。否则默认使用
makerskills
(本仓库)。示例格式:
yaml
undefined

~/.config/makerskills/skillify/repos.yaml

~/.config/makerskills/skillify/repos.yaml

repos:
  • name: makerskills domain: Personal cross-cutting operator work path: ~/code/makerskills
  • name: marketingskills domain: Generic marketing tactics path: ~/code/marketingskills

Infer target if obvious from the skill's domain; ask if ambiguous.
repos:
  • name: makerskills domain: Personal cross-cutting operator work path: ~/code/makerskills
  • name: marketingskills domain: Generic marketing tactics path: ~/code/marketingskills

如果从技能领域可以明显推断出目标仓库,则自动选择;如果存在歧义,则询问用户。

Step 4 — Synthesize per sub-mode

步骤4 — 按子模式合成技能

from-chat:
  1. Read backward through this conversation. Look for a workflow repeated multiple times, a process re-explained, opinions restated, tooling/voice/output decisions.
  2. Identify the load-bearing pieces: trigger, steps, references, success shape, voice.
  3. Surface gaps that need clarification before scaffolding — ask 2–4 tight questions.
  4. Draft SKILL.md, citing chat moments inline ("Per your message about X…") so the user can verify.
from-dump:
  1. Parse the dump (Notion page, Slack thread, Loom transcript, teammate brief, exported ChatGPT conversation).
  2. Same synthesis logic as from-chat.
  3. Cite where in the dump each rule came from.
from-video:
  1. Take the URL or local path.
  2. Call
    watch-video <url> visual
    — get transcript + key visual moments + summary.
  3. Read outputs:
    <workdir>/transcript.txt
    ,
    <workdir>/moments.md
    ,
    <workdir>/summary.md
    .
  4. Synthesize: trigger (first 30s), steps (visual moments + matching transcript), tools used, decision points ("if X do Y" moments), success shape (last few seconds), voice cadence.
  5. Surface gaps — ambiguous moments needing clarification.
  6. Draft SKILL.md citing video moments by timestamp.
  7. Optionally save the source to
    second-brain
    as
    call-<slug>.md
    or
    note-<slug>.md
    .
Heuristic: recording >10 minutes = process probably too big for one skill. Suggest splitting before drafting.
from-scratch: Interactive Q&A:
  1. Name (kebab-case, verb-noun preferred — matches
    watch-video
    ,
    read-book
    ,
    paste
    )
  2. One-line purpose
  3. Trigger phrases (4–8)
  4. Initial reference files?
  5. Composes with which other skills?
from-chat:
  1. 逆向阅读本次对话。寻找重复多次的工作流、重新解释的流程、重申的观点、工具/语气/输出决策。
  2. 识别核心要素:触发条件、步骤、参考资料、成功标准、语气。
  3. 指出在搭建技能前需要澄清的空白点 — 提出2-4个精准问题。
  4. 起草SKILL.md,在文中引用对话片段(“根据你关于X的消息……”)以便用户验证。
from-dump:
  1. 解析转储内容(Notion页面、Slack线程、Loom转录稿、同事简报、导出的ChatGPT对话)。
  2. 使用与from-chat相同的合成逻辑。
  3. 注明每条规则来自转储内容的哪个位置。
from-video:
  1. 获取URL或本地路径。
  2. 调用
    watch-video <url> visual
    — 获取转录稿 + 关键视觉时刻 + 摘要。
  3. 读取输出:
    <workdir>/transcript.txt
    <workdir>/moments.md
    <workdir>/summary.md
  4. 合成内容:触发条件(前30秒)、步骤(视觉时刻 + 匹配的转录内容)、使用的工具、决策点(“如果X则执行Y”的时刻)、成功标准(最后几秒)、语气节奏。
  5. 指出空白点 — 需要澄清的模糊时刻。
  6. 起草SKILL.md,按时间戳引用视频片段。
  7. 可选:将源内容保存到
    second-brain
    ,命名为
    call-<slug>.md
    note-<slug>.md
启发式规则:时长超过10分钟的录制内容 → 流程可能太大,不适合单个技能。建议在起草前拆分。
from-scratch: 交互式问答:
  1. 名称(短横线分隔,优先使用动词-名词格式 — 与
    watch-video
    read-book
    paste
    匹配)
  2. 一行描述的用途
  3. 触发短语(4-8个)
  4. 初始参考文件?
  5. 与哪些其他技能组合使用?

Step 5 — Generate frontmatter

步骤5 — 生成前置元数据

yaml
---
name: <kebab-case>
description: <rich, trigger-rich, ~2–4 sentences. Lead with "When you want to..." Include 4–8 trigger phrases in quotes. Differentiate from adjacent skills.>
metadata:
  version: 0.1.0
---
Description rules (load-bearing — Claude routes by description match):
  • Lead with the use case ("When you want to X…")
  • Include explicit trigger phrases
  • Differentiate from sibling skills
  • Mention key references the skill loads
  • Keep under ~500 characters
For deeper description-writing guidance, consult
compound-engineering:skill-creator
.
yaml
---
name: <kebab-case>
description: <丰富、包含触发词的描述,约2-4句话。以“When you want to...”开头。包含4-8个带引号的触发短语。与同类技能区分开。>
metadata:
  version: 0.1.0
---
描述规则(核心要求 — Claude会根据描述匹配进行路由):
  • 以使用场景开头(“当你想要X时……”)
  • 包含明确的触发短语
  • 与同类技能区分开
  • 提及技能加载的关键参考资料
  • 保持在约500字符以内
如需更深入的描述撰写指导,请参考
compound-engineering:skill-creator

Step 6 — Scaffold the directory

步骤6 — 搭建目录结构

<target-repo>/skills/<name>/
├── SKILL.md
└── references/
    └── ...
Body follows existing skills' pattern (
pm
,
decide
,
second-brain
):
  • # /<name> — <one-line purpose>
  • Numbered
    ## Step N — <phase>
    sections
  • Composes-with cross-references
  • Quality notes at the end
<target-repo>/skills/<name>/
├── SKILL.md
└── references/
    └── ...
正文遵循现有技能的模式(
pm
decide
second-brain
):
  • # /<name> — <一行用途描述>
  • 编号的
    ## 步骤N — <阶段>
    部分
  • 组合使用的交叉引用
  • 末尾的质量说明

Step 7 — Update README, commit, push

步骤7 — 更新README、提交并推送

Append to target repo's README skill table:
markdown
| [`<name>`](./skills/<name>/SKILL.md) | <one-line purpose> |
Commit + push. Report new skill path, commit hash, and reminder that
/plugin install
or symlink may need a refresh.
将技能添加到目标仓库的README技能表格中:
markdown
| [`<name>`](./skills/<name>/SKILL.md) | <一行用途描述> |
提交并推送。报告新技能路径、提交哈希值,并提醒可能需要刷新
/plugin install
或符号链接。

Step 8 — Offer follow-ups

步骤8 — 提供后续操作选项

  • "Flesh out a specific Step now, or come back to it?"
  • "Run through
    compound-engineering:heal-skill
    for a quality pass?"
  • "Should this compose with [adjacent skill]?"

  • “现在完善某个具体步骤,还是以后再处理?”
  • “运行
    compound-engineering:heal-skill
    进行质量检查?”
  • “是否要让这个技能与[同类技能]组合使用?”

Mode: ADAPT

模式:ADAPT

Port an external skill (GitHub URL, agentskills.io, local disk, or pasted SKILL.md) into your namespace.
将外部技能(GitHub URL、agentskills.io、本地磁盘或粘贴的SKILL.md内容)移植到你的命名空间。

Step 1 — Fetch the source

步骤1 — 获取源技能

Accept:
  • GitHub URL to a SKILL.md or repo (
    https://github.com/<owner>/<repo>
    or full path to SKILL.md)
  • agentskills.io URL or skills.sh URL
  • Local path to an existing skill on disk (other plugins in
    ~/.claude/plugins/
    )
  • Pasted SKILL.md content
bash
undefined
接受以下来源:
  • GitHub URL指向SKILL.md或仓库(
    https://github.com/<owner>/<repo>
    或SKILL.md的完整路径)
  • agentskills.io URLskills.sh URL
  • 本地路径指向磁盘上的现有技能(
    ~/.claude/plugins/
    中的其他插件)
  • 粘贴的SKILL.md内容
bash
undefined

GitHub repo: clone shallow

GitHub仓库:浅克隆

git clone --depth 1 <url> /tmp/skillify-adapt-<short-id>/
git clone --depth 1 <url> /tmp/skillify-adapt-<short-id>/

OR fetch a single file

或获取单个文件

gh api -H "Accept: application/vnd.github.raw" repos/<owner>/<repo>/contents/SKILL.md > /tmp/adapt-source.md

Capture the commit SHA so attribution can point at a stable revision.
gh api -H "Accept: application/vnd.github.raw" repos/<owner>/<repo>/contents/SKILL.md > /tmp/adapt-source.md

捕获提交SHA,以便署名指向稳定的版本。

Step 2 — Analyze + classify

步骤2 — 分析与分类

Read source SKILL.md + any
references/
it ships. Classify into three buckets per
references/adapt-buckets.md
:
BucketWhatExample
Keep verbatimFormat, schema, mechanic, scripts, frameworksQuestion banks, ffmpeg flags, regex patterns, JSON schemas
AdaptTool defaults, paths, voice, naming, opinionsTheir video tool → your
watch-video
, their kanban → your
pm
, their voice → your voice
AddCross-references to your existing skills, composition notes, your conventions"Composes with
decide
," "Saves to
second-brain raw/
," "Uses MLX-Whisper local"
Output classification as a table for approval before writing anything. Don't silently rewrite — surface the changes.
读取源SKILL.md及其附带的
references/
内容。根据
references/adapt-buckets.md
分为三类:
分类说明示例
完全保留格式、Schema、机制、脚本、框架题库、ffmpeg参数、正则表达式、JSON Schema
需要适配工具默认值、路径、语气、命名、观点他们的视频工具 → 你的
watch-video
,他们的看板 → 你的
pm
,他们的语气 → 你的语气
需要添加与你现有技能的交叉引用、组合说明、你的约定"与
decide
组合使用"、"保存到
second-brain raw/
"、"使用MLX-Whisper本地版本"
在开始编写前,将分类结果以表格形式输出供用户批准。不要静默重写 — 要明确展示更改内容。

Step 3 — License check

步骤3 — 许可证检查

Read the source's LICENSE. Per
references/adapt-license-check.md
:
LicenseAction
MIT / Apache-2.0 / BSD / ISC / CC0✅ Green — proceed
MPL-2.0 / LGPL🟡 Yellow — adapt OK; warn about file-level reciprocity
GPL-2.0 / GPL-3.0 / AGPL❌ Red — contagion risk. Surface before proceeding.
Proprietary / no license❌ Red — stop. No legal basis to copy.
Unclear🟡 Yellow — ask, default to skip if uncertain
For permissive licenses, attribution is the only requirement — handled in Step 6.
读取源技能的LICENSE文件。根据
references/adapt-license-check.md
许可证操作
MIT / Apache-2.0 / BSD / ISC / CC0✅ 绿色 — 继续
MPL-2.0 / LGPL🟡 黄色 — 可适配;提醒文件级互惠要求
GPL-2.0 / GPL-3.0 / AGPL❌ 红色 — 存在传染风险。继续前需告知用户。
专有/无许可证❌ 红色 — 停止。无复制的法律依据。
不明确🟡 黄色 — 询问用户,不确定时默认跳过
对于宽松许可证,仅需署名即可 — 在步骤6中处理。

Step 4 — Pick target repo

步骤4 — 选择目标仓库

Same table as CREATE Step 3.
与CREATE模式步骤3相同。

Step 5 — Rewrite

步骤5 — 重写

Keep verbatim: copy as-is; add
<!-- from <source> -->
marker if helpful.
Adapt:
  • Naming: rename to verb-noun if not (matches
    watch-video
    ,
    read-book
    ,
    paste
    )
  • Tool swaps: their generic kanban →
    pm
    , their video tool →
    watch-video
    , their note system →
    second-brain
    , their decision framework →
    decide
  • Voice: apply your voice rules — direct, conviction-coded. For social-adjacent skills, apply link-placement rule.
  • Paths: their
    ~/outputs/
    → your
    ~/Documents/<skill>-<...>/
    convention; their config → your
    references/
    pattern
  • Names + context: generic examples → your portfolio context where the skill needs it
Add:
  • Cross-references to existing sibling skills
  • Composition notes (which other skills this calls or feeds)
  • Your conventions (frontmatter version, references/ subdir structure, BACKLOG entry if it spawns sub-ideas)
完全保留:原样复制;如有帮助可添加
<!-- from <source> -->
标记。
需要适配
  • 命名:如果不是动词-名词格式则重命名(与
    watch-video
    read-book
    paste
    匹配)
  • 工具替换:他们的通用看板 →
    pm
    ,他们的视频工具 →
    watch-video
    ,他们的笔记系统 →
    second-brain
    ,他们的决策框架 →
    decide
  • 语气:应用你的语气规则 — 直接、明确。对于社交相关技能,应用链接放置规则。
  • 路径:他们的
    ~/outputs/
    → 你的
    ~/Documents/<skill>-<...>/
    约定;他们的配置 → 你的
    references/
    模式
  • 名称与上下文:通用示例 → 你的作品集上下文(技能需要的地方)
需要添加
  • 与现有同类技能的交叉引用
  • 组合说明(该技能调用或提供数据给哪些其他技能)
  • 你的约定(前置元数据版本、references/子目录结构、如果产生子想法则添加BACKLOG条目)

Step 6 — Attribution file

步骤6 — 署名文件

Write
references/attribution.md
:
markdown
undefined
编写
references/attribution.md
markdown
undefined

Attribution

署名

  • Source: <original SKILL.md URL>
  • Repository: <repo URL>
  • Author: <name + handle>
  • Commit SHA: <SHA at time of adapt>
  • License: <license name + URL>
  • Adapted: <YYYY-MM-DD>
  • 来源: <原始SKILL.md URL>
  • 仓库: <仓库URL>
  • 作者: <姓名 + 用户名>
  • 提交SHA: <适配时的SHA>
  • 许可证: <许可证名称 + URL>
  • 适配日期: <YYYY-MM-DD>

What was kept verbatim

完全保留的内容

  • ...
  • ...

What was adapted

适配的内容

  • <old><new>
  • <旧内容> → <新内容>

What was added

添加的内容

  • ...
  • ...

License compliance

许可证合规性

<upstream LICENSE text if MIT/BSD/Apache requires it, OR reference where in this repo it lives>
<如果是MIT/BSD/Apache许可证则复制上游LICENSE文本,或引用其在本仓库中的位置>

Upgrade path

升级路径

Run
git ls-remote <repo-url> HEAD
. If SHA differs from above, re-run
/skillify <same-url>
for a 3-way merge.

For MIT / Apache / BSD, LICENSE text either gets copied into this file or the source LICENSE file gets copied to the skill dir.
运行
git ls-remote <repo-url> HEAD
。如果SHA与上述不同,重新运行
/skillify <same-url>
进行三方合并。

对于MIT/Apache/BSD许可证,LICENSE文本要么复制到本文件中,要么将源LICENSE文件复制到技能目录中。

Step 7 — Scaffold + commit

步骤7 — 搭建目录并提交

Same as CREATE Steps 6–7. Commit message:
"Adapt <name> skill from <source-name>"
.
与CREATE模式步骤6-7相同。提交信息:
"Adapt <name> skill from <source-name>"

Step 8 — Report + offer follow-ups

步骤8 — 报告并提供后续操作选项

  • Commit hash + new skill path
  • Show three-bucket classification one more time so the diff is clear
  • Offer:
    • "Flesh out the adaptations? Some defaults may still need your touch."
    • "Run
      compound-engineering:heal-skill
      for a QA pass?"
    • "Set up an upstream-check reminder via
      loopify
      ?"

  • 提交哈希值 + 新技能路径
  • 再次展示三类分类结果,以便清晰查看差异
  • 提供选项:
    • “完善适配内容?一些默认值可能仍需你调整。”
    • “运行
      compound-engineering:heal-skill
      进行QA检查?”
    • “通过
      loopify
      设置上游检查提醒?”

Mode: UPDATE

模式:UPDATE

Improve existing skill(s) from learnings.
基于经验改进现有技能。

Step 1 — Confirm sub-mode

步骤1 — 确认子模式

Sub-modeWhen
from-chat (default)Scan recent conversation for learnings, identify affected skill(s)
from-dumpUser provides a brief, feedback, transcript, postmortem
targetedUser names the skill + change directly. Skip discovery.
usageReview recent runs of the named skill, identify gaps
Default when invoked mid-conversation with substantive recent activity: from-chat.
子模式适用场景
from-chat(默认)扫描近期对话获取经验,识别受影响的技能
from-dump用户提供简报、反馈、转录稿、事后分析
定向更新用户直接指定技能和更改内容。跳过发现阶段。
使用记录查看指定技能的近期运行情况,识别空白点
当在包含实质性近期活动的对话中途调用时,默认使用from-chat模式。

Step 2 — Extract learning(s)

步骤2 — 提取经验

For from-chat / from-dump / usage: look for change-worthy signals (full taxonomy in
references/update-change-types.md
):
  • Corrections — "no, don't do that anymore"
  • Validations — "yes that worked — bake it in"
  • New patterns — user just did an undocumented workflow; encode it
  • Voice / tone updates — like the spoken-aloud rule for slide-deck
  • Tool changes — switched defaults
  • Architectural decisions — naming conventions, file layout, frontmatter
  • Gaps — something the skill should have handled but didn't
Output: a clear list of N learnings, each phrased as a single change.
For targeted: skip extraction — user already named the change.
对于from-chat/from-dump/使用记录模式:寻找值得更改的信号(完整分类见
references/update-change-types.md
):
  • 修正 — “不,不要再那样做了”
  • 验证 — “是的,那样有效 — 把它固化下来”
  • 新模式 — 用户刚刚执行了未记录的工作流;将其编码
  • 语气/语调更新 — 比如幻灯片的“口语化”规则
  • 工具更改 — 切换默认值
  • 架构决策 — 命名约定、文件布局、前置元数据
  • 空白点 — 技能本应处理但未处理的内容
输出:清晰的N条经验列表,每条描述为一个单一更改。
对于定向更新:跳过提取阶段 — 用户已指定更改内容。

Step 3 — Identify affected skills

步骤3 — 识别受影响的技能

For each learning, search across all SKILL.md + references/ in the current repo (and optionally all sibling repos from your
repos.yaml
with
--cross-repo
):
bash
grep -rln "<key terms>" ~/code/makerskills/skills/ --include="*.md"
对于每条经验,在当前仓库的所有SKILL.md + references/中搜索(如果使用
--cross-repo
,则可选在
repos.yaml
中的所有兄弟仓库中搜索):
bash
grep -rln "<关键词>" ~/code/makerskills/skills/ --include="*.md"

Across all sibling repos (list yours in $MAKERSKILLS_CONFIG/skillify/repos.yaml):

在所有兄弟仓库中搜索(在$MAKERSKILLS_CONFIG/skillify/repos.yaml中列出你的仓库):

config="${MAKERSKILLS_CONFIG:-$HOME/.config/makerskills}/skillify/repos.yaml" for raw in $(yq -r '.repos[].path' "$config"); do repo="${raw/#~/$HOME}" # expand leading ~ to $HOME so grep resolves the real path grep -rln "<terms>" "$repo/skills/" --include="*.md" 2>/dev/null done

Classify by confidence:

| Confidence | What | Action |
|---|---|---|
| **High** | Direct keyword match + clearly same topic | Propose change |
| **Medium** | Adjacent topic — rule *might* apply | Surface for explicit approval |
| **Low** | Tangential — rule could be stretched | Mention but don't propose |

See `references/update-propagation.md` for the cross-skill propagation playbook.
config="${MAKERSKILLS_CONFIG:-$HOME/.config/makerskills}/skillify/repos.yaml" for raw in $(yq -r '.repos[].path' "$config"); do repo="${raw/#~/$HOME}" # 将开头的~扩展为$HOME以便grep解析真实路径 grep -rln "<关键词>" "$repo/skills/" --include="*.md" 2>/dev/null done

按置信度分类:

| 置信度 | 说明 | 操作 |
|---|---|---|
| **高** | 直接关键词匹配 + 主题明显相同 | 提出更改建议 |
| **中** | 主题相关 — 规则*可能*适用 | 列出供用户明确批准 |
| **低** | 主题间接相关 — 规则可能牵强 | 提及但不提出建议 |

跨技能传播指南见`references/update-propagation.md`。

Step 4 — Memory-vs-skill check

步骤4 — 记忆与技能检查

For each learning: is this skill-specific or a broader principle?
TypeWhere it goes
Skill-specific ruleEdit the SKILL.md / references file directly
Cross-cutting principle
~/.claude/memory/feedback_<topic>.md
BothWrite the memory file AND update the skill(s) that immediately apply
Example: "links go in first comments, not body" → applies to
jab-hook
AND is a broader social principle → both update jab-hook AND save
feedback_social_link_placement.md
.
Offer the memory write explicitly: "This looks like a principle, not just a skill rule. Save to memory as
feedback_<slug>.md
?"
对于每条经验:这是特定技能的规则还是更广泛的原则?
类型存储位置
特定技能规则直接编辑SKILL.md / 参考文件
跨领域原则
~/.claude/memory/feedback_<topic>.md
两者皆是写入记忆文件并更新立即适用的技能
示例:“链接放在第一条评论中,不要放在正文中” → 适用于
jab-hook
且是更广泛的社交原则 → 同时更新jab-hook并保存
feedback_social_link_placement.md
明确询问是否写入记忆:“这看起来是一个原则,而不仅仅是技能规则。是否要保存到记忆中为
feedback_<slug>.md
?”

Step 5 — Propose diffs per file

步骤5 — 按文件提出差异建议

For each affected file, show change as before/after or unified diff:
markdown
undefined
对于每个受影响的文件,以前后对比或统一差异格式展示更改:
markdown
undefined

skills/<skill>/SKILL.md
— proposed change

skills/<skill>/SKILL.md
— 建议更改

Before (lines NN–NN):
<existing text>
After:
<new text>
Why: <one-line rationale>
Version bump: 0.2.0 → 0.2.1 (PATCH — clarification)
Approve / edit / skip?

Per-file approval. Don't batch — small changes are easy to OK; bundling forces all-or-nothing.

See `references/update-versioning.md` for semver rules.
更改前(第NN–NN行):
<现有文本>
更改后
<新文本>
原因:<一行理由>
版本升级:0.2.0 → 0.2.1(PATCH — 澄清说明)
批准/编辑/跳过?

按文件单独批准。不要批量处理 — 小更改容易批准;捆绑处理会迫使用户全选或全不选。

语义化版本规则见`references/update-versioning.md`。

Step 6 — Apply approved changes

步骤6 — 应用批准的更改

  1. Use
    Edit
    to apply the exact change
  2. Bump
    metadata.version
    per the suggested level
  3. If the change involves a rename, follow the cross-reference update pattern (grep all files, update all references)
Batch multiple file changes within one skill into a single commit.
  1. 使用
    Edit
    应用确切更改
  2. 根据建议的版本级别更新
    metadata.version
  3. 如果更改涉及重命名,遵循交叉引用更新模式(搜索所有文件,更新所有引用)
将单个技能中的多个文件更改批量提交为一次提交。

Step 7 — Commit + push

步骤7 — 提交并推送

Group by skill. Examples:
  • One-skill update:
    "slide-deck: emphasize spoken-aloud voice (write for the ear, not the page)"
  • Multi-skill propagation:
    "jab-hook, marketingskills:social: link placement (no inline URLs)"
  • Cross-repo: one commit per repo. Don't atomic-commit across repos.
按技能分组。示例:
  • 单技能更新:
    "slide-deck: 强调口语化语气(为耳朵写作,而非为页面)"
  • 多技能传播:
    "jab-hook, marketingskills:social: 链接放置(不使用内联URL)"
  • 跨仓库:每个仓库一次提交。不要跨仓库原子提交。

Step 8 — Report

步骤8 — 报告

Show:
  • Learnings extracted
  • Skill(s) updated (with version bumps)
  • Memory files written
  • Whether
    compound-engineering:heal-skill
    would be a useful QA pass
  • Anything flagged but skipped
展示:
  • 提取的经验
  • 更新的技能(含版本升级)
  • 写入的记忆文件
  • compound-engineering:heal-skill
    是否适合作为QA检查
  • 标记为跳过的内容

When NOT to use UPDATE mode

何时不使用UPDATE模式

Don't add ceremony to surgical edits. If the user says "add this one bullet to X.md," just Edit. UPDATE mode earns its keep when:
  1. Multiple skills are affected by one learning (cross-skill propagation)
  2. Bulk extraction from a long session
  3. Memory-vs-skill decision is unclear (need explicit triage)
  4. Version discipline matters (about to commit and want sane semver)
For one-line updates with no cross-skill implications: just Edit.

不要为小修改增加流程。如果用户说“给X.md添加这个项目符号”,直接编辑即可。UPDATE模式的价值体现在:
  1. 一个经验影响多个技能(跨技能传播)
  2. 从长会话中批量提取经验
  3. 记忆与技能的决策不明确(需要明确分类)
  4. 版本规范很重要(即将提交并需要合理的语义化版本)
对于无跨技能影响的单行更新:直接编辑即可。

Composes with

组合使用的技能

  • watch-video
    — load-bearing for CREATE / from-video. Visual-mode output (transcript + key visual moments + summary) is the input for skill synthesis. Always call in
    visual
    mode for process recordings — UI state matters as much as words.
  • second-brain
    — optionally capture source video/dump as
    raw/call-<slug>.md
    or
    raw/note-<slug>.md
    so the source artifact lives alongside the skill it produced.
  • toolify
    — sibling in the
    -ify
    trifecta. Use
    toolify
    when the goal is adding an integration/MCP/API, not authoring a skill.
  • loopify
    — sibling in the
    -ify
    trifecta. Use
    loopify
    for agent-loop setup rather than a skill.
  • compound-engineering:create-agent-skill
    (agent) — call for format and best-practices expertise
  • compound-engineering:skill-creator
    (skill) — deeper best-practices reference
  • compound-engineering:heal-skill
    (skill) — QA pass after any mode
  • watch-video
    — CREATE / from-video模式的核心依赖。可视化模式输出(转录稿 + 关键视觉时刻 + 摘要)是技能合成的输入。对于流程录制,始终以
    visual
    模式调用 — UI状态与文字同样重要。
  • second-brain
    — 可选将源视频/转储内容捕获为
    raw/call-<slug>.md
    raw/note-<slug>.md
    ,以便源工件与其生成的技能共存。
  • toolify
    — -ify三部曲中的兄弟工具。当目标是添加集成/MCP/API而非编写技能时,使用
    toolify
  • loopify
    — -ify三部曲中的兄弟工具。用于Agent循环设置而非技能。
  • compound-engineering:create-agent-skill
    (Agent) — 调用以获取格式和最佳实践专业知识
  • compound-engineering:skill-creator
    (Skill) — 深度最佳实践参考
  • compound-engineering:heal-skill
    (Skill) — 任何模式后的QA检查

Notes on quality

质量注意事项

  • Cite the source. Whether chat, video, dump, external URL, or user-named learning — the SKILL.md body should reference where each decision came from. Makes revising easier.
  • Don't over-engineer v0.1. Ship a minimal SKILL.md + 1–2 references files. Iterate after first use. Most generated skills are over-scoped.
  • Verb-noun naming where possible (matches
    watch-video
    ,
    read-book
    ,
    paste
    ). Single-word noun names are fine for distinctive concepts (
    decide
    ,
    pm
    ,
    paste
    ,
    skillify
    ).
  • Always reference Anthropic's official guidance for the schema — don't invent format conventions.
  • Attribution is non-negotiable for ADAPT mode. Every adapted skill ships with
    references/attribution.md
    .
  • License is a hard gate. Don't proceed on GPL/proprietary without explicit approval.
  • Per-file approval in UPDATE mode. Small changes are easy to OK; bundling forces all-or-nothing.
  • 引用来源:无论是对话、视频、转储内容、外部URL还是用户指定的经验 — SKILL.md正文中应注明每个决策的来源。便于后续修订。
  • v0.1版本不要过度设计。交付最小化的SKILL.md + 1-2个参考文件。首次使用后再迭代。大多数生成的技能范围过大。
  • 尽可能使用动词-名词命名(与
    watch-video
    read-book
    paste
    匹配)。对于独特概念,单名词名称也可接受(
    decide
    pm
    paste
    skillify
    )。
  • 始终参考Anthropic的官方Schema指导 — 不要发明格式约定。
  • ADAPT模式下署名是必须的。每个适配的技能都附带
    references/attribution.md
  • 许可证是硬性门槛。未经明确批准,不要处理GPL/专有许可证的技能。
  • UPDATE模式下按文件单独批准。小更改容易批准;捆绑处理会迫使用户全选或全不选。