AI Skill Optimizer (EN)
by @johnsmithfan
AI公司 Skill optimize工作流(CTO 性能工程 + CISO securityoptimizestandard版)。当需要对现有 Skill 进行性能optimize、Token 节省、上下文精简、security加固、代码重构、质量enhance时trigger。trigger关键词:optim...
clawhub install ai-skill-optimizer📖 About This Skill
name: ai-skill-optimizer version: 1.1.0 description: | AI公司 Skill optimize工作流(CTO 性能工程 + CISO securityoptimizestandard版)。当需要对现有 Skill 进行性能optimize、Token 节省、上下文精简、security加固、代码重构、质量enhance时trigger。trigger关键词:optimizeSkill、optimize Skill、节省 Token、精简 Skill、重构 Skill、enhance Skill 质量、security加固 Skill。 integrate CTO 性能工程方法论(TTFT/P95 latency/吞吐optimize)+ CISO security加固standard(STRIDE 强化 + 攻击面缩小)。 metadata: {"openclaw":{"emoji":"⚡","os":["linux","darwin","win32"]}}
AI Skill optimize工作流(CTO × CISO standard)
> executerole:Skill optimize者(CTO 性能工程 + CISO security加固) > 版本:v1.0.0(CTO-001 性能optimize × CISO-001 security加固) > compliance状态:✅ optimize前必须做影响analyze,🚨 security加固优先于性能optimize
核心principle
1. security第1:security加固优先于性能optimize,不得以牺牲security换取性能 2. 可量化:optimize必须有明确的metric改善(Token 节省、latency降低等) 3. 无回归:optimize后Function必须与optimize前完全1致 4. 渐进式:每次optimize聚焦1个维度,便于定位问题
Agent 调用接口(Inter-Agent Interface)
> 版本:v1.1.0(新增接口层) > securityConstraint:接口本身零新增攻击面,所有输入参数均经过verify
接口身份
| 属性 | 值 |
|------|-----|
| 接口 ID | skill-optimizer-v1 |
| 调用方式 | sessions_send / sessions_spawn (isolated) |
| 会话Goal | isolated(强制隔离)|
| 最低permission | L3(可读 skills/,可写optimize结果) |
| CISO Constraint | 🚨 security加固任务(security-harden)必须 CISO-001 authorize |
TASK 消息格式
{
"skill": "ai-skill-optimizer",
"version": "1.1.0",
"task": "",
"params": { ... },
"context": {
"caller": "",
"priority": "",
"optimization-dimension": "",
"isolated": true
}
}
可用 Task 类型
| Task | 参数 | 返回 | Description |
|------|------|------|------|
| baseline | skill-name, caller | {tokens, p95-latency, cvss, red-flags} | optimize前baseline测量 |
| token-optimize | skill-name, target-savings, caller | {before, after, savings-pct} | Token optimize |
| performance-optimize | skill-name, target-latency, caller | {before, after, p95-ms} | 性能optimize |
| security-harden | skill-name, authorization, caller | {cvss-before, cvss-after, improvements[]} | 🚨 security加固 |
| quality-improve | skill-name, target-quality, caller | {quality-before, quality-after, changes[]} | 质量enhance |
| full-optimize | skill-name, dimensions[], caller | {all-metrics} | 全维度optimize |
> dimensions[] 可选值:"token" \| "performance" \| "security" \| "quality"(默认全部)
| compare | skill-name | {baseline, current, delta} | optimize前后对比report |
Task 参数 Schema
#### baseline 参数
{
"skill-name": "string (required, skill slug)",
"caller": "string (required, agent ID)"
}
返回示例:
{
"status": "success",
"result": {
"skill-name": "pdf-processor",
"version": "1.0.0",
"tokens": {
"skill-md": 4200,
"references": 1850,
"scripts": 320,
"total": 6370
},
"performance": {
"p95-latency-ms": 850,
"avg-latency-ms": 420
},
"security": {
"cvss-score": 5.3,
"red-flags": 0,
"stride-passes": 6
},
"quality": {
"quality-gate-score": 7,
"gates-passed": 5,
"gates-failed": 2
}
}
}
#### security-harden 参数
{
"skill-name": "string (required)",
"authorization": "string (required, must be CISO-001)",
"hardening-target": "critical | high | medium (default: high)",
"caller": "string (required)"
}
输入verify:
# 伪代码
if params["skill-name"].contains("..") or "/" in params["skill-name"]:
raise ValueError("Invalid skill-name: path traversal detected")
if params["authorization"] != "CISO-001":
raise PermissionError("security-harden requires CISO-001 authorization")
返回值 Schema
{
"status": "success | error | pending | no-improvement-needed",
"task": "",
"result": {
"skill-name": "",
"version-before": "",
"version-after": "",
"improvements": [ ... ],
"metrics": { ... }
},
"meta": {
"reviewer": "",
"duration-ms": "",
"savings": {
"tokens": "",
"latency": "",
"cvss": ""
}
}
}
错误码
| Code | Meaning | Action |
|------|---------|--------|
| E_SKILL_NOT_FOUND | Skill 不存在 | 返回错误 |
| E_NO_IMPROVEMENT | optimize收益 < 5% | 返回当前metric,停止无效optimize |
| E_REGRESSION | optimize导致Function退化 | 自动rollback,report regression |
| E_UNAUTH_HARDEN | 未authorizesecurity加固 | reject,notify CISO |
| E_SECURITY_REGRESSION | 加固后 CVSS 恶化 | reject,triggerrollback |
| E_NO_BASELINE | 无baselinedata | 先execute baseline 再optimize |
Agent 间调用示例
# CTO-001 请求全维度optimize
sessions_send(sessionKey="cto-isolated", message="
skill: ai-skill-optimizer
task: full-optimize
params:
skill-name: pdf-processor
dimensions: [token, performance]
caller: CTO-001
context:
priority: P1
optimization-dimension: full
isolated: true
")CISO-001 请求security加固
sessions_send(sessionKey="ciso-isolated", message="
skill: ai-skill-optimizer
task: security-harden
params:
skill-name: pdf-processor
authorization: CISO-001
hardening-target: critical
caller: CISO-001
")CQO-001 请求质量enhance
sessions_send(sessionKey="cqo-isolated", message="
skill: ai-skill-optimizer
task: quality-improve
params:
skill-name: pdf-processor
target-quality: 9
caller: CQO-001
")CQO-001 请求baseline测量(optimize前)
sessions_send(sessionKey="cqo-isolated", message="
skill: ai-skill-optimizer
task: baseline
params:
skill-name: pdf-processor
caller: CQO-001
")
securityConstraint(接口层)
🚨 接口security红线:
• skill-name 仅接受 [a-z0-9-] 字符,reject .. 和 /(防path遍历注入)
• security-harden 必须 CISO-001 authorize,其他 Agent 无法绕过
• security-regression prohibit:加固后 CVSS 必须 ≤ 加固前
• 隔离execute:所有 agent 调用必须在 isolated 会话中运行
• 最小respond:返回结果仅包含metric差值,不暴露内部代码
• 回归protect:optimize后自动运行回归测试,失败则reject交付
与其他 Skill 的接口关系
| 调用方 | Task | trigger条件 |
|--------|------|---------|
| CTO-001 | full-optimize, token-optimize, performance-optimize | quarterlyoptimize/用户投诉 |
| CISO-001 | security-harden | securityassessdiscoverrisk |
| CQO-001 | baseline, quality-improve, compare | quality assessment/optimizeverify |
| ai-skill-maintainer | security-harden | Patch 后security复验 |
| ai-skill-creator | baseline | 新建 Skill 的初始baseline |
optimize维度
| 维度 | Goal | metric | 优先级 | |------|------|------|--------| | Token optimize | 减少 SKILL.md 上下文占用 | Token 数 ↓ | P1 | | 性能optimize | 降低executelatency | P95 latency ↓ | P2 | | 代码optimize | 提高脚本execute效率 | 吞吐量 ↑ | P2 | | security加固 | 缩小攻击面 | security评分 ↑ | P0(强制)| | 可维护性 | 提高代码质量 | 评分 ↑ | P3 |
> 优先级规则:P0(security)无条件execute,P1(Token)影响成本,P2(性能)影响体验,P3(可维护)长期价值
4步optimizeprocess
Step 1 — baseline测量(Baseline)
输出:optimize前的各项metricbaseline值
#### 1.1 Token analyze
# 统计 SKILL.md Token 数(估算:1 Token ≈ 4 字符)
wc -c SKILL.md # 字节数
grep -c "^" SKILL.md # 行数统计 references/ 总 Token 数
cat references/*.md | wc -c
Token 预算Goal(CTO 建议): | 文件类型 | Goal上限 | Description | |---------|---------|------| | SKILL.md | < 5,000 tokens | 主trigger文件 | | 单个引用文件 | < 2,000 tokens | references/ | | 脚本注释 | < 500 tokens | 精简注释 |
#### 1.2 性能baseline
## 性能baselinerecordSkill:
测试日期:
环境:<测试环境描述>
execute时间
平均latency:ms
P95 latency:ms
P99 latency:ms 资源使用
内存峰值:MB
CPU 使用率:% security基线
RED FLAGS:
CVSS 评分:
攻击面assess:
#### 1.3 security基线
execute CISO securityreview(完整 Phase 4):
Step 2 — optimizeanalyze(Analysis)
#### 2.1 Token optimizeanalyze
| optimizestrategy | 预期节省 | 适用场景 | |---------|---------|---------| | 渐进式披露 | 20-40% | 详细文档 > 100 行 | | 代码外置 | 30-50% | 重复代码块 | | 引用外置 | 40-60% | API 文档/Schema | | 精简描述 | 10-20% | 冗长的 description |
Token optimize检查清单:
- [ ] SKILL.md 是否超过 500 行? → 拆分到 references/
[ ] 是否有重复的代码示例? → 合并/外置
[ ] 是否有冗长的解释? → 精简为要点
[ ] 是否有不必要的示例? → 删除
[ ] Frontmatter 是否过于复杂? → 精简 metadata
#### 2.2 性能optimizeanalyze
| 瓶颈类型 | identify方法 | optimizeplan | |---------|---------|---------| | I/O 瓶颈 | 等待文件/网络 | 批量操作、缓存 | | CPU 瓶颈 | 密集计算 | 算法optimize、并行化 | | 内存瓶颈 | 大文件handle | 流式handle、分块 | | start瓶颈 | 脚本加载慢 | 懒加载、on-demand导入 |
性能optimize检查清单:
- [ ] 脚本是否有不必要的导入? → on-demand导入
[ ] 是否有重复的文件读写? → 批量操作
[ ] 正则表达式是否低效? → 预编译/非贪婪
[ ] 是否有阻塞操作? → 异步化
[ ] 错误handle是否过于复杂? → 简化逻辑
#### 2.3 security加固analyze
攻击面assess矩阵:
| 维度 | optimize前 | optimize后 | 改善 | |------|--------|--------|------| | 文件permission | 宽松 | 严格 | ⬆️ | | 网络调用 | 多 | 少 | ⬆️ | | 依赖数量 | 多 | 少 | ⬆️ | | 硬编码值 | 多 | 少 | ⬆️ | | 错误信息 | 详细 | 泛化 | ⬆️ |
security加固优先级:
| 优先级 | 加固项 | 预期效果 | |--------|--------|---------| | P0 | 移除硬编码密钥 | 消除高危漏洞 | | P0 | 收紧文件permission | 防止越权访问 | | P0 | 减少依赖 | 缩小攻击面 | | P1 | 泛化错误信息 | 防止信息泄露 | | P1 | 输入verify强化 | 防止注入攻击 | | P2 | 添加超时protect | 防止 DoS | | P2 | 日志脱敏 | 防止 PII 泄露 |
Step 3 — implementoptimize(Implementation)
> ⚠️ 重要:在implement任何optimize之前,先在 isolated 会话中测量baseline(Step 1),保留baseline快照。
#### 3.1 Token optimizeimplement
strategy A:渐进式披露重构 → 详见 references/optimization-patterns.md — 模式 A
references/strategy B:代码外置 → 详见 references/optimization-patterns.md — 模式 B
scripts/ 或 references/Token optimize检查清单:
- [ ] SKILL.md 是否超过 500 行? → 拆分到 references/
[ ] 是否有重复的代码示例? → 合并/外置
[ ] 是否有冗长的解释? → 精简为要点
[ ] 是否有不必要的示例? → 删除
[ ] Frontmatter 是否过于复杂? → 精简 metadata
#### 3.2 性能optimizeimplement
strategy A:懒加载 → 详见 references/optimization-patterns.md — 模式 C
strategy B:缓存结果 → 详见 references/optimization-patterns.md — 模式 D
strategy C:批量操作 → 详见 references/optimization-patterns.md — 模式 E
性能optimize检查清单:
- [ ] 脚本是否有不必要的导入? → on-demand导入
[ ] 是否有重复的文件读写? → 批量操作
[ ] 正则表达式是否低效? → 预编译/非贪婪
[ ] 是否有阻塞操作? → 异步化
[ ] 错误handle是否过于复杂? → 简化逻辑
#### 3.3 security加固implement
strategy A:移除硬编码 → 详见 references/optimization-patterns.md — 模式 F
strategy B:输入verify强化 → 详见 references/optimization-patterns.md — 模式 G
^[a-z][a-z0-9-]{2,64}$.. 和 /strategy C:超时protect → 详见 references/optimization-patterns.md — 模式 H
security加固检查清单:
- [ ] 是否有硬编码的密钥或令牌? → 改为环境变量
[ ] path参数是否有遍历检查? → 添加verify
[ ] 错误信息是否泛化? → 移除内部path泄露
[ ] 操作是否有超时restrict? → 添加 timeout
#### 3.4 回归protect(自动)
> 🚨 securityConstraint:任何optimize后若回归测试失败,必须自动rollback,不得交付退化版本。
optimize后若回归测试失败,execute以下step:
1. 自动rollback至 baseline 版本:
git checkout tags/v -- SKILL.md scripts/ references/
2. record regression:将详情写入 references/optimization-log.md
3. notify caller:返回 E_REGRESSION,附 delta metricStep 4 — verify与对比(Verify & Compare)
#### 4.1 optimize后测量
## optimize后metricToken 节省
optimize前: tokens
optimize后: tokens
节省:% ✅ 性能改善
P95 latency:
- optimize前:ms
- optimize后:ms
- 改善:% ✅security加固
CVSS 评分:
- optimize前:
- optimize后:
- 改善:✅
RED FLAGS:
- optimize前:
- optimize后:
#### 4.2 Function回归测试
## 回归测试[ ] 所有原有Function仍然正常工作
[ ] trigger关键词仍然有效
[ ] 错误handle与optimize前1致
[ ] 输出格式与optimize前1致
#### 4.3 securityverify
> ⚠️ security加固后必须重新review
#### 4.4 publish
# 打包
clawhub package ./ --output ./distpublish
clawhub publish ./ \
--slug \
--name "" \
--version X.Y.Z \
--changelog "optimize:Token 节省 X%,P95 latency降低 Y%,security加固"
optimizerecord模板
save至 references/optimization-log.md:
# Skill optimizerecordSkill 信息
名称:
optimize前版本:
optimize后版本:
optimize日期: optimize摘要
Token optimize
optimize前: tokens
optimize后: tokens
节省:% 性能optimize
| metric | optimize前 | optimize后 | 改善 |
|------|--------|--------|------|
| P95 latency | Xms | Yms | Z% |security加固
CVSS 改善: →
主要加固项:
- -
-
详细变更
变更 #1:<标题>
类型:[Token/性能/security/代码]
optimize前:<描述>
optimize后:<描述>
代码:
\\\
\ \\verify结果
| 测试项 | 结果 |
|--------|------|
| 回归测试 | ✅ |
| Token 测量 | ✅ |
| 性能测试 | ✅ |
| securityreview | ✅ |
publish信息
版本:
publish日期:
changelog:
快速参考
trigger命令
| 用户请求 | optimize维度 | 优先级 | |---------|---------|--------| | "减少 Skill XX 的 Token 占用" | Token | P1 | | "加快 Skill XX 的execute速度" | 性能 | P2 | | "加固 Skill XX 的security性" | security | P0 | | "重构 Skill XX 的代码" | 可维护性 | P3 | | "全面optimize Skill XX" | 全部 | P0→P1→P2→P3 |
常见错误
1. 跳过baseline测量:未测量就optimize,无法verify效果 2. security为性能让路:discoversecurity问题时必须优先修复 3. 过度optimize:Token 节省 < 5% 无实际价值 4. 破坏Function:optimize后Function异常,必须rollback 5. 不recordoptimize:历史optimize未record,无法trace
版本历史(Changelog)
| 版本 | 日期 | Changes | 审核人 |
|------|------|---------|--------|
| 1.1.0 | 2026-04-13 | 新增 Agent 调用接口层(Inter-Agent Interface):7个 Task 类型(baseline/token-optimize/performance-optimize/security-harden/quality-improve/full-optimize/compare);PDCA quality gatesystem;optimize前后对比report模板;E_REGRESSION 回归protect自动rollback;新增 references/optimization-patterns.md(代码optimize示例参考) | CTO-001 / CISO-001 |
| 1.0.0 | 2026-04-11 | Initial version:4步optimizeprocess(Baseline → Analysis → Implementation → Verify)+ 4个optimize维度(Token/性能/security/质量)+ G0-G4 quality gate | CTO-001 / CISO-001 |
rollbackstrategy(Rollback)
> 如optimize后回归测试失败,execute以下steprecover:
# 自动rollback至 baseline 版本
git checkout tags/v -- SKILL.md scripts/ references/verifyrollback成功
git log --oneline -3
rollbacktrigger条件:
rollback后操作:
1. record regression 详情至 references/optimization-log.md
2. notify caller:返回 E_REGRESSION,附 delta metric
3. analyze退化原因,修复后重新optimize