AI编码Skills模式:工程师必备的Agent技能设计
凌晨4点23分,我打开mattpocock的skills仓库,81,585颗星静静闪烁。这个项目宣称"Skills for Real Engineers",直白得像个工科生的简历。它没有华丽的AI叙事,只有一行行从.claude目录里挖出来的实战代码——这些代码被数千开发者复制、粘贴、魔改,成为Agent时代最真实的技术遗产。
这不是教程,而是工程师的生存手册:如何在AI Agent的世界里,让机器按照你的节奏编码。
mattpocock/skills核心解析
这个仓库的核心价值在于将人类编码习惯封装为Agent Skills。每个Skill都是一段可复用的AI行为模式:
项目结构
skills/
├── bash-commands/ # Shell命令封装
├── code-review/ # 代码审查模式
├── debugging/ # 调试策略
├── git-workflow/ # Git操作封装
├── project-context/ # 项目上下文理解
├── test-generation/ # 测试生成策略
└── utils/ # 工具函数
核心Skills类型
- 命令型Skills - 封装常用Shell/CLI操作
- 审查型Skills - 代码质量检查模式
- 诊断型Skills - 问题定位与调试策略
- 协作型Skills - Git/团队工作流封装
- 生成型Skills - 测试/文档自动生成
六大编码Skills设计模式
模式1:命令封装模式 (Command Wrapper)
将常用命令序列封装为单一Skill,减少AI的猜测空间。
# skill: quick-commit
name: "Quick Commit"
trigger: "quick commit"
steps:
- git add -A
- git status (show what's being committed)
- git commit -m "${message}"
- git push origin ${branch}
parameters:
- message: "commit message"
- branch: "current branch"
模式2:审查链模式 (Review Chain)
串联多个审查步骤,形成完整的质量检查流程。
# skill: full-review
name: "Full Code Review"
trigger: "review this code"
chain:
- lint: run eslint/prettier
- types: run tsc --noEmit
- tests: run vitest --coverage
- security: run npm audit
- report: summarize findings
output: structured review report
模式3:诊断树模式 (Diagnosis Tree)
根据错误类型选择不同的诊断路径。
# skill: smart-debug
name: "Smart Debugging"
trigger: "debug ${error}"
branches:
- type_error:
- check TypeScript config
- verify type definitions
- suggest type fixes
- runtime_error:
- reproduce with minimal case
- trace stack to root cause
- propose fix with test
- build_error:
- check dependencies
- verify build config
- rebuild step by step
模式4:上下文注入模式 (Context Injection)
在Skill执行前注入项目上下文,提升AI理解准确度。
# skill: context-aware-refactor
name: "Context-Aware Refactoring"
before:
- read project structure
- identify related files
- understand current patterns
action:
- refactor target file
- update related imports
- run tests to verify
after:
- show diff summary
- suggest similar refactors
模式5:生成模板模式 (Generation Template)
使用模板生成标准化输出,保持一致性。
# skill: component-gen
name: "React Component Generator"
trigger: "create component ${name}"
template: |
import { FC } from 'react';
interface ${name}Props {
// props
}
export const ${name}: FC<${name}Props> = (props) => {
return (
<div className="${name}">
{/* content */}
</div>
);
};
export default ${name};
generates:
- src/components/${name}/${name}.tsx
- src/components/${name}/index.ts
- src/components/${name}/${name}.test.tsx
模式6:增量迭代模式 (Incremental Iteration)
分步完成复杂任务,每步可验证可回退。
# skill: safe-refactor
name: "Safe Incremental Refactor"
trigger: "refactor ${target} carefully"
phases:
- phase1_analyze:
- identify all usages
- map dependencies
- create rollback point
- phase2_pilot:
- refactor one file
- run tests
- verify no breakage
- phase3_expand:
- apply to remaining files
- continuous testing
- phase4_cleanup:
- remove deprecated code
- update documentation
OpenClaw Skills实现指南
将mattpocock的方法论迁移到OpenClaw:
1. 创建Skills目录结构
# OpenClaw项目Skills结构
~/.openclaw/skills/
├── coding/
│ ├── review-chain.md
│ ├── debug-tree.md
│ ├── quick-commit.md
│ ├── safe-refactor.md
│ └── component-gen.md
├── project/
│ ├── context-loader.md
│ ├── dependency-map.md
└── utils/
├── error-parser.md
├── diff-summarizer.md
2. Skill文件格式
# ~/.openclaw/skills/coding/review-chain.md
---
name: Full Code Review
description: 串联多个审查步骤,形成完整质量检查
trigger: review this code
---
## 执行步骤
1. 运行 lint 检查 (eslint/prettier)
2. 运行类型检查 (tsc --noEmit)
3. 运行测试覆盖率 (vitest --coverage)
4. 运行安全审计 (npm audit)
5. 生成审查报告摘要
## 输出格式
| 检查项 | 状态 | 问题数 | 严重度 |
|--------|------|--------|--------|
| Lint | ✅/❌ | N | 高/中/低 |
| Types | ✅/❌ | N | 高/中/低 |
| Tests | ✅/❌ | N | 高/中/低 |
| Security | ✅/❌ | N | 高/中/低 |
## 相关Skills
- [quick-commit](quick-commit.md) - 快速提交
- [safe-refactor](safe-refactor.md) - 安全重构
3. 使用Skill示例
# 在OpenClaw中调用Skill
> review this code
[OpenClaw执行 review-chain Skill]
✓ Lint检查完成: 0 errors
✓ 类型检查完成: 2 errors
- src/api.ts:78 - 缺少返回类型
- src/utils.ts:15 - 隐式any类型
✓ 测试覆盖率: 78%
✓ 安全审计: 1 warning (lodash@4.17.15)
建议修复类型错误后再提交。
最佳实践
✅ Skill设计原则
- 单一职责:每个Skill只做一件事
- 明确触发:trigger短语要独特易记
- 可组合:Skill之间可串联调用
- 可回退:关键操作要有rollback机制
- 输出标准化:格式一致便于解析
❌ 踩坑实录
"凌晨3点,我写了一个'智能重构'Skill,结果它把整个项目重构成了另一个项目。原因是Skill里写'优化所有代码结构',AI理解成'重新设计架构'。"
教训:Skill的行为边界要明确,避免模糊指令。