mcpField
E
engineer-skill-creator

engineer-skill-creator

github.com/jamesrochabrunAgent 工作流221133 次安装41 周前更新
代码仓库

关于 engineer-skill-creator

engineer-skill-creator 将提取的工程师档案整理为可查询的技能,供 AI Agent 获取特定任务、语言或设计模式的实践指导。它通过渐进式披露和交互式查询工具,仅呈现相关经验与代码示例。

主要功能

  1. 01按开发任务组织经验
  2. 02按编程语言提供指导
  3. 03整理常用设计模式
  4. 04渐进式披露相关内容
  5. 05提供交互式查询工具

适用场景

  1. 01按团队风格生成代码
  2. 02查询特定任务的实现思路
  3. 03依据经验标准进行代码审查
  4. 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 提问:“他们会如何实现用户身份验证?”

技能提供:

  1. by_task/authentication.md 中的相关模式
  2. 他们身份验证 PR 中的代码示例
  3. 他们针对身份验证采用的测试方法
  4. 他们采用的安全注意事项
  5. 相关最佳实践

暂不提供:

  • 无关模式
  • 数据库设计详情
  • 支付处理方法
  • 其他所有内容
按语言查询

Agent 提问:“给我看看他们的 TypeScript 编码风格”

技能提供:

  1. TypeScript 专属约定
  2. 类型使用模式
  3. 接口设计方法
  4. TypeScript 中的错误处理
  5. 真实 TypeScript 示例
按模式查询

Agent 提问:“他们如何实现依赖注入?”

技能提供:

  1. 他们代码中的 DI 模式
  2. 构造函数注入示例
  3. IoC 容器设置
  4. 使用 DI 进行测试
  5. 他们何时使用以及何时不使用该模式

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/
流程
  1. 分析档案结构
  2. 按任务分类 - 将相关专业知识分组
  3. 提取示例 - 提取相关代码示例
  4. 创建导航 - 构建渐进式信息披露系统
  5. 生成查询 - 创建查询工具
  6. 打包技能 - 创建可直接使用的技能结构
输出

包含渐进式信息披露的技能:

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]"

完整工作流:

  1. 提取专业知识:extract_engineer.sh username
  2. 创建技能:create_expert_skill.sh username
  3. 与 Agent 搭配使用:在提示词中引用技能
  4. 获得一致的专家级结果

“渐进式披露:只在需要时展示所需内容。”

评论

支持 Markdown