@yottameta/yotta-skills-plugin 0.7.2 → 0.19.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/.agents/plugins/marketplace.json +1 -1
- package/.claude-plugin/marketplace.json +1 -1
- package/package.json +1 -1
- package/plugin.json +1 -1
- package/skills/yotta-skills/SKILL.md +86 -12
- package/skills/yotta-skills/bin/yotta-skills.js +681 -90
- package/skills/yotta-skills/references/faq.md +26 -3
- package/skills/yotta-skills/references/install-flow.md +95 -7
- package/skills/yotta-skills/references/skill-list.md +10 -10
- package/skills/yotta-skills/references/tutorial.md +40 -6
- package/skills/yotta-skills/references/walkthroughs.md +11 -3
- package/skills/yotta-skills/scripts/yotta-skills-mcp.py +1 -1
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"authentication": "ON_INSTALL"
|
|
13
13
|
},
|
|
14
14
|
"category": "Developer Tools",
|
|
15
|
-
"version": "0.
|
|
15
|
+
"version": "0.19.0",
|
|
16
16
|
"description": "YuanGe (元阁) - orchestration routing, inventory, and one-command installer for the YottaMeta skill family (zero dependencies, Node.js only).",
|
|
17
17
|
"interface": {
|
|
18
18
|
"displayName": "元阁 yotta-skills",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"authentication": "ON_INSTALL"
|
|
13
13
|
},
|
|
14
14
|
"category": "Developer Tools",
|
|
15
|
-
"version": "0.
|
|
15
|
+
"version": "0.19.0",
|
|
16
16
|
"description": "YuanGe (元阁) - orchestration routing, inventory, and one-command installer for the YottaMeta skill family (zero dependencies, Node.js only).",
|
|
17
17
|
"interface": {
|
|
18
18
|
"displayName": "元阁 yotta-skills",
|
package/package.json
CHANGED
package/plugin.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
|
|
3
3
|
"name": "yotta-skills",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.19.0",
|
|
5
5
|
"description": "YuanGe (元阁) - orchestration routing, inventory, and one-command installer for the YottaMeta skill family (zero dependencies, Node.js only).",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "YottaMeta",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: yotta-skills
|
|
3
|
-
version: 0.
|
|
4
|
-
description: 元阁 -- 元阁全家技能的总编排策划 + 编排路由 + 一键安装器 +
|
|
3
|
+
version: 0.19.0
|
|
4
|
+
description: 元阁 -- 元阁全家技能的总编排策划 + 编排路由 + 一键安装器 + 技能盘点 + 运行时 hook 适配。路由层:--route / route_request 按需求摘要给出候选组合、调用顺序、角色、置信度、依据、已装/缺失状态与安装命令,只建议不自动安装;非元阁家族已装技能按 frontmatter description 机械匹配作并列候选(标注来源与未扫描状态,只读不自动调用);策划层:按场景给出「该组合哪几个元技能、组合强在哪、怎么自动装+自动用」;安装层:一条命令把 YottaMeta 已发布的全部 yotta-* 技能装进指定智能体或目录;盘点层:--inventory / --reindex 扫描本机已装技能生成/更新注册表,新装技能自动被发现(install/update 后自动 re-index,会话开工只建议跑本地 --reindex;更新检查走手动 --check 或后台 --check --scheduled);运行时适配层:hook capabilities / evaluate / bind / unbind 按宿主能力矩阵执行六个统一事件并留证降级,元信 before_install 已接入安装管线;自包含零依赖,不依赖任何元技能;MCP 按需加载(可选:list_installed_skills/describe_skill/reindex/route_request,不常驻,未加载降级 CLI)。支持 --list 清单 / --route 路由 / install / update / update --check(只读检查)/ update --check --scheduled(后台周检)/ update --auto(家族自动更新)/ hook 适配 / --inventory / --reindex / --dry-run 预览 / --pin 锁版本。触发:需要批量安装或更新元阁全家技能、按场景组合多个元技能、路由或判断该用哪些技能、盘点或查看本机已装技能、重扫技能注册表、给某个智能体或目录一次性铺齐 yotta-* 技能、评估宿主 hook 能力、预览安装清单、锁版本安装、或用户说 元阁/装全家/一次装齐/yotta-skills/install-all/更新全家/检查更新/自动更新/hook 适配/该用哪个技能/路由技能/盘点技能/查看已装技能 等。边界(Do NOT trigger):只做「组合策划 + 静态路由建议 + 清单 + 下载 + 落位 + 汇总 + 盘点 + re-index + hook 适配」,不含技能本体、不做技能内容开发、不 -g 污染全局、不自动安装缺失技能;家族安装先自举或调用元信装前门禁,DO NOT INSTALL 阻断,非元阁家族包不自动安装。
|
|
5
5
|
license: MIT
|
|
6
6
|
metadata:
|
|
7
7
|
zh_name: 元阁
|
|
@@ -16,8 +16,8 @@ metadata:
|
|
|
16
16
|
**写入内容(逐字)**:
|
|
17
17
|
|
|
18
18
|
> **元阁编排**:单技能是零件,组合才是系统。会话开工先跑一次 `yotta-skills --reindex`
|
|
19
|
-
>
|
|
20
|
-
>
|
|
19
|
+
> (重扫本机技能注册表,新装技能自动被看见);更新检查走手动 `yotta-skills update --check`,
|
|
20
|
+
> 或后台周检 `yotta-skills update --check --scheduled`(未到期不联网,到期单次检查并写缓存)。接到需求,先查「元阁编排策划」命中哪个组合
|
|
21
21
|
> (输出呈现标准 / 长生命周期 / 交付质量门 / 装前安全门 / 造技能发版 / 安全事件响应 / 入口安装),
|
|
22
22
|
> 再按需自动安装并应用。完整决策表见技能 `yotta-skills/references/orchestration.md`。
|
|
23
23
|
|
|
@@ -32,7 +32,7 @@ metadata:
|
|
|
32
32
|
|
|
33
33
|
- **路由层(该用哪几个)**:`--route "<需求摘要>"` / MCP `route_request` 查本地注册表与静态编排 playbook,输出候选组合、调用顺序、每个技能角色、置信度、依据、已装/缺失状态与安装命令;非元阁家族已装技能按 frontmatter description 机械匹配作并列候选(标注来源与未扫描状态,只读不自动调用);只建议安装,不自动安装。
|
|
34
34
|
- **策划层(怎么用)**:接到需求,先按「编排策划」定位命中哪个组合——哪些元技能搭配起来最强、适合什么场景、AI 该怎么自动装并自动用起来。
|
|
35
|
-
- **安装层(怎么装)**:一条 `npx -y @yottameta/yotta-skills` 把组合/全家装进指定智能体或目录——`--list` 看清单、`install` 装、`update` 增量更新、`
|
|
35
|
+
- **安装层(怎么装)**:一条 `npx -y @yottameta/yotta-skills` 把组合/全家装进指定智能体或目录——`--list` 看清单、`install` 装、`update` 增量更新、`doctor` 只读自检、`rollback` 恢复快照、`--dry-run` 预览、`--pin` 锁版本。
|
|
36
36
|
- **盘点层(已装了什么)**:`--inventory` / `--reindex` 扫描本机各智能体技能目录,生成/更新本地注册表;装技能后自动 re-index,新装技能自动被发现——自包含扫描,不依赖任何元技能。
|
|
37
37
|
|
|
38
38
|
每个技能仍走各自独立的 npm 包(版本源唯一);本包只做「清单 + 下载 + 落位 + 汇总」,**不内置任何技能本体**。
|
|
@@ -101,9 +101,19 @@ npx -y @yottameta/yotta-skills update --agent codex
|
|
|
101
101
|
# 只读检查有没有更新(联网对 npm 最新,不改动;0=全部最新 / 3=有更新 / 1=查失败)
|
|
102
102
|
npx -y @yottameta/yotta-skills update --check --agent codex
|
|
103
103
|
|
|
104
|
+
# 后台周检入口(未到期不联网;到期只检查一次并写 ~/.yottaskills/update-check.json)
|
|
105
|
+
npx -y @yottameta/yotta-skills update --check --scheduled --agent codex
|
|
106
|
+
|
|
104
107
|
# 检查到家族更新后自动更新(仅 yotta-* 自家家族,含装前安全扫描)
|
|
105
108
|
npx -y @yottameta/yotta-skills update --auto --agent codex
|
|
106
109
|
|
|
110
|
+
# 只读检查已装技能(不修改目录;可加 --json 输出机器可读结果)
|
|
111
|
+
npx -y @yottameta/yotta-skills doctor --agent codex
|
|
112
|
+
|
|
113
|
+
# 查看可用快照 / 回滚最近一次安装或更新
|
|
114
|
+
npx -y @yottameta/yotta-skills rollback --list --agent codex
|
|
115
|
+
npx -y @yottameta/yotta-skills rollback --slug yotta-memory --agent codex
|
|
116
|
+
|
|
107
117
|
# 预览将安装清单(不联网、不改动)
|
|
108
118
|
npx -y @yottameta/yotta-skills --dry-run
|
|
109
119
|
|
|
@@ -124,7 +134,13 @@ npx -y @yottameta/yotta-skills --reindex
|
|
|
124
134
|
| `install <skill>... [--agent <name> \| --dir <path>]` | 只装指定的一个或多个技能 |
|
|
125
135
|
| `update [--agent <name> \| --dir <path>]` | 增量更新:补齐缺失技能、升级版本不一致的技能 |
|
|
126
136
|
| `update --check [--agent <name> \| --dir <path>]` | 只读检查更新:联网对 npm 最新,不改动;退出码 0=全部最新 / 3=有更新 / 1=查失败 |
|
|
137
|
+
| `update --check --scheduled [--agent <name> \| --dir <path>]` | 后台周检入口:未到期不联网;到期只检查一次并写本地缓存;文本失败静默,`--json` 保留诊断;始终退出 0 |
|
|
127
138
|
| `update --auto [--agent <name> \| --dir <path>]` | 检查到家族更新后自动更新(仅 yotta-* 自家家族,含装前安全扫描) |
|
|
139
|
+
| `doctor [--agent <name> \| --dir <path>] [--slug <slug>]` | 只读自检:SKILL / 版本 / manifest / 注册表 / 自定义 doctor;`--json` 输出稳定字段 |
|
|
140
|
+
| `rollback [--agent <name> \| --dir <path>] [--slug <slug>]` | 校验并恢复最近一次快照;`--list` 只列快照;`--json` 输出机器可读结果 |
|
|
141
|
+
| `hook capabilities --host <name>` | 查看宿主六个统一事件的能力等级;未知宿主默认 `unsupported` |
|
|
142
|
+
| `hook evaluate --host <name> --event <event> --manifest <file> --context <json>` | 评估 manifest hook 声明,输出 allow / block / warn / unverified,并写结构化证据 |
|
|
143
|
+
| `hook bind --host <name> --manifest <file>` | 幂等注册 hook 声明;`hook unbind <id>` 反注册 |
|
|
128
144
|
| `--inventory` | 盘点本机已装技能:扫描技能目录生成/更新注册表(自包含,不依赖元技能);`--json` 输出 JSON、`--project` 附扫项目级目录 |
|
|
129
145
|
| `--reindex` | 重扫注册表:扫描技能目录并增量合并变化(会话开工 / 装技能后自动调用);`--json` 输出 JSON、`--project` 附扫项目级目录;`--rescan` 同义 |
|
|
130
146
|
| `--route <需求摘要>` | 静态编排路由:输出组合、调用顺序、技能角色、置信度、依据、已装/缺失状态与安装建议;`--json` 输出 JSON、`--project` 附扫项目级目录 |
|
|
@@ -132,14 +148,30 @@ npx -y @yottameta/yotta-skills --reindex
|
|
|
132
148
|
| `--dry-run` | 预览将执行的安装 / 更新清单;不联网、不改动 |
|
|
133
149
|
| `--pin` | 锁死清单精确版本(默认 range:跟随同 major 最新 patch) |
|
|
134
150
|
| `--force` | 已是最新也重新安装 |
|
|
135
|
-
| `--skip-scan` |
|
|
151
|
+
| `--skip-scan` | 人工应急路径:跳过元信门禁并标记 `explicit-unverified`;不得用于 `update --auto` |
|
|
136
152
|
| `--npm <path>` | 指定 npm 可执行文件 |
|
|
137
|
-
| `--python <path>` | 指定 python
|
|
153
|
+
| `--python <path>` | 指定 python 可执行文件(元信 scan 用) |
|
|
138
154
|
| `--verify <path>` | 指定 yotta_verify.py 路径 |
|
|
155
|
+
| `--slug <slug>` | doctor / rollback 时只处理指定技能 |
|
|
139
156
|
| `-h, --help` / `-v, --version` | 帮助 / 版本 |
|
|
140
157
|
|
|
141
158
|
不带命令直接给技能名时,等价于 `install <skill>`。
|
|
142
159
|
|
|
160
|
+
## 运行时 hook 适配层
|
|
161
|
+
|
|
162
|
+
技能 manifest 只声明六个统一事件的要求,元阁负责能力探测、确定性评估、证据留痕和降级标注:
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
npx -y @yottameta/yotta-skills hook capabilities --host codex
|
|
166
|
+
npx -y @yottameta/yotta-skills hook evaluate --host codex --event before_send --manifest ./skill-manifest.json --context '{"checks":{}}'
|
|
167
|
+
npx -y @yottameta/yotta-skills hook bind --host codex --manifest ./skill-manifest.json
|
|
168
|
+
npx -y @yottameta/yotta-skills hook unbind <binding-id>
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
证据写入 `~/.yottaskills/hook-log.jsonl`,绑定注册表写入
|
|
172
|
+
`~/.yottaskills/hook-bindings.json`。`native-audit` 只表示可审计和一次纠偏,不表示动作前强制;
|
|
173
|
+
`unsupported` 必须显示 `explicit-unverified`。本层只做本地确定性判断,不联网、不执行下载。
|
|
174
|
+
|
|
143
175
|
## 技能盘点(--inventory)
|
|
144
176
|
|
|
145
177
|
元阁自带技能扫描核心(零依赖,不依赖任何元技能):扫描各智能体技能目录,解析
|
|
@@ -175,14 +207,49 @@ npx -y @yottameta/yotta-skills --inventory --dir ~/my-skills --project
|
|
|
175
207
|
(含元信装前安全扫描)自动更新。**非元阁家族(非 yotta-*)技能绝不自动更新**(默认保守:`--check` 列清单,
|
|
176
208
|
用户确认后再 `update`)。
|
|
177
209
|
|
|
210
|
+
`--check --scheduled` 是后台周检入口:默认 7 天加 0 到 24 小时随机抖动,未到期不联网;
|
|
211
|
+
到期只检查一次并把结果写入 `~/.yottaskills/update-check.json`。文本模式网络失败静默,
|
|
212
|
+
`--json` 可读取 `error` / `cache` 诊断字段。它不作为会话开工默认动作。
|
|
213
|
+
|
|
178
214
|
```bash
|
|
179
215
|
# 只读检查(0=全部最新 / 3=有更新 / 1=查失败)
|
|
180
216
|
npx -y @yottameta/yotta-skills update --check --agent codex
|
|
181
217
|
|
|
218
|
+
# 后台周检入口(未到期不联网;到期单次检查并写缓存)
|
|
219
|
+
npx -y @yottameta/yotta-skills update --check --scheduled --agent codex
|
|
220
|
+
|
|
182
221
|
# 检查到家族更新后自动更新(仅自家家族)
|
|
183
222
|
npx -y @yottameta/yotta-skills update --auto --agent codex
|
|
184
223
|
```
|
|
185
224
|
|
|
225
|
+
## doctor 与 rollback
|
|
226
|
+
|
|
227
|
+
`doctor` 是只读自检,不会修改技能目录或注册表。它检查目标技能目录、`SKILL.md`、
|
|
228
|
+
frontmatter 版本、manifest 身份、本地注册表记录,以及包内声明的自定义 doctor 脚本。
|
|
229
|
+
`--json` 返回稳定字段,适合脚本和智能体消费。
|
|
230
|
+
|
|
231
|
+
```bash
|
|
232
|
+
npx -y @yottameta/yotta-skills doctor --agent codex --slug yotta-memory
|
|
233
|
+
npx -y @yottameta/yotta-skills doctor --dir ~/my-skills --json
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
`rollback` 只恢复已经存在的本机快照。恢复前会校验快照(新快照校验 SHA-256 元数据,
|
|
237
|
+
旧快照按结构校验);恢复过程中先在同盘暂存,再替换目标,失败时保留当前目录。
|
|
238
|
+
快照默认保留,不会被回滚操作删除。
|
|
239
|
+
|
|
240
|
+
```bash
|
|
241
|
+
# 查看当前有哪些快照(--slug 可只看一个技能)
|
|
242
|
+
npx -y @yottameta/yotta-skills rollback --list --agent codex
|
|
243
|
+
|
|
244
|
+
# 回滚最近一次安装或更新;也可用 --slug 指定技能
|
|
245
|
+
npx -y @yottameta/yotta-skills rollback --slug yotta-memory --agent codex
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
包内 manifest 可声明 `install.setup`、`install.doctor`、`install.rollback`,
|
|
249
|
+
值必须是包内相对路径。安装时先执行 setup,再执行内置 doctor 和自定义 doctor;
|
|
250
|
+
任一步失败都会恢复旧版本并留下安装证据。元阁只执行元阁家族包内的生命周期脚本,
|
|
251
|
+
不使用 shell,也不接受绝对路径或 `..` 路径。
|
|
252
|
+
|
|
186
253
|
## 编排路由(--route)
|
|
187
254
|
|
|
188
255
|
把需求摘要交给静态编排 playbook 和本地注册表,得到一组可执行建议:
|
|
@@ -235,12 +302,19 @@ npx -y @yottameta/yotta-skills --route "检查代码质量,别糊弄" --json
|
|
|
235
302
|
- 是否「已是最新」由目标目录 `<slug>/SKILL.md` 的 frontmatter `version` 与清单比对,
|
|
236
303
|
一致即跳过(幂等)。
|
|
237
304
|
|
|
238
|
-
##
|
|
305
|
+
## 元信装前门禁
|
|
306
|
+
|
|
307
|
+
家族安装默认执行装前扫描。若本机没有元信(yotta-verify),元阁先按 `skills.json`
|
|
308
|
+
安装元信自身,再扫描待装技能。安装前会先读取包内 manifest、校验身份,再进入元信门禁:
|
|
309
|
+
|
|
310
|
+
- `SAFE TO INSTALL`:继续安装;
|
|
311
|
+
- `INSTALL WITH CAUTION` / `REVIEW REQUIRED`:继续安装,但显示风险并写入证据;
|
|
312
|
+
- `DO NOT INSTALL` 或扫描失败:阻断,不替换旧版本。
|
|
239
313
|
|
|
240
|
-
安装时若检测到元信(yotta-verify)引擎,会对每个待装技能先跑一次装前摘要并打印 verdict
|
|
241
|
-
与计数——仅提示、不拦截;verdict 为 DO NOT INSTALL 时会额外提示人工复核。
|
|
242
314
|
引擎查找顺序:`--verify` 指定路径 → 环境变量 `YOTTA_SKILLS_VERIFY` → 目标目录下已装的
|
|
243
|
-
`yotta-verify/scripts/yotta_verify.py
|
|
315
|
+
`yotta-verify/scripts/yotta_verify.py`。`--skip-scan` 只保留为人工应急路径,使用时输出
|
|
316
|
+
`explicit-unverified` 并写入 `~/.yottaskills/install-log.jsonl`;`update --auto` 不会使用
|
|
317
|
+
该开关。
|
|
244
318
|
|
|
245
319
|
## 支持智能体
|
|
246
320
|
|
|
@@ -254,7 +328,7 @@ npx -y @yottameta/yotta-skills --route "检查代码质量,别糊弄" --json
|
|
|
254
328
|
|---|---|
|
|
255
329
|
| `YOTTA_SKILLS_NPM` | 指定 npm 可执行文件(同 `--npm`) |
|
|
256
330
|
| `YOTTA_SKILLS_NPM_FLAGS` | 追加传给 `npm pack` 的参数(按空白拆分,如 `--registry=...`) |
|
|
257
|
-
| `YOTTA_SKILLS_PYTHON` | 指定 python
|
|
331
|
+
| `YOTTA_SKILLS_PYTHON` | 指定 python 可执行文件(元信 scan 用,同 `--python`) |
|
|
258
332
|
| `YOTTA_SKILLS_VERIFY` | 指定 yotta_verify.py 路径(同 `--verify`) |
|
|
259
333
|
| `YOTTA_SKILLS_MANIFEST` | 指定技能清单 JSON 路径(默认随包 skills.json) |
|
|
260
334
|
|