/cs:book-to-plugin <compiled-skill-dir> [--domain <domain>] — wrap a compiled book skill in a claude-skills plugin package (manifest + cs-* agent + /cs:* comman
复制下面这句话,粘贴给 Claude Code、Codex、Cursor 等 AI 编程工具,它会读取安装说明并在你确认后完成安装。
请阅读 https://ai.atlankj.com/install/asset/gh-claude-skills-21ae83c0651a ,按照其中的说明把「cs-book-to-plugin」安装到你(当前 AI 工具)中。执行前先告诉我将运行的命令和写入的位置,等我确认。
查看 AI 将读取的安装说明正在读取 GitHub 原文…
内容来自 GitHub 原始文件,由原作者维护。在 GitHub 查看
Command: /cs:book-to-plugin <compiled-skill-dir> [--domain <domain>] [--rights <basis>]
A folder in ~/.claude/skills/ is invisible to this repository: no manifest, no agent, no
command, no marketplace entry, so nothing else in the library can route to it. This command
closes that gap.
<domain>/<slug>/
├── .claude-plugin/plugin.json manifest, ./skills/<slug>, provenance + rights metadata
├── README.md what the skill knows, where it came from, its limits
├── agents/cs-<slug>.md persona that answers from the source and cites chapters
├── commands/cs-<slug>.md /cs:<slug> [topic | framework | chNN]
└── skills/<slug>/ the compiled skill, copied verbatim
…then prints the .claude-plugin/marketplace.json entry to register. It never edits
marketplace.json itself — registration is a repo-wide change and stays a human decision.
| Gate | Behaviour |
|---|---|
Source has no SKILL.md | Refuses. This is not a compiled book skill. |
| Source has validation errors | Refuses and lists them. A package built on a broken index stays broken. --skip-validation overrides, and is almost always the wrong call. |
| Destination already exists | Refuses without --force. |
--distribution shareable without --rights | Refuses. Compiled notes from a copyrighted work are personal study notes; redistributing them needs a basis. |
Accepted rights bases: public-domain, open-license, internal-docs, author-permission.
Fair use is deliberately not one — it is a defence, not a licence, and not a script's call.
Without a basis the package emits as --distribution local and records
source.cleared_for_distribution: false in the manifest.
SKILL_ROOT=engineering/book-to-skill/skills/book-to-skill
# see exactly what would be written, first
python3 "$SKILL_ROOT/scripts/skill_plugin_emitter.py" \
--skill-dir ~/.claude/skills/<slug> \
--dest ./engineering --domain engineering \
--source-note "<Full Title> by <Author>" \
--dry-run
# write it
python3 "$SKILL_ROOT/scripts/skill_plugin_emitter.py" \
--skill-dir ~/.claude/skills/<slug> \
--dest ./engineering --domain engineering \
--source-note "<Full Title> by <Author>"
.claude-plugin/marketplace.json → plugins.python3 scripts/derive_counters.py --check, then update
README.md, CLAUDE.md and the marketplace description to match.dev. Never main./cs:book-to-skill — compile the source in the first place/cs:plugin-audit — 8-phase audit of the emitted package before merge