Skills
Cách viết Cursor skill hữu dụng (không phải đống prompt chung chung)
Một Cursor skill đáng có chỗ khi nó đổi hành vi agent trên việc lặp lại: cùng ràng buộc, cùng checkpoint, ít lượt sửa hơn. Skill thất bại khi là bài động lực, bản copy docs công khai, hoặc túi “best practices” model đã biết. Note này chỉ cách viết skill ngắn, kiểm thử được, và gắn với việc của bạn.
Minh họa nhanh

Cấu trúc skill: kích hoạt, ràng buộc, bước, checklist xong.

Skill chung chung thất bại; skill cụ thể mới sống được.

Vòng thử: viết, chạy, ghi lỗi, siết lại.
Skill để làm gì
Coi skill là quy trình kèm ràng buộc, không phải bài kiến thức. Trigger tốt:
- Bạn sửa cùng một lỗi xuyên nhiều chat (“đừng bịa thư mục mới,” “chạy các check này,” “dùng format ticket này”).
- Việc có chuỗi cố định (checklist publish, ghi chú sự cố, migration schema).
- Luật domain dễ phá và đắt để đảo ngược.
Trigger xấu:
- Câu hỏi một lần
- Gu coding chung (“viết code sạch”)
- Cả manual sản phẩm dán vào Markdown
Nếu hướng dẫn chỉ hữu ích một lần, để trong prompt. Nếu hữu ích hàng tháng, để trong skill.
Cấu trúc dùng được
Giữ SKILL.md gọn:
- Frontmatter / title — đặt tên việc rõ (
adsense-publish-check,write-guide). - When to use — hai hoặc ba cụm trigger cụ thể.
- Hard rules — ràng buộc đánh số agent không được improvis quanh.
- Steps — hành động có thứ tự với tiêu chí xong rõ.
- Inputs / outputs — file đụng tới, artifact tạo ra.
- Examples — một lời gọi tốt và một lời gọi xấu, không mười câu chuyện bịa.
Ưu tiên mệnh lệnh: “Cập nhật content/queue/ideas.md mỗi lần chạy.” Tránh filler mềm: “Cân nhắc cập nhật queue khi phù hợp.”
Viết ràng buộc trước cảm hứng
Liệt kê lỗi bạn đã thấy:
- Agent publish thiếu field frontmatter bắt buộc
- Agent mở rộng scope sang thư mục không liên quan
- Agent bỏ qua section tiêu chí ranking
- Agent viết hype hoặc citation giả
Biến mỗi lỗi thành luật. Luật thắng vibe. Ví dụ:
Ranking phải có
updatedDate, section tiêu chí tường minh, bảng markdown, và changelog. Từ chối publish nếu thiếu bất kỳ mục nào.
Câu đó chặn cả một lớp draft xấu.
Khoanh filesystem
Nêu path nào được đụng và path nào cấm. Skill bảo “cải thiện dự án” mời refactor ngẫu nhiên. Skill bảo “chỉ sửa src/content/guides/{lang}/ và content/queue/ideas.md” thì review được.
Nếu skill được tạo file, nêu naming, schema frontmatter, và dải số từ. Nếu không được commit hoặc push, nói tường minh.
Làm bước có thể chứng minh sai
Mỗi bước cần vạch đích quan sát được:
- “Đọc
content.config.tsvà liệt kê key frontmatter bắt buộc.” - “Soạn 1100–1400 từ; kiểm bằng word count.”
- “Chạy checklist AdSense publish; sửa lỗi trước khi đánh dấu xong.”
Tránh bước kiểu “đảm bảo chất lượng” hoặc “làm hấp dẫn.” Chúng không kiểm thử được, nên agent bày trò.
Giữ prompt tái dùng ngoài thân skill khi có thể
Nếu cần template dài, link hoặc để file anh em mà skill trỏ tới. Bản thân skill nên là control plane: khi nào load template, field nào bắt buộc, validate gì sau khi điền.
Test skill như script hay gãy
Chạy skill trên việc thật hai lần:
- Chat mới chỉ với trigger skill và context tối thiểu.
- Request hơi rối cố ý dụ scope creep.
Tiêu chí pass:
- File bắt buộc đổi; file không liên quan không đổi
- Section bắt buộc xuất hiện mà bạn không nhắc
- Agent dừng và hỏi khi thiếu input bắt buộc thay vì bịa
Nếu sau hai lần chạy bạn vẫn phải sửa cùng một chỗ, skill chưa đủ—thêm hard rule, không thêm đoạn lời khuyên.
Anti-pattern nên xóa
- Khối persona chung (“You are a world-class engineer…”) không đổi hành vi cấp file
- Nhân bản README repo mà agent đọc được khi cần
- Checklist vô hạn 40 mục chẳng ai chạy
- Dump policy bí mật thuộc private rules, không phải skill chia sẻ
- Skill chồng chéo đánh nhau (hai publish checker luật khác nhau)
Gộp overlap. Một việc, một skill.
Outline ví dụ tối thiểu
# publish-guide
Dùng khi soạn hoặc chốt guide Forgebench.
## Hard rules
- Frontmatter hợp lệ theo content.config.ts
- 1100–1400 từ, thực dụng, không hype, không citation giả
- Cập nhật content/queue/ideas.md mỗi lần chạy
## Steps
1. Xác nhận topic và translationKey
2. Soạn theo outline
3. Tự check theo adsense-publish-check
4. Cập nhật ideas queue kèm status
## Done when
- File guide tồn tại với draft: false chỉ khi checklist đã pass
- Queue entry đã cập nhật
Ship skill giúp bớt giám sát lặp. Nếu trong một tuần skill không giảm tỷ lệ bạn phải sửa, viết lại luật—hoặc xóa nó.