Khi tôi mới làm skill cho agent, tôi nhét mọi thứ vào một file SKILL.md duy nhất. Với skill đơn giản thì không sao. Nhưng khi một skill gánh cả một quy trình lẫn một bộ quy tắc thẩm mỹ, file đó dần phình to với một cấu trúc mờ — tôi khó kiểm soát chất lượng lẫn logic bên trong, mà agent đọc cũng kém hiệu quả vì phải vác toàn bộ vào cửa sổ context cùng một lúc.
Một file vẫn chạy được. Nhưng làm việc với AI hiệu quả hơn hẳn khi ta thiết kế nó như một hệ thống, không phải một prompt đơn lẻ. Với skill làm ảnh minh họa của tôi, khối phình to là kiến thức, không phải quy trình — nên tôi tách skill theo góc độ này.
Đây là cấu trúc của nó bây giờ:
brand-illustrator/
SKILL.md
references/
style.md
colors.md
visual-world.md
prompts.md
scripts/
generate.py
assets/
SKILL.md là mục lục. Nó mô tả skill làm gì, liệt kê quy trình theo thứ tự, và trỏ tới các file còn lại. Agent đọc file này trước để nắm toàn cảnh, rồi mới mở file con khi chạy tới phần cần.
references/ là nơi tôi đổ toàn bộ kiến thức thẩm mỹ — màu, nét vẽ, phong cách, kho hình. Đây mới là phần phình to thật, nên tôi cắt nó thành nhiều file, mỗi file một việc. Để khi cần đổi một thứ, tôi biết chính xác phải mở file nào. scripts/ giữ đoạn code gọi model sinh ảnh; assets/ giữ vài bức mẫu để đối chiếu.
Một điểm tôi cố ý làm khác: skill này không có folder steps/. Quy trình của nó đủ ngắn để nằm gọn trong SKILL.md. Tôi tách theo chỗ thật sự phình ra, không theo một khuôn cố định — với skill làm ảnh, đó là kiến thức; với một skill khác, đó có thể là các bước.
Sản phẩm cuối trông giống hệt code được module hóa. Khi có gì hỏng, tôi biết chính xác phải mở file nào. Khi muốn đổi một thứ, tôi sửa đúng một chỗ mà không động tới phần còn lại. Và agent không phải mang cả quy trình trong đầu — nó đọc đúng thứ cần, vào đúng lúc cần.
Nếu file skill của bạn đang dài ra thì đó chính là tín hiệu. Tách nó ra — theo chỗ đang phình to nhất, và sẽ không theo một công thức có sẵn.
Đặt niềm tin vào model. Phần còn lại là hệ thống của bạn.
