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.
- package/CHANGELOG.md +33 -0
- package/README.md +29 -14
- package/commands/demo.md +1 -1
- package/dist/context-bus.js +70 -0
- package/dist/context-db.js +265 -0
- package/dist/continuity.js +12 -0
- package/dist/file-watcher.js +79 -0
- package/dist/index.js +152 -1
- package/dist/l0-indexer.js +158 -0
- package/dist/mcp-context-server.js +400 -0
- package/dist/migrate-json-to-sqlite.js +126 -0
- package/dist/skill-chain.js +19 -3
- package/dist/token-budget.js +108 -0
- package/dist/uri-resolver.js +203 -0
- package/package.json +7 -1
- package/skills/_shared/helpers.md +50 -14
- package/skills/cm-autopilot/SKILL.md +29 -0
- package/skills/cm-autopilot/scripts/autopilot.py +190 -0
- package/skills/cm-continuity/SKILL.md +90 -28
- package/skills/cm-quality-gate/SKILL.md +11 -1
- package/skills/cm-safe-deploy/SKILL.md +38 -2
- package/skills/cm-security-gate/SKILL.md +158 -34
- package/skills/cm-skill-chain/SKILL.md +47 -1
- package/skills/cm-start/SKILL.md +11 -2
- package/skills/cm-test-gate/SKILL.md +3 -0
- package/skills/boxme-git-config/SKILL.md +0 -56
- package/skills/boxme-local-dev/SKILL.md +0 -66
- package/skills/jobs-to-be-done/SKILL.md +0 -266
- package/skills/jobs-to-be-done/references/case-studies.md +0 -154
- package/skills/jobs-to-be-done/references/competitive-strategy.md +0 -280
- package/skills/jobs-to-be-done/references/diagnostics.md +0 -158
- package/skills/jobs-to-be-done/references/innovation-process.md +0 -392
- package/skills/jobs-to-be-done/references/organizational-change.md +0 -328
- package/skills/marketplace-report-crawler/SKILL.md +0 -176
- package/skills/marketplace-report-crawler/config/accounts.json +0 -41
- package/skills/marketplace-report-crawler/config/report-types.json +0 -422
- package/skills/marketplace-report-crawler/config/sessions.json +0 -3
- package/skills/marketplace-report-crawler/scripts/ab-wrapper.sh +0 -102
- package/skills/marketplace-report-crawler/scripts/browser-actions/lazada/lazada-actions.js +0 -114
- package/skills/marketplace-report-crawler/scripts/browser-actions/shopee/shopee-actions.js +0 -94
- package/skills/marketplace-report-crawler/scripts/browser-actions/tiktok/tiktok-actions.js +0 -272
- package/skills/marketplace-report-crawler/scripts/crawl-runner.js +0 -281
- package/skills/marketplace-report-crawler/scripts/session-check.sh +0 -72
- package/skills/marketplace-report-crawler/scripts/session-manager.sh +0 -349
- package/skills/marketplace-report-crawler/scripts/setup-folders.sh +0 -83
- package/skills/medical-research/SKILL.md +0 -194
- package/skills/medical-research/scripts/evidence_checker.py +0 -288
- package/skills/mom-test/SKILL.md +0 -267
- package/skills/mom-test/references/avoiding-bad-data.md +0 -221
- package/skills/mom-test/references/case-studies.md +0 -306
- package/skills/mom-test/references/commitment-advancement.md +0 -219
- package/skills/mom-test/references/finding-conversations.md +0 -251
- package/skills/mom-test/references/processing-learning.md +0 -256
- package/skills/mom-test/references/question-patterns.md +0 -198
- package/skills/pandasai-analytics/SKILL.md +0 -251
- package/skills/release-it/SKILL.md +0 -235
- package/skills/release-it/references/anti-patterns.md +0 -279
- package/skills/release-it/references/capacity-planning.md +0 -285
- package/skills/release-it/references/chaos-engineering.md +0 -325
- package/skills/release-it/references/deployment-strategies.md +0 -331
- package/skills/release-it/references/observability.md +0 -301
- package/skills/release-it/references/stability-patterns.md +0 -355
- package/skills/skill-creator-ultra/.agents/workflows/skill-audit.md +0 -37
- package/skills/skill-creator-ultra/.agents/workflows/skill-compare.md +0 -34
- package/skills/skill-creator-ultra/.agents/workflows/skill-export.md +0 -51
- package/skills/skill-creator-ultra/.agents/workflows/skill-generate.md +0 -39
- package/skills/skill-creator-ultra/.agents/workflows/skill-scaffold.md +0 -52
- package/skills/skill-creator-ultra/.agents/workflows/skill-simulate.md +0 -25
- package/skills/skill-creator-ultra/.agents/workflows/skill-stats.md +0 -31
- package/skills/skill-creator-ultra/.agents/workflows/skill-validate.md +0 -25
- package/skills/skill-creator-ultra/README.md +0 -1242
- package/skills/skill-creator-ultra/SKILL.md +0 -388
- package/skills/skill-creator-ultra/agents/analyzer.md +0 -274
- package/skills/skill-creator-ultra/agents/comparator.md +0 -202
- package/skills/skill-creator-ultra/agents/grader.md +0 -223
- package/skills/skill-creator-ultra/assets/eval_review.html +0 -146
- package/skills/skill-creator-ultra/eval-viewer/generate_review.py +0 -471
- package/skills/skill-creator-ultra/eval-viewer/viewer.html +0 -1325
- package/skills/skill-creator-ultra/examples/example_anthropic_frontend.md +0 -109
- package/skills/skill-creator-ultra/examples/example_anthropic_pdf.md +0 -116
- package/skills/skill-creator-ultra/examples/example_api_docs.md +0 -189
- package/skills/skill-creator-ultra/examples/example_db_migration.md +0 -253
- package/skills/skill-creator-ultra/examples/example_git_commit.md +0 -111
- package/skills/skill-creator-ultra/install.ps1 +0 -289
- package/skills/skill-creator-ultra/install.sh +0 -313
- package/skills/skill-creator-ultra/phases/phase1_interview.md +0 -202
- package/skills/skill-creator-ultra/phases/phase2_extract.md +0 -55
- package/skills/skill-creator-ultra/phases/phase3_detect.md +0 -57
- package/skills/skill-creator-ultra/phases/phase4_generate.md +0 -543
- package/skills/skill-creator-ultra/phases/phase5_test.md +0 -319
- package/skills/skill-creator-ultra/phases/phase6_eval.md +0 -301
- package/skills/skill-creator-ultra/phases/phase7_iterate.md +0 -103
- package/skills/skill-creator-ultra/phases/phase8_optimize.md +0 -113
- package/skills/skill-creator-ultra/resources/advanced_patterns.md +0 -499
- package/skills/skill-creator-ultra/resources/anti_patterns.md +0 -376
- package/skills/skill-creator-ultra/resources/blueprints.md +0 -498
- package/skills/skill-creator-ultra/resources/checklist.md +0 -243
- package/skills/skill-creator-ultra/resources/composition_cookbook.md +0 -291
- package/skills/skill-creator-ultra/resources/description_optimization.md +0 -90
- package/skills/skill-creator-ultra/resources/eval_guide.md +0 -133
- package/skills/skill-creator-ultra/resources/industry_questions.md +0 -189
- package/skills/skill-creator-ultra/resources/interview_questions.md +0 -200
- package/skills/skill-creator-ultra/resources/pattern_detection.md +0 -200
- package/skills/skill-creator-ultra/resources/prompt_engineering.md +0 -531
- package/skills/skill-creator-ultra/resources/schemas.md +0 -430
- package/skills/skill-creator-ultra/resources/script_integration.md +0 -593
- package/skills/skill-creator-ultra/resources/scripts_guide.md +0 -339
- package/skills/skill-creator-ultra/resources/skill_template.md +0 -124
- package/skills/skill-creator-ultra/resources/skill_writing_guide.md +0 -634
- package/skills/skill-creator-ultra/resources/versioning_guide.md +0 -193
- package/skills/skill-creator-ultra/scripts/ci_eval.py +0 -200
- package/skills/skill-creator-ultra/scripts/package_skill.py +0 -165
- package/skills/skill-creator-ultra/scripts/simulate_skill.py +0 -398
- package/skills/skill-creator-ultra/scripts/skill_audit.py +0 -611
- package/skills/skill-creator-ultra/scripts/skill_compare.py +0 -265
- package/skills/skill-creator-ultra/scripts/skill_export.py +0 -334
- package/skills/skill-creator-ultra/scripts/skill_scaffold.py +0 -403
- package/skills/skill-creator-ultra/scripts/skill_stats.py +0 -339
- package/skills/skill-creator-ultra/scripts/validate_skill.py +0 -411
- package/skills/tailwind-mastery/SKILL.md +0 -229
- package/skills/vercel-react-best-practices/AGENTS.md +0 -3373
- package/skills/vercel-react-best-practices/README.md +0 -123
- package/skills/vercel-react-best-practices/SKILL.md +0 -143
- package/skills/vercel-react-best-practices/rules/_sections.md +0 -46
- package/skills/vercel-react-best-practices/rules/_template.md +0 -28
- package/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +0 -55
- package/skills/vercel-react-best-practices/rules/advanced-init-once.md +0 -42
- package/skills/vercel-react-best-practices/rules/advanced-use-latest.md +0 -39
- package/skills/vercel-react-best-practices/rules/async-api-routes.md +0 -38
- package/skills/vercel-react-best-practices/rules/async-defer-await.md +0 -80
- package/skills/vercel-react-best-practices/rules/async-dependencies.md +0 -51
- package/skills/vercel-react-best-practices/rules/async-parallel.md +0 -28
- package/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +0 -99
- package/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +0 -59
- package/skills/vercel-react-best-practices/rules/bundle-conditional.md +0 -31
- package/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +0 -49
- package/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +0 -35
- package/skills/vercel-react-best-practices/rules/bundle-preload.md +0 -50
- package/skills/vercel-react-best-practices/rules/client-event-listeners.md +0 -74
- package/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +0 -71
- package/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +0 -48
- package/skills/vercel-react-best-practices/rules/client-swr-dedup.md +0 -56
- package/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +0 -107
- package/skills/vercel-react-best-practices/rules/js-cache-function-results.md +0 -80
- package/skills/vercel-react-best-practices/rules/js-cache-property-access.md +0 -28
- package/skills/vercel-react-best-practices/rules/js-cache-storage.md +0 -70
- package/skills/vercel-react-best-practices/rules/js-combine-iterations.md +0 -32
- package/skills/vercel-react-best-practices/rules/js-early-exit.md +0 -50
- package/skills/vercel-react-best-practices/rules/js-flatmap-filter.md +0 -60
- package/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +0 -45
- package/skills/vercel-react-best-practices/rules/js-index-maps.md +0 -37
- package/skills/vercel-react-best-practices/rules/js-length-check-first.md +0 -49
- package/skills/vercel-react-best-practices/rules/js-min-max-loop.md +0 -82
- package/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +0 -24
- package/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +0 -57
- package/skills/vercel-react-best-practices/rules/rendering-activity.md +0 -26
- package/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +0 -47
- package/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +0 -40
- package/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +0 -38
- package/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +0 -46
- package/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +0 -82
- package/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +0 -30
- package/skills/vercel-react-best-practices/rules/rendering-resource-hints.md +0 -85
- package/skills/vercel-react-best-practices/rules/rendering-script-defer-async.md +0 -68
- package/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +0 -28
- package/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md +0 -75
- package/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +0 -39
- package/skills/vercel-react-best-practices/rules/rerender-dependencies.md +0 -45
- package/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +0 -40
- package/skills/vercel-react-best-practices/rules/rerender-derived-state.md +0 -29
- package/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +0 -74
- package/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +0 -58
- package/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +0 -38
- package/skills/vercel-react-best-practices/rules/rerender-memo.md +0 -44
- package/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +0 -45
- package/skills/vercel-react-best-practices/rules/rerender-no-inline-components.md +0 -82
- package/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +0 -35
- package/skills/vercel-react-best-practices/rules/rerender-split-combined-hooks.md +0 -64
- package/skills/vercel-react-best-practices/rules/rerender-transitions.md +0 -40
- package/skills/vercel-react-best-practices/rules/rerender-use-deferred-value.md +0 -59
- package/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +0 -73
- package/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +0 -73
- package/skills/vercel-react-best-practices/rules/server-auth-actions.md +0 -96
- package/skills/vercel-react-best-practices/rules/server-cache-lru.md +0 -41
- package/skills/vercel-react-best-practices/rules/server-cache-react.md +0 -76
- package/skills/vercel-react-best-practices/rules/server-dedup-props.md +0 -65
- package/skills/vercel-react-best-practices/rules/server-hoist-static-io.md +0 -142
- package/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +0 -83
- package/skills/vercel-react-best-practices/rules/server-serialization.md +0 -38
- 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 |
|