@vincent119/go-copilot-rules 1.0.0
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/.agent_agy/INSTALLATION.md +786 -0
- package/.agent_agy/README.md +243 -0
- package/.agent_agy/SKILLS_INDEX.md +516 -0
- package/.agent_agy/rules/go-core.copilot-instructions.md +251 -0
- package/.agent_agy/skills/go-api-design/SKILL.md +535 -0
- package/.agent_agy/skills/go-ci-tooling/SKILL.md +533 -0
- package/.agent_agy/skills/go-configuration/SKILL.md +609 -0
- package/.agent_agy/skills/go-database/SKILL.md +412 -0
- package/.agent_agy/skills/go-ddd/SKILL.md +374 -0
- package/.agent_agy/skills/go-dependency-injection/SKILL.md +546 -0
- package/.agent_agy/skills/go-domain-events/SKILL.md +525 -0
- package/.agent_agy/skills/go-examples/SKILL.md +690 -0
- package/.agent_agy/skills/go-graceful-shutdown/SKILL.md +708 -0
- package/.agent_agy/skills/go-grpc/SKILL.md +484 -0
- package/.agent_agy/skills/go-http-advanced/SKILL.md +494 -0
- package/.agent_agy/skills/go-observability/SKILL.md +684 -0
- package/.agent_agy/skills/go-testing-advanced/SKILL.md +573 -0
- package/LICENSE +21 -0
- package/README.md +176 -0
- package/cli/install.js +344 -0
- package/package.json +47 -0
|
@@ -0,0 +1,516 @@
|
|
|
1
|
+
# Go Skills 索引
|
|
2
|
+
|
|
3
|
+
本文件列出所有可用的 Go Skills,包含觸發關鍵字、適用場景與內容概述。
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 核心規範(Always-On)
|
|
8
|
+
|
|
9
|
+
### `rules/go-core.copilot-instructions.md`
|
|
10
|
+
|
|
11
|
+
**觸發時機**:所有 Go 程式碼編輯
|
|
12
|
+
|
|
13
|
+
**Token 消耗**:~2,500 tokens
|
|
14
|
+
|
|
15
|
+
**包含內容**:
|
|
16
|
+
- ✅ Copilot 產生守則(導入、錯誤處理、函式設計)
|
|
17
|
+
- ✅ 基礎錯誤處理(`fmt.Errorf`、`errors.Is/As`、錯誤類型定義)
|
|
18
|
+
- ✅ Functional Options Pattern
|
|
19
|
+
- ✅ JSON Tag 與 Struct Tag 規範
|
|
20
|
+
- ✅ 命名慣例(變數、函式、套件)
|
|
21
|
+
- ✅ 註解規範(Godoc)
|
|
22
|
+
|
|
23
|
+
**適用場景**:
|
|
24
|
+
- 所有 Go 程式碼撰寫
|
|
25
|
+
- 定義函式與結構體
|
|
26
|
+
- 處理錯誤
|
|
27
|
+
- 設計選項式 API
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Skills(按需載入)
|
|
32
|
+
|
|
33
|
+
### 1. `skills/go-ddd/SKILL.md` - DDD 架構設計
|
|
34
|
+
|
|
35
|
+
**觸發關鍵字**:
|
|
36
|
+
```
|
|
37
|
+
ddd, domain driven design, bounded context, aggregate, aggregate root,
|
|
38
|
+
entity, value object, repository pattern, domain service, domain model,
|
|
39
|
+
ddd architecture, layered architecture, hexagonal architecture
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
**Token 消耗**:~1,200 tokens
|
|
43
|
+
|
|
44
|
+
**包含內容**:
|
|
45
|
+
- ✅ Bounded Context 設計
|
|
46
|
+
- ✅ Aggregate Root 規範
|
|
47
|
+
- ✅ Entity vs Value Object
|
|
48
|
+
- ✅ Repository Pattern
|
|
49
|
+
- ✅ Domain Service vs Application Service
|
|
50
|
+
- ✅ 四層架構(Domain/Application/Infrastructure/Delivery)
|
|
51
|
+
- ✅ Shared Kernel 設計
|
|
52
|
+
|
|
53
|
+
**適用場景**:
|
|
54
|
+
- 設計 DDD 架構
|
|
55
|
+
- 建立 Aggregate 與 Entity
|
|
56
|
+
- 實作 Repository Interface
|
|
57
|
+
- 設計微服務邊界
|
|
58
|
+
|
|
59
|
+
**相關 Skills**:`go-domain-events`、`go-dependency-injection`
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
### 2. `skills/go-grpc/SKILL.md` - gRPC 完整規範
|
|
64
|
+
|
|
65
|
+
**觸發關鍵字**:
|
|
66
|
+
```
|
|
67
|
+
grpc, protobuf, proto, rpc, buf, grpc server, grpc client, interceptor,
|
|
68
|
+
middleware, health check, grpc-health, reflection, grpc metadata, deadline,
|
|
69
|
+
context propagation, grpc stream, unary rpc
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
**Token 消耗**:~1,500 tokens
|
|
73
|
+
|
|
74
|
+
**包含內容**:
|
|
75
|
+
- ✅ Proto 檔案管理(Buf 配置)
|
|
76
|
+
- ✅ Interceptor 設計(Logging、Auth、Metrics)
|
|
77
|
+
- ✅ 健康檢查協議(grpc_health_v1)
|
|
78
|
+
- ✅ 錯誤代碼映射(gRPC Code ↔ HTTP Status)
|
|
79
|
+
- ✅ Deadline 處理
|
|
80
|
+
- ✅ Metadata 傳遞
|
|
81
|
+
- ✅ Stream vs Unary RPC
|
|
82
|
+
|
|
83
|
+
**適用場景**:
|
|
84
|
+
- 實作 gRPC 服務
|
|
85
|
+
- 配置 Buf 與 protoc
|
|
86
|
+
- 設計 Interceptor
|
|
87
|
+
- gRPC 與 HTTP 整合
|
|
88
|
+
|
|
89
|
+
**相關 Skills**:`go-observability`、`go-graceful-shutdown`
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
### 3. `skills/go-testing-advanced/SKILL.md` - 進階測試策略
|
|
94
|
+
|
|
95
|
+
**觸機關鍵字**:
|
|
96
|
+
```
|
|
97
|
+
testing, unit test, integration test, mock, gomock, testify, table driven test,
|
|
98
|
+
test coverage, benchmark, fuzz test, testcontainers, test fixtures, test helper,
|
|
99
|
+
parallel test, sub test
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
**Token 消耗**:~1,500 tokens
|
|
103
|
+
|
|
104
|
+
**包含內容**:
|
|
105
|
+
- ✅ Table-driven Tests
|
|
106
|
+
- ✅ Mock 生成與使用(uber-go/mock)
|
|
107
|
+
- ✅ 整合測試設計(testcontainers)
|
|
108
|
+
- ✅ Benchmark 與 Profiling
|
|
109
|
+
- ✅ Fuzz Testing
|
|
110
|
+
- ✅ 測試覆蓋率要求
|
|
111
|
+
- ✅ Parallel Tests 設計
|
|
112
|
+
|
|
113
|
+
**適用場景**:
|
|
114
|
+
- 撰寫單元測試
|
|
115
|
+
- 整合測試(Database、Redis、Kafka)
|
|
116
|
+
- 效能測試
|
|
117
|
+
- 生成 Mock
|
|
118
|
+
|
|
119
|
+
**相關 Skills**:`go-dependency-injection`、`go-examples`
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
### 4. `skills/go-database/SKILL.md` - Database Migration 與 ORM
|
|
124
|
+
|
|
125
|
+
**觸發關鍵字**:
|
|
126
|
+
```
|
|
127
|
+
database, migration, migrate, goose, gorm, sqlx, sql, postgres, mysql,
|
|
128
|
+
schema migration, database versioning, migration rollback, orm, query builder,
|
|
129
|
+
pt-online-schema-change, large table migration
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
**Token 消耗**:~1,200 tokens
|
|
133
|
+
|
|
134
|
+
**包含內容**:
|
|
135
|
+
- ✅ Migration 工具(golang-migrate、goose)
|
|
136
|
+
- ✅ Migration 命名慣例
|
|
137
|
+
- ✅ 大型表變更策略(pt-online-schema-change)
|
|
138
|
+
- ✅ Migration 版本控制
|
|
139
|
+
- ✅ CI/CD 整合
|
|
140
|
+
- ✅ Rollback 策略
|
|
141
|
+
- ✅ GORM vs SQLX 使用時機
|
|
142
|
+
|
|
143
|
+
**適用場景**:
|
|
144
|
+
- Database Schema 變更
|
|
145
|
+
- Migration 管理
|
|
146
|
+
- ORM 選擇與使用
|
|
147
|
+
- 大表 DDL 操作
|
|
148
|
+
|
|
149
|
+
**相關 Skills**:`go-ddd`(Repository Pattern)
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
### 5. `skills/go-observability/SKILL.md` - 日誌與可觀測性
|
|
154
|
+
|
|
155
|
+
**觸發關鍵字**:
|
|
156
|
+
```
|
|
157
|
+
logging, zap, logrus, structured logging, metrics, prometheus, tracing,
|
|
158
|
+
opentelemetry, jaeger, observability, context propagation, log level,
|
|
159
|
+
metrics naming, label cardinality, span, trace id
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
**Token 消耗**:~1,500 tokens
|
|
163
|
+
|
|
164
|
+
**包含內容**:
|
|
165
|
+
- ✅ 結構化日誌(Zap)
|
|
166
|
+
- ✅ Metrics 設計(Prometheus)
|
|
167
|
+
- ✅ Tracing 整合(OpenTelemetry)
|
|
168
|
+
- ✅ Context 傳遞(Trace ID、Request ID)
|
|
169
|
+
- ✅ Metrics 命名慣例
|
|
170
|
+
- ✅ Label 規範(避免高基數)
|
|
171
|
+
- ✅ 日誌等級規範
|
|
172
|
+
|
|
173
|
+
**適用場景**:
|
|
174
|
+
- 實作結構化日誌
|
|
175
|
+
- 設計 Metrics
|
|
176
|
+
- 整合 Tracing
|
|
177
|
+
- 可觀測性架構
|
|
178
|
+
|
|
179
|
+
**相關 Skills**:`go-grpc`(Interceptor)、`go-http-advanced`(Middleware)
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
### 6. `skills/go-graceful-shutdown/SKILL.md` - 優雅關機模式
|
|
184
|
+
|
|
185
|
+
**觸發關鍵字**:
|
|
186
|
+
```
|
|
187
|
+
graceful shutdown, signal handling, sigterm, sigint, shutdown, cleanup,
|
|
188
|
+
kubernetes, prestop, prestop hook, http shutdown, grpc gracefulstop,
|
|
189
|
+
context cancellation, background worker
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
**Token 消耗**:~800 tokens
|
|
193
|
+
|
|
194
|
+
**包含內容**:
|
|
195
|
+
- ✅ Signal 處理(SIGTERM、SIGINT)
|
|
196
|
+
- ✅ HTTP Server 優雅關機
|
|
197
|
+
- ✅ gRPC Server GracefulStop
|
|
198
|
+
- ✅ Background Worker 停止
|
|
199
|
+
- ✅ 資源清理順序
|
|
200
|
+
- ✅ Kubernetes preStop Hook
|
|
201
|
+
- ✅ 測試方法
|
|
202
|
+
|
|
203
|
+
**適用場景**:
|
|
204
|
+
- 實作優雅關機
|
|
205
|
+
- Kubernetes 整合
|
|
206
|
+
- Background Worker 管理
|
|
207
|
+
- 資源清理
|
|
208
|
+
|
|
209
|
+
**相關 Skills**:`go-grpc`、`go-http-advanced`
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
### 7. `skills/go-http-advanced/SKILL.md` - HTTP 進階實作
|
|
214
|
+
|
|
215
|
+
**觸發關鍵字**:
|
|
216
|
+
```
|
|
217
|
+
http client, http transport, retry, backoff, connection pool, timeout,
|
|
218
|
+
context, multipart upload, body replay, middleware, http.Client, httpdo,
|
|
219
|
+
exponential backoff, circuit breaker
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
**Token 消耗**:~1,500 tokens
|
|
223
|
+
|
|
224
|
+
**包含內容**:
|
|
225
|
+
- ✅ Transport 重用與配置
|
|
226
|
+
- ✅ 重試策略與指數退避
|
|
227
|
+
- ✅ Body 重播機制
|
|
228
|
+
- ✅ Multipart 上傳
|
|
229
|
+
- ✅ 逾時控制(3 層)
|
|
230
|
+
- ✅ HTTP Middleware 設計
|
|
231
|
+
- ✅ Connection Pool 管理
|
|
232
|
+
|
|
233
|
+
**適用場景**:
|
|
234
|
+
- 實作 HTTP Client
|
|
235
|
+
- 設計重試策略
|
|
236
|
+
- Multipart 檔案上傳
|
|
237
|
+
- HTTP Middleware
|
|
238
|
+
|
|
239
|
+
**相關 Skills**:`go-observability`、`go-api-design`
|
|
240
|
+
|
|
241
|
+
---
|
|
242
|
+
|
|
243
|
+
### 8. `skills/go-api-design/SKILL.md` - API 設計與版本管理
|
|
244
|
+
|
|
245
|
+
**觸發關鍵字**:
|
|
246
|
+
```
|
|
247
|
+
api design, rest api, json envelope, api versioning, pagination, swagger,
|
|
248
|
+
openapi, deprecation, http status code, response format, api best practices,
|
|
249
|
+
cursor pagination, offset pagination, rate limiting
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
**Token 消耗**:~1,500 tokens
|
|
253
|
+
|
|
254
|
+
**包含內容**:
|
|
255
|
+
- ✅ JSON Envelope 模式
|
|
256
|
+
- ✅ API 版本管理(路徑版本、Header 版本)
|
|
257
|
+
- ✅ 棄用通知(Deprecation Header)
|
|
258
|
+
- ✅ Pagination(Cursor-Based、Offset-Based)
|
|
259
|
+
- ✅ Filter、Sort 設計
|
|
260
|
+
- ✅ Swagger/OpenAPI 整合
|
|
261
|
+
- ✅ HTTP 狀態碼最佳實務
|
|
262
|
+
- ✅ Rate Limiting
|
|
263
|
+
|
|
264
|
+
**適用場景**:
|
|
265
|
+
- 設計 RESTful API
|
|
266
|
+
- API 版本控制
|
|
267
|
+
- 分頁與篩選
|
|
268
|
+
- OpenAPI 文件
|
|
269
|
+
|
|
270
|
+
**相關 Skills**:`go-http-advanced`、`go-examples`
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
|
|
274
|
+
### 9. `skills/go-dependency-injection/SKILL.md` - 依賴注入模式
|
|
275
|
+
|
|
276
|
+
**觸發關鍵字**:
|
|
277
|
+
```
|
|
278
|
+
dependency injection, uber fx, google wire, interface design, constructor,
|
|
279
|
+
mock, testable code, lifecycle, module, provider, invoke, wire, fx
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
**Token 消耗**:~1,200 tokens
|
|
283
|
+
|
|
284
|
+
**包含內容**:
|
|
285
|
+
- ✅ Interface 設計原則
|
|
286
|
+
- ✅ Constructor Pattern
|
|
287
|
+
- ✅ Functional Options Pattern
|
|
288
|
+
- ✅ Uber Fx 使用(Module、Lifecycle)
|
|
289
|
+
- ✅ Google Wire 使用(Provider Set)
|
|
290
|
+
- ✅ 測試模式(Mock Interface)
|
|
291
|
+
- ✅ 避免循環依賴
|
|
292
|
+
|
|
293
|
+
**適用場景**:
|
|
294
|
+
- 使用 Fx/Wire
|
|
295
|
+
- 設計可測試架構
|
|
296
|
+
- Interface 設計
|
|
297
|
+
- 模組化系統
|
|
298
|
+
|
|
299
|
+
**相關 Skills**:`go-testing-advanced`、`go-ddd`
|
|
300
|
+
|
|
301
|
+
---
|
|
302
|
+
|
|
303
|
+
### 10. `skills/go-configuration/SKILL.md` - 設定管理
|
|
304
|
+
|
|
305
|
+
**觸發關鍵字**:
|
|
306
|
+
```
|
|
307
|
+
configuration, viper, environment variables, secrets, validation, env vars,
|
|
308
|
+
config reload, 12-factor, configmap, kubernetes config, dotenv, yaml config,
|
|
309
|
+
dynamic reload, config validation
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
**Token 消耗**:~1,200 tokens
|
|
313
|
+
|
|
314
|
+
**包含內容**:
|
|
315
|
+
- ✅ Viper 配置
|
|
316
|
+
- ✅ 環境變數優先級
|
|
317
|
+
- ✅ Secrets 處理(AWS Secrets Manager、Kubernetes Secret)
|
|
318
|
+
- ✅ 設定驗證(validator)
|
|
319
|
+
- ✅ 動態重載(viper.WatchConfig)
|
|
320
|
+
- ✅ 多環境管理(dev/staging/prod)
|
|
321
|
+
- ✅ 12-Factor App 原則
|
|
322
|
+
|
|
323
|
+
**適用場景**:
|
|
324
|
+
- 使用 Viper 管理設定
|
|
325
|
+
- 環境變數管理
|
|
326
|
+
- Secrets 處理
|
|
327
|
+
- 動態重載設定
|
|
328
|
+
|
|
329
|
+
**相關 Skills**:`go-observability`(日誌配置)
|
|
330
|
+
|
|
331
|
+
---
|
|
332
|
+
|
|
333
|
+
### 11. `skills/go-ci-tooling/SKILL.md` - CI/CD 與工具配置
|
|
334
|
+
|
|
335
|
+
**觸發關鍵字**:
|
|
336
|
+
```
|
|
337
|
+
ci/cd, makefile, golangci-lint, github actions, docker, pre-commit,
|
|
338
|
+
test coverage, lint, build automation, continuous integration, pipeline,
|
|
339
|
+
dockerfile, multi-stage build
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
**Token 消耗**:~1,200 tokens
|
|
343
|
+
|
|
344
|
+
**包含內容**:
|
|
345
|
+
- ✅ Makefile 設計(build、test、lint)
|
|
346
|
+
- ✅ golangci-lint 配置(.golangci.yml)
|
|
347
|
+
- ✅ GitHub Actions(CI Pipeline、Release)
|
|
348
|
+
- ✅ Docker 多階段建置
|
|
349
|
+
- ✅ Pre-commit Hook
|
|
350
|
+
- ✅ 測試覆蓋率報告
|
|
351
|
+
- ✅ 版本注入(Ldflags)
|
|
352
|
+
|
|
353
|
+
**適用場景**:
|
|
354
|
+
- 設計 CI/CD Pipeline
|
|
355
|
+
- 配置 golangci-lint
|
|
356
|
+
- 撰寫 Makefile
|
|
357
|
+
- Docker 建置
|
|
358
|
+
|
|
359
|
+
**相關 Skills**:`go-testing-advanced`
|
|
360
|
+
|
|
361
|
+
---
|
|
362
|
+
|
|
363
|
+
### 12. `skills/go-domain-events/SKILL.md` - Domain Events 實作
|
|
364
|
+
|
|
365
|
+
**觸發關鍵字**:
|
|
366
|
+
```
|
|
367
|
+
domain events, event bus, outbox pattern, idempotency, event sourcing,
|
|
368
|
+
async events, event-driven, message queue, event publishing, saga pattern,
|
|
369
|
+
event store, event replay
|
|
370
|
+
```
|
|
371
|
+
|
|
372
|
+
**Token 消耗**:~1,500 tokens
|
|
373
|
+
|
|
374
|
+
**包含內容**:
|
|
375
|
+
- ✅ 事件定義(Event vs Command)
|
|
376
|
+
- ✅ Event Bus 實作(In-Memory、Message Queue)
|
|
377
|
+
- ✅ Outbox Pattern(Transaction + 事件發布)
|
|
378
|
+
- ✅ 冪等性處理(Processed Events Table)
|
|
379
|
+
- ✅ Event Sourcing 基礎
|
|
380
|
+
- ✅ 非同步事件處理
|
|
381
|
+
- ✅ 事件重播
|
|
382
|
+
|
|
383
|
+
**適用場景**:
|
|
384
|
+
- DDD Domain Events
|
|
385
|
+
- Outbox Pattern
|
|
386
|
+
- Event Sourcing
|
|
387
|
+
- 微服務解耦
|
|
388
|
+
|
|
389
|
+
**相關 Skills**:`go-ddd`、`go-database`
|
|
390
|
+
|
|
391
|
+
---
|
|
392
|
+
|
|
393
|
+
### 13. `skills/go-examples/SKILL.md` - 實作範例庫
|
|
394
|
+
|
|
395
|
+
**觸發關鍵字**:
|
|
396
|
+
```
|
|
397
|
+
examples, code examples, http client example, repository pattern,
|
|
398
|
+
use case example, handler example, service example, best practices, template,
|
|
399
|
+
complete example, reference implementation
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
**Token 消耗**:~1,500 tokens
|
|
403
|
+
|
|
404
|
+
**包含內容**:
|
|
405
|
+
- ✅ HTTP Client 完整範例
|
|
406
|
+
- ✅ Repository Pattern 實作(PostgreSQL)
|
|
407
|
+
- ✅ Use Case 範例(建立使用者)
|
|
408
|
+
- ✅ HTTP Handler 範例(RESTful API)
|
|
409
|
+
- ✅ Service 主程式範例(main.go)
|
|
410
|
+
- ✅ 完整的依賴注入
|
|
411
|
+
- ✅ 優雅關機整合
|
|
412
|
+
|
|
413
|
+
**適用場景**:
|
|
414
|
+
- 參考完整實作
|
|
415
|
+
- 學習最佳實務
|
|
416
|
+
- 快速啟動新專案
|
|
417
|
+
- 程式碼審查參考
|
|
418
|
+
|
|
419
|
+
**相關 Skills**:所有 Skills(涵蓋多種場景)
|
|
420
|
+
|
|
421
|
+
---
|
|
422
|
+
|
|
423
|
+
## 使用建議
|
|
424
|
+
|
|
425
|
+
### 場景映射
|
|
426
|
+
|
|
427
|
+
| 你想做什麼? | 需要的 Skills |
|
|
428
|
+
|---------------------------------------|--------------------------------------------|
|
|
429
|
+
| 設計新的微服務 | `go-ddd`、`go-examples`、`go-dependency-injection` |
|
|
430
|
+
| 實作 gRPC 服務 | `go-grpc`、`go-observability`、`go-graceful-shutdown` |
|
|
431
|
+
| 撰寫單元測試 | `go-testing-advanced`、`go-dependency-injection` |
|
|
432
|
+
| 設計 RESTful API | `go-api-design`、`go-http-advanced`、`go-observability` |
|
|
433
|
+
| Database Schema Migration | `go-database` |
|
|
434
|
+
| 實作 Domain Events | `go-domain-events`、`go-ddd`、`go-database` |
|
|
435
|
+
| CI/CD Pipeline | `go-ci-tooling`、`go-testing-advanced` |
|
|
436
|
+
| 設定管理(Viper) | `go-configuration` |
|
|
437
|
+
| HTTP Client 實作 | `go-http-advanced`、`go-examples` |
|
|
438
|
+
| 依賴注入(Fx/Wire) | `go-dependency-injection`、`go-examples` |
|
|
439
|
+
|
|
440
|
+
### 提問技巧
|
|
441
|
+
|
|
442
|
+
**❌ 不明確**:
|
|
443
|
+
- "如何處理錯誤?"(只會載入核心規範)
|
|
444
|
+
|
|
445
|
+
**✅ 明確**:
|
|
446
|
+
- "如何使用 Outbox Pattern 實作 Domain Events?"(觸發 `go-domain-events`)
|
|
447
|
+
- "設計 gRPC Interceptor 記錄日誌"(觸發 `go-grpc` + `go-observability`)
|
|
448
|
+
- "使用 Uber Fx 實作依賴注入"(觸發 `go-dependency-injection`)
|
|
449
|
+
|
|
450
|
+
### 關鍵字優化
|
|
451
|
+
|
|
452
|
+
**在你的問題或程式碼中包含這些詞彙**:
|
|
453
|
+
- **技術名詞**:gRPC、Viper、Fx、Wire、Outbox Pattern
|
|
454
|
+
- **實作目標**:Migration、Interceptor、Retry、Pagination
|
|
455
|
+
- **架構模式**:DDD、Repository Pattern、Event Sourcing
|
|
456
|
+
|
|
457
|
+
---
|
|
458
|
+
|
|
459
|
+
## Token 消耗統計
|
|
460
|
+
|
|
461
|
+
| 內容 | Token 消耗 |
|
|
462
|
+
|--------------------------|------------|
|
|
463
|
+
| 核心規範(always-on) | 2,500 |
|
|
464
|
+
| 單個 Skill(平均) | 1,200 |
|
|
465
|
+
| 2 個 Skills 同時載入 | 4,900 |
|
|
466
|
+
| 3 個 Skills 同時載入 | 6,100 |
|
|
467
|
+
| **原始檔案(全部載入)** | **7,500** |
|
|
468
|
+
|
|
469
|
+
**節省比例**:
|
|
470
|
+
- 簡單場景(0-1 Skill):**67-80%**
|
|
471
|
+
- 中等場景(2 Skills):**35%**
|
|
472
|
+
- 複雜場景(3+ Skills):**19-31%**
|
|
473
|
+
|
|
474
|
+
---
|
|
475
|
+
|
|
476
|
+
## 更新日誌
|
|
477
|
+
|
|
478
|
+
### v1.0.0(初始版本)
|
|
479
|
+
|
|
480
|
+
- ✅ 拆分原始三個檔案為 1 核心 + 12 Skills
|
|
481
|
+
- ✅ 建立豐富的 YAML frontmatter description
|
|
482
|
+
- ✅ 包含完整的檢查清單與程式碼範例
|
|
483
|
+
- ✅ 建立索引與使用指南
|
|
484
|
+
|
|
485
|
+
---
|
|
486
|
+
|
|
487
|
+
## 維護指南
|
|
488
|
+
|
|
489
|
+
### 新增 Skill
|
|
490
|
+
|
|
491
|
+
1. 建立 `.agent_agy/skills/<skill-name>/SKILL.md`
|
|
492
|
+
2. 包含 YAML frontmatter(description 含關鍵字)
|
|
493
|
+
3. 更新本文件(SKILLS_INDEX.md)
|
|
494
|
+
4. 測試觸發關鍵字
|
|
495
|
+
|
|
496
|
+
### 更新 Skill
|
|
497
|
+
|
|
498
|
+
- 編輯對應的 `SKILL.md`
|
|
499
|
+
- 若更改關鍵字,同步更新本文件
|
|
500
|
+
- 記錄變更到 UPDATE_LOG
|
|
501
|
+
|
|
502
|
+
### 刪除 Skill
|
|
503
|
+
|
|
504
|
+
- 刪除對應目錄
|
|
505
|
+
- 從本文件移除
|
|
506
|
+
- 檢查是否有其他 Skill 引用
|
|
507
|
+
|
|
508
|
+
---
|
|
509
|
+
|
|
510
|
+
## 貢獻
|
|
511
|
+
|
|
512
|
+
歡迎提交改進建議!請確保:
|
|
513
|
+
- 新 Skill 包含豐富的關鍵字
|
|
514
|
+
- 提供完整的程式碼範例
|
|
515
|
+
- 包含檢查清單
|
|
516
|
+
- 更新本索引文件
|