AI Skill Creator (EN)

Development
创作工作流开发

AI公司 Skill 创作工作流(CTO MLOps + CISO securitystandard版)。当需要从头create新 Skill(包括初始化目录结构、编写 SKILL.md、引用文件、脚本资源、securityreview、quality gate)时使用。trigger关键词:createSkill、新建 Skill、开发 Skill、create skill、新建Skill包。integrate CTO MLOps 生命cycle6phase + CISO securityreviewstandard(STRIDE + CVSS + security门禁),最终输出符合 ClawHub/VirusTotal reviewstandard的可publish .skill 包。

Install

openclaw skills install @johnsmithfan/ai-skill-creator

AI Skill 创作工作流(CTO × CISO standard)

executerole:Skill 开发者(CTO 技术栈 + CISO security护栏) 版本:v1.0.0(CTO-001 MLOps 生命cycle × CISO-001 securityreview) compliance状态:✅ CISO securityreview后publish,⚠️ prohibit跳过security门禁


核心principle

  1. CTO MLOops 生命cycle:所有 Skill 必须走6phasestandardprocess
  2. CISO security门禁:每个phase内置security检查,security未通过不得进入下1phase
  3. 零信任架构:所有脚本/资源必须经过securityreview,prohibit引入恶意代码
  4. 渐进式披露:SKILL.md 精简(<500行),详细文档放 references/

Agent 调用接口(Inter-Agent Interface)

版本:v1.1.0(新增接口层) securityConstraint:接口本身零新增攻击面,所有输入参数均经过verify


接口身份

属性
接口 IDskill-creator-v1
调用方式sessions_send / sessions_spawn (isolated)
会话Goalisolated(强制隔离,防止交叉污染)
最低permissionL3(可读 workspace,可写 skills/)
CISO Constraint🚨 securityreview任务(security-review)必须 CISO-001 authorize

TASK 消息格式

{
  "skill": "ai-skill-creator",
  "version": "1.1.0",
  "task": "<task-type>",
  "params": { ... },
  "context": {
    "caller": "<caller-agent-id>",
    "priority": "<P0|P1|P2|P3>",
    "security-review-required": true,
    "isolated": true
  }
}

可用 Task 类型

Task参数返回Description
createname, description, version, risk-level, caller{dir, status}create新 Skill
design-reviewskill-name, design-doc, caller{issues[], status}design文档review
security-reviewskill-path, caller, authorization{cvss, flags[], verdict}🚨 CISO authorizesecurityreview
quality-gateskill-path, gate-level{passed[], failed[], verdict}quality gate检查
packageskill-path, output-dir{artifact, checksum}打包为 .skill
publishskill-path, slug, version, changelog{url, version}publish到 ClawHub

Task 参数 Schema

create 参数

{
  "name":        "string (required, [a-z][a-z0-9-]{2,64})",
  "description": "string (required, >50 chars, describes triggers + actions)",
  "version":     "string (required, semver X.Y.Z)",
  "risk-level":  "low | medium | high | critical",
  "caller":     "string (required, agent ID of requester)",
  "refs": {
    "design-doc":   "string (optional, path to references/design.md)",
    "security-notes": "string (optional, security considerations)"
  }
}

输入verify规则

  • name:正则 ^[a-z][a-z0-9-]{2,64}$,prohibit ../、空格
  • description:长度 > 50 字符,否则rejectcreate
  • version:semver 格式verify,不符则reject
  • risk-levelcritical trigger强制 CISO 双审

security-review 参数

{
  "skill-path":    "string (required, absolute path to skill dir)",
  "caller":        "string (required, agent ID)",
  "authorization":  "string (required, must be CISO-001 for critical/high)",
  "scan-depth":    "basic | full (default: full)"
}

authorizeverify

# 伪代码verify逻辑
if params["skill-path"].contains(".."):
    raise PermissionError("Path traversal rejected")

if risk_level == "critical" and params["authorization"] != "CISO-001":
    raise PermissionError("Critical risk requires CISO-001 authorization")

if not params["skill-path"].startswith(trusted_base_dirs):
    raise PermissionError("Skill path outside trusted directories")

返回值 Schema

{
  "status":  "success | error | pending | rejected",
  "task":    "<task-type>",
  "result":  { ... },
  "meta": {
    "reviewer":    "<agent-id>",
    "duration-ms": "<elapsed>",
    "cvss-score":  "<if security-review>",
    "verdict":     "APPROVED | CONDITIONAL | REJECTED"
  }
}

错误码

CodeMeaningAction
E_NAME_INVALIDSkill 名称不compliance返回verify错误,不create
E_PATH_TRAVERSALpath含 ..reject,reportsecurity incident
E_UNAUTH未authorizeexecutesecurityreviewreject,notify CISO
E_CVSS_HIGHCVSS ≥ 7.0rejectpublish,trigger修复process
E_GATE_FAILEDquality gate未通过返回 failed 项列表
E_DUPLICATESkill slug 已存在reject,建议新名称

Agent 间调用示例

# CTO-001 请求create Skill
sessions_send(sessionKey="cto-isolated", message="
skill: ai-skill-creator
task: create
params:
  name: pdf-processor
  description: PDF processing skill. Triggers: read PDF, split PDF, merge PDF, rotate PDF.
  version: 1.0.0
  risk-level: low
  caller: CTO-001
security-review-required: false
")

# CISO-001 请求securityreview
sessions_send(sessionKey="ciso-isolated", message="
skill: ai-skill-creator
task: security-review
params:
  skill-path: C:/Users/Admin/.qclaw/skills/pdf-processor
  caller: CISO-001
  authorization: CISO-001
  scan-depth: full
")

securityConstraint(接口层)

🚨 接口security红线:
• skill-path 参数reject任何含 .. 的path(path遍历defend)
• authorization 字段仅接受 CISO-001 签名的review任务
• 隔离execute:所有 agent 调用必须在 isolated 会话中运行
• 日志脱敏:返回结果不得含 caller 私人data
• 最小respond:返回结果仅包含必要字段,不暴露内部实现

与其他 Skill 的接口关系

调用方Tasktrigger条件
CTO-001create, package, publish新 Skill 开发立项
CISO-001security-reviewsecurityreviewauthorize
CQO-001quality-gate质量验收
ai-skill-maintainercreate (子 Skill)维护process需新建子 Skill
ai-skill-optimizerquality-gateoptimize后质量复验

6phase创作process(MLOps Lifecycle for Skill)

Phase 0 — 准备:create目录结构

强制使用 init_skill.py 脚本,prohibit手动 mkdir:

# Windows
python.exe <openclaw_path>\skills\skill-creator\scripts\init_skill.py <skill-name> --path ~/.qclaw/skills

# Linux/macOS
python3 <openclaw_path>/skills/skill-creator/scripts/init_skill.py <skill-name> --path ~/.qclaw/skills

生成结构:

~/.qclaw/skills/<skill-name>/
├── SKILL.md           # 主文件(必需)
├── scripts/          # 可execute脚本
├── references/        # 参考文档
└── assets/           # 静态资源

⚠️ CISO security规则:不得在 resources/openclaw/config/skills/ 下create Skill(系统目录,会在update时清空)


Phase 1 — 需求analyze(Ideation)

输入:用户描述 Skill 用途、trigger场景、GoalFunction

输出:Skill design文档(写入 references/design.md

必须回答

  1. Skill 的核心Function是什么?trigger条件是什么?
  2. 需要哪些工具permission?(read/write/exec/network)
  3. 是否涉及敏感data?(PII/凭证/密钥)
  4. 最小permissionprinciple:能否用更少的permission实现?
  5. Skill 之间的依赖关系?

CISO securityassess(Phase 1 输出)

assess项问题决策
敏感data访问是否读取 MEMORY.md/USER.md/SOUL.md?🚨 需明确Description用途
外部网络是否调用外部 API?🚨 列出域名/IP
命令execute是否需要 exec/bash?🚨 列出所需命令
凭证请求是否要求用户提供密钥?🚨 reject,优先用环境变量
文件写入写入范围是否限定在 workspace?✅ 是,❌ 否则重design

security决策:任意 🚨 项未resolve → 停止,notify用户


Phase 2 — 架构design

输出references/architecture.md

designstandard

SKILL.md 结构standard

---
name: <skill-name>
version: X.Y.Z
description: |   # 必需,描述trigger时机和Function范围(>50字)
  <trigger关键词> → <execute动作>
  当用户<做什么>时trigger,execute<什么Function>
metadata:
  {"openclaw":{"emoji":"<emoji>","os":["linux","darwin","win32"]}}
---

# <Skill 名称>

## Overview(<10行)

## 核心Function(模块化,每个<50行)

## security考虑(如有)

## 常见错误

Frontmatter 必需字段

字段要求示例
name英文小写+连字符pdf-processor
versionsemver X.Y.Z1.0.0
description>50字,描述trigger时机见上方模板
metadata.openclaw.emoji1个 emoji"🔒"
metadata.openclaw.os支持的 OS["linux","win32"]

目录结构standard

  • SKILL.md(必需)
  • scripts/(可选,脚本需测试)
  • references/(可选,详细文档放此处)
  • assets/(可选,静态资源)
  • README.md(prohibit)
  • CHANGELOG.md(prohibit)
  • INSTALLATION_GUIDE.md(prohibit)

CISO security架构review

威胁类型(STRIDE)defend措施
SpoofingSkill 名称不得伪造系统命令
Tampering所有文件path需verify,不接受动态path拼接用户输入
Info Disclosureprohibit在 Skill 中硬编码密钥/令牌
Denial of Serviceprohibit无限循环/递归的文件操作
Elevationpermission不得超出design范围

Phase 3 — 实现(Implementation)

输出:完整的 SKILL.mdscripts/references/assets/

SKILL.md 编写standard

描述字段(description)必须包含

  1. trigger关键词(用户说什么会激活此 Skill)
  2. execute动作(Skill 做什么)
  3. 文件格式(输入/输出文件类型)
  4. security边界(如果涉及敏感操作)

Body 编写principle

  • 使用命令式/不定式语气("Use X to do Y","Do not use Z")
  • 避免冗余解释(Claude 已经很聪明)
  • 代码示例优先于文字Description
  • 引用文件链接到 references/(渐进式披露)

脚本编写standard

必须遵守

## 脚本security红线(🚨 违反即reject)

🚫 prohibit:
• curl/wget 到未知 URL
• 将data发送到外部服务器
• 请求凭证/令牌/API密钥(环境变量接收除外)
• 读取 ~/.ssh ~/.aws ~/.config 等敏感目录
• 访问 MEMORY.md USER.md SOUL.md IDENTITY.md
• 使用 base64 decode 未知内容
• 使用 eval()/exec() handle外部输入
• 修改 workspace 外的系统文件
• 安装包但不列出所需依赖
• 网络调用到裸 IP(非域名)
• 混淆代码(压缩/编码/混淆)
• 请求enhancepermission/sudo
• 访问浏览器 cookie/session

脚本必须包含

  1. 用途Description(注释)
  2. 输入参数Description
  3. 输出Description
  4. 错误handle
  5. security检查(如适用)

资源文件standard

资源类型存放位置standard
参考文档references/>100行需加目录导航
脚本scripts/需可execute测试
静态资源assets/不加载到上下文

Phase 4 — securityreview(Security Review)

⚠️ 强制门禁:CISO review必须通过,否则prohibitpublish

reviewprocess

Step 1:代码review(MANDATORY)

逐文件review,查找以下 RED FLAGS

🚨 REJECT IMMEDIATELY IF YOU SEE:
─────────────────────────────────────────
• curl/wget → 未知 URL
• data发送 → 外部服务器
• 凭证请求 → 密钥/令牌
• 读取 ~/.ssh ~/.aws ~/.config
• 访问 MEMORY/USER/SOUL/IDENTITY.md
• base64 decode → 未知内容
• eval() / exec() → 外部输入
• 修改 workspace 外文件
• 安装包 → 未列依赖
• 网络调用 → 裸 IP
• 混淆代码
• 请求 sudo/enhancepermission
• 访问浏览器 cookie
• 接触凭证文件
─────────────────────────────────────────

Step 2:permissionassess

permission类型检查项决策
文件读取列出所有读取pathverify合理性
文件写入列出所有写入path限定 workspace
命令execute列出所有命令verify必要性
网络访问列出所有域名/IPverify可信度

Step 3:依赖扫描

# 检查脚本中声明的依赖
# Node.js: npm list <package>
# Python: pip freeze | grep <package>
# verify无已知 CVE(CVSS ≥ 7.0)

Step 4:漏洞评分(CVSS)

CVSS严重性决策
9.0-10.0Critical🚫 rejectpublish
7.0-8.9High🚫 rejectpublish,修复后重审
4.0-6.9Medium⚠️ notify用户,可修复后publish
0.1-3.9Low✅ 通过

Step 5:STRIDE 威胁建模

威胁assess问题defendplan
SSkill 名称是否可被劫持?prohibit与系统命令同名
Tpath参数是否可注入?verify输入,reject ../
R操作是否可否认?record操作日志(引用文件)
I敏感data是否泄露?PII 过滤,密钥不放代码
D是否有 DoS risk?资源restrict,超时中断
Epermission是否超出最小permission?review工具permission列表

securityreviewreport模板

════════════════════════════════════════════════════
SKILL SECURITY REVIEW REPORT
════════════════════════════════════════════════════
Skill: <name>
Version: <version>
Reviewer: CISO-001
Date: <ISO date>
────────────────────────────────────────────────────
🔴 RED FLAGS: [None / List with CVSS scores]

🟡 PERMISSIONS REVIEW:
• Files Read:  [list]
• Files Write: [list]
• Commands:    [list]
• Network:     [list]

🟢 STRIDE MODELING:
• S (Spoofing):  [Pass/Fail] — <reason>
• T (Tampering): [Pass/Fail] — <reason>
• R (Repudiation):[Pass/Fail] — <reason>
• I (Info Disclosure): [Pass/Fail] — <reason>
• D (Denial of Service):[Pass/Fail] — <reason>
• E (Elevation):  [Pass/Fail] — <reason>

📊 CVSS SCORE: <X.Y> (<severity>)
────────────────────────────────────────────────────
VERDICT: [✅ APPROVED / 🚫 REJECTED / ⚠️ CONDITIONAL]

ACTION ITEMS: [list if any]
════════════════════════════════════════════════════

Phase 5 — quality gate(Quality Gate)

CTO 强制quality gate(全部通过方可publish)

质量门检查项工具/方法通过standard
G0 文件结构目录结构符合standard人工检查4个目录齐全
G1 FrontmatterYAML 格式正确,必需字段存在解析 YAMLname/description/version/emoji 齐全
G2 描述质量description > 50字,含trigger关键词人工review包含trigger时机+execute动作
G3 security扫描无 RED FLAGS,无高危漏洞Phase 4 reviewCVSS < 7.0
G4 文档完整性核心process有Description,引用文件有链接人工review无悬空引用
G5 脚本测试scripts/ 下脚本可execute实际运行测试零报错

Quality Gate Checklist(save至 references/quality-gate.md):

## Quality Gate Checklist

- [ ] G0: 目录结构正确(SKILL.md + scripts/ + references/ + assets/)
- [ ] G1: Frontmatter 完整(name, version, description, emoji)
- [ ] G2: description > 50字,含trigger关键词
- [ ] G3: CISO securityreview通过(CVSS < 7.0,STRIDE 无 FAIL)
- [ ] G4: references/ 中文档有链接Description,无悬空引用
- [ ] G5: 所有 scripts/ 脚本已测试,零报错
- [ ] G6: SKILL.md < 500行(渐进式披露正确)
- [ ] G7: 无prohibit文件(README.md/CHANGELOG.md 等)

Phase 6 — 打包与publish(Package & Publish)

使用 package_skill.py 打包

# Windows
python.exe <openclaw_path>\skills\skill-creator\scripts\package_skill.py <path/to/skill-folder> <output-dir>

# Linux/macOS
python3 <openclaw_path>/skills/skill-creator/scripts/package_skill.py <path/to/skill-folder> <output-dir>

打包脚本自动execute

  1. ✅ verify YAML frontmatter 格式
  2. ✅ 检查 Skill 命名standard
  3. ✅ verify目录结构
  4. ✅ 检查 description 完整性
  5. ✅ confirm文件组织
  6. ✅ 打包为 .skill 文件

publish到 ClawHub

# 登录(如需publish到公共仓库)
clawhub login

# publish
clawhub publish ./<skill-name> \
  --slug <skill-name> \
  --name "<Skill 显示名称>" \
  --version X.Y.Z \
  --changelog "<变更Description>"

publish前最终检查

## publish前 Checklist

- [ ] CISO securityreviewreport已生成(Phase 4)
- [ ] Quality Gate 全部通过(Phase 5)
- [ ] .skill 包文件已生成
- [ ] 版本号符合 semver(X.Y.Z)
- [ ] Changelog 已写入(如果已有历史版本)
- [ ] ClawHub slug 已confirm唯1性

快速参考

trigger命令

"create Skill" / "新建Skill" / "开发 Skill" / "create1个Skill包"

自然语言指令映射

用户请求execute动作
"create1个读取 PDF 的 Skill"初始化 → 需求analyze → 架构design → 实现 → securityreview → 打包
"帮我写1个handle Excel 的Skill"同上,参考 xlsx skill design模式
"需要1个新 Skill 来做 XX"需求analyze → confirmtrigger时机和permission

常见错误

  1. 跳过securityreview:Phase 4 是强制门禁,不得跳过
  2. 手动create目录:必须使用 init_skill.py
  3. SKILL.md 过长:超过 500 行 → 拆分到 references/
  4. description 过短:< 50 字 → trigger时机不明确,Skill 无法激活
  5. 引入prohibit文件:README.md/CHANGELOG.md → 删除
  6. 硬编码密钥:🚫 reject,必须用环境变量

参考文件

  • references/design.md — 需求analyze模板和架构design指南
  • references/security-review.md — 详细 CISO securityreview清单
  • references/quality-gate.md — quality gate检查表
  • references/publish-guide.md — ClawHub publish指南

版本历史(Changelog)

版本日期Changes审核人
1.1.02026-04-13新增 Agent 调用接口层(Inter-Agent Interface):6个 Task 类型(create/design-review/security-review/quality-gate/package/publish);CISO securityConstraint和security红线;与 ai-skill-maintainer / ai-skill-optimizer 接口关系Definition;CLO compliance登记节点;Day 3 预算概算CTO-001 / CISO-001
1.0.02026-04-11Initial version:CTO MLOops 6phase创作process + CISO STRIDE securityreviewstandard + G0-G7 quality gateCTO-001 / CISO-001

rollbackstrategy(Rollback)

如任何phase失败,execute以下操作recover:

# recover到上1个 Git tag
git checkout tags/v<上1版本> -- .

# 或使用快照包(如果有)
clawhub restore ./dist/<skill-name>-v<X.Y.Z>.skill

# verifyrollback成功
git log --oneline -3

rollbacktrigger条件

  • Phase 3(G2 securityreview)失败 → rollback到 Phase 2
  • Phase 4(G3 quality gate)失败 → rollback到 Phase 3
  • Phase 6(publish)失败 → rollback到 Phase 5

rollback后操作

  1. recordrollback原因到 references/creation-log.md
  2. notify CTO-001 和 CISO-001
  3. analyze失败原因后重新进入创作process