skill-authoring-sync
Skill Authoring Sync
本技能把“中央仓库沉淀”和“项目侧安装”串成一次闭环。默认中央仓库是 https://github.com/why8023/agent-skills.git,默认安装方式是 npx skills 的 Project scope,不额外加 -g。
Workflow
-
建立范围。
- 确认目标 skill 名称,统一使用小写加连字符。
- 判断这次是新增、更新还是重命名;重命名按“新增新目录 + 清理旧目录 + 更新安装”的方式处理。
- 确认目标业务项目根目录。如果用户没有给出项目路径且当前目录也不是目标项目,不要猜测目录;先完成中央仓库侧工作,再在安装前只补问一次项目路径。
- 默认中央仓库来源使用
git remote get-url origin。如果它不是why8023/agent-skills,或用户明确指定了其他来源,再按用户要求处理。
-
在中央仓库中定位或创建 skill。
- 只在中央仓库的
skills/<skill-name>/下工作。 - 新增 skill 时,优先在中央仓库的
skills/目录下运行npx skills init <skill-name>生成基础骨架;如果 CLI 只生成了SKILL.md,再按当前仓库约定补齐agents/openai.yaml。 - 新增 skill 时,至少交付
SKILL.md和agents/openai.yaml。 scripts/、references/、examples/、assets/只在确有复用价值时再创建;不要为了凑结构创建空目录。SKILL.md的 YAML frontmatter 只保留name和description;name必须与目录名完全一致。description里直接写清“做什么”和“什么时候触发”,把典型用户说法也压进去,不要把触发条件只写在正文里。
- 只在中央仓库的
-
编写 skill 内容。
- 把“中央仓库编写、Git 发布、项目侧安装”写成一条完整流程,不要只覆盖前半段。
- 明确仓库约定:一个目录就是一个 skill;业务项目里的安装产物不作为主维护位置,需要改动时回到中央仓库演进。
- 如果仓库已经采用
agents/openai.yaml,同步维护display_name、short_description和default_prompt。 default_prompt必须显式提到$<skill-name>。- 只有用户明确要求复制安装时才使用
--copy;否则保留 CLI 默认的 symlink 方式。 - 默认使用 Project scope;只有用户明确要求全局安装时才加
-g。 - 如果用户没有指定 agent,优先使用当前会话对应的 agent 标识;在 Codex 环境默认用
-a codex。 - 在 PowerShell 中优先使用
cmd /c "mise exec node@24 -- ..."调用npx skills,避免--list、-g、-a之类参数被 shell 或mise误解析。
-
做最小验证。
- 先检查
git status --short,确认没有把无关改动混进本次范围。 - 用本地仓库绝对路径做一次非破坏性发现检查,确认
npx skills能列出目标 skill:
- 先检查
cmd /c "mise exec node@24 -- npx skills add <local-repo-absolute-path> --list"
- 如果工作环境里有可用的结构校验脚本,运行它;否则至少手动核对目录名、frontmatter、
agents/openai.yaml三者是否一致。 - 在 Windows 上运行 Python 校验脚本且
SKILL.md含中文时,优先使用 UTF-8 模式,例如python -X utf8,避免脚本按本地gbk编码读取失败。 - 发现命名不一致、frontmatter 缺字段、
default_prompt未引用技能名时,先修正再继续。
-
提交并推送中央仓库变更。
- 再次检查
git status --short。 - 只 stage 本次目标 skill 相关文件,不要混入其他未完成工作。
- 提交信息默认使用:
- 新增:
feat(skills): add <skill-name> - 更新:
feat(skills): update <skill-name> - 重命名:
feat(skills): rename <old-skill-name> to <new-skill-name>
- 新增:
- 默认推送到当前分支对应的
originupstream;没有 upstream 时先用git push -u origin <current-branch>。 - 如果 push 失败,不要假装已经发布成功;先说明失败原因,再决定是否继续做本地测试安装。
- 再次检查
-
在目标项目根目录安装或刷新 skill。
- 进入目标业务项目根目录后,优先用远端中央仓库地址做安装,不要默认用本地路径。
- 首次安装或指定来源安装时,使用:
cmd /c "mise exec node@24 -- npx skills add why8023/agent-skills --skill <skill-name> -a <agent> -y"
- 只在用户明确要求全局安装时改成:
cmd /c "mise exec node@24 -- npx skills add why8023/agent-skills -g --skill <skill-name> -a <agent> -y"
- 已经安装过且只需要拉取最新版本时,可以在项目根目录执行:
cmd /c "mise exec node@24 -- npx skills update <skill-name> -p -y"
- 如果用户需要先查看中央仓库里有哪些 skill,可先运行:
cmd /c "mise exec node@24 -- npx skills add why8023/agent-skills --list"
- 验证项目侧结果。
- 用
npx skills list检查项目层级是否已经出现目标 skill,必要时用-a <agent>缩小范围:
- 用
cmd /c "mise exec node@24 -- npx skills list -a <agent>"
- 向用户明确说明:skill 目录路径、是否已 commit、是否已 push、安装使用的来源、目标项目路径、目标 agent,以及是否需要后续在项目里运行
npx skills update。
Guardrails
- 不要把多个不相关 skill 混在同一次提交里。
- 不要在业务项目里直接手改安装产物并把它当成真相源。
- 不要在用户要求项目级安装时误加
-g。 - 不要在 push 尚未成功时把远端发布视为已完成。
- 不要因为本地仓库可以被
npx skills add <path>识别,就跳过从远端发布后的安装步骤;本地路径只用于验证或用户明确要求的本地测试。 - 不要创建无内容的
scripts/、references/、examples/或assets/目录。
More from why8023/agent-skills
python-use
定义 Python 环境管理和依赖管理的强制规范。当 Agent 需要使用 Python、创建虚拟环境、安装依赖、管理 Python 版本时必须应用此技能。强制使用 uv 工具,禁止 pip/conda,确保项目级环境隔离。
11nodejs-use
定义 Node.js 环境管理和版本管理的强制规范。当 Agent 需要使用 Node.js、管理 Node 版本、安装 JavaScript 依赖、处理 packageManager 或 Corepack、编写或读取 mise.toml / .mise.toml / .tool-versions,或将旧项目从 volta、fnm、.node-version、.nvmrc 迁移到 mise 时必须应用此技能。强制使用 mise 管理 Node.js 运行时,禁止手动安装 Node.js,确保项目级环境隔离。
10git-repo-normalize
Standardize Git repository line-ending handling before any Git-related work. Use whenever Codex is about to operate on a Git repo, including version bumps, releases, commits, tags, diffs, CI workflow edits, or investigation of LF/CRLF warnings. On the first handling of a repo, add or reconcile the root .gitattributes rule `* text=auto eol=lf`, renormalize tracked files, review the diff, and complete this normalization before continuing with other repo work.
8dependency-reuse-first
在代码功能开发场景中,先评估是否可复用流行、成熟、维护良好的第三方依赖、官方 SDK、平台能力或现成服务,再决定是否自行实现。当 Agent 收到新功能、新模块、协议或文件格式支持、基础设施集成、数据处理、认证授权、图表表格、抓取解析、缓存队列、测试辅助等开发需求,且存在“从零写一套”的风险时必须使用此技能。先做候选依赖调研与取舍,再开始编码。
3docling-word
使用 Docling CLI 解析 `.docx` Word 文件并导出 Markdown,同时把提取出的图片等附件统一整理到 Markdown 同级的 `attachments/` 目录。用于用户要求用 Docling 转 Word、要求通过 `uv tool install` 安装 Docling、或要求修正 Docling 附件路径与目录结构时。
2skill-sync
在 skills 仓库中创建、更新或重命名一个 skill,并在编辑完成后只提交本次相关 skill 变更、推送到远端仓库,再用 `npx skills` 从远端仓库将目标 skill 安装或更新到本机多 Agent 环境。默认同步 Universal、Codex、Claude Code、OpenClaw、Cursor、OpenCode、Qoder、Trae、Trae CN、Windsurf,并约定用 `--all` 表示“全部 skill + 全部受支持 agent”。
2