关于 engineer-skill-creator
engineer-skill-creator 将提取的工程师档案整理为可查询的技能,供 AI Agent 获取特定任务、语言或设计模式的实践指导。它通过渐进式披露和交互式查询工具,仅呈现相关经验与代码示例。
主要功能
- 01按开发任务组织经验
- 02按编程语言提供指导
- 03整理常用设计模式
- 04渐进式披露相关内容
- 05提供交互式查询工具
适用场景
- 01按团队风格生成代码
- 02查询特定任务的实现思路
- 03依据经验标准进行代码审查
- 04帮助新成员了解团队惯例
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ jamesrochabrun/ skills --skill engineer-skill-creator安装后在 Claude Code 中输入/engineer-skill-creator确认已加载。
附带文件scripts/create_expert_skill.sh
详细介绍
工程师技能创建器
将提取出的工程师档案转化为可直接使用的技能,采用渐进式披露,让 AI Agent 能够高效地为任何编码任务找到并运用合适的专业知识。
此技能的作用
接收 engineer-expertise-extractor 的输出,并创建一个结构化、可查询的技能,以便:
- 按任务类型组织专业知识——快速找到相关模式
- 采用渐进式披露——仅展示当前任务所需的内容
- 提供上下文示例——针对特定场景提供真实代码示例
- 智能引导 Agent——帮助它们在合适的时机找到合适的专业知识
- 支持特定任务查询——“他们会如何处理身份验证?”
两步流程
第 1 步:提取(engineer-expertise-extractor)
./extract_engineer.sh senior_dev
# Output: engineer_profiles/senior_dev/
第 2 步:创建技能(此技能)
./create_expert_skill.sh senior_dev
# Output: expert-skills/senior-dev-mentor/
**结果:**一个可直接使用的技能,Agent 可以通过它查询特定指导。
渐进式披露为何重要
没有渐进式披露:
- Agent 一次性获取全部专业知识(信息过载)
- 难以找到相关信息
- 很快达到上下文限制
- 效率低下且速度慢
采用渐进式披露:
- Agent 提出具体问题
- 仅获取相关专业知识
- 获得聚焦且可执行的指导
- 高效利用上下文
- 结果更快、更好
输出结构
根据工程师档案创建技能后,你将获得:
expert-skills/
└── [engineer-name]-mentor/
├── SKILL.md (skill documentation)
├── query_expertise.sh (interactive query tool)
├── expertise/
│ ├── by_task/
│ │ ├── authentication.md
│ │ ├── api_design.md
│ │ ├── database_design.md
│ │ ├── error_handling.md
│ │ └── testing.md
│ ├── by_language/
│ │ ├── typescript.md
│ │ ├── python.md
│ │ └── go.md
│ ├── by_pattern/
│ │ ├── dependency_injection.md
│ │ ├── repository_pattern.md
│ │ └── factory_pattern.md
│ └── quick_reference/
│ ├── coding_style.md
│ ├── naming_conventions.md
│ └── best_practices.md
└── examples/
├── authentication_service.ts
├── api_controller.ts
└── test_example.spec.ts
渐进式披露系统
按任务查询
Agent 提问:“他们会如何实现用户身份验证?”
技能提供:
by_task/authentication.md中的相关模式- 他们身份验证 PR 中的代码示例
- 他们针对身份验证采用的测试方法
- 他们采用的安全注意事项
- 相关最佳实践
暂不提供:
- 无关模式
- 数据库设计详情
- 支付处理方法
- 其他所有内容
按语言查询
Agent 提问:“给我看看他们的 TypeScript 编码风格”
技能提供:
- TypeScript 专属约定
- 类型使用模式
- 接口设计方法
- TypeScript 中的错误处理
- 真实 TypeScript 示例
按模式查询
Agent 提问:“他们如何实现依赖注入?”
技能提供:
- 他们代码中的 DI 模式
- 构造函数注入示例
- IoC 容器设置
- 使用 DI 进行测试
- 他们何时使用以及何时不使用该模式
Agent 如何使用技能
基本查询
"Using the skill expert-skills/senior-dev-mentor/, show me how to
implement authentication"
技能响应内容:
- 他们采用的身份验证模式
- 真实代码示例
- 测试方法
- 安全实践
- 分步指导
特定语言查询
"Using expert-skills/senior-dev-mentor/, write a TypeScript service
following their style"
技能提供:
- TypeScript 编码约定
- 类结构模式
- 类型定义方法
- 导入组织方式
- 服务的测试模式
特定模式查询
"Using expert-skills/senior-dev-mentor/, implement the repository
pattern as they would"
技能提供:
- 他们的仓库模式实现
- 接口定义
- 具体实现示例
- 测试方法
- 何时使用此模式
创建的技能功能
1. 基于任务的导航
按常见开发任务组织专业知识:
- 身份验证与授权
- API 设计
- 数据库设计
- 错误处理
- 测试策略
- 性能优化
- 安全实践
- 代码审查指南
2. 特定语言的指导
为他们使用的每种语言提供单独的文档:
- 各语言的命名约定
- 语言专属模式
- 符合语言习惯的代码示例
- 框架偏好
3. 模式库
他们常用的设计模式:
- 各模式的适用时机
- 实现示例
- 测试方法
- 应避免的常见陷阱
4. 快速参考
快速查阅核心内容:
- 一目了然地了解编码风格
- 命名约定速查表
- 常用命令/代码片段
- 审查清单
5. 交互式查询工具
帮助查找专业知识的脚本:
./query_expertise.sh
What are you working on?
1) Authentication
2) API Design
3) Database
4) Testing
5) Custom query
Select: 1
=== Authentication Expertise ===
[Shows relevant patterns, examples, best practices]
技能创建方式
输入
提取器生成的工程师档案:
engineer_profiles/senior_dev/
├── coding_style/
├── patterns/
├── best_practices/
├── architecture/
├── code_review/
└── examples/
流程
- 分析档案结构
- 按任务分类 - 将相关专业知识分组
- 提取示例 - 提取相关代码示例
- 创建导航 - 构建渐进式信息披露系统
- 生成查询 - 创建查询工具
- 打包技能 - 创建可直接使用的技能结构
输出
包含渐进式信息披露的技能:
expert-skills/senior-dev-mentor/
├── SKILL.md
├── query_expertise.sh
├── expertise/
│ ├── by_task/
│ ├── by_language/
│ ├── by_pattern/
│ └── quick_reference/
└── examples/
创建的技能示例
身份验证任务文档
文件: expertise/by_task/authentication.md
# Authentication - Senior Dev's Approach
## Overview
How senior_dev implements authentication based on 15 PRs analyzed.
## Preferred Approach
- JWT-based authentication
- Refresh token rotation
- HttpOnly cookies for web
- Token in headers for mobile/API
## Implementation Pattern
### Service Structure
[Code example from their PR #1234]
### Token Generation
[Code example from their PR #5678]
### Token Validation
[Code example from their PR #9012]
## Testing Approach
- Unit tests for token generation
- Integration tests for auth flow
- Security tests for token validation
[Test examples from their code]
## Security Considerations
From their code reviews:
- Always validate token signature
- Check expiration
- Implement rate limiting
- Use secure random for secrets
## Common Pitfalls They Avoid
- Storing tokens in localStorage (XSS risk)
- Not rotating refresh tokens
- Weak secret keys
- Missing token expiration
## Related Patterns
- Error handling for auth failures
- Middleware pattern for auth checks
- Repository pattern for user lookup
## Examples
See: examples/authentication_service.ts
使用场景
1. 一致的代码生成
问题: AI 生成的代码不符合团队风格
解决方案:
"Using expert-skills/senior-dev-mentor/, write a user service"
结果: 生成的代码符合资深开发人员的确切风格和模式
2. 特定任务指导
问题: 资深开发人员会如何处理这个特定问题?
解决方案:
"Using expert-skills/tech-lead-mentor/, how do I handle rate limiting?"
结果: 获得其特定方法、示例和推理过程
3. 代码审查培训
问题: 了解经验丰富的工程师会关注什么
解决方案:
"Using expert-skills/architect-mentor/, review this code"
结果: 按照其标准和优先级进行审查
4. 入职培训
问题: 新工程师需要了解团队规范
解决方案: 让他们使用 expert-skills
结果: 通过真实示例学习与其任务相关的内容
技能查询示例
示例 1:身份验证
./query_expertise.sh
> Working on: Authentication
> Language: TypeScript
Output:
=== Authentication in TypeScript ===
Preferred approach: JWT with refresh tokens
[Shows specific auth pattern]
[Provides TS code example]
[Testing strategy]
[Security checklist]
Related: error_handling.md, api_design.md
示例 2:数据库设计
./query_expertise.sh
> Working on: Database design
> Database: PostgreSQL
Output:
=== Database Design - PostgreSQL ===
Schema design approach:
- Normalized tables
- Foreign keys enforced
- Indexes on lookups
- Migrations for changes
[Shows migration example]
[Query optimization patterns]
[Testing approach]
示例 3:错误处理
./query_expertise.sh
> Working on: Error handling
> Language: Python
Output:
=== Error Handling in Python ===
Pattern: Custom exception classes + global handler
[Shows exception hierarchy]
[Handler implementation]
[Logging approach]
[User-facing messages]
创建技能
基本用法
cd engineer-skill-creator
./scripts/create_expert_skill.sh [engineer-username]
高级用法
./scripts/create_expert_skill.sh [engineer-username] --focus api,testing
将技能限定在特定的关注领域。
生成内容
自动分类:
- 将相关模式分组
- 按常见任务组织
- 按语言区分
- 突出最佳实践
查询系统:
- 交互式 CLI 工具
- 智能搜索
- 关联内容链接
- 示例建议
文档:
- 特定任务指南
- 语言参考
- 模式库
- 快速参考卡
与开发工作流集成
在 Claude Code 中
"Load the expert-skills/senior-dev-mentor/ skill and help me
implement this feature following their approach"
在代码审查中
"Using expert-skills/tech-lead-mentor/, review this PR for:
- Code style compliance
- Pattern usage
- Best practices
- Security considerations"
在架构决策中
"Using expert-skills/architect-mentor/, how would they design
this microservice?"
技能维护
更新技能
工程师档案更新时:
./scripts/update_expert_skill.sh senior-dev
使用新的专业知识重新生成技能。
版本控制
每次技能生成都会包含:
- 源档案版本
- 生成日期
- 专业知识数量
- 最近分析的 PR
最佳实践
创建技能时
应该:
- ✅ 针对不同的专业领域创建技能
- ✅ 定期更新技能(每季度一次)
- ✅ 部署前测试查询
- ✅ 记录技能涵盖的内容
不应该:
- ❌ 根据不足的数据创建技能(< 20 个 PR)
- ❌ 在一个技能中混合多位工程师的内容
- ❌ 忽略档案更新
- ❌ 过度分类(保持简单)
使用技能时
应该:
- ✅ 提出具体问题
- ✅ 提供上下文(语言、任务)
- ✅ 引用示例
- ✅ 结合自己的判断
不应该:
- ❌ 盲目复制模式
- ❌ 跳过对推理过程的理解
- ❌ 忽略项目上下文
- ❌ 将其视为不可变通的规则
局限性
技能可以做到:
- ✅ 提供经过验证的模式
- ✅ 展示真实示例
- ✅ 指导实现
- ✅ 解释推理过程
- ✅ 展示最佳实践
技能无法做到:
- ❌ 替你做决定
- ❌ 理解你的具体上下文
- ❌ 取代资深工程师的判断
- ❌ 保证正确性
- ❌ 自动适应新技术
概要
工程师技能创建器将提取的专业知识转化为可操作、可查询的技能:
输入: 工程师档案(来自提取器) 处理: 分类、整理、创建查询系统 输出: 渐进式披露技能
优势:
- 快速查找专业知识
- 获取针对具体任务的指导
- 从真实示例中学习
- 保持一致性
- 扩展知识规模
与 Agent 搭配使用:
"Using expert-skills/[engineer]-mentor/, [task description]"
完整工作流:
- 提取专业知识:
extract_engineer.sh username - 创建技能:
create_expert_skill.sh username - 与 Agent 搭配使用:在提示词中引用技能
- 获得一致的专家级结果
“渐进式披露:只在需要时展示所需内容。”