Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 13 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Read first: skills-catalog.json, docs/SKILL_ROUTING_MATRIX.md, docs/AI_E2E_SCENA
Then run:
1) ./bootstrap.sh --source github --dest ./downloaded-skills
2) bun run health:check -- --skills-root ./downloaded-skills
3) read `clientInstall.openclaw` / `clientInstall.ironclaw` from `skills-catalog.json`; if `installCommand` exists, execute it locally instead of treating a GitHub tree URL as the final install input
3) read `ironclawNative`, `clientInstall.openclaw`, and `clientInstall.ironclaw` from `skills-catalog.json`; for IronClaw, execute only `ironclawNative` and treat `clientInstall.ironclaw` as reserved metadata instead of a runnable fallback
Routing rule: follow SKILL_ROUTING_MATRIX; if ambiguous, output Recommended/Alternative/Reason.
Failure rule: use Common Recovery Template in docs/AI_E2E_SCENARIOS.md.
```
Expand All @@ -41,8 +41,9 @@ Treat skill distribution in two stages:

Rules:
1. GitHub tree/repo URLs are discovery sources only. Do not treat them as the final IronClaw install artifact.
2. For IronClaw, prefer `clientInstall.ironclaw.installCommand` and expect a trusted local install step.
2. For IronClaw, use `ironclawNative` only. `clientInstall.ironclaw` is retained as a reserved compatibility field and must not be treated as an executable fallback.
3. For OpenClaw, prefer `ClawHub` / managed install when `distributionSources.clawhubId` exists; otherwise use `clientInstall.openclaw.installCommand`.
4. ClawHub may act as a discovery shell for IronClaw-native WASM installs; do not confuse that with the final write-capable runtime.

## Prerequisites

Expand Down Expand Up @@ -131,11 +132,13 @@ Main fields per skill:
3. `repository.https`
4. `distributionSources` (`githubRepo`, `npmPackage`, optional `clawhubId`)
5. `description`, `capabilities`
6. `artifacts` (`skillMd`, `mcpServer`, `openclaw`)
7. `setupCommands` (compatibility display commands such as `claudeDesktop`, `cursor`, `openclaw`, `ironclaw`)
6. `artifacts` (`skillMd`, `mcpServer`, `openclaw`, `ironclawWasm`)
7. `setupCommands` (compatibility display commands such as `claudeDesktop`, `cursor`, `openclaw`)
8. `clientSupport` (support matrix such as `claude_desktop`, `cursor`, `ironclaw`, `codex`)
9. `clientInstall` (machine-executable activation contract for `openclaw` / `ironclaw`)
10. `dependsOn` (optional, schema `1.3.0`)
9. `clientInstall` (`openclaw` machine activation contract plus reserved `ironclaw` compatibility field)
10. `ironclawNative` (native WASM artifact contract for IronClaw)
11. `clawhub` (optional discovery-shell/runtime role metadata)
12. `dependsOn` (optional, schema `1.4.0`)

Schema references:
1. `docs/schemas/workspace.schema.json`
Expand All @@ -144,7 +147,7 @@ Schema references:
4. `docs/schemas/skills-catalog.schema.json`

Schema evolution policy:
1. `patch` (`1.3.x`): wording/docs fixes, no field semantics change.
1. `patch` (`1.4.x`): wording/docs fixes, no field semantics change.
2. `minor` (`1.x.0`): backward-compatible field additions.
3. `major` (`x.0.0`): breaking changes only.

Expand All @@ -166,9 +169,9 @@ This section is auto-synced by `bun run catalog:generate`.
| aelfscan-skill | @aelfscan/agent-skills | 0.2.2 | 61 | AelfScan explorer data retrieval and analytics skill for agents. |
| awaken-agent-skills | @awaken-finance/agent-kit | 1.2.4 | 11 | Awaken DEX trading and market data operations for agents. |
| eforest-agent-skills | @eforest-finance/agent-skills | 0.4.3 | 48 | eForest symbol and forest NFT operations for agent workflows. |
| portkey-ca-agent-skills | @portkey/ca-agent-skills | 2.0.0 | 28 | Portkey CA wallet registration/auth/guardian/transfer operations for agents. |
| portkey-eoa-agent-skills | @portkey/eoa-agent-skills | 1.2.4 | 21 | Portkey EOA wallet and asset operations for aelf agents. |
| tomorrowdao-agent-skills | @tomorrowdao/agent-skills | 0.1.4 | 41 | TomorrowDAO governance, BP, and resource operations for agents. |
| portkey-ca-agent-skills | @portkey/ca-agent-skills | 2.3.0 | 32 | Portkey CA wallet registration/auth/guardian/transfer operations for agents. |
| portkey-eoa-agent-skills | @portkey/eoa-agent-skills | 1.2.6 | 21 | Portkey EOA wallet and asset operations for aelf agents. |
| tomorrowdao-agent-skills | @tomorrowdao/agent-skills | 0.2.0 | 44 | TomorrowDAO governance, BP, and resource operations for agents. |
<!-- SKILL_TABLE_END -->

## Health Check
Expand Down
23 changes: 13 additions & 10 deletions README.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
然后执行:
1) ./bootstrap.sh --source github --dest ./downloaded-skills
2) bun run health:check -- --skills-root ./downloaded-skills
3) 读取 `skills-catalog.json` 里的 `clientInstall.openclaw` / `clientInstall.ironclaw`;若存在 `installCommand`,由宿主或 agent 在本地执行,而不是把 GitHub tree URL 当成最终安装输入
3) 读取 `skills-catalog.json` 里的 `ironclawNative`、`clientInstall.openclaw` `clientInstall.ironclaw`;对 IronClaw 只执行 `ironclawNative`,`clientInstall.ironclaw` 仅保留为兼容字段,不能当作可执行 fallback
路由规则:按 SKILL_ROUTING_MATRIX;若有歧义,输出 Recommended/Alternative/Reason。
失败规则:按 docs/AI_E2E_SCENARIOS.zh-CN.md 的常见错误恢复模板执行。
```
Expand All @@ -41,8 +41,9 @@ Skill 分发一律拆成两个阶段:

固定规则:
1. GitHub tree/repo URL 只用于 discovery,不是 IronClaw 的最终安装载体。
2. IronClaw 一律优先读取 `clientInstall.ironclaw.installCommand`,并预期存在 trusted 本地安装步骤
2. IronClaw 一律只走 `ironclawNative`;`clientInstall.ironclaw` 仅保留为兼容字段,不能再作为 activation fallback
3. OpenClaw 若存在 `distributionSources.clawhubId`,优先走 `ClawHub` / managed install;否则回退到 `clientInstall.openclaw.installCommand`。
4. ClawHub 对 IronClaw-native skill 可以只承担 discovery shell 角色,不能等同于最终写能力运行时。

## 环境依赖

Expand Down Expand Up @@ -131,11 +132,13 @@ bun run update:check
3. `repository.https`
4. `distributionSources`(`githubRepo`, `npmPackage`,以及可选 `clawhubId`)
5. `description`, `capabilities`
6. `artifacts`(`skillMd`, `mcpServer`, `openclaw`)
7. `setupCommands`(兼容展示字段,例如 `claudeDesktop`、`cursor`、`openclaw`、`ironclaw`
6. `artifacts`(`skillMd`, `mcpServer`, `openclaw`, `ironclawWasm`
7. `setupCommands`(兼容展示字段,例如 `claudeDesktop`、`cursor`、`openclaw`)
8. `clientSupport`(支持矩阵,例如 `claude_desktop`、`cursor`、`ironclaw`、`codex`)
9. `clientInstall`(`openclaw` / `ironclaw` 的机器可执行安装契约)
10. `dependsOn`(可选,schema `1.3.0`)
9. `clientInstall`(`openclaw` 的机器安装契约,以及保留的 `ironclaw` 兼容字段)
10. `ironclawNative`(IronClaw native WASM artifact 契约)
11. `clawhub`(可选的 discovery-shell/runtime 角色元数据)
12. `dependsOn`(可选,schema `1.4.0`)

Schema 参考:
1. `docs/schemas/workspace.schema.json`
Expand All @@ -144,7 +147,7 @@ Schema 参考:
4. `docs/schemas/skills-catalog.schema.json`

Schema 演进规则:
1. `patch`(`1.3.x`):文案/文档修订,不改变字段语义。
1. `patch`(`1.4.x`):文案/文档修订,不改变字段语义。
2. `minor`(`1.x.0`):向后兼容的字段新增。
3. `major`(`x.0.0`):仅用于破坏性变更。

Expand All @@ -166,9 +169,9 @@ Schema 演进规则:
| aelfscan-skill | @aelfscan/agent-skills | 0.2.2 | 61 | AelfScan 浏览器数据检索与分析技能。 |
| awaken-agent-skills | @awaken-finance/agent-kit | 1.2.4 | 11 | Awaken DEX 交易与行情数据技能。 |
| eforest-agent-skills | @eforest-finance/agent-skills | 0.4.3 | 48 | eForest 代币与 NFT 市场操作技能。 |
| portkey-ca-agent-skills | @portkey/ca-agent-skills | 2.0.0 | 28 | Portkey CA 钱包注册、认证、Guardian 与转账技能。 |
| portkey-eoa-agent-skills | @portkey/eoa-agent-skills | 1.2.4 | 21 | Portkey EOA 钱包与资产操作技能。 |
| tomorrowdao-agent-skills | @tomorrowdao/agent-skills | 0.1.4 | 41 | TomorrowDAO 治理、BP 与资源操作技能。 |
| portkey-ca-agent-skills | @portkey/ca-agent-skills | 2.3.0 | 32 | Portkey CA 钱包注册、认证、Guardian 与转账技能。 |
| portkey-eoa-agent-skills | @portkey/eoa-agent-skills | 1.2.6 | 21 | Portkey EOA 钱包与资产操作技能。 |
| tomorrowdao-agent-skills | @tomorrowdao/agent-skills | 0.2.0 | 44 | TomorrowDAO 治理、BP 与资源操作技能。 |
<!-- SKILL_TABLE_END -->

## 健康检查
Expand Down
8 changes: 5 additions & 3 deletions docs/AI_E2E_SCENARIOS.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,8 @@ Execution flow:
- `docs/schemas/skill-frontmatter.schema.json`
- `docs/schemas/openclaw.schema.json`
- `docs/schemas/skills-catalog.schema.json`
3. If the skill supports MCP + setup, ensure catalog metadata exposes `setupCommands.ironclaw`, `clientSupport.ironclaw`, `distributionSources`, and `clientInstall`.
3. Ensure catalog metadata exposes `clientSupport.ironclaw`, `distributionSources`, and `clientInstall`, while keeping IronClaw activation bound to `ironclawNative`.
4. If the skill supports native IronClaw WASM, ensure catalog metadata also exposes `artifacts.ironclawWasm` and `ironclawNative`.
4. Add new path to `workspace.json` with `${SKILLS_BASE}` placeholder.
5. If dependency exists, add direct `dependsOn` entries.
6. Run gates in order:
Expand All @@ -85,13 +86,14 @@ bun run security:audit
7. Prepare PR body with the 6 fixed sections from AI contract.

Success criteria:
1. Catalog generation passes with schema `1.3.0`.
1. Catalog generation passes with schema `1.4.0`.
2. No gate failure (`health/readme/security/bootstrap`).
3. PR description contains Goal/Non-goal, key files, contract mapping, validation outputs, risk, rollback.

Additional install-routing rule:
1. GitHub repo URLs are discovery-only.
2. For OpenClaw/IronClaw execution, prefer `clientInstall.*.installCommand` when present.
2. For OpenClaw execution, prefer `clientInstall.openclaw.installCommand` when present.
3. For IronClaw execution, use `ironclawNative` only; `clientInstall.ironclaw` is reserved compatibility metadata and must not be executed.

## Common Recovery Template

Expand Down
8 changes: 5 additions & 3 deletions docs/AI_E2E_SCENARIOS.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,8 @@
- `docs/schemas/skill-frontmatter.schema.json`
- `docs/schemas/openclaw.schema.json`
- `docs/schemas/skills-catalog.schema.json`
3. 若 skill 支持 MCP + setup,确保 catalog 输出 `setupCommands.ironclaw`、`clientSupport.ironclaw`、`distributionSources` 与 `clientInstall`。
3. 确保 catalog 输出 `clientSupport.ironclaw`、`distributionSources` 与 `clientInstall`,并把 IronClaw activation 固定绑定到 `ironclawNative`。
4. 若 skill 支持 IronClaw native WASM,还要确保 catalog 输出 `artifacts.ironclawWasm` 与 `ironclawNative`。
4. 在 `workspace.json` 增加新路径,使用 `${SKILLS_BASE}` 占位。
5. 如存在依赖,补充直接依赖 `dependsOn`。
6. 按顺序执行门禁:
Expand All @@ -85,13 +86,14 @@ bun run security:audit
7. 按契约固定 6 段格式整理 PR 描述。

成功标准:
1. catalog 成功生成且 schema 为 `1.3.0`。
1. catalog 成功生成且 schema 为 `1.4.0`。
2. `health/readme/security/bootstrap` 门禁全部通过。
3. PR 描述包含 Goal/Non-goal、关键文件、契约映射、验证输出、风险与回滚。

补充安装规则:
1. GitHub repo URL 只用于 discovery。
2. OpenClaw/IronClaw 执行时,优先读取 `clientInstall.*.installCommand`。
2. OpenClaw 执行时,优先读取 `clientInstall.openclaw.installCommand`。
3. IronClaw 执行时,只能走 `ironclawNative`;`clientInstall.ironclaw` 仅是兼容元数据,不能执行。

## 常见错误恢复模板

Expand Down
9 changes: 5 additions & 4 deletions docs/AI_SKILL_CONTRACT.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,14 +55,15 @@ AI output `MUST NOT` stop at high-level suggestions without concrete files and c
- `MUST` provide MCP support: `src/mcp/server.ts` or `scripts.mcp`.
- If OpenClaw native is declared, `MUST` include `openclaw.json` and satisfy `docs/schemas/openclaw.schema.json`.
- If native setup is declared, `MUST` include `scripts.setup` or `bin/setup.ts|bin/setup.js`.
- If IronClaw native setup is declared, setup must support `bun run setup ironclaw` (or equivalent `bin/setup.ts ironclaw`).
- If native IronClaw delivery is declared, the repo should expose an `ironclaw-wasm/` sidecar plus GitHub Release artifacts and metadata in `ironclawNative`.
- GitHub repo/tree URLs are discovery sources only; final activation for OpenClaw/IronClaw `MUST` be expressible through catalog metadata.

3. Generated catalog
- `MUST` produce schema version `1.3.0`.
- `MUST` produce schema version `1.4.0`.
- `MUST` satisfy `docs/schemas/skills-catalog.schema.json`.
- `MUST` include `dependsOn` in catalog when declared in workspace.
- `MUST` emit `distributionSources` and `clientInstall` for published/installable skills.
- If native IronClaw delivery exists, `MUST` also emit `artifacts.ironclawWasm` and `ironclawNative`.

4. Documentation synchronization
- If rule/contract/template changed, AI `MUST` update Chinese and English docs together.
Expand Down Expand Up @@ -112,7 +113,7 @@ Optional full install validation:
| Pattern | Cause | Repair |
|---|---|---|
| `[WARN] ... SKILL.md not found, project skipped` | Skill markdown missing | Add `SKILL.md` with valid front matter |
| `declared native-setup but setup command not available` | Missing setup entry | Add `scripts.setup` or `bin/setup.ts/js` |
| `ironclaw support must be native or unsupported in wasm-only rollout` | Invalid IronClaw support mode | Emit `clientSupport.ironclaw` as `native` or `unsupported` only |
| `declared openclaw native but openclaw.json missing` | Missing OpenClaw config | Add `openclaw.json` |
| `[FAIL] Duplicate skill id detected:` | Conflicting skill ids | Fix front matter `name`/workspace mapping |
| `[FAIL] <id>: dependsOn references unknown skill id` | Invalid dependency id | Fix `dependsOn` |
Expand All @@ -122,7 +123,7 @@ Optional full install validation:
## 10. Definition of Done

Done means all conditions below are met:
1. New skill appears in `skills-catalog.json` (schema `1.3.0`).
1. New skill appears in `skills-catalog.json` (schema `1.4.0`).
2. `health:check` has no fail.
3. `readme:check` passes.
4. `security:audit` passes.
Expand Down
9 changes: 5 additions & 4 deletions docs/AI_SKILL_CONTRACT.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,14 +55,15 @@ AI 输出 `MUST NOT` 停留在高层建议而不落地到文件和命令。
- `MUST` 提供 MCP 支持:`src/mcp/server.ts` 或 `scripts.mcp`。
- 声明 OpenClaw native 时,`MUST` 存在 `openclaw.json` 且满足 `docs/schemas/openclaw.schema.json`。
- 声明 native setup 时,`MUST` 存在 `scripts.setup` 或 `bin/setup.ts|bin/setup.js`。
- 若声明 IronClaw native setup,setup 入口必须支持 `bun run setup ironclaw`(或等价 `bin/setup.ts ironclaw`)
- 若声明 IronClaw native 交付,仓库还应提供 `ironclaw-wasm/` sidecar,以及通过 `ironclawNative` 暴露的 GitHub Release artifact 元数据
- GitHub repo/tree URL 仅用于 discovery;OpenClaw/IronClaw 的最终 activation `MUST` 通过 catalog 元数据表达。

3. 生成产物
- `MUST` 输出 schemaVersion `1.3.0` 的 catalog。
- `MUST` 输出 schemaVersion `1.4.0` 的 catalog。
- `MUST` 满足 `docs/schemas/skills-catalog.schema.json`。
- 若 workspace 声明 `dependsOn`,catalog `MUST` 同步输出。
- 对外发布/可安装 skill,`MUST` 额外输出 `distributionSources` 与 `clientInstall`。
- 若存在 IronClaw native 交付,`MUST` 额外输出 `artifacts.ironclawWasm` 与 `ironclawNative`。

4. 文档同步
- 若规则/契约/模板发生变更,AI `MUST` 同步更新中英文文档。
Expand Down Expand Up @@ -112,7 +113,7 @@ bun run security:audit
| 输出模式 | 原因 | 修复 |
|---|---|---|
| `[WARN] ... SKILL.md not found, project skipped` | skill 缺少 markdown | 补齐 `SKILL.md` 与 front matter |
| `declared native-setup but setup command not available` | 缺 setup 入口 | 增加 `scripts.setup` 或 `bin/setup.ts/js` |
| `ironclaw support must be native or unsupported in wasm-only rollout` | IronClaw 支持级别非法 | 仅输出 `clientSupport.ironclaw = native|unsupported` |
| `declared openclaw native but openclaw.json missing` | 缺 OpenClaw 配置 | 补齐 `openclaw.json` |
| `[FAIL] Duplicate skill id detected:` | skill id 冲突 | 修正 front matter `name`/workspace 映射 |
| `[FAIL] <id>: dependsOn references unknown skill id` | 依赖 id 无效 | 修正 `dependsOn` |
Expand All @@ -122,7 +123,7 @@ bun run security:audit
## 10. 完成定义(Definition of Done)

满足以下条件才算完成:
1. 新 skill 出现在 `skills-catalog.json`(schema `1.3.0`)。
1. 新 skill 出现在 `skills-catalog.json`(schema `1.4.0`)。
2. `health:check` 无 fail。
3. `readme:check` 通过。
4. `security:audit` 通过。
Expand Down
Loading
Loading