用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/tomevault-io/tomes --skill skillpack-harvest命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
> Use when this capability is needed.
Use when writing kernel, account, or note MASM code that reads from or writes to the advice provider (advice stack / advice map) — validate advice data.
Use when writing a Rust test that exercises a failure path or a MASM test that expects a `panic` / `assert` — assert on the specific expected error variant or error code.
基于 SOC 职业分类
正在显示 SKILL.md
| name | skillpack-harvest |
| description | | Use when this capability is needed. |
路径约定(OpenClaw): 本 skillpack vendored 在
references/下,文档内 交叉引用用references/<slug>/SKILL.md。Host 仓库与上游 gbrain 仓库仍使用skills/<slug>/;gbrain skillpack harvestCLI 写入上游时也是skills/。
Convention: see _brain-filing-rules.md for file placement rules. This skill writes into gbrain's own tree, not the brain repo's notes.
This skill is the inverse of gbrain skillpack scaffold. Scaffold ships
skills downstream (gbrain → host). Harvest lifts proven patterns
upstream (host → gbrain) so they become references every other client
can scaffold.
A harvest is "properly done" when:
gbrain skillpack harvest --dry-run previewed the file set.gbrain skillpack harvest <slug> --from <host> succeeded
with status: harvested (no privacy-lint hits).bun test test/skills-conformance.test.ts passes on the new
skills/<slug>/SKILL.md(上游 gbrain 仓库路径;OpenClaw 本地副本在
references/<slug>/SKILL.md)。If any of these is incomplete, the skill is NOT yet harvested — the files may sit in gbrain's working tree, but they're not landed.
This skill produces three artifacts in gbrain's working tree:
skills/<harvested-slug>/SKILL.md(上游 gbrain 树;OpenClaw 本地为
references/<harvested-slug>/SKILL.md)及 sibling 文件如
routing-eval.jsonlsrc/commands/<slug>.ts) when the host SKILL.md declared them
in frontmatter sources:openclaw.plugin.json with the new slug added to
skills: (sorted)The session output to the user is a one-line success summary plus
a list of files written. JSON mode (--json) returns the full
HarvestResult shape for machine consumption.
git checkout away, but you
shouldn't need to.--no-lint without justification. The lint exists
for a reason. If you bypass it, document why in the commit.rm -rf the source after harvesting.Do NOT invoke when:
Before running this skill, confirm:
The skill is mature. Recent routing-eval.jsonl cases pass; the
skill has been used in production at least a few times.
The skill is generalizable. Strip-test in your head: replace every fork-specific name. Does it still make sense as a skill?
The user owns the gbrain checkout. The harvest writes into gbrain's working tree. They'll review and commit. Don't harvest into a checkout the user doesn't intend to commit from.
Ask the user:
~/git/wintermute, not ~/git/wintermute/skills/foo.)sources: array.)Run the CLI with --dry-run:
gbrain skillpack harvest <slug> --from <host-repo-root> --dry-run
The output shows:
Do not skip the dry-run. The privacy linter only runs on a real harvest, but the dry-run preview lets you see the files before they land. Spot-check the SKILL.md and any paired source for things the linter might miss (proper nouns, internal project names, etc.).
Before running the real harvest, walk the host's skills/<slug>/
files and apply this checklist. If anything matches, edit the host
file FIRST, then run harvest.
Fork-specific names → generic phrasing
Wintermute → your OpenClaw (or OpenClaw deployment)Neuromancer, Zion, <personal-fork-name> → same treatmentgarry, jane, etc.) → the user /
you / a generic placeholderReal entities → placeholders
alice-example, acme-example, fund-a, etc.)example@example.com#some-channel or stripFork-specific conventions → references
<host-repo>/docs/... files → either lift the doc
into gbrain OR replace with a generic placeholder explanation<host-repo>/skills/<other-fork-only-skill> → either
decide to harvest that one too, or replace with a generic
pattern referenceTriggers array generalizes
triggers:. None should
reference the user's name, fork name, or internal tools.routing-eval.jsonl examples are scrubbed
skills/<slug>/routing-eval.jsonl. Every intent field
gets the same scrub as triggers:.Code comments + log strings
Once Phase 3 is complete, run the real harvest:
gbrain skillpack harvest <slug> --from <host-repo-root>
Default behavior:
~/.gbrain/harvest-private-patterns.txt
(plus built-in defaults: \bWintermute\b, email, Slack channels)openclaw.plugin.json updated to add the slug, sortedOutcomes:
harvested — success, manifest updated, files in gbrain's treelint_failed — privacy linter caught something. Go back to Phase 3,
scrub the host file, retry.slug_collision — gbrain already has a skill at that slug. Either
use a different slug, or pass --overwrite-local if you really
mean to replace.After a successful harvest:
bun test test/skills-conformance.test.ts — confirms the new
SKILL.md meets the frontmatter contract.gbrain skillpack check --strict — confirms no drift between
bundle and gbrain's own checkout.gbrain skillpack list — confirms the slug shows up in the bundle.cd <gbrainRoot> && git diff -- skills/<slug>/
(OpenClaw 本地 vendored 副本:references/<slug>/)If other gbrain clients should pick up the new skill:
CHANGELOG.md under "Skills added" for the next release--no-lintThe privacy linter is the safety net. The editorial pass is the
primary defense. If you've completed Phase 3 thoroughly and the
linter is still firing on a false positive, use --no-lint:
gbrain skillpack harvest <slug> --from <host-repo-root> --no-lint
Document the bypass in the commit message. Future maintainers should be able to see WHY the lint was bypassed (e.g. "Wintermute appears in a citation, not a real reference — verified manually").
Never bypass the linter on a casual basis. The whole point of the default-on lint is that real names occasionally slip through the editorial pass.
skills/<slug>/
stays in place.--all (no batch harvest). One skill at a
time keeps the editorial review tractable.skills/<slug>/ — every file in the host skill dir
(copy). OpenClaw 本地 bundle 同步为 references/<slug>/。src/commands/<slug>.ts if the host SKILL.md declares it
in frontmatter)openclaw.plugin.json — adds the slug to skills:
array, sorted alphabeticallySource: beyonai/ByClaw — distributed by TomeVault.