中文公文写作
一个面向 financial-authority 场景的 Agent 技能。原始说明:用于起草、改写和复核中文公文及正式工作材料;当用户明确要求中文通知、请示、报告、说明、方案、申请、函、复函、批复、意见、决定、公告、公示、通报、会议纪要、工作要点、工作总结、调研报告、可研报告、实施方案、建设方案、审查材料、AI 算力服务可研...
一个面向 financial-authority 场景的 Agent 技能。原始说明:KinemaClaw Skill development and publishing specification. Defines the standard process for skill development, version management, and publishing. All skills...
name: kinema-skill-making-pipeline
displayName: "Kinema's Skill Making Pipeline"
version: 1.6.0
description: |
KinemaClaw Skill development and publishing specification. Defines the standard process for skill development, version management, and publishing. All skills built in KinemaClaw must follow this specification.
Trigger: Creating new skills, publishing skills, modifying existing skills.
本规范定义了 KinemaClaw ecosystem 中 skill 的开发、版本管理、发布的标准化流程。
首次使用此 skill 前,必须先读取 ONBOARDING.md 完成环境配置。
projects/<skill-name>/
├── SKILL.md # Required: skill definition
├── scripts/ # Optional: automation scripts
├── references/ # Optional: reference materials
└── other project files
# Good | 好
git commit -m "Add install command to searxng-search CLI"
# Bad | 不好
git commit -m "update"
git commit -m "fix stuff"
发布前先判断类型 | Determine release type first:
| 类型 | 额外动作 |
|------|---------|
| 全新 skill 首发(marketplace 索引中尚无该 skill) | 走下方常规流程 + 更新 marketplace 索引 → 读取 references/marketplace-publishing.md |
| 已有 skill 版本更新 | 仅走下方常规流程,不动 marketplace 索引 |
判断方法:在 marketplace 的
.claude-plugin/marketplace.jsonplugins数组中检索本 skill 的name。不存在 = 首发,存在 = 版本更新。
cd projects/<skill-name>
# 1. Ensure all changes are committed | 确保所有修改已 commit
git status
# 2. Create version tag (Semantic Versioning) | 打版本 tag (语义化版本)
git tag -a v1.2.0 -m "Release v1.2.0: Add onboarding"
# 3. Push tag to GitHub | 推送 tag 到 GitHub
git push origin v1.2.0
# 4. Create release on GitHub | 在 GitHub 仓库发布
# Settings → Releases → Create new release
# 5. Publish to ClawHub | 推送到 ClawHub
clawhub publish . --slug <skill-name> --name "<displayName>" --version 1.2.0 --changelog "description of changes"
# 6. (仅全新 skill 首发) 更新 marketplace 索引 | (new skill only) update marketplace index
# → 读取 references/marketplace-publishing.md
Fallback: 如果
clawhub publish返回 502 错误,可通过 Node.js 直接调用 ClawHub API 发布。详见 references/clawhub-api-fallback.md。
ClawHub 发版要求:
--name 必须使用 SKILL.md 中的 displayName 值--version 必须与 Git tag 版本号一致--changelog 必须包含本次变更说明完成发版后,必须确保以下四个位置的版本一致:
| Location | Path/URL | Action |
|----------|----------|--------|
| projects 仓库 | ~/.openclaw/workspace/projects/<skill-name>/ | Git tag + SKILL.md version |
| 本地 skills | ~/.openclaw/workspace/skills/<skill-name>/ | clawhub update 或手动同步 |
| GitHub Release | https://github.com/<org>/<repo>/releases | gh release create |
| ClawHub | https://clawhub.ai | clawhub publish |
发版后自动同步本地 skills:
# 发版完成后,更新本地安装的 skill
clawhub update <skill-name>
# 或手动同步
cp projects/<skill-name>/SKILL.md skills/<skill-name>/SKILL.md
cp -r projects/<skill-name>/scripts skills/<skill-name>/scripts/
完整发版检查清单:
git push origin master --tags)gh release create vX.Y.Z)clawhub publish 或 API fallback)clawhub update <skill-name> 或手动同步)Follow Semantic Versioning: | 遵循语义化版本 (Semantic Versioning):
v1.0.0 → First release | 首次发布
v1.1.0 → New features | 新功能
v1.1.1 → Bug fixes | bug 修复
v2.0.0 → Breaking changes | 重大变更
Each skill must include: | 每个 skill 必须包含:
Must include: | 包含:
作者声明规范:
SKILL.md 正文开头(标题之后)必须声明作者信息:
# Skill Name
- **Author**: [AuthorName](https://github.com/authorname)
- **Organization**: [OrgName](https://github.com/orgname)
- **GitHub**: https://github.com/orgname/skill-name
| 字段 | 说明 |
|------|------|
| Author | 作者 GitHub 个人主页链接 |
| Organization | 所属组织 GitHub 主页链接 |
| GitHub | Skill 源码仓库链接 |
displayName 格式规范:
Name (Feature Description)\ONBOARDING.md 是必选文件。 SKILL.md 不包含安装/配置细节,仅引用 ONBOARDING.md。
SKILL.md 文件开头(# 标题之后、Environment Variables 之前)必须包含以下引导块:
## ⚠️ Before First Use | 首次使用必读
**首次使用此 skill 前,必须先读取 [ONBOARDING.md](ONBOARDING.md) 完成环境配置。**
- **首次配置** → 读取 ONBOARDING.md 完成全部步骤
- **环境不可用**(命令不存在、依赖缺失、连接失败)→ 读取 ONBOARDING.md Troubleshooting 排查修复
- **配置完成后** → 直接使用下方 Run Commands
Agent 读取 SKILL.md 时会看到此块,根据场景决定是否继续读取 ONBOARDING.md。
ONBOARDING.md 是给 AI Agent 执行的引导文档,必须按以下结构编写:
# <Skill Name> Onboarding
> 本文档指导 AI Agent 完成首次环境配置。按顺序执行,遇到问题时参考 Troubleshooting。
## Prerequisites | 前置条件
(列出运行此 skill 所需的系统和软件条件)
## Step 1: <步骤名称>
### 检测
(检测命令 + 期望输出,agent 据此判断是否需要执行本步骤)
### 安装
(多种降级方案,按优先级排列,agent 逐条尝试)
### 验证
(验证命令 + 期望输出,确认本步骤完成)
## Step 2: <步骤名称>
...
## Step N: <验证连接或最终检查>
## Troubleshooting | 故障排除
(按错误信息分类的排查表,每行包含:错误 → 原因 → 解决方案)
编写规则:
| 规则 | 说明 |
|------|------|
| 按顺序执行 | Steps 之间有依赖关系,不可跳步 |
| 每步可独立验证 | 每个 Step 必须有验证命令 + 期望输出 |
| 降级策略 | 每步提供多种方案(至少 2 种),适配不同环境 |
| 不硬编码路径 | 用 <skill_dir> 等占位符,agent 运行时替换 |
| 需要用户输入时明确标注 | 如"必须询问用户" "用户提供",不猜测 |
| Troubleshooting 覆盖常见错误 | 列出所有已知失败场景和解决方案 |
对于安装配置较复杂的 skill,可提供 scripts/setup.reference.sh 作为参考范式。
注意:
reference,明确标识为参考文件而非可执行脚本# scripts/setup.reference.sh - SETUP REFERENCE (DO NOT EXECUTE DIRECTLY)
# Agent should read this file and adapt commands to current environment.
# Step 1: Check Python
python3 --version
# Step 2: Install dependencies (try in order)
uv pip install --system requests 2>/dev/null || \
pip3 install requests 2>/dev/null || \
sudo pip3 install --break-system-packages requests
# Step 3: Create symlink
sudo ln -sf <skill_dir>/scripts/tool.py /usr/local/bin/tool
# Step 4: Verify
tool --help
| 场景 | Agent 行为 |
|------|-----------|
| 首次使用 | 读取 ONBOARDING.md,按 Step 1-N 顺序执行 |
| 环境不可用 | 读取 ONBOARDING.md Troubleshooting,按错误信息匹配解决方案 |
| 依赖缺失 | 跳转到对应 Step 重新执行安装 |
| 版本升级后 | 重新执行 ONBOARDING 全流程(新版本可能引入新依赖) |
Skills must NOT contain: | skill 中禁止包含:
<skill-name>/ # Git repository | Git 仓库
├── SKILL.md # Required: skill definition | 必需
├── ONBOARDING.md # Required: onboarding guide | 必需(见 Onboarding 章节)
├── README.md # Recommended: project readme | 推荐
├── LICENSE # Recommended: license | 推荐
├── scripts/ # Optional: scripts | 可选
│ └── setup.reference.sh # Optional: setup reference | 可选(见 Onboarding 章节)
└── references/ # Optional: reference materials | 可选(低频/详细内容外置)
#!/bin/bash
# skill-publish.sh - Publish skill to GitHub + ClawHub
SKILL_NAME=$1
VERSION=$2
if [ -z "$SKILL_NAME" ] || [ -z "$VERSION" ]; then
echo "Usage: $0 <skill-name> <version>"
exit 1
fi
cd projects/$SKILL_NAME
# Check for uncommitted changes | 检查是否有未提交的修改
if ! git diff --quiet; then
echo "Error: Commit all changes first | 先提交所有修改"
exit 1
fi
# Create tag | 打 tag
git tag -a v$VERSION -m "Release v$VERSION"
# Push | 推送
git push origin master
git push origin v$VERSION
# Publish to ClawHub | 发布到 ClawHub
clawhub publish . --slug $SKILL_NAME --version $VERSION
clawhub publish 返回 502 时的 API 备用发布脚本