@yottameta/yotta-skills 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +30 -0
- package/LICENSE +21 -0
- package/NOTICE +13 -0
- package/README.md +144 -0
- package/README.zh-CN.md +156 -0
- package/SKILL.md +117 -0
- package/assets/banner.png +0 -0
- package/bin/yotta-skills.js +484 -0
- package/install.sh +132 -0
- package/package.json +45 -0
- package/references/install-flow.md +68 -0
- package/references/skill-list.md +40 -0
- package/references/tutorial.md +106 -0
- package/skills.json +161 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# 更新日志
|
|
2
|
+
|
|
3
|
+
## v0.1.0 (2026-08-29)
|
|
4
|
+
|
|
5
|
+
初始发布:
|
|
6
|
+
|
|
7
|
+
- 定位:元阁 —— 全家技能一键安装 CLI(「分发与安装」家族,市场主线 M2「全渠道分发」第一步,
|
|
8
|
+
降低「n 个技能逐个装」门槛)。
|
|
9
|
+
- CLI(bin/yotta-skills.js,零依赖 Node.js 18+):
|
|
10
|
+
- `--list` 列出全家技能 + 版本 + 说明(可按技能名过滤);
|
|
11
|
+
- `install --agent <name>` / `install --dir <path>` 装全家或指定技能;
|
|
12
|
+
- `update` 增量更新(补齐缺失 / 升级版本不一致);
|
|
13
|
+
- `--dry-run` 预览不联网不改动;`--pin` 锁死清单精确版本;
|
|
14
|
+
- `--force` / `--skip-scan` / `--npm` / `--python` / `--verify` 等选项。
|
|
15
|
+
- 清单:skills.json 收录 22 个已发布技能(登记表为权威源,2026-08-29 校准;
|
|
16
|
+
元安全 / 元测 / 元造 / 元守 / 元察 / 元情 / 元钥 / 元链 / 元鉴 等补入)。
|
|
17
|
+
- 机制:逐技能 `npm pack` → 系统 tar 解压 → 元信装前摘要(若可用,仅提示不拦截)→
|
|
18
|
+
落位 `<dest>/<slug>` → 汇总报告(✔ 成功 / - 跳过 / ✘ 失败,有失败项退出码 1)。
|
|
19
|
+
- 幂等:目标 `<slug>/SKILL.md` frontmatter version 与清单一致即跳过;`update` 只补缺失 /
|
|
20
|
+
版本不一致。
|
|
21
|
+
- 版本策略:默认 range(`major.x` 取同 major 最新 patch);`--pin` 锁死可复现。
|
|
22
|
+
- 支持智能体:内置 17 个键名(claude / cursor / codex / gemini / goose / amp / opencode /
|
|
23
|
+
windsurf / workbuddy / kiro / trae / trae-cn / qwen / comate / codebuddy / kimi / agents);
|
|
24
|
+
未收录用 `--dir` 指目录。
|
|
25
|
+
- Windows npm 解析:定位 npm.cmd 同目录 npm-cli.js 用 node 直跑(规避 EINVAL / cmd 引号坑)。
|
|
26
|
+
- 测试:12 用例全绿(--list / 临时目录安装断言 / 幂等 / --pin / update / 异常路径 /
|
|
27
|
+
元信 scan 集成)+ 全家族联网实测 22/22 安装成功、版本全对齐、幂等复跑 22 跳过。
|
|
28
|
+
- 文档:SKILL.md(中立版)+ references 三件(skill-list 全家清单 / install-flow 内部机制 /
|
|
29
|
+
tutorial 中文教程)+ README 中英双版。
|
|
30
|
+
- 发布件:LICENSE(MIT)/ NOTICE / banner(1280×640)/ install.sh。
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 YottaMeta
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/NOTICE
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# NOTICE — YottaMeta 品牌声明
|
|
2
|
+
|
|
3
|
+
「YottaMeta」「元阁」「yotta-skills」以及本家族各技能名称(yotta-* 前缀)是 YottaMeta 的品牌与标识。
|
|
4
|
+
|
|
5
|
+
本软件以 MIT 许可证开源,任何人均可自由使用、修改与分发。若你在其基础上制作派生作品:
|
|
6
|
+
|
|
7
|
+
1. 不得继续使用 YottaMeta 或本家族名称(yotta-*、元阁 等)作为派生作品的名称;
|
|
8
|
+
2. 不得暗示派生作品由 YottaMeta 官方维护、认可或与之存在关联;
|
|
9
|
+
3. 建议在派生作品中明确声明「与 YottaMeta 官方无关联」。
|
|
10
|
+
|
|
11
|
+
上游来源致谢:本技能由 YottaMeta 全新实现(零依赖自研 + 中文教学)。全家一键安装的方向参考
|
|
12
|
+
社区 bundle / installer 类技能与 npm 生态思路,无上游代码;本包不包含任何技能本体,技能内容
|
|
13
|
+
均来自各 yotta-* 技能自身的 npm 包。
|
package/README.md
ADDED
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
<p align="center"><b>Language</b>: English · <a href="./README.zh-CN.md">中文</a></p>
|
|
2
|
+
|
|
3
|
+
<p align="center">
|
|
4
|
+
<img src="assets/banner.png" alt="yotta-skills banner" width="100%" />
|
|
5
|
+
</p>
|
|
6
|
+
|
|
7
|
+
<h1 align="center">yotta-skills · 元阁 (YuanGe)</h1>
|
|
8
|
+
|
|
9
|
+
<p align="center">YottaMeta's <b>one-command family installer</b> for Agent skills: one <code>npx</code> line installs all published <code>yotta-*</code> skills (currently <b>22</b>) into any agent or directory.</p>
|
|
10
|
+
<p align="center">List the family, install everything, incrementally update, preview with <code>--dry-run</code>, pin exact versions — idempotent and zero-dependency (Node.js 18+), pure npm ecosystem.</p>
|
|
11
|
+
<p align="center">This package contains <b>no skill bodies</b> — only a manifest, a downloader, a placer and a summary. Each skill still comes from its own npm package.</p>
|
|
12
|
+
|
|
13
|
+
<p align="center">
|
|
14
|
+
<a href="LICENSE"><img alt="License: MIT" src="https://img.shields.io/badge/license-MIT-blue" /></a>
|
|
15
|
+
<a href="https://agentskills.io/"><img alt="Standard: agentskills.io" src="https://img.shields.io/badge/standard-agentskills.io-orange" /></a>
|
|
16
|
+
<a href="https://www.npmjs.com/package/@yottameta/yotta-skills"><img alt="npm package" src="https://img.shields.io/npm/v/@yottameta/yotta-skills" /></a>
|
|
17
|
+
<a href="https://github.com/YottaMeta/yotta-skills"><img alt="GitHub stars" src="https://img.shields.io/github/stars/YottaMeta/yotta-skills" /></a>
|
|
18
|
+
<a href="https://github.com/YottaMeta/yotta-skills/commits/main"><img alt="last commit" src="https://img.shields.io/github/last-commit/YottaMeta/yotta-skills" /></a>
|
|
19
|
+
<a href="https://github.com/YottaMeta/yotta-skills"><img alt="PRs welcome" src="https://img.shields.io/badge/PRs-welcome-brightgreen" /></a>
|
|
20
|
+
</p>
|
|
21
|
+
|
|
22
|
+
## What it is
|
|
23
|
+
|
|
24
|
+
Installing the whole YottaMeta family used to mean running <code>npx</code> for each skill one by one. 元阁 turns it into a single command: it reads a built-in manifest (22 published skills), downloads each from its own npm package, places it into the target skills directory, and prints a summary (success / skipped / failed).
|
|
25
|
+
|
|
26
|
+
- **List** — see the whole family: slug, Chinese name, package, version and a one-line description.
|
|
27
|
+
- **Install** — install everything (or a subset) into an agent's default user-level directory or any directory.
|
|
28
|
+
- **Update** — incremental update: add missing skills, upgrade version-skewed ones.
|
|
29
|
+
- **Idempotent** — a skill already at the manifest version is skipped; re-running is safe.
|
|
30
|
+
- **Pre-install summary** — if yotta-verify (元信) is available, each skill is scanned first; the verdict is informational only.
|
|
31
|
+
|
|
32
|
+
Boundaries: it only downloads, places and summarizes — it does **not** develop skill content, does **not** bundle any skill body, and does **not** use <code>-g</code> global installs. It never writes outside the target you specify.
|
|
33
|
+
|
|
34
|
+
## Quick start
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
# List the whole family (no network, no changes)
|
|
38
|
+
npx -y @yottameta/yotta-skills --list
|
|
39
|
+
|
|
40
|
+
# Install everything into an agent's default user-level skills dir (recommended)
|
|
41
|
+
npx -y @yottameta/yotta-skills install --agent codex
|
|
42
|
+
|
|
43
|
+
# Install everything into any directory (each skill lands in <dir>/<slug>)
|
|
44
|
+
npx -y @yottameta/yotta-skills install --dir ~/my-skills
|
|
45
|
+
|
|
46
|
+
# Install only selected skills
|
|
47
|
+
npx -y @yottameta/yotta-skills install yotta-memory yotta-verify --dir ~/my-skills
|
|
48
|
+
|
|
49
|
+
# Incrementally update installed skills
|
|
50
|
+
npx -y @yottameta/yotta-skills update --agent codex
|
|
51
|
+
|
|
52
|
+
# Preview what would be installed (no network, no changes)
|
|
53
|
+
npx -y @yottameta/yotta-skills --dry-run
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Requirements: Node.js 18+, npm, and system <code>tar</code> (built into Windows 10+ / macOS / most Linux distributions).
|
|
57
|
+
|
|
58
|
+
## Commands & options
|
|
59
|
+
|
|
60
|
+
| Command / option | Description |
|
|
61
|
+
|---|---|
|
|
62
|
+
| `--list` (`-l`) | List the whole family with versions and descriptions; add a skill name to filter |
|
|
63
|
+
| `install --agent <name>` | Install everything into the agent's default user-level skills dir (recommended) |
|
|
64
|
+
| `install --dir <path>` | Install everything into a directory; each skill lands in `<path>/<slug>` |
|
|
65
|
+
| `install <skill>... [--agent <name> \| --dir <path>]` | Install only the given skills |
|
|
66
|
+
| `update [--agent <name> \| --dir <path>]` | Incremental update: add missing, upgrade version-skewed |
|
|
67
|
+
| `--dry-run` | Preview the install / update list; no network, no changes |
|
|
68
|
+
| `--pin` | Lock the exact manifest versions (default: range, latest patch of the same major) |
|
|
69
|
+
| `--force` | Reinstall even when already at the latest version |
|
|
70
|
+
| `--skip-scan` | Skip the yotta-verify pre-install summary (auto-enabled when yotta-verify is installed) |
|
|
71
|
+
| `--npm <path>` | Specify the npm executable |
|
|
72
|
+
| `--python <path>` | Specify the python executable (used for the yotta-verify summary) |
|
|
73
|
+
| `--verify <path>` | Specify the yotta_verify.py path |
|
|
74
|
+
| `-h, --help` / `-v, --version` | Help / version |
|
|
75
|
+
|
|
76
|
+
Calling `npx -y @yottameta/yotta-skills <skill>` without a subcommand is equivalent to `install <skill>`.
|
|
77
|
+
|
|
78
|
+
Supported agent keys (17): `claude` `cursor` `codex` `gemini` `goose` `amp` `opencode` `windsurf` `workbuddy` `kiro` `trae` `trae-cn` `qwen` `comate` `codebuddy` `kimi` `agents`. For agents not in the preset list, point `--dir` at their skills directory (`.agents/skills` is not a universal directory).
|
|
79
|
+
|
|
80
|
+
## Version strategy
|
|
81
|
+
|
|
82
|
+
- Default `range`: `npm pack <pkg>@<major>.x` — the latest patch of the same major in the manifest, so maintenance releases are picked up automatically.
|
|
83
|
+
- `--pin`: exact manifest versions, fully reproducible.
|
|
84
|
+
- "Already at the latest" is determined by comparing the frontmatter `version` in `<dir>/<slug>/SKILL.md` with the manifest; matching versions are skipped.
|
|
85
|
+
|
|
86
|
+
## Installation
|
|
87
|
+
|
|
88
|
+
Pick any of the four methods below; the order is the recommended priority. The package always comes from **npm** (GitHub can be slow without a proxy; npm supports mirrors).
|
|
89
|
+
|
|
90
|
+
### Method 1: npm one-liner (recommended)
|
|
91
|
+
|
|
92
|
+
```text
|
|
93
|
+
# Optional China mirror: npm config set registry https://registry.npmmirror.com
|
|
94
|
+
npx -y @yottameta/yotta-skills install --agent <agent-name> # install the whole family to the agent's default user-level skills dir
|
|
95
|
+
npx -y @yottameta/yotta-skills install --dir <your-skills-dir> # install the whole family to a directory (e.g. ~/.codex/skills)
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
- `npx` fetches the latest `yotta-skills` automatically, so there is no separate installation step.
|
|
99
|
+
- `--agent <name>` installs to that agent's default user-level directory; `--list` shows each agent's default directory.
|
|
100
|
+
- `--dir <path>` installs to the given directory; for agents not in the preset list, point `--dir` at their skills directory.
|
|
101
|
+
- If the mirror has not synced the new package (404): add `--registry=https://registry.npmjs.org/` (a proxy may be needed in China), or wait for the mirror cache.
|
|
102
|
+
|
|
103
|
+
### Method 2: git clone (developers / git available)
|
|
104
|
+
|
|
105
|
+
```text
|
|
106
|
+
git clone https://github.com/YottaMeta/yotta-skills.git <your-skills-dir>/yotta-skills
|
|
107
|
+
cd <your-skills-dir>/yotta-skills
|
|
108
|
+
node bin/yotta-skills.js --list
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### Method 3: GitHub Download ZIP (manual / no git)
|
|
112
|
+
|
|
113
|
+
On the GitHub repository `YottaMeta/yotta-skills`, click **Code → Download ZIP**, unzip it, then either run `node bin/yotta-skills.js --list` from the folder, or copy the `yotta-skills` folder into the agent's skills directory.
|
|
114
|
+
|
|
115
|
+
### Method 4: install.sh (multi-agent one-liner script)
|
|
116
|
+
|
|
117
|
+
```text
|
|
118
|
+
bash install.sh --agent <name> # install this skill itself to the agent's default user-level directory
|
|
119
|
+
bash install.sh --dir <path> # install this skill itself to the given directory
|
|
120
|
+
bash install.sh --list # list agents -> default directories
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
> Method 1 uses the npm registry (npmmirror / npmjs) and does not depend on GitHub; Methods 2/3 use GitHub and may fail without a proxy in China.
|
|
124
|
+
|
|
125
|
+
## Included skills
|
|
126
|
+
|
|
127
|
+
The full 22-skill manifest with Chinese names, package names, versions and descriptions is in `references/skill-list.md` (the machine-readable source is `skills.json`). Family coverage: Security & Guardrails (12), Quality & Engineering (4), Memory & Context (3), Writing & Expression (1), Workflow (1), Entry & Guidance (1).
|
|
128
|
+
|
|
129
|
+
## How it works
|
|
130
|
+
|
|
131
|
+
For each skill in the manifest: `npm pack <pkg>@<spec>` into a temp directory → `tar -xzf` → optional yotta-verify pre-install summary → replace `<dest>/<slug>` → summary report. Details: `references/install-flow.md`; beginner tutorial (Chinese): `references/tutorial.md`.
|
|
132
|
+
|
|
133
|
+
## Development & validation
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
# Run the test suite (12 cases) from the skill directory
|
|
137
|
+
npm test
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
The tests cover `--list`, install into a temp directory with assertions, idempotency, `--pin`, `update`, error paths, and yotta-verify scan integration (with a fake npm).
|
|
141
|
+
|
|
142
|
+
## License
|
|
143
|
+
|
|
144
|
+
MIT © YottaMeta — see [LICENSE](./LICENSE).
|
package/README.zh-CN.md
ADDED
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
<p align="center"><b>Language</b>: <a href="./README.md">English</a> · 中文</p>
|
|
2
|
+
|
|
3
|
+
<p align="center">
|
|
4
|
+
<img src="assets/banner.png" alt="yotta-skills banner" width="100%" />
|
|
5
|
+
</p>
|
|
6
|
+
|
|
7
|
+
<h1 align="center">yotta-skills · 元阁 (YuanGe)</h1>
|
|
8
|
+
|
|
9
|
+
<p align="center">YottaMeta 的<b>全家技能一键安装 CLI</b>:一条 <code>npx</code> 命令把已发布的全部
|
|
10
|
+
<code>yotta-*</code> 技能(当前 <b>22</b> 个)装进指定智能体或目录。</p>
|
|
11
|
+
<p align="center">看清单、装全家、增量更新、<code>--dry-run</code> 预览、<code>--pin</code> 锁版本——
|
|
12
|
+
幂等、零依赖(Node.js 18+)、纯 npm 生态。</p>
|
|
13
|
+
<p align="center">本包<b>不含任何技能本体</b>——只做「清单 + 下载 + 落位 + 汇总」;每个技能仍走各自 npm 包。</p>
|
|
14
|
+
|
|
15
|
+
<p align="center">
|
|
16
|
+
<a href="LICENSE"><img alt="License: MIT" src="https://img.shields.io/badge/license-MIT-blue" /></a>
|
|
17
|
+
<a href="https://agentskills.io/"><img alt="Standard: agentskills.io" src="https://img.shields.io/badge/standard-agentskills.io-orange" /></a>
|
|
18
|
+
<a href="https://www.npmjs.com/package/@yottameta/yotta-skills"><img alt="npm package" src="https://img.shields.io/npm/v/@yottameta/yotta-skills" /></a>
|
|
19
|
+
<a href="https://github.com/YottaMeta/yotta-skills"><img alt="GitHub stars" src="https://img.shields.io/github/stars/YottaMeta/yotta-skills" /></a>
|
|
20
|
+
<a href="https://github.com/YottaMeta/yotta-skills/commits/main"><img alt="last commit" src="https://img.shields.io/github/last-commit/YottaMeta/yotta-skills" /></a>
|
|
21
|
+
<a href="https://github.com/YottaMeta/yotta-skills"><img alt="PRs welcome" src="https://img.shields.io/badge/PRs-welcome-brightgreen" /></a>
|
|
22
|
+
</p>
|
|
23
|
+
|
|
24
|
+
## 这是什么
|
|
25
|
+
|
|
26
|
+
以前装元阁全家要逐个 <code>npx</code> 跑很多次。元阁把它变成一条命令:读内置清单(22 个已发布技能)、
|
|
27
|
+
逐个从各自 npm 包下载、落位到目标技能目录、打印汇总(成功 / 跳过 / 失败)。
|
|
28
|
+
|
|
29
|
+
- **看清单**——全家技能一览:slug / 中文名 / 包名 / 版本 / 一句话说明。
|
|
30
|
+
- **安装**——装全家(或指定技能)到智能体默认用户级目录或任意目录。
|
|
31
|
+
- **更新**——增量更新:补齐缺失技能、升级版本不一致的技能。
|
|
32
|
+
- **幂等**——已在清单版本的技能跳过;重复运行安全。
|
|
33
|
+
- **装前摘要**——若装了元信(yotta-verify),先对每个待装技能做一次装前扫描;verdict 仅提示、不拦截。
|
|
34
|
+
|
|
35
|
+
边界:只做「下载 + 落位 + 汇总」——**不**开发技能内容、**不**内置任何技能本体、**不**用 <code>-g</code>
|
|
36
|
+
全局安装;只在你指定的目标内写文件。
|
|
37
|
+
|
|
38
|
+
## 快速使用
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
# 列出全家技能(不联网、不改动)
|
|
42
|
+
npx -y @yottameta/yotta-skills --list
|
|
43
|
+
|
|
44
|
+
# 装全家到指定智能体默认用户级技能目录(推荐)
|
|
45
|
+
npx -y @yottameta/yotta-skills install --agent codex
|
|
46
|
+
|
|
47
|
+
# 装全家到任意目录(每个技能落在 <dir>/<slug>)
|
|
48
|
+
npx -y @yottameta/yotta-skills install --dir ~/my-skills
|
|
49
|
+
|
|
50
|
+
# 只装个别技能
|
|
51
|
+
npx -y @yottameta/yotta-skills install yotta-memory yotta-verify --dir ~/my-skills
|
|
52
|
+
|
|
53
|
+
# 增量更新已装技能
|
|
54
|
+
npx -y @yottameta/yotta-skills update --agent codex
|
|
55
|
+
|
|
56
|
+
# 预览将安装清单(不联网、不改动)
|
|
57
|
+
npx -y @yottameta/yotta-skills --dry-run
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
前置:Node.js 18+、npm、系统 tar(Windows 10+ / macOS / 多数 Linux 自带)。
|
|
61
|
+
|
|
62
|
+
## 命令与选项
|
|
63
|
+
|
|
64
|
+
| 命令 / 选项 | 作用 |
|
|
65
|
+
|---|---|
|
|
66
|
+
| `--list`(`-l`) | 列出全家技能 + 版本 + 说明;可加技能名过滤 |
|
|
67
|
+
| `install --agent <name>` | 装全家到指定智能体默认用户级技能目录(推荐) |
|
|
68
|
+
| `install --dir <path>` | 装全家到指定目录,每个技能落在 `<path>/<slug>` |
|
|
69
|
+
| `install <skill>... [--agent <name> \| --dir <path>]` | 只装指定的一个或多个技能 |
|
|
70
|
+
| `update [--agent <name> \| --dir <path>]` | 增量更新:补齐缺失、升级版本不一致的技能 |
|
|
71
|
+
| `--dry-run` | 预览将执行的安装 / 更新清单;不联网、不改动 |
|
|
72
|
+
| `--pin` | 锁死清单精确版本(默认 range:跟随同 major 最新 patch) |
|
|
73
|
+
| `--force` | 已是最新也重新安装 |
|
|
74
|
+
| `--skip-scan` | 跳过元信装前摘要(装了 yotta-verify 时默认自动启用) |
|
|
75
|
+
| `--npm <path>` | 指定 npm 可执行文件 |
|
|
76
|
+
| `--python <path>` | 指定 python 可执行文件(元信摘要用) |
|
|
77
|
+
| `--verify <path>` | 指定 yotta_verify.py 路径 |
|
|
78
|
+
| `-h, --help` / `-v, --version` | 帮助 / 版本 |
|
|
79
|
+
|
|
80
|
+
不带命令直接给技能名时,等价于 `install <skill>`。
|
|
81
|
+
|
|
82
|
+
支持 17 个智能体键名:`claude` `cursor` `codex` `gemini` `goose` `amp` `opencode` `windsurf`
|
|
83
|
+
`workbuddy` `kiro` `trae` `trae-cn` `qwen` `comate` `codebuddy` `kimi` `agents`。
|
|
84
|
+
未收录的智能体请用 `--dir` 指到它的技能目录(`.agents/skills` 不是通用目录)。
|
|
85
|
+
|
|
86
|
+
## 版本策略
|
|
87
|
+
|
|
88
|
+
- 默认 `range`:`npm pack <pkg>@<major>.x`——取清单同 major 的最新 patch,维护性更新随最新;
|
|
89
|
+
- `--pin`:锁死清单精确版本,完全可复现;
|
|
90
|
+
- 是否「已是最新」由目标 `<dir>/<slug>/SKILL.md` 的 frontmatter `version` 与清单比对,一致即跳过。
|
|
91
|
+
|
|
92
|
+
## 安装
|
|
93
|
+
|
|
94
|
+
以下四种方式任选,顺序即推荐优先级;本包一律从 **npm** 获取(GitHub 无代理较慢,npm 支持镜像)。
|
|
95
|
+
|
|
96
|
+
### 方式一:npm 一行装(推荐)
|
|
97
|
+
|
|
98
|
+
```text
|
|
99
|
+
# 可选国内加速:npm config set registry https://registry.npmmirror.com
|
|
100
|
+
npx -y @yottameta/yotta-skills install --agent <智能体名称> # 装全家到指定智能体默认用户级技能目录
|
|
101
|
+
npx -y @yottameta/yotta-skills install --dir <你的技能目录> # 装全家到指定目录(如 ~/.codex/skills)
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
- `npx` 会自动拉取最新版 `yotta-skills`,无需单独安装步骤。
|
|
105
|
+
- `--agent <name>` 自动装到该智能体默认用户级目录;`--list` 可查看各智能体默认目录。
|
|
106
|
+
- `--dir <路径>` 装到指定的技能目录;未收录的智能体用 `--dir` 指到它的技能目录。
|
|
107
|
+
- npmmirror 未同步新包(404):加 `--registry=https://registry.npmjs.org/`(国内需代理),或稍等镜像缓存。
|
|
108
|
+
|
|
109
|
+
### 方式二:git clone(开发者 / 有 git 环境)
|
|
110
|
+
|
|
111
|
+
```text
|
|
112
|
+
git clone https://github.com/YottaMeta/yotta-skills.git <你的技能目录>/yotta-skills
|
|
113
|
+
cd <你的技能目录>/yotta-skills
|
|
114
|
+
node bin/yotta-skills.js --list
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### 方式三:GitHub 下载压缩包(手动 / 无 git 环境)
|
|
118
|
+
|
|
119
|
+
在 GitHub 仓库 `YottaMeta/yotta-skills` 点 **Code → Download ZIP**,解压后直接在目录里跑
|
|
120
|
+
`node bin/yotta-skills.js --list`,或把 `yotta-skills` 文件夹放进智能体技能目录。
|
|
121
|
+
|
|
122
|
+
### 方式四:install.sh(多智能体一键脚本)
|
|
123
|
+
|
|
124
|
+
```text
|
|
125
|
+
bash install.sh --agent <name> # 把本技能本身装到指定智能体默认用户级目录
|
|
126
|
+
bash install.sh --dir <path> # 把本技能本身装到指定目录
|
|
127
|
+
bash install.sh --list # 列出智能体 -> 默认目录
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
> 方式一走 npm 源(npmmirror / npmjs),不依赖 GitHub;方式二 / 三走 GitHub,国内无代理可能失败。
|
|
131
|
+
|
|
132
|
+
## 全家技能清单
|
|
133
|
+
|
|
134
|
+
22 个技能的 slug / 中文名 / 包名 / 版本 / 说明见 `references/skill-list.md`(机器权威源为
|
|
135
|
+
`skills.json`)。家族分布:安全与护栏(12)/ 质量与工程(4)/ 记忆与上下文(3)/ 写作与表达(1)/
|
|
136
|
+
工作流(1)/ 入口与引导(1)。
|
|
137
|
+
|
|
138
|
+
## 工作原理
|
|
139
|
+
|
|
140
|
+
对清单里每个技能:`npm pack <pkg>@<spec>` 到临时目录 → `tar -xzf` 解压 → 可选元信装前摘要 →
|
|
141
|
+
替换 `<dest>/<slug>` → 汇总报告。细节见 `references/install-flow.md`;新手中文教程见
|
|
142
|
+
`references/tutorial.md`。
|
|
143
|
+
|
|
144
|
+
## 开发与校验
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
# 在技能目录内跑测试(12 个用例)
|
|
148
|
+
npm test
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
测试覆盖 `--list`、临时目录安装断言、幂等、`--pin`、`update`、异常路径与元信 scan 集成
|
|
152
|
+
(用 fake npm 不联网)。
|
|
153
|
+
|
|
154
|
+
## 许可证
|
|
155
|
+
|
|
156
|
+
MIT © YottaMeta —— 见 [LICENSE](./LICENSE)。
|
package/SKILL.md
ADDED
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: yotta-skills
|
|
3
|
+
version: 0.1.0
|
|
4
|
+
description: 元阁 —— 全家技能一键安装 CLI:一条命令把 YottaMeta 已发布的全部 yotta-* 技能(当前 22 个)装进指定智能体或目录;支持 --list 清单 / install / update / --dry-run 预览 / --pin 锁版本;幂等、零依赖(Node.js 18+)、纯 npm 生态,不内置任何技能本体。触发:需要批量安装或更新元阁全家技能、给某个智能体或目录一次性铺齐 yotta-* 技能、预览安装清单、锁版本安装时;或用户说 元阁/装全家/一次装齐/yotta-skills/install-all/更新全家 等。边界(Do NOT trigger):只做「清单 + 下载 + 落位 + 汇总」,不含技能本体、不做技能内容开发、不 -g 污染全局;装前摘要仅供参考,安装决策由用户确认。
|
|
5
|
+
license: MIT
|
|
6
|
+
metadata:
|
|
7
|
+
zh_name: 元阁
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# 元阁(yotta-skills)
|
|
11
|
+
|
|
12
|
+
**全家技能一键安装 CLI**:一条 `npx -y @yottameta/yotta-skills` 把元阁已发布的全部
|
|
13
|
+
`yotta-*` 技能(当前 22 个)装进指定智能体默认目录或任意目录——`--list` 看清单、
|
|
14
|
+
`install` 一次装齐、`update` 增量更新、`--dry-run` 先预览、`--pin` 锁版本。
|
|
15
|
+
|
|
16
|
+
每个技能仍走各自独立的 npm 包(版本源唯一);本包只做「清单 + 下载 + 落位 + 汇总」,
|
|
17
|
+
**不内置任何技能本体**,体积极小。运行依赖仅 Node.js 18+ / npm / 系统 tar。
|
|
18
|
+
|
|
19
|
+
## 何时使用
|
|
20
|
+
|
|
21
|
+
- 新装一个智能体(如 Codex / Claude Code / Cursor),想一次把元阁全家技能铺到位;
|
|
22
|
+
- 给某个目录或智能体批量安装 / 更新 `yotta-*` 技能;
|
|
23
|
+
- 安装前先预览会装哪些技能、什么版本;
|
|
24
|
+
- 需要锁死清单版本、或强制重装。
|
|
25
|
+
|
|
26
|
+
**Do NOT trigger**:
|
|
27
|
+
|
|
28
|
+
- 本工具不做技能内容开发与审查,也不包含任何技能本体;
|
|
29
|
+
- 装前摘要(元信 yotta-verify)仅供参考,不替代人工安装决策;
|
|
30
|
+
- 不使用 `-g` 全局安装,不向未指定的位置写文件;
|
|
31
|
+
- 网络不可用时安装会失败并给出明确错误,不伪造结果。
|
|
32
|
+
|
|
33
|
+
## 快速使用
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
# 列出全家技能 + 版本 + 说明
|
|
37
|
+
npx -y @yottameta/yotta-skills --list
|
|
38
|
+
|
|
39
|
+
# 装全家到指定智能体默认用户级目录(推荐)
|
|
40
|
+
npx -y @yottameta/yotta-skills install --agent codex
|
|
41
|
+
|
|
42
|
+
# 装全家到任意目录(每个技能落在 <dir>/<slug>)
|
|
43
|
+
npx -y @yottameta/yotta-skills install --dir ~/my-skills
|
|
44
|
+
|
|
45
|
+
# 只装单个 / 多个技能
|
|
46
|
+
npx -y @yottameta/yotta-skills install yotta-memory yotta-verify --dir ~/my-skills
|
|
47
|
+
|
|
48
|
+
# 增量更新已装技能(补齐缺失 / 版本不一致)
|
|
49
|
+
npx -y @yottameta/yotta-skills update --agent codex
|
|
50
|
+
|
|
51
|
+
# 预览将安装清单(不联网、不改动)
|
|
52
|
+
npx -y @yottameta/yotta-skills --dry-run
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## 命令与选项
|
|
56
|
+
|
|
57
|
+
| 命令 / 选项 | 作用 |
|
|
58
|
+
|---|---|
|
|
59
|
+
| `--list`(`-l`) | 列出全家技能 + 版本 + 说明;可加技能名过滤 |
|
|
60
|
+
| `install --agent <name>` | 装全家到指定智能体默认用户级目录(推荐) |
|
|
61
|
+
| `install --dir <path>` | 装全家到指定目录,每个技能落在 `<path>/<slug>` |
|
|
62
|
+
| `install <skill>... [--agent <name> \| --dir <path>]` | 只装指定的一个或多个技能 |
|
|
63
|
+
| `update [--agent <name> \| --dir <path>]` | 增量更新:补齐缺失技能、升级版本不一致的技能 |
|
|
64
|
+
| `--dry-run` | 预览将执行的安装 / 更新清单;不联网、不改动 |
|
|
65
|
+
| `--pin` | 锁死清单精确版本(默认 range:跟随同 major 最新 patch) |
|
|
66
|
+
| `--force` | 已是最新也重新安装 |
|
|
67
|
+
| `--skip-scan` | 跳过元信装前摘要(装了 yotta-verify 时默认自动启用) |
|
|
68
|
+
| `--npm <path>` | 指定 npm 可执行文件 |
|
|
69
|
+
| `--python <path>` | 指定 python 可执行文件(元信摘要用) |
|
|
70
|
+
| `--verify <path>` | 指定 yotta_verify.py 路径 |
|
|
71
|
+
| `-h, --help` / `-v, --version` | 帮助 / 版本 |
|
|
72
|
+
|
|
73
|
+
不带命令直接给技能名时,等价于 `install <skill>`。
|
|
74
|
+
|
|
75
|
+
## 版本策略
|
|
76
|
+
|
|
77
|
+
- 默认 `range`:按清单 `major.x` 取 npm 最新 patch(如 `0.x`),维护性更新随最新;
|
|
78
|
+
- `--pin`:锁死清单中的精确版本,完全可复现;
|
|
79
|
+
- 是否「已是最新」由目标目录 `<slug>/SKILL.md` 的 frontmatter `version` 与清单比对,
|
|
80
|
+
一致即跳过(幂等)。
|
|
81
|
+
|
|
82
|
+
## 元信装前摘要
|
|
83
|
+
|
|
84
|
+
安装时若检测到元信(yotta-verify)引擎,会对每个待装技能先跑一次装前摘要并打印 verdict
|
|
85
|
+
与计数——仅提示、不拦截;verdict 为 DO NOT INSTALL 时会额外提示人工复核。
|
|
86
|
+
引擎查找顺序:`--verify` 指定路径 → 环境变量 `YOTTA_SKILLS_VERIFY` → 目标目录下已装的
|
|
87
|
+
`yotta-verify/scripts/yotta_verify.py`。可用 `--skip-scan` 关闭。
|
|
88
|
+
|
|
89
|
+
## 支持智能体
|
|
90
|
+
|
|
91
|
+
17 个内置键名:`claude` `cursor` `codex` `gemini` `goose` `amp` `opencode` `windsurf`
|
|
92
|
+
`workbuddy` `kiro` `trae` `trae-cn` `qwen` `comate` `codebuddy` `kimi` `agents`。
|
|
93
|
+
未收录的智能体请用 `--dir` 指定其技能目录(`.agents/skills` 不是通用目录)。
|
|
94
|
+
|
|
95
|
+
## 环境变量
|
|
96
|
+
|
|
97
|
+
| 变量 | 作用 |
|
|
98
|
+
|---|---|
|
|
99
|
+
| `YOTTA_SKILLS_NPM` | 指定 npm 可执行文件(同 `--npm`) |
|
|
100
|
+
| `YOTTA_SKILLS_NPM_FLAGS` | 追加传给 `npm pack` 的参数(按空白拆分,如 `--registry=...`) |
|
|
101
|
+
| `YOTTA_SKILLS_PYTHON` | 指定 python 可执行文件(元信摘要用,同 `--python`) |
|
|
102
|
+
| `YOTTA_SKILLS_VERIFY` | 指定 yotta_verify.py 路径(同 `--verify`) |
|
|
103
|
+
| `YOTTA_SKILLS_MANIFEST` | 指定技能清单 JSON 路径(默认随包 skills.json) |
|
|
104
|
+
|
|
105
|
+
## 常见问题
|
|
106
|
+
|
|
107
|
+
- **npmmirror 全新包 404**:镜像同步有延迟,通过 `YOTTA_SKILLS_NPM_FLAGS` 追加
|
|
108
|
+
`--registry=https://registry.npmjs.org/`(国内需代理)或等待镜像缓存后重试。
|
|
109
|
+
- **未收录智能体**:`--agent <name>` 报未收录时,改用 `--dir` 指到它的技能目录。
|
|
110
|
+
- **Windows 下 npm 报错**:CLI 已内置 npm-cli.js 解析,无需额外处理;如需覆盖用 `--npm`。
|
|
111
|
+
- **某技能安装失败**:汇总报告会列出失败原因,可单装该技能排查。
|
|
112
|
+
|
|
113
|
+
## 参考
|
|
114
|
+
|
|
115
|
+
- 全家技能清单(人工可读版):`references/skill-list.md`(机器权威源为 `skills.json`)。
|
|
116
|
+
- 内部机制:`references/install-flow.md`。
|
|
117
|
+
- 新手中文教程:`references/tutorial.md`。
|
|
Binary file
|