원클릭으로
metabot-post-skill
将本地技能(SKILL.md + 文件)以 metabot-skill 协议打包发布到链上的技能。当用户说"发布技能"、"上传技能"、"分享技能到社区"、"把这个技能发到链上"时调用此技能。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
将本地技能(SKILL.md + 文件)以 metabot-skill 协议打包发布到链上的技能。当用户说"发布技能"、"上传技能"、"分享技能到社区"、"把这个技能发到链上"时调用此技能。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
构建与维护本地多项目 LLM Wiki(RAG-first)。支持 skill-local registry.json 管理多个 wiki、raw 文档导入、增量 ingest/index、带引用 query、静态 wiki 站点构建,以及 ZIP-first 发布流程(bundle_zip -> publish_zip -> publish_snapshot)。
问答式创建一对一的本地 Wiki 技能。Use when the user wants to turn a specific raw documents directory into a dedicated skill with its own name, description, absorb/index/query, HTML wiki build, and ZIP-first publish workflow, or when updating a dedicated wiki skill after the source docs change.
MetaBot 专属的 MetaApp 开发与交付套件。基于 IDFramework (No-Build, MVC) 架构,支持从零构建链上前端应用、编写业务指令 (Commands)、组件开发 (Web Components) 以及最终的打包交付 (Zip)。
通过问答引导用户把本地 MetaApp 运行时目录/ZIP 与源码目录/ZIP 按 /protocols/metaapp 协议发布到链上。当用户说“发布metaapp”“上传metaapp”“我有一个app要分享”“把应用发到链上”等意图时调用此技能。
MetaBot 的全能链上协议编织者 (Omni-Caster)。当用户需要执行 MetaID 生态的各种交互(点赞、评论、加群、发长文等),或者表达需要数据上链时,且没有其他专用技能时,统一调用此通用技能。
Real-time technology news search and aggregation from 75 international and Chinese media sources across 9 core technical domains. Intelligent keyword-based routing with domain aliases searches only relevant sources. Automatically adapts to network environment - seamlessly switches between global sources (75) and China-only sources (18) based on network accessibility. Use when user requests to search for tech news by keyword. Trigger phrases include "search for [keyword] tech news", "find news about [topic]", "latest news on [subject]", or Chinese equivalents like "搜索 [关键词] 科技新闻". Provides multi-source heat analysis, automatic EN↔CN translation, and clean Markdown presentation.
| name | metabot-post-skill |
| description | 将本地技能(SKILL.md + 文件)以 metabot-skill 协议打包发布到链上的技能。当用户说"发布技能"、"上传技能"、"分享技能到社区"、"把这个技能发到链上"时调用此技能。 |
| official | true |
将本地技能目录打包为 ZIP 上传至 MetaWeb /file,再以 metabot-skill 协议(/protocols/metabot-skill)发布到链上,供社区技能市场展示与其他用户下载安装。
当用户表达以下意图时调用:
按以下步骤引导用户完成发布:
询问用户:「请提供你的技能目录路径,或一个已打包的 ZIP 文件。」
收到路径后检测:
如果是目录:检查根目录下是否有 SKILL.md。若没有,提示用户「该目录下没有 SKILL.md,可能不是合法的技能包,是否继续?」。
然后询问用户是否需要压缩:「是否帮你把该目录压缩为 ZIP?」若用户确认,执行:
cd "$(dirname "<skill-dir>")" && zip -r "/tmp/metabot-skill-<name>.zip" "$(basename "<skill-dir>")" -x "*.DS_Store" "__MACOSX/*"
建议输出路径 /tmp/metabot-skill-<name>.zip。
如果是 ZIP 文件:检查文件大小。读取文件大小:
stat -f%z "<zip-path>" 2>/dev/null || wc -c < "<zip-path>" | tr -d ' '
若超过 4MB(4194304 byte),提示「技能包过大(X MB),请精简至 4MB 以内后重试。」并停止。
如果是其他格式或不存在的路径:提示用户当前路径无效,请提供技能目录或 ZIP 文件路径。
读取技能目录下的 SKILL.md frontmatter 或 ZIP 内的 SKILL.md(若方便),提取 name、description、version 作为后续建议值。如果读不到就用目录名作为 name 的建议值。
一次性询问用户以下字段,同时给出建议值:
| 字段 | 必填 | 建议值 |
|---|---|---|
| name | 是 | 从 SKILL.md frontmatter 的 name 字段,或目录名 |
| description | 否 | 从 SKILL.md frontmatter 的 description 字段 |
| version | 是 | 从 SKILL.md frontmatter 的 version 字段,或 1.0.0 |
呈现方式示例:「根据你的技能文件,建议:name: xxx, description: xxx, version: 1.0.1。请确认或修改后告诉我。」
将 metadata 组装为 /protocols/metabot-skill 的 JSON 展示给用户确认:
{
"name": "metabot-example",
"description": "一个示例技能",
"version": "1.0.0",
"skill-file": "metafile://<zip-pinid>"
}
同时告知用户即将执行的操作:「我将帮你上传 ZIP 并发布到链上,确认吗?」
用户确认后,调用脚本。二合一模式(推荐):上传 + 发布一起做
node "$SKILLS_ROOT/metabot-post-skill/scripts/index.js" \
--request-file /tmp/metabot-post-skill-request.json
Request 文件格式(/tmp/metabot-post-skill-request.json):
{
"name": "metabot-example",
"description": "一个示例技能",
"version": "1.0.0",
"zip": "/tmp/metabot-skill-example.zip"
}
脚本会自动:先上传 ZIP 到 /file → 获得 metafile://<pinId> → 再发布 /protocols/metabot-skill pin。
分步模式(当 ZIP 已提前上传时):
node "$SKILLS_ROOT/metabot-post-skill/scripts/index.js" \
--payload '{"name":"metabot-example","description":"示例技能","version":"1.0.0","skillFileUri":"metafile://<pinid>"}'
# 推荐:通过 request 文件,zip 字段触发自动上传
node "$SKILLS_ROOT/metabot-post-skill/scripts/index.js" \
--request-file <request.json>
# 直接传 payload + zip
node "$SKILLS_ROOT/metabot-post-skill/scripts/index.js" \
--payload '<JSON>' --zip <zip-path>
# 只发布(ZIP 已提前上传好)
node "$SKILLS_ROOT/metabot-post-skill/scripts/index.js" \
--payload '<JSON>'
与 /protocols/metabot-skill 协议一致:
| 字段 | 必填 | 说明 |
|---|---|---|
| name | 是 | 技能标识 |
| description | 否 | 简短描述 |
| version | 是 | 语义版本号,如 1.0.0 |
| skill-file | 是 | metafile://<pinid> URI,指向已上传的 ZIP;若通过 --zip 或 request 的 zip 字段提供本地路径,脚本会自动上传并填充 |
| zip (仅 request) | 否 | 本地 ZIP 文件路径,脚本会先上传该文件再发布 |
{
"name": "metabot-example",
"description": "一个示例技能",
"version": "1.0.0",
"zip": "/tmp/metabot-skill-example.zip"
}
ZIP 已提前上传时可不传 zip,改为在 payload 中包含 skillFileUri 或 skill-file:
{
"name": "metabot-example",
"description": "一个示例技能",
"version": "1.0.0",
"skillFileUri": "metafile://<pinid>"
}
成功时 stdout 输出一行 JSON:
{
"success": true,
"pinId": "<pinId>",
"txid": "<txid>",
"skillFileUri": "metafile://<zip-pinid>",
"totalCost": 1234
}
退出码 0 表示成功。
SKILL.md。没有就提醒用户可能不是合法技能包。$SKILLS_ROOT/metabot-post-skill/scripts/index.js。IDBOTS_METABOT_ID 环境变量自动获取当前 MetaBot 身份,无需询问用户选择发布者。--payload 的 JSON 字符串若含双引号等特殊字符需正确转义;推荐通过 --request-file 传参避免转义问题。