codymaster 4.4.4 → 4.5.1

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.
Files changed (190) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/README.md +29 -14
  3. package/commands/demo.md +1 -1
  4. package/dist/context-bus.js +70 -0
  5. package/dist/context-db.js +265 -0
  6. package/dist/continuity.js +12 -0
  7. package/dist/file-watcher.js +79 -0
  8. package/dist/index.js +152 -1
  9. package/dist/l0-indexer.js +158 -0
  10. package/dist/mcp-context-server.js +400 -0
  11. package/dist/migrate-json-to-sqlite.js +126 -0
  12. package/dist/skill-chain.js +19 -3
  13. package/dist/token-budget.js +108 -0
  14. package/dist/uri-resolver.js +203 -0
  15. package/package.json +7 -1
  16. package/skills/_shared/helpers.md +50 -14
  17. package/skills/cm-autopilot/SKILL.md +29 -0
  18. package/skills/cm-autopilot/scripts/autopilot.py +190 -0
  19. package/skills/cm-continuity/SKILL.md +90 -28
  20. package/skills/cm-quality-gate/SKILL.md +11 -1
  21. package/skills/cm-safe-deploy/SKILL.md +38 -2
  22. package/skills/cm-security-gate/SKILL.md +158 -34
  23. package/skills/cm-skill-chain/SKILL.md +47 -1
  24. package/skills/cm-start/SKILL.md +11 -2
  25. package/skills/cm-test-gate/SKILL.md +3 -0
  26. package/skills/boxme-git-config/SKILL.md +0 -56
  27. package/skills/boxme-local-dev/SKILL.md +0 -66
  28. package/skills/jobs-to-be-done/SKILL.md +0 -266
  29. package/skills/jobs-to-be-done/references/case-studies.md +0 -154
  30. package/skills/jobs-to-be-done/references/competitive-strategy.md +0 -280
  31. package/skills/jobs-to-be-done/references/diagnostics.md +0 -158
  32. package/skills/jobs-to-be-done/references/innovation-process.md +0 -392
  33. package/skills/jobs-to-be-done/references/organizational-change.md +0 -328
  34. package/skills/marketplace-report-crawler/SKILL.md +0 -176
  35. package/skills/marketplace-report-crawler/config/accounts.json +0 -41
  36. package/skills/marketplace-report-crawler/config/report-types.json +0 -422
  37. package/skills/marketplace-report-crawler/config/sessions.json +0 -3
  38. package/skills/marketplace-report-crawler/scripts/ab-wrapper.sh +0 -102
  39. package/skills/marketplace-report-crawler/scripts/browser-actions/lazada/lazada-actions.js +0 -114
  40. package/skills/marketplace-report-crawler/scripts/browser-actions/shopee/shopee-actions.js +0 -94
  41. package/skills/marketplace-report-crawler/scripts/browser-actions/tiktok/tiktok-actions.js +0 -272
  42. package/skills/marketplace-report-crawler/scripts/crawl-runner.js +0 -281
  43. package/skills/marketplace-report-crawler/scripts/session-check.sh +0 -72
  44. package/skills/marketplace-report-crawler/scripts/session-manager.sh +0 -349
  45. package/skills/marketplace-report-crawler/scripts/setup-folders.sh +0 -83
  46. package/skills/medical-research/SKILL.md +0 -194
  47. package/skills/medical-research/scripts/evidence_checker.py +0 -288
  48. package/skills/mom-test/SKILL.md +0 -267
  49. package/skills/mom-test/references/avoiding-bad-data.md +0 -221
  50. package/skills/mom-test/references/case-studies.md +0 -306
  51. package/skills/mom-test/references/commitment-advancement.md +0 -219
  52. package/skills/mom-test/references/finding-conversations.md +0 -251
  53. package/skills/mom-test/references/processing-learning.md +0 -256
  54. package/skills/mom-test/references/question-patterns.md +0 -198
  55. package/skills/pandasai-analytics/SKILL.md +0 -251
  56. package/skills/release-it/SKILL.md +0 -235
  57. package/skills/release-it/references/anti-patterns.md +0 -279
  58. package/skills/release-it/references/capacity-planning.md +0 -285
  59. package/skills/release-it/references/chaos-engineering.md +0 -325
  60. package/skills/release-it/references/deployment-strategies.md +0 -331
  61. package/skills/release-it/references/observability.md +0 -301
  62. package/skills/release-it/references/stability-patterns.md +0 -355
  63. package/skills/skill-creator-ultra/.agents/workflows/skill-audit.md +0 -37
  64. package/skills/skill-creator-ultra/.agents/workflows/skill-compare.md +0 -34
  65. package/skills/skill-creator-ultra/.agents/workflows/skill-export.md +0 -51
  66. package/skills/skill-creator-ultra/.agents/workflows/skill-generate.md +0 -39
  67. package/skills/skill-creator-ultra/.agents/workflows/skill-scaffold.md +0 -52
  68. package/skills/skill-creator-ultra/.agents/workflows/skill-simulate.md +0 -25
  69. package/skills/skill-creator-ultra/.agents/workflows/skill-stats.md +0 -31
  70. package/skills/skill-creator-ultra/.agents/workflows/skill-validate.md +0 -25
  71. package/skills/skill-creator-ultra/README.md +0 -1242
  72. package/skills/skill-creator-ultra/SKILL.md +0 -388
  73. package/skills/skill-creator-ultra/agents/analyzer.md +0 -274
  74. package/skills/skill-creator-ultra/agents/comparator.md +0 -202
  75. package/skills/skill-creator-ultra/agents/grader.md +0 -223
  76. package/skills/skill-creator-ultra/assets/eval_review.html +0 -146
  77. package/skills/skill-creator-ultra/eval-viewer/generate_review.py +0 -471
  78. package/skills/skill-creator-ultra/eval-viewer/viewer.html +0 -1325
  79. package/skills/skill-creator-ultra/examples/example_anthropic_frontend.md +0 -109
  80. package/skills/skill-creator-ultra/examples/example_anthropic_pdf.md +0 -116
  81. package/skills/skill-creator-ultra/examples/example_api_docs.md +0 -189
  82. package/skills/skill-creator-ultra/examples/example_db_migration.md +0 -253
  83. package/skills/skill-creator-ultra/examples/example_git_commit.md +0 -111
  84. package/skills/skill-creator-ultra/install.ps1 +0 -289
  85. package/skills/skill-creator-ultra/install.sh +0 -313
  86. package/skills/skill-creator-ultra/phases/phase1_interview.md +0 -202
  87. package/skills/skill-creator-ultra/phases/phase2_extract.md +0 -55
  88. package/skills/skill-creator-ultra/phases/phase3_detect.md +0 -57
  89. package/skills/skill-creator-ultra/phases/phase4_generate.md +0 -543
  90. package/skills/skill-creator-ultra/phases/phase5_test.md +0 -319
  91. package/skills/skill-creator-ultra/phases/phase6_eval.md +0 -301
  92. package/skills/skill-creator-ultra/phases/phase7_iterate.md +0 -103
  93. package/skills/skill-creator-ultra/phases/phase8_optimize.md +0 -113
  94. package/skills/skill-creator-ultra/resources/advanced_patterns.md +0 -499
  95. package/skills/skill-creator-ultra/resources/anti_patterns.md +0 -376
  96. package/skills/skill-creator-ultra/resources/blueprints.md +0 -498
  97. package/skills/skill-creator-ultra/resources/checklist.md +0 -243
  98. package/skills/skill-creator-ultra/resources/composition_cookbook.md +0 -291
  99. package/skills/skill-creator-ultra/resources/description_optimization.md +0 -90
  100. package/skills/skill-creator-ultra/resources/eval_guide.md +0 -133
  101. package/skills/skill-creator-ultra/resources/industry_questions.md +0 -189
  102. package/skills/skill-creator-ultra/resources/interview_questions.md +0 -200
  103. package/skills/skill-creator-ultra/resources/pattern_detection.md +0 -200
  104. package/skills/skill-creator-ultra/resources/prompt_engineering.md +0 -531
  105. package/skills/skill-creator-ultra/resources/schemas.md +0 -430
  106. package/skills/skill-creator-ultra/resources/script_integration.md +0 -593
  107. package/skills/skill-creator-ultra/resources/scripts_guide.md +0 -339
  108. package/skills/skill-creator-ultra/resources/skill_template.md +0 -124
  109. package/skills/skill-creator-ultra/resources/skill_writing_guide.md +0 -634
  110. package/skills/skill-creator-ultra/resources/versioning_guide.md +0 -193
  111. package/skills/skill-creator-ultra/scripts/ci_eval.py +0 -200
  112. package/skills/skill-creator-ultra/scripts/package_skill.py +0 -165
  113. package/skills/skill-creator-ultra/scripts/simulate_skill.py +0 -398
  114. package/skills/skill-creator-ultra/scripts/skill_audit.py +0 -611
  115. package/skills/skill-creator-ultra/scripts/skill_compare.py +0 -265
  116. package/skills/skill-creator-ultra/scripts/skill_export.py +0 -334
  117. package/skills/skill-creator-ultra/scripts/skill_scaffold.py +0 -403
  118. package/skills/skill-creator-ultra/scripts/skill_stats.py +0 -339
  119. package/skills/skill-creator-ultra/scripts/validate_skill.py +0 -411
  120. package/skills/tailwind-mastery/SKILL.md +0 -229
  121. package/skills/vercel-react-best-practices/AGENTS.md +0 -3373
  122. package/skills/vercel-react-best-practices/README.md +0 -123
  123. package/skills/vercel-react-best-practices/SKILL.md +0 -143
  124. package/skills/vercel-react-best-practices/rules/_sections.md +0 -46
  125. package/skills/vercel-react-best-practices/rules/_template.md +0 -28
  126. package/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +0 -55
  127. package/skills/vercel-react-best-practices/rules/advanced-init-once.md +0 -42
  128. package/skills/vercel-react-best-practices/rules/advanced-use-latest.md +0 -39
  129. package/skills/vercel-react-best-practices/rules/async-api-routes.md +0 -38
  130. package/skills/vercel-react-best-practices/rules/async-defer-await.md +0 -80
  131. package/skills/vercel-react-best-practices/rules/async-dependencies.md +0 -51
  132. package/skills/vercel-react-best-practices/rules/async-parallel.md +0 -28
  133. package/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +0 -99
  134. package/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +0 -59
  135. package/skills/vercel-react-best-practices/rules/bundle-conditional.md +0 -31
  136. package/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +0 -49
  137. package/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +0 -35
  138. package/skills/vercel-react-best-practices/rules/bundle-preload.md +0 -50
  139. package/skills/vercel-react-best-practices/rules/client-event-listeners.md +0 -74
  140. package/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +0 -71
  141. package/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +0 -48
  142. package/skills/vercel-react-best-practices/rules/client-swr-dedup.md +0 -56
  143. package/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +0 -107
  144. package/skills/vercel-react-best-practices/rules/js-cache-function-results.md +0 -80
  145. package/skills/vercel-react-best-practices/rules/js-cache-property-access.md +0 -28
  146. package/skills/vercel-react-best-practices/rules/js-cache-storage.md +0 -70
  147. package/skills/vercel-react-best-practices/rules/js-combine-iterations.md +0 -32
  148. package/skills/vercel-react-best-practices/rules/js-early-exit.md +0 -50
  149. package/skills/vercel-react-best-practices/rules/js-flatmap-filter.md +0 -60
  150. package/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +0 -45
  151. package/skills/vercel-react-best-practices/rules/js-index-maps.md +0 -37
  152. package/skills/vercel-react-best-practices/rules/js-length-check-first.md +0 -49
  153. package/skills/vercel-react-best-practices/rules/js-min-max-loop.md +0 -82
  154. package/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +0 -24
  155. package/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +0 -57
  156. package/skills/vercel-react-best-practices/rules/rendering-activity.md +0 -26
  157. package/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +0 -47
  158. package/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +0 -40
  159. package/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +0 -38
  160. package/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +0 -46
  161. package/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +0 -82
  162. package/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +0 -30
  163. package/skills/vercel-react-best-practices/rules/rendering-resource-hints.md +0 -85
  164. package/skills/vercel-react-best-practices/rules/rendering-script-defer-async.md +0 -68
  165. package/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +0 -28
  166. package/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md +0 -75
  167. package/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +0 -39
  168. package/skills/vercel-react-best-practices/rules/rerender-dependencies.md +0 -45
  169. package/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +0 -40
  170. package/skills/vercel-react-best-practices/rules/rerender-derived-state.md +0 -29
  171. package/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +0 -74
  172. package/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +0 -58
  173. package/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +0 -38
  174. package/skills/vercel-react-best-practices/rules/rerender-memo.md +0 -44
  175. package/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +0 -45
  176. package/skills/vercel-react-best-practices/rules/rerender-no-inline-components.md +0 -82
  177. package/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +0 -35
  178. package/skills/vercel-react-best-practices/rules/rerender-split-combined-hooks.md +0 -64
  179. package/skills/vercel-react-best-practices/rules/rerender-transitions.md +0 -40
  180. package/skills/vercel-react-best-practices/rules/rerender-use-deferred-value.md +0 -59
  181. package/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +0 -73
  182. package/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +0 -73
  183. package/skills/vercel-react-best-practices/rules/server-auth-actions.md +0 -96
  184. package/skills/vercel-react-best-practices/rules/server-cache-lru.md +0 -41
  185. package/skills/vercel-react-best-practices/rules/server-cache-react.md +0 -76
  186. package/skills/vercel-react-best-practices/rules/server-dedup-props.md +0 -65
  187. package/skills/vercel-react-best-practices/rules/server-hoist-static-io.md +0 -142
  188. package/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +0 -83
  189. package/skills/vercel-react-best-practices/rules/server-serialization.md +0 -38
  190. package/skills/web-design-guidelines/SKILL.md +0 -39
@@ -1,376 +0,0 @@
1
- # ❌ Anti-Patterns Guide — Những Lỗi Phổ Biến Khi Tạo Skill
2
-
3
- > "Học từ sai lầm nhanh hơn học từ thành công."
4
-
5
- Tài liệu này liệt kê **15 anti-patterns** (lỗi phổ biến) khi tạo skill,
6
- kèm **ví dụ sai → ví dụ đúng** cho từng lỗi.
7
-
8
- ---
9
-
10
- ## Anti-Pattern 1: 🐙 The Octopus (Skill Bạch Tuộc)
11
-
12
- **Lỗi:** Skill ôm đồm quá nhiều chức năng.
13
-
14
- ```markdown
15
- ❌ SAI:
16
- ---
17
- name: super-dev-tool
18
- description: Review code, deploy, viết test, format commit, tạo PR, quản lý branch
19
- ---
20
- # Một skill làm 6 việc → AI không biết khi nào dùng
21
-
22
- ✅ ĐÚNG:
23
- # Tách thành 6 skill riêng:
24
- code-reviewer, app-deployer, test-writer,
25
- commit-formatter, pr-creator, branch-manager
26
- ```
27
-
28
- **Quy tắc:** 1 skill = 1 việc. Nếu mô tả skill cần dùng "và" nhiều lần → tách.
29
-
30
- ---
31
-
32
- ## Anti-Pattern 2: 👻 The Ghost Description (Mô Tả Ma)
33
-
34
- **Lỗi:** Description quá mơ hồ, AI không bao giờ kích hoạt.
35
-
36
- ```markdown
37
- ❌ SAI:
38
- description: Giúp làm việc với code
39
-
40
- ❌ SAI:
41
- description: Tool hữu ích
42
-
43
- ❌ SAI:
44
- description: Helper
45
-
46
- ✅ ĐÚNG:
47
- description: |
48
- Review code tự động trước khi merge PR. Kiểm tra coding standards,
49
- phát hiện bugs tiềm ẩn, SQL injection, XSS. Kích hoạt khi user
50
- nói "review code", "check PR", "xem code giúp".
51
- ```
52
-
53
- **Quy tắc:** Description phải trả lời: Làm gì? Cho ai? Khi nào kích hoạt?
54
-
55
- ---
56
-
57
- ## Anti-Pattern 3: 💨 The Air Instructions (Hướng Dẫn Gió)
58
-
59
- **Lỗi:** Instructions quá chung chung, không actionable.
60
-
61
- ```markdown
62
- ❌ SAI:
63
- # Instructions
64
- 1. Phân tích yêu cầu
65
- 2. Xử lý
66
- 3. Trả kết quả
67
-
68
- ✅ ĐÚNG:
69
- # Instructions
70
- 1. Đọc file hoặc nội dung user cung cấp.
71
- 2. Kiểm tra encoding (UTF-8 hay CP1258?).
72
- 3. Parse theo format nguồn (CSV: tách bằng `,`, TSV: tách bằng tab).
73
- 4. Validate: Đếm số cột mỗi dòng khớp với header không?
74
- 5. Transform: Mapping từng cột theo bảng trong `resources/mapping.md`.
75
- 6. Output: Ghi ra JSON với format `[{key: value}, ...]`.
76
- 7. Validate output: Đếm records input = output?
77
- ```
78
-
79
- **Quy tắc:** Mỗi bước phải có HÀNH ĐỘNG CỤ THỂ mà AI có thể thực hiện.
80
-
81
- ---
82
-
83
- ## Anti-Pattern 4: 🎭 The No-Example Skill (Skill Không Ví Dụ)
84
-
85
- **Lỗi:** Không có examples → AI hallucinate output format.
86
-
87
- ```markdown
88
- ❌ SAI:
89
- # Examples
90
- (Không có)
91
-
92
- ❌ SƠ SÀI:
93
- # Examples
94
- ## Ví dụ 1
95
- Input: data
96
- Output: result
97
-
98
- ✅ ĐÚNG:
99
- # Examples
100
- ## Ví dụ 1: Convert CSV thành JSON
101
- **Input:**
102
- name,email,phone
103
- Nguyễn Văn A,a@gmail.com,0901234567
104
- Trần Thị B,b@gmail.com,0907654321
105
-
106
- **Output:**
107
- [
108
- {"name": "Nguyễn Văn A", "email": "a@gmail.com", "phone": "0901234567"},
109
- {"name": "Trần Thị B", "email": "b@gmail.com", "phone": "0907654321"}
110
- ]
111
- ```
112
-
113
- **Quy tắc:** Ít nhất 2 ví dụ, mỗi ví dụ có dữ liệu THẬT, output CHÍNH XÁC.
114
-
115
- ---
116
-
117
- ## Anti-Pattern 5: 🔓 The Open Gate (Cổng Mở)
118
-
119
- **Lỗi:** Không có constraints → AI có thể làm bất cứ gì.
120
-
121
- ```markdown
122
- ❌ SAI:
123
- # Constraints
124
- (Không có)
125
-
126
- ✅ ĐÚNG:
127
- # Constraints
128
- - KHÔNG ĐƯỢC xóa file gốc khi convert
129
- - KHÔNG ĐƯỢC output file lớn hơn 10MB mà không cảnh báo
130
- - LUÔN LUÔN validate output trước khi giao
131
- - LUÔN LUÔN backup input trước khi transform
132
- ```
133
-
134
- **Quy tắc:** Nghĩ xem "Điều tệ nhất có thể xảy ra?" → Cấm nó.
135
-
136
- ---
137
-
138
- ## Anti-Pattern 6: 📜 The Novel (Skill Tiểu Thuyết)
139
-
140
- **Lỗi:** SKILL.md quá dài (>500 dòng), AI bị quá tải context.
141
-
142
- ```markdown
143
- ❌ SAI:
144
- SKILL.md → 800 dòng, bao gồm mọi edge case có thể nghĩ ra
145
-
146
- ✅ ĐÚNG:
147
- SKILL.md → 150-300 dòng (core logic)
148
- resources/edge_cases.md → Chi tiết edge cases
149
- resources/templates/ → Templates tách riêng
150
- examples/ → Ví dụ dài tách riêng
151
- ```
152
-
153
- **Quy tắc:** SKILL.md nên 100-400 dòng. Tách phần dài sang resources/.
154
-
155
- ---
156
-
157
- ## Anti-Pattern 7: 🤖 The Jargon Bot (Bot Thuật Ngữ)
158
-
159
- **Lỗi:** Dùng thuật ngữ kỹ thuật mà AI hiểu sai hoặc user không hiểu.
160
-
161
- ```markdown
162
- ❌ SAI:
163
- # Instructions
164
- 1. Implement idempotent ETL pipeline with exactly-once semantics
165
- 2. Apply CAP theorem trade-offs for eventual consistency
166
-
167
- ✅ ĐÚNG:
168
- # Instructions
169
- 1. Đảm bảo chạy lặp lại cho kết quả giống nhau (không duplicate data)
170
- 2. Chấp nhận dữ liệu có thể chậm vài giây nhưng sẽ đồng bộ hoàn toàn
171
- ```
172
-
173
- **Quy tắc:** Viết cho AI HIỂU, không phải để impress. Đơn giản > phức tạp.
174
-
175
- ---
176
-
177
- ## Anti-Pattern 8: 🎪 The Circus Trigger (Trigger Luna Park)
178
-
179
- **Lỗi:** Description trigger quá rộng → kích hoạt nhầm liên tục.
180
-
181
- ```markdown
182
- ❌ SAI:
183
- description: Giúp viết code
184
-
185
- → AI sẽ kích hoạt MỌI LÚC user nhờ viết code, kể cả khi không liên quan
186
-
187
- ✅ ĐÚNG:
188
- description: |
189
- Sinh unit test cho hàm JavaScript/TypeScript. Tạo test cases bao gồm
190
- happy path và edge cases, sử dụng Jest framework. Kích hoạt khi user
191
- nói "viết test cho hàm", "tạo unit test", "test function này".
192
- ```
193
-
194
- **Quy tắc:** Trigger càng CỤ THỂ càng tốt. Hẹp hơn > Rộng hơn.
195
-
196
- ---
197
-
198
- ## Anti-Pattern 9: 🏗️ The Scaffolding Only (Chỉ Có Khung)
199
-
200
- **Lỗi:** Tạo structure hoành tráng nhưng nội dung rỗng.
201
-
202
- ```markdown
203
- ❌ SAI:
204
- skills/my-skill/
205
- ├── SKILL.md ← 20 dòng sơ sài
206
- ├── scripts/
207
- │ └── (empty)
208
- ├── resources/
209
- │ └── (empty)
210
- └── examples/
211
- └── (empty)
212
-
213
- ✅ ĐÚNG:
214
- skills/my-skill/
215
- ├── SKILL.md ← 200 dòng chi tiết
216
- └── examples/
217
- ├── example_1.md ← Ví dụ thực tế
218
- └── example_2.md ← Ví dụ edge case
219
- # Chỉ tạo folders KHI CÓ NỘI DUNG bên trong
220
- ```
221
-
222
- **Quy tắc:** Đừng tạo folder rỗng. Structure phải match complexity thực tế.
223
-
224
- ---
225
-
226
- ## Anti-Pattern 10: 🔮 The Crystal Ball (Quả Cầu Pha Lê)
227
-
228
- **Lỗi:** Skill giả định quá nhiều thứ mà không hỏi user.
229
-
230
- ```markdown
231
- ❌ SAI:
232
- # Instructions
233
- 1. Đọc file package.json → Giả sử dùng React
234
- 2. Build với webpack → Giả sử dùng webpack
235
-
236
- ✅ ĐÚNG:
237
- # Instructions
238
- 1. Kiểm tra tech stack:
239
- - Có package.json? → Đọc dependencies
240
- - Có requirements.txt? → Python project
241
- - Không rõ? → Hỏi user: "Dự án dùng framework gì?"
242
- 2. Dựa vào tech stack → Chọn build tool phù hợp
243
- ```
244
-
245
- **Quy tắc:** Khi không chắc → HỎI. Đừng giả định.
246
-
247
- ---
248
-
249
- ## Anti-Pattern 11: 💣 The YOLO Deployer (Deploy Bừa)
250
-
251
- **Lỗi:** Skill thao tác production mà không có safety check.
252
-
253
- ```markdown
254
- ❌ SAI:
255
- # Instructions
256
- 1. Chạy `npm run deploy` → Done!
257
-
258
- ✅ ĐÚNG:
259
- # Instructions
260
- ## Bước 0: Safety Check
261
- - "Đây là production hay development?"
262
- - Nếu production → Đã backup chưa? Đã test staging chưa?
263
- ## Bước 1: Deploy
264
- - ⚠️ BẮT BUỘC user confirm
265
- - Chạy deploy
266
- - Verify sau deploy (health check)
267
- - Nếu fail → Rollback theo guide
268
- ```
269
-
270
- **Quy tắc:** Production = luôn có Safety Check + Confirm + Rollback.
271
-
272
- ---
273
-
274
- ## Anti-Pattern 12: 📝 The Copy-Paste Goal
275
-
276
- **Lỗi:** Goal copy lại description, không thêm giá trị.
277
-
278
- ```markdown
279
- ❌ SAI:
280
- description: Tạo unit test cho JavaScript
281
- # Goal
282
- Tạo unit test cho JavaScript.
283
-
284
- ✅ ĐÚNG:
285
- description: Tạo unit test cho hàm JavaScript/TypeScript, dùng Jest
286
- # Goal
287
- Đảm bảo mọi function đều có test coverage ≥80%, bao gồm happy path và edge cases.
288
- ```
289
-
290
- **Quy tắc:** Goal = WHY (tại sao). Description = WHAT (làm gì).
291
-
292
- ---
293
-
294
- ## Anti-Pattern 13: 🌊 The Feature Creep
295
-
296
- **Lỗi:** Liên tục thêm tính năng cho skill đến khi nó quá phức tạp.
297
-
298
- ```markdown
299
- ❌ SAI:
300
- # commit-formatter v1: Format commit → v2: + Auto-push →
301
- # v3: + PR creator → v4: + Code review → v5: Quái vật 500 dòng
302
-
303
- ✅ ĐÚNG:
304
- # commit-formatter: Chỉ format commit message. Xong.
305
- # auto-pusher: Skill riêng cho push + PR
306
- # code-reviewer: Skill riêng cho review
307
- ```
308
-
309
- **Quy tắc:** Skill mập quá → tách. Dùng Pattern 6 (Composable) để kết nối.
310
-
311
- ---
312
-
313
- ## Anti-Pattern 14: 🔇 The Silent Failure
314
-
315
- **Lỗi:** Skill gặp lỗi nhưng không báo, tiếp tục chạy sai.
316
-
317
- ```markdown
318
- ❌ SAI:
319
- # Instructions
320
- 1. Đọc file → Nếu không có file → ... (im lặng bỏ qua)
321
-
322
- ✅ ĐÚNG:
323
- # Instructions
324
- 1. Đọc file
325
- - Nếu file không tồn tại → Báo user: "Không tìm thấy file [X].
326
- Anh/chị kiểm tra lại đường dẫn?"
327
- - Nếu file rỗng → Báo user: "File [X] trống. Cần có dữ liệu để xử lý."
328
- - Nếu sai encoding → Thử UTF-8 → CP1258 → Báo lỗi nếu vẫn fail
329
- ```
330
-
331
- **Quy tắc:** Mọi bước PHẢI có error handling. Fail loud, không fail silent.
332
-
333
- ---
334
-
335
- ## Anti-Pattern 15: 🧊 The Frozen Skill
336
-
337
- **Lỗi:** Tạo skill xong rồi không bao giờ cập nhật.
338
-
339
- ```markdown
340
- ❌ SAI:
341
- # Skill tạo tháng 1/2026
342
- # Tháng 6/2026: Tool đã update API, skill vẫn dùng API cũ → Fail
343
-
344
- ✅ ĐÚNG:
345
- # SKILL.md header
346
- # Version: 2.1.0
347
- # Last updated: 2026-06-15
348
- # Changelog:
349
- # - v2.1: Cập nhật deployment API mới
350
- # - v2.0: Thêm rollback support
351
- # - v1.0: Initial release
352
- ```
353
-
354
- **Quy tắc:** Review skill mỗi quý. Thêm version + changelog trong SKILL.md.
355
-
356
- ---
357
-
358
- ## 📊 Bảng tổng hợp
359
-
360
- | # | Anti-Pattern | Mức nguy hiểm | Cách phát hiện |
361
- |---|---|---|---|
362
- | 1 | Octopus | 🔴 | Description có >2 "và" |
363
- | 2 | Ghost Description | 🔴 | Description <30 ký tự |
364
- | 3 | Air Instructions | 🔴 | Steps không có hành động cụ thể |
365
- | 4 | No Examples | 🟡 | Thiếu section Examples |
366
- | 5 | Open Gate | 🟡 | Thiếu Constraints |
367
- | 6 | Novel | 🟡 | SKILL.md >500 dòng |
368
- | 7 | Jargon Bot | 🟡 | Thuật ngữ khó hiểu |
369
- | 8 | Circus Trigger | 🟡 | Description quá rộng |
370
- | 9 | Scaffolding Only | 🟡 | Folders rỗng |
371
- | 10 | Crystal Ball | 🟠 | Giả định không hỏi |
372
- | 11 | YOLO Deployer | 🔴 | Thiếu safety check cho production |
373
- | 12 | Copy-Paste Goal | 🟢 | Goal = Description |
374
- | 13 | Feature Creep | 🟠 | SKILL.md ngày càng phình |
375
- | 14 | Silent Failure | 🔴 | Thiếu error handling |
376
- | 15 | Frozen Skill | 🟠 | Không có version/changelog |