@optima-chat/dev-skills 0.7.26 → 0.7.27
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/settings.local.json +51 -0
- 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/dist/bin/helpers/generate-test-token.js +0 -0
- package/dist/bin/helpers/query-db.js +0 -0
- package/dist/bin/helpers/show-env.js +0 -0
- 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,394 @@
|
|
|
1
|
+
# Optima Dev Skills 命令设计方案 v2.0
|
|
2
|
+
|
|
3
|
+
**更新时间**: 2025-11-23
|
|
4
|
+
**状态**: 设计阶段
|
|
5
|
+
|
|
6
|
+
## 核心理念转变
|
|
7
|
+
|
|
8
|
+
### ❌ 旧设计(文档驱动)
|
|
9
|
+
```
|
|
10
|
+
Skills = 静态文档 + API 说明 + 配置信息
|
|
11
|
+
问题:开发者需要自己翻译成命令
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
### ✅ 新设计(命令驱动)
|
|
15
|
+
```
|
|
16
|
+
Skills = 可执行命令 + 场景驱动 + 快速操作
|
|
17
|
+
价值:Claude 直接执行,开发者零操作
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## 新目录结构
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
optima-dev-skills/
|
|
24
|
+
├── .claude/ # ⭐ Claude Code 配置目录
|
|
25
|
+
│ ├── commands/ # ⭐ 核心:Slash commands(50+ 可执行命令)
|
|
26
|
+
│ │ ├── logs/ # 日志查看命令组
|
|
27
|
+
│ │ │ ├── backend-logs.md
|
|
28
|
+
│ │ │ ├── ecs-logs.md
|
|
29
|
+
│ │ │ └── all-logs.md
|
|
30
|
+
│ │ ├── services/ # 服务管理命令组
|
|
31
|
+
│ │ │ ├── restart-service.md
|
|
32
|
+
│ │ │ ├── health-check.md
|
|
33
|
+
│ │ │ └── service-status.md
|
|
34
|
+
│ │ ├── database/ # 数据库命令组
|
|
35
|
+
│ │ │ ├── db-connect.md
|
|
36
|
+
│ │ │ ├── db-migrate.md
|
|
37
|
+
│ │ │ └── db-query.md
|
|
38
|
+
│ │ ├── testing/ # 测试数据命令组
|
|
39
|
+
│ │ │ ├── get-token.md
|
|
40
|
+
│ │ │ ├── create-test-user.md
|
|
41
|
+
│ │ │ ├── create-test-product.md
|
|
42
|
+
│ │ │ └── test-api.md
|
|
43
|
+
│ │ ├── deployment/ # 部署命令组
|
|
44
|
+
│ │ │ ├── deploy.md
|
|
45
|
+
│ │ │ ├── deploy-status.md
|
|
46
|
+
│ │ │ └── rollback.md
|
|
47
|
+
│ │ ├── mcp/ # MCP 工具命令组
|
|
48
|
+
│ │ │ ├── list-mcp-tools.md
|
|
49
|
+
│ │ │ ├── call-mcp-tool.md
|
|
50
|
+
│ │ │ └── register-mcp.md
|
|
51
|
+
│ │ └── workspace/ # 工作空间命令组
|
|
52
|
+
│ │ ├── workspace-sync.md
|
|
53
|
+
│ │ └── workspace-status.md
|
|
54
|
+
│ │
|
|
55
|
+
│ └── skills/ # 场景工作流指导(仅保留场景)
|
|
56
|
+
│ └── scenarios/ # ⭐ 场景驱动 Skills
|
|
57
|
+
│ ├── frontend-dev/
|
|
58
|
+
│ │ └── SKILL.md # 前端开发场景(引用命令)
|
|
59
|
+
│ └── backend-dev/
|
|
60
|
+
│ └── SKILL.md # 后端开发场景(引用命令)
|
|
61
|
+
│
|
|
62
|
+
└── docs/
|
|
63
|
+
├── TECHNICAL_DESIGN.md # V1 设计(已弃用)
|
|
64
|
+
└── COMMANDS_DESIGN.md # V2 命令驱动设计(当前版本)
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**设计原则**:
|
|
68
|
+
- **命令是核心** - 提供直接可执行的操作
|
|
69
|
+
- **场景是引导** - 告诉开发者什么时候用什么命令
|
|
70
|
+
- **避免重复** - 不复制各服务自己的 CLAUDE.md 内容
|
|
71
|
+
- **聚焦协作** - dev-skills 是"跨仓库协作"工具,不替代单仓库开发文档
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## 命令设计规范
|
|
75
|
+
|
|
76
|
+
### 命令模板
|
|
77
|
+
|
|
78
|
+
每个命令文件包含:
|
|
79
|
+
|
|
80
|
+
```markdown
|
|
81
|
+
# /command-name - 简短描述
|
|
82
|
+
|
|
83
|
+
详细说明这个命令的作用和使用场景
|
|
84
|
+
|
|
85
|
+
## 使用场景
|
|
86
|
+
|
|
87
|
+
**前端开发者**: 当你需要 XXX 时
|
|
88
|
+
**后端开发者**: 当你需要 YYY 时
|
|
89
|
+
|
|
90
|
+
## 用法
|
|
91
|
+
|
|
92
|
+
/command-name [参数1] [参数2]
|
|
93
|
+
|
|
94
|
+
## 参数
|
|
95
|
+
|
|
96
|
+
- `参数1` (必需): 说明
|
|
97
|
+
- `参数2` (可选): 说明,默认值 XXX
|
|
98
|
+
|
|
99
|
+
## 执行逻辑
|
|
100
|
+
|
|
101
|
+
Claude 应该执行以下步骤:
|
|
102
|
+
|
|
103
|
+
1. 检测当前环境(本地/Stage/Prod)
|
|
104
|
+
2. 根据环境选择命令
|
|
105
|
+
3. 执行并返回结果
|
|
106
|
+
|
|
107
|
+
## 命令示例
|
|
108
|
+
|
|
109
|
+
### 本地环境
|
|
110
|
+
\```bash
|
|
111
|
+
docker compose logs -f commerce-backend --tail 50
|
|
112
|
+
\```
|
|
113
|
+
|
|
114
|
+
### Stage-ECS
|
|
115
|
+
\```bash
|
|
116
|
+
aws logs tail /ecs/commerce-backend-stage --follow --since 5m
|
|
117
|
+
\```
|
|
118
|
+
|
|
119
|
+
### Prod
|
|
120
|
+
\```bash
|
|
121
|
+
ssh -i ~/.ssh/optima-ec2-key ec2-user@ec2-prod.optima.shop
|
|
122
|
+
docker logs -f optima-commerce-backend-prod --tail 50
|
|
123
|
+
\```
|
|
124
|
+
|
|
125
|
+
## 相关命令
|
|
126
|
+
|
|
127
|
+
- /health-check - 检查服务健康状态
|
|
128
|
+
- /restart-service - 重启服务
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
## Top 20 高频命令详细设计
|
|
132
|
+
|
|
133
|
+
### 1. `/logs` - 查看后端日志
|
|
134
|
+
|
|
135
|
+
**优先级**: P0(每天 20+ 次使用)
|
|
136
|
+
|
|
137
|
+
**参数**:
|
|
138
|
+
- `service`: 服务名(commerce-backend/user-auth/mcp-host)
|
|
139
|
+
- `lines`: 行数(默认 50)
|
|
140
|
+
- `follow`: 是否实时跟踪(默认 true)
|
|
141
|
+
|
|
142
|
+
**智能识别**:
|
|
143
|
+
- 自动检测当前工作目录(在 optima-store → 默认 commerce-backend)
|
|
144
|
+
- 自动检测环境(本地/Stage/Prod)
|
|
145
|
+
|
|
146
|
+
### 2. `/restart-service` - 重启服务
|
|
147
|
+
|
|
148
|
+
**优先级**: P0(每天 5-10 次)
|
|
149
|
+
|
|
150
|
+
**参数**:
|
|
151
|
+
- `service`: 服务名
|
|
152
|
+
- `environment`: 环境(local/stage/prod,默认 local)
|
|
153
|
+
|
|
154
|
+
**安全检查**:
|
|
155
|
+
- Prod 环境需要二次确认
|
|
156
|
+
- Stage/Prod 需要检查是否有权限
|
|
157
|
+
|
|
158
|
+
### 3. `/health-check` - 健康检查
|
|
159
|
+
|
|
160
|
+
**优先级**: P0(每天 10+ 次)
|
|
161
|
+
|
|
162
|
+
**参数**:
|
|
163
|
+
- `target`: 检查目标(service-name/all)
|
|
164
|
+
|
|
165
|
+
**返回**:
|
|
166
|
+
```
|
|
167
|
+
✅ commerce-backend: Running (200 OK)
|
|
168
|
+
✅ user-auth: Running (200 OK)
|
|
169
|
+
❌ mcp-host: Connection refused
|
|
170
|
+
✅ postgres: Connected
|
|
171
|
+
✅ redis: Connected
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### 4. `/query-db` - 查询数据库
|
|
175
|
+
|
|
176
|
+
**优先级**: P0(每天 5-10 次)
|
|
177
|
+
|
|
178
|
+
**参数**:
|
|
179
|
+
- `database`: 数据库名(commerce/auth/mcp)
|
|
180
|
+
- `environment`: 环境(local/stage/prod)
|
|
181
|
+
|
|
182
|
+
**执行**:
|
|
183
|
+
```bash
|
|
184
|
+
# 本地
|
|
185
|
+
psql postgresql://localhost:8282/optima_commerce
|
|
186
|
+
|
|
187
|
+
# Prod(通过 SSH 隧道)
|
|
188
|
+
ssh -L 5432:rds-endpoint:5432 ec2-user@ec2-prod.optima.shop
|
|
189
|
+
psql postgresql://localhost:5432/optima_commerce
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
### 5. `/get-token` - 获取 Token
|
|
193
|
+
|
|
194
|
+
**优先级**: P0(每天 5-10 次)
|
|
195
|
+
|
|
196
|
+
**参数**:
|
|
197
|
+
- `user`: 用户邮箱(默认 test@optima.ai)
|
|
198
|
+
- `environment`: 环境(local/stage/prod)
|
|
199
|
+
|
|
200
|
+
**执行**:
|
|
201
|
+
```bash
|
|
202
|
+
curl -X POST http://localhost:8290/auth/login \
|
|
203
|
+
-H "Content-Type: application/json" \
|
|
204
|
+
-d '{"email":"test@optima.ai","password":"test123"}' \
|
|
205
|
+
| jq -r '.access_token'
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
**智能存储**: 自动保存到环境变量 `$OPTIMA_TOKEN`
|
|
209
|
+
|
|
210
|
+
### 6. `/create-test-product` - 创建测试商品
|
|
211
|
+
|
|
212
|
+
**优先级**: P0(每天 3-5 次)
|
|
213
|
+
|
|
214
|
+
**参数**:
|
|
215
|
+
- `count`: 数量(默认 1)
|
|
216
|
+
- `merchant_id`: 商家 ID(默认当前用户)
|
|
217
|
+
|
|
218
|
+
**执行**: 自动获取 Token → 调用 API 创建
|
|
219
|
+
|
|
220
|
+
### 7. `/service-status` - 查看服务状态
|
|
221
|
+
|
|
222
|
+
**优先级**: P0(每天 5-10 次)
|
|
223
|
+
|
|
224
|
+
**参数**:
|
|
225
|
+
- `environment`: 环境(local/stage/prod/all)
|
|
226
|
+
|
|
227
|
+
**返回**: 表格形式显示所有服务状态
|
|
228
|
+
|
|
229
|
+
### 8. `/test-api` - 测试 API
|
|
230
|
+
|
|
231
|
+
**优先级**: P0(每天 10+ 次)
|
|
232
|
+
|
|
233
|
+
**参数**:
|
|
234
|
+
- `endpoint`: API 端点(/products, /orders, etc.)
|
|
235
|
+
- `method`: HTTP 方法(GET/POST/PUT/DELETE)
|
|
236
|
+
- `data`: 请求数据(JSON)
|
|
237
|
+
|
|
238
|
+
**智能补全**:
|
|
239
|
+
- 自动添加 Authorization header
|
|
240
|
+
- 自动选择正确的 base URL
|
|
241
|
+
|
|
242
|
+
### 9. `/deploy` - 部署服务
|
|
243
|
+
|
|
244
|
+
**优先级**: P1(每天 2-5 次)
|
|
245
|
+
|
|
246
|
+
**参数**:
|
|
247
|
+
- `service`: 服务名
|
|
248
|
+
- `environment`: 环境(stage/prod)
|
|
249
|
+
- `branch`: 分支(默认 main)
|
|
250
|
+
|
|
251
|
+
**执行**: 触发 GitHub Actions workflow
|
|
252
|
+
|
|
253
|
+
### 10. `/swagger` - 打开 Swagger 文档
|
|
254
|
+
|
|
255
|
+
**优先级**: P1(每天 3-5 次)
|
|
256
|
+
|
|
257
|
+
**参数**:
|
|
258
|
+
- `service`: 服务名
|
|
259
|
+
|
|
260
|
+
**执行**: 返回 Swagger URL 并自动在浏览器打开(如果可能)
|
|
261
|
+
|
|
262
|
+
---
|
|
263
|
+
|
|
264
|
+
### 11-20. 其他高频命令
|
|
265
|
+
|
|
266
|
+
- `/db-migrate` - 运行数据库迁移
|
|
267
|
+
- `/clear-redis` - 清理 Redis 缓存
|
|
268
|
+
- `/create-test-user` - 创建测试用户
|
|
269
|
+
- `/ecs-status` - ECS 服务状态
|
|
270
|
+
- `/workspace-sync` - 同步工作空间
|
|
271
|
+
- `/list-mcp-tools` - 列出 MCP 工具
|
|
272
|
+
- `/call-mcp-tool` - 调用 MCP 工具
|
|
273
|
+
- `/ssh` - SSH 连接服务器
|
|
274
|
+
- `/get-env` - 获取环境变量
|
|
275
|
+
- `/deploy-status` - 查看部署状态
|
|
276
|
+
|
|
277
|
+
## 场景驱动 Skills 设计
|
|
278
|
+
|
|
279
|
+
### scenarios/frontend-dev/SKILL.md
|
|
280
|
+
|
|
281
|
+
```markdown
|
|
282
|
+
---
|
|
283
|
+
name: "Frontend Development"
|
|
284
|
+
description: "前端开发场景 - 调试 API、测试数据、日志查看"
|
|
285
|
+
allowed-tools: ["Bash", "Read"]
|
|
286
|
+
---
|
|
287
|
+
|
|
288
|
+
# 前端开发场景
|
|
289
|
+
|
|
290
|
+
当你在开发 optima-store 或 agentic-chat 时,这个 Skill 提供常用操作。
|
|
291
|
+
|
|
292
|
+
## 常见任务
|
|
293
|
+
|
|
294
|
+
### 1. API 返回 500 错误
|
|
295
|
+
|
|
296
|
+
**问题**: 调用 commerce-backend API 返回 500
|
|
297
|
+
|
|
298
|
+
**解决步骤**:
|
|
299
|
+
1. `/logs commerce-backend 100` - 查看错误日志
|
|
300
|
+
2. `/query-db commerce` - 检查数据库数据
|
|
301
|
+
3. `/test-api /products GET` - 重现问题
|
|
302
|
+
|
|
303
|
+
### 2. 需要测试数据
|
|
304
|
+
|
|
305
|
+
**问题**: 本地数据库是空的,需要测试数据
|
|
306
|
+
|
|
307
|
+
**解决步骤**:
|
|
308
|
+
1. `/create-test-user` - 创建测试用户
|
|
309
|
+
2. `/create-test-product 10` - 创建 10 个测试商品
|
|
310
|
+
3. `/get-token` - 获取 Token 用于 API 调用
|
|
311
|
+
|
|
312
|
+
### 3. Token 过期
|
|
313
|
+
|
|
314
|
+
**问题**: API 返回 401 Unauthorized
|
|
315
|
+
|
|
316
|
+
**解决步骤**:
|
|
317
|
+
1. `/get-token` - 获取新的 Token
|
|
318
|
+
2. 更新前端代码中的 Token
|
|
319
|
+
|
|
320
|
+
## 快速命令
|
|
321
|
+
|
|
322
|
+
- `/logs commerce-backend` - 查看后端日志
|
|
323
|
+
- `/health-check all` - 检查所有服务
|
|
324
|
+
- `/swagger commerce-backend` - 打开 API 文档
|
|
325
|
+
- `/test-api [endpoint] [method]` - 测试 API
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
## 实施优先级
|
|
329
|
+
|
|
330
|
+
### Phase 1: MVP(本周完成)
|
|
331
|
+
|
|
332
|
+
**P0 命令**(10 个):
|
|
333
|
+
- ✅ `/logs`
|
|
334
|
+
- ✅ `/restart-service`
|
|
335
|
+
- ✅ `/health-check`
|
|
336
|
+
- ✅ `/query-db`
|
|
337
|
+
- ✅ `/get-token`
|
|
338
|
+
- ✅ `/create-test-product`
|
|
339
|
+
- ✅ `/create-test-user`
|
|
340
|
+
- ✅ `/service-status`
|
|
341
|
+
- ✅ `/test-api`
|
|
342
|
+
- ✅ `/swagger`
|
|
343
|
+
|
|
344
|
+
**场景 Skills**(2 个):
|
|
345
|
+
- ✅ `scenarios/frontend-dev`
|
|
346
|
+
- ✅ `scenarios/backend-dev`
|
|
347
|
+
|
|
348
|
+
### Phase 2: 完善(下周)
|
|
349
|
+
|
|
350
|
+
**P1 命令**(10 个):
|
|
351
|
+
- `/deploy`
|
|
352
|
+
- `/db-migrate`
|
|
353
|
+
- `/clear-redis`
|
|
354
|
+
- `/ecs-status`
|
|
355
|
+
- `/workspace-sync`
|
|
356
|
+
- `/list-mcp-tools`
|
|
357
|
+
- `/call-mcp-tool`
|
|
358
|
+
- `/ssh`
|
|
359
|
+
- `/get-env`
|
|
360
|
+
- `/deploy-status`
|
|
361
|
+
|
|
362
|
+
**❌ 不再实现服务级别 Skills**:
|
|
363
|
+
- 原计划:为每个服务创建 SKILL.md(commerce-backend、user-auth 等)
|
|
364
|
+
- **问题**:与各服务自己的 CLAUDE.md 重复,且角色错位
|
|
365
|
+
- **解决**:只保留场景 Skills,引用命令提供工作流指导
|
|
366
|
+
|
|
367
|
+
### Phase 3: 增强(两周后)
|
|
368
|
+
|
|
369
|
+
**P2 命令**(20+ 个):
|
|
370
|
+
- 性能分析、备份恢复、配置验证等
|
|
371
|
+
|
|
372
|
+
**可能新增的场景 Skills**(根据实际需求):
|
|
373
|
+
- `scenarios/debugging` - 问题排查场景
|
|
374
|
+
- `scenarios/onboarding` - 新人入职场景
|
|
375
|
+
|
|
376
|
+
## 成功指标
|
|
377
|
+
|
|
378
|
+
### 使用率
|
|
379
|
+
- 每个开发者每天使用命令 10+ 次
|
|
380
|
+
- Top 5 命令覆盖 80% 使用场景
|
|
381
|
+
|
|
382
|
+
### 效率提升
|
|
383
|
+
- 查看日志时间:从 2 分钟 → 10 秒
|
|
384
|
+
- 获取 Token 时间:从 1 分钟 → 5 秒
|
|
385
|
+
- 创建测试数据:从 5 分钟 → 30 秒
|
|
386
|
+
|
|
387
|
+
### 开发者反馈
|
|
388
|
+
- "不用记命令了,直接说需求"
|
|
389
|
+
- "Claude 自动判断环境,太智能了"
|
|
390
|
+
- "新人第一天就能上手"
|
|
391
|
+
|
|
392
|
+
---
|
|
393
|
+
|
|
394
|
+
**下一步**: 实现 Phase 1 的 10 个 P0 命令和 2 个场景 Skills
|