@optima-chat/dev-skills 0.7.26 → 0.7.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/commands/logs.md +27 -0
- package/.claude/commands/query-db.md +17 -1
- package/.claude/settings.local.json +51 -0
- package/.claude/skills/query-db/SKILL.md +16 -1
- package/.claude/skills/show-env/SKILL.md +30 -3
- package/.codex/skills/generate-test-token/SKILL.md +33 -0
- package/.codex/skills/grant-credits/SKILL.md +28 -0
- package/.codex/skills/grant-subscription/SKILL.md +29 -0
- package/.codex/skills/logs/SKILL.md +40 -0
- package/.codex/skills/query-db/SKILL.md +39 -0
- package/.codex/skills/read-code/SKILL.md +35 -0
- package/.codex/skills/restart-ecs/SKILL.md +22 -0
- package/.codex/skills/show-env/SKILL.md +27 -0
- package/.codex/skills/use-commerce-cli/SKILL.md +29 -0
- package/AGENTS.md +58 -0
- package/README.md +12 -2
- package/bin/helpers/query-db.ts +21 -1
- package/bin/helpers/show-env.ts +18 -6
- package/dist/bin/helpers/generate-test-token.js +0 -0
- package/dist/bin/helpers/query-db.js +21 -1
- package/dist/bin/helpers/show-env.js +18 -6
- package/docs/COMMANDS_DESIGN.md +394 -0
- package/docs/TECHNICAL_DESIGN.md +613 -0
- package/docs/codex-migration.md +44 -0
- package/package.json +10 -7
- package/scripts/install.js +23 -0
|
@@ -0,0 +1,613 @@
|
|
|
1
|
+
# Optima Dev Skills 技术设计方案
|
|
2
|
+
|
|
3
|
+
**版本**: 1.0.0
|
|
4
|
+
**日期**: 2025-11-23
|
|
5
|
+
**状态**: 设计阶段
|
|
6
|
+
|
|
7
|
+
## 1. 项目概述
|
|
8
|
+
|
|
9
|
+
### 1.1 背景
|
|
10
|
+
|
|
11
|
+
Optima AI 开发团队管理着 27+ 个仓库,涉及电商后端、前端应用、MCP 工具、基础设施等多个领域。团队成员在使用 Claude Code 进行开发时,需要频繁查询:
|
|
12
|
+
|
|
13
|
+
- 各服务的部署地址和端口
|
|
14
|
+
- API 文档位置和认证方式
|
|
15
|
+
- 如何注册测试用户
|
|
16
|
+
- 如何获取 Token 和查看日志
|
|
17
|
+
- 仓库间的依赖关系
|
|
18
|
+
- 部署流程和环境配置
|
|
19
|
+
|
|
20
|
+
目前这些信息分散在各仓库的 README、文档、内部 Wiki 中,查找效率低,新人上手困难。
|
|
21
|
+
|
|
22
|
+
### 1.2 目标
|
|
23
|
+
|
|
24
|
+
创建 **Optima Dev Skills**,一个模块化的 Claude Skills 集合,让 Claude Code 能够:
|
|
25
|
+
|
|
26
|
+
1. **自动加载相关信息** - 根据对话上下文,自动识别并加载相关仓库的开发信息
|
|
27
|
+
2. **快速回答常见问题** - 部署地址、API 文档、Token 获取、日志查看等
|
|
28
|
+
3. **引导开发流程** - 环境搭建、测试流程、部署规范
|
|
29
|
+
4. **降低认知负担** - 新人无需记忆大量仓库信息,对话即可获取
|
|
30
|
+
|
|
31
|
+
### 1.3 交付物
|
|
32
|
+
|
|
33
|
+
- **NPM 包**: `@optima-ai/dev-skills`
|
|
34
|
+
- **Skills 集合**: 15 个模块化 SKILL.md 文件
|
|
35
|
+
- **自动化脚本**: 6 个常用操作脚本
|
|
36
|
+
- **安装工具**: 一键安装到 `~/.claude/skills/optima-dev`
|
|
37
|
+
- **文档**: 技术设计、使用指南、维护手册
|
|
38
|
+
|
|
39
|
+
## 2. 技术架构
|
|
40
|
+
|
|
41
|
+
### 2.1 整体架构
|
|
42
|
+
|
|
43
|
+
采用 **Claude Skills 的渐进式加载架构**:
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
用户提问
|
|
47
|
+
↓
|
|
48
|
+
Claude 扫描所有 Skills 的 metadata (name + description)
|
|
49
|
+
↓
|
|
50
|
+
识别相关 Skills(如 "commerce-backend")
|
|
51
|
+
↓
|
|
52
|
+
加载完整 SKILL.md 内容(<5k tokens)
|
|
53
|
+
↓
|
|
54
|
+
基于 Skill 内容回答问题或执行操作
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
**关键优势**:
|
|
58
|
+
- 仅在需要时加载,节省 tokens
|
|
59
|
+
- 模块化设计,易于扩展
|
|
60
|
+
- 自动识别,无需手动激活
|
|
61
|
+
|
|
62
|
+
### 2.2 目录结构设计
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
~/.claude/skills/optima-dev/
|
|
66
|
+
├── core/
|
|
67
|
+
│ └── SKILL.md # 核心索引、团队规范、快速链接
|
|
68
|
+
├── backend/
|
|
69
|
+
│ ├── commerce-backend/
|
|
70
|
+
│ │ └── SKILL.md # 电商 API 服务
|
|
71
|
+
│ ├── user-auth/
|
|
72
|
+
│ │ └── SKILL.md # 认证授权服务
|
|
73
|
+
│ └── mcp-host/
|
|
74
|
+
│ └── SKILL.md # MCP 协调器
|
|
75
|
+
├── frontend/
|
|
76
|
+
│ ├── agentic-chat/
|
|
77
|
+
│ │ └── SKILL.md # 卖家对话界面
|
|
78
|
+
│ └── optima-store/
|
|
79
|
+
│ └── SKILL.md # 买家购物前端
|
|
80
|
+
├── mcp-tools/
|
|
81
|
+
│ ├── commerce-mcp/
|
|
82
|
+
│ │ └── SKILL.md # 电商 MCP 工具
|
|
83
|
+
│ ├── scout-mcp/
|
|
84
|
+
│ │ └── SKILL.md # 智能选品 MCP
|
|
85
|
+
│ ├── comfy-mcp/
|
|
86
|
+
│ │ └── SKILL.md # 图像生成 MCP
|
|
87
|
+
│ └── google-ads-mcp/
|
|
88
|
+
│ └── SKILL.md # Google Ads MCP
|
|
89
|
+
├── infrastructure/
|
|
90
|
+
│ ├── terraform/
|
|
91
|
+
│ │ └── SKILL.md # 基础设施即代码
|
|
92
|
+
│ ├── deployment/
|
|
93
|
+
│ │ └── SKILL.md # CI/CD 部署流程
|
|
94
|
+
│ └── monitoring/
|
|
95
|
+
│ └── SKILL.md # 日志监控
|
|
96
|
+
├── onboarding/
|
|
97
|
+
│ ├── setup/
|
|
98
|
+
│ │ └── SKILL.md # 环境搭建
|
|
99
|
+
│ ├── testing/
|
|
100
|
+
│ │ └── SKILL.md # 测试流程
|
|
101
|
+
│ └── workflows/
|
|
102
|
+
│ └── SKILL.md # Git 规范、PR 流程
|
|
103
|
+
├── cli-tools/
|
|
104
|
+
│ ├── commerce-cli/
|
|
105
|
+
│ │ └── SKILL.md # 电商管理 CLI
|
|
106
|
+
│ └── optima-ops-cli/
|
|
107
|
+
│ └── SKILL.md # 运维监控 CLI
|
|
108
|
+
└── scripts/
|
|
109
|
+
├── get-token.sh # 获取 Token
|
|
110
|
+
├── health-check.sh # 健康检查
|
|
111
|
+
├── view-logs.sh # 查看日志
|
|
112
|
+
├── db-connect.sh # 数据库连接
|
|
113
|
+
├── create-test-user.sh # 创建测试用户
|
|
114
|
+
└── env-setup.sh # 环境配置助手
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
**设计原则**:
|
|
118
|
+
- 每个仓库一个独立 Skill,职责清晰
|
|
119
|
+
- 按功能分组(backend/frontend/mcp-tools),便于管理
|
|
120
|
+
- 核心 Skill 提供快速索引
|
|
121
|
+
- 脚本集中存放,便于调用
|
|
122
|
+
|
|
123
|
+
### 2.3 Skill Metadata 设计
|
|
124
|
+
|
|
125
|
+
每个 SKILL.md 的 YAML frontmatter 格式:
|
|
126
|
+
|
|
127
|
+
**核心字段**:
|
|
128
|
+
- **name**: Skill 名称(简短、唯一)
|
|
129
|
+
- **description**: 详细描述,包含关键词,用于 Claude 判断相关性(重要)
|
|
130
|
+
- **allowed-tools**: 允许的工具列表(安全控制)
|
|
131
|
+
|
|
132
|
+
**description 设计原则**:
|
|
133
|
+
- 包含仓库名称
|
|
134
|
+
- 包含核心功能关键词
|
|
135
|
+
- 包含技术栈(帮助技术问题匹配)
|
|
136
|
+
- 包含部署信息(帮助运维问题匹配)
|
|
137
|
+
|
|
138
|
+
**示例**:
|
|
139
|
+
|
|
140
|
+
**好的 description**(精准匹配):
|
|
141
|
+
- "Commerce Backend - 电商核心 API 服务,FastAPI + PostgreSQL,端口 8280,提供商品管理、订单处理、支付集成"
|
|
142
|
+
|
|
143
|
+
**不好的 description**(过于简略):
|
|
144
|
+
- "后端服务"
|
|
145
|
+
|
|
146
|
+
### 2.4 内容组织策略
|
|
147
|
+
|
|
148
|
+
#### 2.4.1 核心信息层级
|
|
149
|
+
|
|
150
|
+
**Level 1 - 快速索引** (core/SKILL.md):
|
|
151
|
+
- 系统架构总览
|
|
152
|
+
- 所有服务的生产/开发地址
|
|
153
|
+
- 常用命令速查
|
|
154
|
+
- 紧急联系方式
|
|
155
|
+
|
|
156
|
+
**Level 2 - 服务详情** (各服务 SKILL.md):
|
|
157
|
+
- 服务功能说明
|
|
158
|
+
- 技术栈和依赖
|
|
159
|
+
- 部署地址和端口
|
|
160
|
+
- API 文档链接
|
|
161
|
+
- 本地开发指南
|
|
162
|
+
- 常见问题
|
|
163
|
+
|
|
164
|
+
**Level 3 - 操作指南** (onboarding/infrastructure):
|
|
165
|
+
- 环境搭建步骤
|
|
166
|
+
- 测试流程
|
|
167
|
+
- 部署流程
|
|
168
|
+
- 监控和排查
|
|
169
|
+
|
|
170
|
+
#### 2.4.2 信息更新策略
|
|
171
|
+
|
|
172
|
+
**静态信息**(写入 Skill):
|
|
173
|
+
- 仓库 URL
|
|
174
|
+
- 技术栈
|
|
175
|
+
- 架构设计
|
|
176
|
+
- 端口映射
|
|
177
|
+
|
|
178
|
+
**动态信息**(引用方式):
|
|
179
|
+
- API Key(引用 Infisical 路径)
|
|
180
|
+
- 数据库密码(引用环境变量)
|
|
181
|
+
- 当前部署状态(提供查询命令)
|
|
182
|
+
|
|
183
|
+
**原则**:Skills 中不存储敏感信息,仅提供获取方式。
|
|
184
|
+
|
|
185
|
+
## 3. 关键技术决策
|
|
186
|
+
|
|
187
|
+
### 3.1 敏感信息处理
|
|
188
|
+
|
|
189
|
+
**问题**:如何在 Skills 中提供认证信息,同时保证安全?
|
|
190
|
+
|
|
191
|
+
**方案**:**引用 + 脚本获取**
|
|
192
|
+
|
|
193
|
+
不直接存储密钥,而是提供:
|
|
194
|
+
1. **Infisical 路径** - 生产环境密钥引用路径
|
|
195
|
+
2. **环境变量名** - 本地开发环境变量
|
|
196
|
+
3. **获取脚本** - 自动化脚本帮助获取
|
|
197
|
+
|
|
198
|
+
**示例**(在 SKILL.md 中):
|
|
199
|
+
|
|
200
|
+
```
|
|
201
|
+
## 认证信息
|
|
202
|
+
|
|
203
|
+
**生产环境 API Key**:
|
|
204
|
+
- Infisical 路径: `/prod/commerce-backend/COMMERCE_API_KEY`
|
|
205
|
+
- 获取方式: 运行 `scripts/get-token.sh commerce-backend prod`
|
|
206
|
+
|
|
207
|
+
**开发环境 API Key**:
|
|
208
|
+
- 本地 .env 文件: `COMMERCE_API_KEY=ock_test_xxxxx`
|
|
209
|
+
- 测试密钥位置: 查看仓库 `.env.example`
|
|
210
|
+
|
|
211
|
+
**新人获取**:
|
|
212
|
+
- 联系团队管理员开通 Infisical 访问权限
|
|
213
|
+
- 运行 `scripts/env-setup.sh` 配置本地环境
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
**优势**:
|
|
217
|
+
- 安全:不泄露实际密钥
|
|
218
|
+
- 实用:提供清晰的获取路径
|
|
219
|
+
- 自动化:脚本减少手动操作
|
|
220
|
+
|
|
221
|
+
### 3.2 Skills 粒度选择
|
|
222
|
+
|
|
223
|
+
**问题**:每个仓库一个 Skill,还是合并相关仓库?
|
|
224
|
+
|
|
225
|
+
**方案**:**每个核心仓库一个独立 Skill**
|
|
226
|
+
|
|
227
|
+
**理由**:
|
|
228
|
+
1. **精准加载** - Claude 能更准确判断需要哪个 Skill
|
|
229
|
+
2. **减少 tokens** - 避免加载无关信息
|
|
230
|
+
3. **易于维护** - 仓库信息变更时,仅更新对应 Skill
|
|
231
|
+
4. **可扩展** - 新增仓库时,添加新 Skill 即可
|
|
232
|
+
|
|
233
|
+
**分组策略**:
|
|
234
|
+
- 核心业务服务(6个):独立 Skill
|
|
235
|
+
- MCP 工具(4个):独立 Skill
|
|
236
|
+
- 基础设施(3个):按功能分组
|
|
237
|
+
- 入职指南(3个):按阶段分组
|
|
238
|
+
|
|
239
|
+
### 3.3 脚本集成方式
|
|
240
|
+
|
|
241
|
+
**问题**:自动化脚本如何与 Skills 配合?
|
|
242
|
+
|
|
243
|
+
**方案**:**Skills 提供引导,脚本执行操作**
|
|
244
|
+
|
|
245
|
+
**工作流**:
|
|
246
|
+
```
|
|
247
|
+
用户: "帮我获取 commerce-backend 的 API token"
|
|
248
|
+
↓
|
|
249
|
+
Claude 加载 backend/commerce-backend/SKILL.md
|
|
250
|
+
↓
|
|
251
|
+
Skill 内容指示: "运行 scripts/get-token.sh commerce-backend"
|
|
252
|
+
↓
|
|
253
|
+
Claude 执行脚本
|
|
254
|
+
↓
|
|
255
|
+
返回 Token
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
**6 个核心脚本**:
|
|
259
|
+
|
|
260
|
+
1. **get-token.sh** - 获取各服务 Token
|
|
261
|
+
- 参数: 服务名、环境(prod/dev)
|
|
262
|
+
- 输出: Token 字符串
|
|
263
|
+
|
|
264
|
+
2. **health-check.sh** - 服务健康检查
|
|
265
|
+
- 参数: 服务名或 all
|
|
266
|
+
- 输出: 各服务状态(running/stopped)
|
|
267
|
+
|
|
268
|
+
3. **view-logs.sh** - 查看服务日志
|
|
269
|
+
- 参数: 服务名、行数
|
|
270
|
+
- 输出: 日志内容
|
|
271
|
+
|
|
272
|
+
4. **db-connect.sh** - 数据库连接
|
|
273
|
+
- 参数: 数据库名(commerce/mcp/auth)
|
|
274
|
+
- 输出: 连接信息或直接进入 psql
|
|
275
|
+
|
|
276
|
+
5. **create-test-user.sh** - 创建测试用户
|
|
277
|
+
- 参数: 用户邮箱、角色
|
|
278
|
+
- 输出: 用户 ID 和初始密码
|
|
279
|
+
|
|
280
|
+
6. **env-setup.sh** - 环境配置助手
|
|
281
|
+
- 交互式设置本地 .env 文件
|
|
282
|
+
- 检查依赖安装
|
|
283
|
+
|
|
284
|
+
**技术选择**:
|
|
285
|
+
- Shell 脚本(跨平台兼容)
|
|
286
|
+
- 使用 optima-ops-cli(已有47个运维命令)
|
|
287
|
+
- 错误处理和友好提示
|
|
288
|
+
|
|
289
|
+
### 3.4 NPM 包分发
|
|
290
|
+
|
|
291
|
+
**问题**:如何让团队成员方便安装和更新?
|
|
292
|
+
|
|
293
|
+
**方案**:**NPM 包 + 自动安装脚本**
|
|
294
|
+
|
|
295
|
+
**包名**: `@optima-ai/dev-skills`
|
|
296
|
+
|
|
297
|
+
**安装流程**:
|
|
298
|
+
```
|
|
299
|
+
用户运行: npm install -g @optima-ai/dev-skills
|
|
300
|
+
↓
|
|
301
|
+
postinstall 脚本自动执行
|
|
302
|
+
↓
|
|
303
|
+
复制 skills/ 到 ~/.claude/skills/optima-dev/
|
|
304
|
+
↓
|
|
305
|
+
复制 scripts/ 到 ~/.claude/skills/optima-dev/scripts/
|
|
306
|
+
↓
|
|
307
|
+
设置脚本执行权限
|
|
308
|
+
↓
|
|
309
|
+
完成提示
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
**更新流程**:
|
|
313
|
+
```
|
|
314
|
+
npm update -g @optima-ai/dev-skills
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
**优势**:
|
|
318
|
+
- 熟悉的 NPM 生态
|
|
319
|
+
- 版本管理(可回滚)
|
|
320
|
+
- 团队统一版本
|
|
321
|
+
- CI/CD 集成方便
|
|
322
|
+
|
|
323
|
+
## 4. 内容规范
|
|
324
|
+
|
|
325
|
+
### 4.1 SKILL.md 标准模板
|
|
326
|
+
|
|
327
|
+
每个 SKILL.md 包含以下部分:
|
|
328
|
+
|
|
329
|
+
**1. YAML Frontmatter**
|
|
330
|
+
- name
|
|
331
|
+
- description
|
|
332
|
+
- allowed-tools
|
|
333
|
+
|
|
334
|
+
**2. 服务概述**
|
|
335
|
+
- 一句话功能描述
|
|
336
|
+
- 核心能力列表
|
|
337
|
+
|
|
338
|
+
**3. 基本信息**
|
|
339
|
+
- 仓库 URL
|
|
340
|
+
- 技术栈
|
|
341
|
+
- 部署地址(生产/开发/Stage)
|
|
342
|
+
- API 文档地址
|
|
343
|
+
- 端口映射
|
|
344
|
+
|
|
345
|
+
**4. 快速开始**
|
|
346
|
+
- 本地开发启动命令
|
|
347
|
+
- 依赖安装
|
|
348
|
+
- 环境变量配置
|
|
349
|
+
|
|
350
|
+
**5. 认证信息**
|
|
351
|
+
- Token 获取方式
|
|
352
|
+
- API Key 位置
|
|
353
|
+
- OAuth 配置(如适用)
|
|
354
|
+
|
|
355
|
+
**6. 常用操作**
|
|
356
|
+
- 高频操作命令
|
|
357
|
+
- 健康检查
|
|
358
|
+
- 日志查看
|
|
359
|
+
- 数据库访问
|
|
360
|
+
|
|
361
|
+
**7. 相关链接**
|
|
362
|
+
- API 文档
|
|
363
|
+
- Swagger/OpenAPI
|
|
364
|
+
- 依赖的其他服务
|
|
365
|
+
- 关联仓库
|
|
366
|
+
|
|
367
|
+
**8. 故障排查**
|
|
368
|
+
- 常见错误和解决方案
|
|
369
|
+
- 调试技巧
|
|
370
|
+
|
|
371
|
+
### 4.2 文档写作原则
|
|
372
|
+
|
|
373
|
+
**DO(推荐)**:
|
|
374
|
+
- ✅ 使用标题和列表组织信息
|
|
375
|
+
- ✅ 提供清晰的命令引用(用反引号)
|
|
376
|
+
- ✅ 包含完整的 URL
|
|
377
|
+
- ✅ 说明命令的作用和参数
|
|
378
|
+
- ✅ 提供上下文和背景
|
|
379
|
+
- ✅ 使用表格展示结构化数据
|
|
380
|
+
|
|
381
|
+
**DON'T(避免)**:
|
|
382
|
+
- ❌ 直接粘贴大段代码(除非说明关键技术选择)
|
|
383
|
+
- ❌ 包含敏感信息(密钥、密码)
|
|
384
|
+
- ❌ 过于详细的实现细节(链接到源码)
|
|
385
|
+
- ❌ 重复已有文档(链接即可)
|
|
386
|
+
- ❌ 使用模糊的描述("可能"、"大概")
|
|
387
|
+
|
|
388
|
+
**代码示例的使用场景**(仅在这些情况下包含):
|
|
389
|
+
1. 说明 API 调用格式
|
|
390
|
+
2. 展示配置文件结构
|
|
391
|
+
3. 解释关键技术选择
|
|
392
|
+
4. 提供快速验证命令
|
|
393
|
+
|
|
394
|
+
**示例对比**:
|
|
395
|
+
|
|
396
|
+
**❌ 不好的写法**(代码过多):
|
|
397
|
+
```
|
|
398
|
+
## 创建商品
|
|
399
|
+
|
|
400
|
+
在 commerce-backend 中,创建商品的实现如下:
|
|
401
|
+
|
|
402
|
+
[50行 Python 代码]
|
|
403
|
+
|
|
404
|
+
这个函数首先验证输入,然后...
|
|
405
|
+
```
|
|
406
|
+
|
|
407
|
+
**✅ 好的写法**(引导为主):
|
|
408
|
+
```
|
|
409
|
+
## 创建商品
|
|
410
|
+
|
|
411
|
+
**API 端点**: `POST /products`
|
|
412
|
+
|
|
413
|
+
**认证**: Bearer Token (ock_live_xxxxx)
|
|
414
|
+
|
|
415
|
+
**请求示例**:
|
|
416
|
+
curl -X POST https://api.optima.chat/products \
|
|
417
|
+
-H "Authorization: Bearer ock_live_xxxxx" \
|
|
418
|
+
-H "Content-Type: application/json" \
|
|
419
|
+
-d '{"title": "Pearl Earrings", "price": 299}'
|
|
420
|
+
|
|
421
|
+
**完整 API 文档**: https://api.optima.chat/docs
|
|
422
|
+
|
|
423
|
+
**代码参考**: 查看 `app/routes/products.py` 中的 `create_product()` 函数
|
|
424
|
+
```
|
|
425
|
+
|
|
426
|
+
## 5. 实施计划
|
|
427
|
+
|
|
428
|
+
### 5.1 阶段划分
|
|
429
|
+
|
|
430
|
+
**Phase 1: 核心 Skills(第1周)**
|
|
431
|
+
- core/SKILL.md - 系统总览
|
|
432
|
+
- backend/ 3个核心服务
|
|
433
|
+
- frontend/ 2个主要应用
|
|
434
|
+
- onboarding/testing/ - 测试流程
|
|
435
|
+
|
|
436
|
+
**Phase 2: 工具和基础设施(第2周)**
|
|
437
|
+
- mcp-tools/ 4个 MCP 服务
|
|
438
|
+
- infrastructure/ 3个基础设施
|
|
439
|
+
- cli-tools/ 2个 CLI 工具
|
|
440
|
+
|
|
441
|
+
**Phase 3: 自动化和分发(第3周)**
|
|
442
|
+
- 6个自动化脚本
|
|
443
|
+
- NPM 包结构
|
|
444
|
+
- 安装测试
|
|
445
|
+
- 文档完善
|
|
446
|
+
|
|
447
|
+
**Phase 4: 团队验证(第4周)**
|
|
448
|
+
- 内部试用
|
|
449
|
+
- 收集反馈
|
|
450
|
+
- 迭代优化
|
|
451
|
+
- 正式发布
|
|
452
|
+
|
|
453
|
+
### 5.2 优先级排序
|
|
454
|
+
|
|
455
|
+
**P0(必需)**:
|
|
456
|
+
- core/SKILL.md
|
|
457
|
+
- backend/commerce-backend/
|
|
458
|
+
- backend/user-auth/
|
|
459
|
+
- onboarding/testing/
|
|
460
|
+
- scripts/get-token.sh
|
|
461
|
+
- scripts/health-check.sh
|
|
462
|
+
|
|
463
|
+
**P1(重要)**:
|
|
464
|
+
- frontend/agentic-chat/
|
|
465
|
+
- frontend/optima-store/
|
|
466
|
+
- mcp-tools/commerce-mcp/
|
|
467
|
+
- infrastructure/deployment/
|
|
468
|
+
- scripts/view-logs.sh
|
|
469
|
+
- scripts/create-test-user.sh
|
|
470
|
+
|
|
471
|
+
**P2(可选)**:
|
|
472
|
+
- mcp-tools/scout-mcp/
|
|
473
|
+
- mcp-tools/comfy-mcp/
|
|
474
|
+
- infrastructure/monitoring/
|
|
475
|
+
- cli-tools/
|
|
476
|
+
|
|
477
|
+
### 5.3 维护策略
|
|
478
|
+
|
|
479
|
+
**自动更新触发**:
|
|
480
|
+
- 服务地址变更
|
|
481
|
+
- 新增仓库
|
|
482
|
+
- API 重大变更
|
|
483
|
+
- 部署流程调整
|
|
484
|
+
|
|
485
|
+
**更新流程**:
|
|
486
|
+
1. 提交 PR 到 optima-dev-skills 仓库
|
|
487
|
+
2. Code Review
|
|
488
|
+
3. 合并后自动发布新版本 NPM 包
|
|
489
|
+
4. 团队成员运行 `npm update -g @optima-ai/dev-skills`
|
|
490
|
+
|
|
491
|
+
**版本管理**:
|
|
492
|
+
- 遵循 Semantic Versioning
|
|
493
|
+
- MAJOR:Skills 结构调整
|
|
494
|
+
- MINOR:新增 Skills
|
|
495
|
+
- PATCH:内容更新、错误修复
|
|
496
|
+
|
|
497
|
+
## 6. 成功指标
|
|
498
|
+
|
|
499
|
+
### 6.1 量化指标
|
|
500
|
+
|
|
501
|
+
**开发效率**:
|
|
502
|
+
- 新人环境搭建时间:从 4小时 降至 1小时
|
|
503
|
+
- 常见问题查询时间:从 5分钟 降至 30秒
|
|
504
|
+
- Token 获取时间:从 3分钟 降至 10秒
|
|
505
|
+
|
|
506
|
+
**使用率**:
|
|
507
|
+
- 团队成员安装率:100%
|
|
508
|
+
- 每周 Skill 加载次数:50+
|
|
509
|
+
- 脚本执行次数:20+/周
|
|
510
|
+
|
|
511
|
+
**质量指标**:
|
|
512
|
+
- 文档准确率:95%+
|
|
513
|
+
- 脚本成功率:98%+
|
|
514
|
+
- 用户满意度:4.5/5
|
|
515
|
+
|
|
516
|
+
### 6.2 定性指标
|
|
517
|
+
|
|
518
|
+
**开发体验**:
|
|
519
|
+
- 新人反馈:显著降低学习曲线
|
|
520
|
+
- 开发者反馈:减少上下文切换
|
|
521
|
+
- Claude Code 效率:更精准的回答
|
|
522
|
+
|
|
523
|
+
**知识管理**:
|
|
524
|
+
- 知识集中化:避免信息碎片化
|
|
525
|
+
- 知识时效性:易于更新
|
|
526
|
+
- 知识传承:新人快速上手
|
|
527
|
+
|
|
528
|
+
## 7. 风险和缓解
|
|
529
|
+
|
|
530
|
+
### 7.1 信息过时风险
|
|
531
|
+
|
|
532
|
+
**风险**:服务地址、API 变更后,Skills 未及时更新
|
|
533
|
+
|
|
534
|
+
**缓解措施**:
|
|
535
|
+
- CI/CD 集成健康检查,URL 失效时告警
|
|
536
|
+
- 每次部署变更后,自动 PR 提醒更新 Skills
|
|
537
|
+
- 每月定期 Review
|
|
538
|
+
|
|
539
|
+
### 7.2 敏感信息泄露
|
|
540
|
+
|
|
541
|
+
**风险**:不小心在 Skills 中包含密钥
|
|
542
|
+
|
|
543
|
+
**缓解措施**:
|
|
544
|
+
- PR Review 强制检查
|
|
545
|
+
- Git hooks 检测敏感信息
|
|
546
|
+
- NPM 包发布前扫描
|
|
547
|
+
|
|
548
|
+
### 7.3 Skills 加载失败
|
|
549
|
+
|
|
550
|
+
**风险**:YAML 格式错误,导致 Skill 无法加载
|
|
551
|
+
|
|
552
|
+
**缓解措施**:
|
|
553
|
+
- YAML 格式验证工具
|
|
554
|
+
- CI 自动检查所有 SKILL.md
|
|
555
|
+
- 提供验证脚本
|
|
556
|
+
|
|
557
|
+
### 7.4 维护负担
|
|
558
|
+
|
|
559
|
+
**风险**:27+ 仓库,维护 15 个 Skills 工作量大
|
|
560
|
+
|
|
561
|
+
**缓解措施**:
|
|
562
|
+
- 模板化内容生成
|
|
563
|
+
- 自动化信息提取(从 README/OpenAPI)
|
|
564
|
+
- 核心 Skills 优先维护
|
|
565
|
+
|
|
566
|
+
## 8. 附录
|
|
567
|
+
|
|
568
|
+
### 8.1 Claude Skills 技术参考
|
|
569
|
+
|
|
570
|
+
**官方文档**: https://docs.claude.com/en/docs/agents-and-tools/agent-skills
|
|
571
|
+
|
|
572
|
+
**核心特性**:
|
|
573
|
+
- Progressive Disclosure(渐进式加载)
|
|
574
|
+
- Metadata Scanning(~100 tokens)
|
|
575
|
+
- Full Content Loading(<5k tokens)
|
|
576
|
+
- Tool Restriction(allowed-tools)
|
|
577
|
+
|
|
578
|
+
**最佳实践**:
|
|
579
|
+
- Description 要包含关键词
|
|
580
|
+
- 内容组织清晰(标题、列表、表格)
|
|
581
|
+
- 避免冗余信息
|
|
582
|
+
- 提供可操作的指引
|
|
583
|
+
|
|
584
|
+
### 8.2 相关项目参考
|
|
585
|
+
|
|
586
|
+
**类似项目**:
|
|
587
|
+
- cc-chat - Claude Code 社区 CLI
|
|
588
|
+
- optima-ops-cli - 运维监控 CLI(47命令)
|
|
589
|
+
- awesome-claude-skills - 社区 Skills 集合
|
|
590
|
+
|
|
591
|
+
**技术栈对比**:
|
|
592
|
+
- cc-chat: TypeScript + NPM 包分发 ✅
|
|
593
|
+
- optima-ops-cli: TypeScript + 配置驱动 ✅
|
|
594
|
+
- 本项目: 结合两者优势
|
|
595
|
+
|
|
596
|
+
### 8.3 团队协作
|
|
597
|
+
|
|
598
|
+
**负责人**:
|
|
599
|
+
- 技术架构: 待定
|
|
600
|
+
- 内容编写: 待定
|
|
601
|
+
- 脚本开发: 待定
|
|
602
|
+
- 测试验证: 全员
|
|
603
|
+
|
|
604
|
+
**沟通渠道**:
|
|
605
|
+
- GitHub Issues: 功能需求和 Bug
|
|
606
|
+
- PR Review: 内容审核
|
|
607
|
+
- 周会: 进度同步
|
|
608
|
+
|
|
609
|
+
---
|
|
610
|
+
|
|
611
|
+
**文档版本**: 1.0.0
|
|
612
|
+
**最后更新**: 2025-11-23
|
|
613
|
+
**下一步**: 等待团队 Review 和确认关键技术决策
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Codex Migration Notes
|
|
2
|
+
|
|
3
|
+
This repository now supports both Claude Code and Codex from the same npm package.
|
|
4
|
+
|
|
5
|
+
## Compatibility Model
|
|
6
|
+
|
|
7
|
+
The package is split into three layers:
|
|
8
|
+
|
|
9
|
+
1. Execution layer
|
|
10
|
+
`bin/helpers/*.ts` contains the actual implementation for database access, environment inspection, token generation, and account operations.
|
|
11
|
+
|
|
12
|
+
2. Claude adapter layer
|
|
13
|
+
`.claude/commands/*` and `.claude/skills/*` keep the existing Claude Code workflow intact.
|
|
14
|
+
|
|
15
|
+
3. Codex adapter layer
|
|
16
|
+
`.codex/skills/*` and `AGENTS.md` provide the Codex-facing usage guidance.
|
|
17
|
+
|
|
18
|
+
## Installation Behavior
|
|
19
|
+
|
|
20
|
+
`npm install -g @optima-chat/dev-skills` now installs:
|
|
21
|
+
|
|
22
|
+
- Claude commands into `~/.claude/commands`
|
|
23
|
+
- Claude skills into `~/.claude/skills`
|
|
24
|
+
- Codex skills into `~/.codex/skills/optima-dev`
|
|
25
|
+
|
|
26
|
+
If `CODEX_HOME` is set, Codex skills are installed into `$CODEX_HOME/skills/optima-dev` instead.
|
|
27
|
+
|
|
28
|
+
## Mapping Strategy
|
|
29
|
+
|
|
30
|
+
Claude slash commands are not copied verbatim into Codex. Codex skills instead describe:
|
|
31
|
+
|
|
32
|
+
- when to use the capability
|
|
33
|
+
- which CLI to prefer
|
|
34
|
+
- what fallback shell workflow exists
|
|
35
|
+
- what safety rules apply
|
|
36
|
+
|
|
37
|
+
That keeps Codex guidance focused on intent and local command execution rather than Claude-specific slash command semantics.
|
|
38
|
+
|
|
39
|
+
## Maintenance Rules
|
|
40
|
+
|
|
41
|
+
- Keep implementation logic in `bin/helpers/*`.
|
|
42
|
+
- Keep Claude-specific UX only in `.claude/*`.
|
|
43
|
+
- Keep Codex-specific UX only in `.codex/*`.
|
|
44
|
+
- When behavior changes, update both `.claude/skills/*` and `.codex/skills/*` if the user-facing workflow changes.
|
package/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@optima-chat/dev-skills",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.28",
|
|
4
4
|
"description": "Claude Code Skills for Optima development team - cross-environment collaboration tools",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"bin": {
|
|
7
|
-
"optima-dev-skills": "
|
|
8
|
-
"optima-query-db": "
|
|
9
|
-
"optima-generate-test-token": "
|
|
10
|
-
"optima-show-env": "
|
|
11
|
-
"optima-grant-subscription": "
|
|
12
|
-
"optima-grant-credits": "
|
|
7
|
+
"optima-dev-skills": "bin/cli.js",
|
|
8
|
+
"optima-query-db": "dist/bin/helpers/query-db.js",
|
|
9
|
+
"optima-generate-test-token": "dist/bin/helpers/generate-test-token.js",
|
|
10
|
+
"optima-show-env": "dist/bin/helpers/show-env.js",
|
|
11
|
+
"optima-grant-subscription": "dist/bin/helpers/grant-subscription.js",
|
|
12
|
+
"optima-grant-credits": "dist/bin/helpers/grant-credits.js"
|
|
13
13
|
},
|
|
14
14
|
"scripts": {
|
|
15
15
|
"postinstall": "node scripts/install.js",
|
|
@@ -40,7 +40,10 @@
|
|
|
40
40
|
},
|
|
41
41
|
"files": [
|
|
42
42
|
".claude",
|
|
43
|
+
".codex",
|
|
44
|
+
"AGENTS.md",
|
|
43
45
|
"bin",
|
|
46
|
+
"docs",
|
|
44
47
|
"dist",
|
|
45
48
|
"scripts",
|
|
46
49
|
"README.md",
|