scaffold-exercises
bởi mattpocockSkill scaffold-exercises giúp dựng sẵn các thư mục bài tập được đánh số trong repo `exercises/`, hỗ trợ biến thể problem, solution hoặc explainer, tạo file `readme.md` không rỗng và đặt tên phù hợp với các quy ước training-content có kiểm tra lint.
Skill này đạt 78/100, tức là một lựa chọn khá tốt trong danh mục cho người cần agent dựng sẵn nội dung khóa học hoặc bài tập theo cấu trúc nhất quán. Repo cung cấp đủ quy tắc cụ thể và chi tiết quy trình để agent làm việc với ít phỏng đoán hơn so với prompt chung chung, nhưng người dùng cũng nên lưu ý rằng skill này khá chuyên biệt và chưa có nhiều ví dụ hay hướng dẫn cài đặt.
- Rất dễ kích hoạt đúng ngữ cảnh: phần mô tả nêu rõ nên dùng khi cần dựng sẵn exercise stub, course section và cấu trúc thư mục bài tập.
- Các quy tắc vận hành khá cụ thể: quy ước đặt tên, thư mục con bắt buộc, file bắt buộc và nội dung stub mặc định đều được nêu rõ.
- Mang lại giá trị thực tế cho agent khi biến một yêu cầu kế hoạch nội dung còn mơ hồ thành quy trình tạo filesystem theo chuẩn lint với các ràng buộc rõ ràng.
- Gắn với quy trình repo cụ thể qua `pnpm ai-hero-cli internal lint` và `git commit`, nên nếu dùng ngoài môi trường này có thể phải điều chỉnh.
- Không có lệnh cài đặt, file hỗ trợ hay ví dụ hoàn chỉnh, nên người dùng sẽ phải tự suy luận một phần chi tiết triển khai.
Tổng quan về skill scaffold-exercises
Skill scaffold-exercises giúp agent tạo cấu trúc thư mục bài tập theo đúng một quy ước nội dung đào tạo khá chặt chẽ: section đánh số, exercise đánh số, các thư mục biến thể như problem/, solution/, và explainer/, cùng với các file tối thiểu nhưng vẫn đủ hợp lệ để vượt qua các bước kiểm tra kiểu lint. Nếu bạn đang xây dựng tài liệu khóa học, bài tập workshop, hoặc một repo học tập có cấu trúc, thì đây chính là vấn đề thực tế mà scaffold-exercises giải quyết.
scaffold-exercises phù hợp nhất cho việc gì
Hãy dùng scaffold-exercises khi bạn đã có sẵn kế hoạch học tập và cần dựng đúng bộ khung filesystem một cách nhanh, chuẩn, và nhất quán. Skill này phù hợp nhất để:
- thiết lập một section khóa học mới dưới
exercises/ - tạo nhiều exercise stub từ một curriculum outline
- thêm các biến thể
problem,solution, hoặcexplainermà không phải đoán quy tắc đặt tên - tránh tạo ra các thư mục khởi tạo bị lỗi rồi sau đó fail ở bước lint của repo
Ai nên cài scaffold-exercises
Nhóm người dùng phù hợp nhất là những ai đang làm việc trong một repo vốn đã có cấu trúc giảng dạy dựa trên exercise. scaffold-exercises skill đặc biệt hữu ích cho maintainer, tác giả curriculum, và người chỉnh sửa repo có AI hỗ trợ, khi nhu cầu chính là đường dẫn đúng và file placeholder chuẩn hơn là tạo nội dung văn bản.
Điều gì khiến scaffold-exercises khác với một prompt chung chung
Một prompt thông thường có thể bảo AI “hãy tạo vài thư mục bài tập”, nhưng scaffold-exercises bổ sung kỷ luật theo đúng quy ước của repo:
- thư mục section dùng dạng
XX-section-name - thư mục exercise dùng dạng
XX.YY-exercise-name - tên dùng dash-case
- mỗi exercise cần ít nhất một thư mục biến thể
- mỗi biến thể cần có
readme.mdkhông rỗng - file code như
main.tschỉ cần khi thực sự có code
Điều đó đồng nghĩa với ít đường dẫn sai định dạng hơn, ít placeholder rỗng hơn, và đỡ mất công dọn dẹp sau khi generate.
Câu hỏi quan trọng nhất cần trả lời trước khi dùng
Hãy cài scaffold-exercises nếu rủi ro lớn nhất của bạn là cấu trúc repo bị lệch chuẩn, chứ không phải thiếu tính nguyên bản của nội dung. Skill này tập trung vào việc dựng khung theo convention. Nó không tự đóng vai trò như một công cụ lập kế hoạch curriculum đầy đủ, viết bài học, hay sinh code hoàn chỉnh.
Cách dùng skill scaffold-exercises
Cách cài scaffold-exercises thường diễn ra như thế nào
Phần trích dẫn từ repo không công bố một installer tùy chỉnh riêng trong SKILL.md, nên cách dùng sẽ phụ thuộc vào runtime skills của bạn. Trong các thiết lập dựa trên Skills, các team thường thêm repo nguồn rồi gọi skill scaffold-exercises theo tên. Nếu môi trường của bạn hỗ trợ, một mẫu phổ biến là:
npx skills add mattpocock/skills --skill scaffold-exercises
Nếu nền tảng agent của bạn nạp skill theo cách khác, hãy trỏ nó tới repository mattpocock/skills và chọn scaffold-exercises.
Hãy đọc file này trước khi dùng scaffold-exercises
Bắt đầu với:
scaffold-exercises/SKILL.md
Skill này đơn giản và khá tự chứa. Trong phần preview của repository không thấy xuất hiện thêm rules/, resources/, hay helper script nào, nên phần lớn hành vi hữu ích được mã hóa trực tiếp trong đúng file đó.
scaffold-exercises cần bạn cung cấp đầu vào gì
Skill này hoạt động tốt nhất khi bạn đưa ra một kế hoạch gồm bốn phần:
- số section và tiêu đề
- số exercise và tiêu đề
- mỗi exercise cần có những biến thể nào
- bạn muốn chỉ tạo stub hay có luôn starter code thật
Nếu thiếu các thông tin này, agent vẫn có thể scaffold, nhưng nó sẽ phải tự chọn mặc định theo cách có thể không đúng ý bạn, đặc biệt ở chỗ dùng explainer/ hay problem/.
Prompt tối thiểu vẫn dùng được
Một prompt scaffold-exercises usage còn thô nhưng dùng được sẽ giống như sau:
Use
scaffold-exercisesto create section03-search-fundamentalsunderexercises/. Add exercises03.01-tokenization-basicsand03.02-bm25-ranking. Each should haveproblem/andsolution/folders with non-emptyreadme.mdfiles. Stub only, no code yet.
Như vậy là đủ vì prompt này đã cung cấp số thứ tự, tên, vị trí, và loại biến thể.
Prompt tốt hơn để nâng chất lượng đầu ra của scaffold-exercises
Một prompt tốt hơn sẽ nói rõ các giá trị mặc định ngay từ đầu:
Use
scaffold-exercisesfor Skill Scaffolding in this repo. Createexercises/03-search-fundamentals/. Add:
03.01-tokenization-basicswithexplainer/03.02-bm25-rankingwithproblem/andsolution/03.03-query-expansionwithproblem/For each variant, create a non-empty
readme.mdwith the final exercise title and a one-sentence description. Do not addmain.tsunless the variant includes code. Keep all names dash-case.
Vì sao cách này hiệu quả hơn:
- nó loại bỏ sự mơ hồ về các thư mục biến thể
- nó ngăn việc tạo file code không cần thiết
- nó giữ đúng convention đặt tên ngay từ đầu
- nó nói rõ trên thực tế “non-empty” cần được hiểu như thế nào
Hành vi mặc định cần chờ đợi khi kế hoạch chưa đầy đủ
Một trong những chi tiết quan trọng nhất của upstream skill là: khi đang tạo stub, mặc định nó sẽ dùng explainer/ nếu kế hoạch không nói khác. Điều này hữu ích với bài tập thiên về khái niệm, nhưng có thể sai nếu bạn thực sự cần workspace cho người học. Nếu bạn muốn các bài làm thực hành, hãy nói rõ problem/.
scaffold-exercises sẽ tạo ra những gì
Skill này xoay quanh một mẫu thư mục có thể lặp lại như sau:
exercises/01-section-name/exercises/01-section-name/01.01-exercise-name/problem/readme.mdexercises/01-section-name/01.01-exercise-name/solution/readme.md
Với scaffold dạng stub, các thư mục chỉ có readme là hoàn toàn chấp nhận được. Nếu về sau bạn thêm code, khi đó main.ts nên xuất hiện và chứa nội dung nhiều hơn một placeholder một dòng đơn giản.
Quy trình thực tế để dùng scaffold-exercises trong repo thật
Một workflow tốt là:
- Phác thảo curriculum outline bằng tiếng Anh thông thường.
- Chuyển nó thành tên section và exercise có đánh số.
- Chỉ rõ biến thể cho từng exercise.
- Yêu cầu agent chạy
scaffold-exercises. - Rà soát lại tên đường dẫn trước khi thêm nội dung.
- Chạy bước lint hoặc validation của repo.
- Chỉ sau đó mới điền code và tài liệu đầy đủ hơn.
Thứ tự này rất quan trọng vì skill này làm tốt nhất ở phần cấu trúc trước tiên.
Những lỗi đặt tên gây làm lại nhiều nhất
Các đầu vào sai phổ biến nhất là:
- thiếu tiền tố số
- dùng dấu cách thay vì dash-case
- nhầm giữa số thứ tự của section và số thứ tự của exercise
- không nói rõ thư mục cần là
problem,solution, hayexplainer
Nếu kế hoạch của bạn chỉ nói “Create an exercise on BM25”, agent vẫn phải tự bịa quá nhiều. Nếu kế hoạch nói “Create 01.03-retrieval-with-bm25 inside 01-retrieval-skill-building with problem/ and solution/,” thì kết quả thường đáng tin cậy hơn nhiều.
Đánh giá độ phù hợp của scaffold-exercises cho Skill Scaffolding
scaffold-exercises for Skill Scaffolding rất hợp khi nút thắt của bạn là hình dạng repo và tính nhất quán. Nó lại không mạnh nếu bạn cần AI tự động sinh ra sư phạm phong phú, bài đánh giá, hoặc phần giải thích được trau chuốt. Hãy xem nó như công cụ ép cấu trúc theo chuẩn, không phải thứ thay thế cho instructional design.
Câu hỏi thường gặp về skill scaffold-exercises
scaffold-exercises có thân thiện với người mới bắt đầu không
Có, miễn là bạn đã hiểu mình muốn cấu trúc exercise như thế nào. Bản thân skill này khá đơn giản: chủ yếu nó áp quy tắc đặt tên, bố cục thư mục, và các file tối thiểu bắt buộc. Phần khó hơn là bạn phải chốt trước curriculum và lựa chọn biến thể.
Khi nào không nên dùng scaffold-exercises
Hãy bỏ qua scaffold-exercises nếu:
- repo của bạn không dùng thư mục section và exercise có đánh số
- bạn chỉ cần một bài markdown đơn lẻ chứ không cần cả cây bài tập
- bạn muốn AI tự nghĩ ra toàn bộ kiến trúc khóa học từ đầu
- dự án của bạn dùng một file contract khác với
readme.mdcộngmain.tstùy chọn
scaffold-exercises khác gì so với tự tạo thư mục bằng tay
Nếu chỉ có một exercise, scaffold thủ công vẫn ổn. Giá trị của scaffold-exercises usage bộc lộ rõ khi bạn phải tạo nhiều exercise và cần tính nhất quán. Nó giảm nguy cơ đặt tên không hợp lệ, tạo readme rỗng, và trộn lẫn các convention thư mục khiến các bước kiểm tra phía sau bị lỗi.
scaffold-exercises có tạo toàn bộ nội dung bài tập không
Không. Giá trị cốt lõi của nó là scaffold. Nó có thể tạo các readme tối thiểu và cấu trúc placeholder, nhưng bạn không nên xem nó như một hệ thống authoring bài học hoàn chỉnh.
Lần nào cũng cần đủ problem, solution và explainer không
Không. Quy tắc upstream chỉ yêu cầu có ít nhất một trong số đó. Với stub, explainer/ là mặc định nếu bạn không chỉ rõ gì thêm. Hãy chọn biến thể theo mục tiêu của exercise, đừng chọn theo thói quen.
scaffold-exercises có bị khóa vào một kiểu layout repo duy nhất không
Có, nó khá nhiều quan điểm sẵn. Skill này giả định một hệ phân cấp exercises/ và các convention đánh số cụ thể. Nếu repo của bạn đi theo mẫu đó, nó rất hữu ích. Nếu không, bạn sẽ tốn thời gian chống lại các giả định của nó.
Cách cải thiện việc dùng skill scaffold-exercises
Hãy đưa cho scaffold-exercises một kế hoạch có đánh số, không phải danh sách chủ đề
Cách nhanh nhất để có kết quả tốt hơn từ scaffold-exercises là ngừng prompt bằng các chủ đề chung chung và bắt đầu prompt bằng đúng các path mục tiêu. So sánh:
Yếu:
- “Add some exercises about retrieval.”
Mạnh:
- “Create
exercises/01-retrieval-skill-building/01.01-keyword-search,01.02-bm25, and01.03-hybrid-search.”
Prompt thứ hai gần như không cho agent khoảng trống nào để đặt sai tên thư mục.
Hãy nói rõ mục đích của từng biến thể thay vì để mặc định tự quyết
Nếu bạn bỏ qua loại biến thể, skill có thể chọn explainer/ cho các stub. Cách này hiệu quả về tốc độ, nhưng có thể không đúng với thiết kế giảng dạy của bạn. Hãy nói rõ:
- dùng
problem/cho bài người học phải làm - dùng
solution/cho lời giải tham chiếu - dùng
explainer/cho tài liệu chỉ mang tính khái niệm
Chỉ riêng việc làm rõ này cũng cải thiện chất lượng scaffold đáng kể.
Yêu cầu readme tối thiểu nhưng vẫn hợp lệ
Một lỗi phổ biến là placeholder tuy được tạo ra về mặt kỹ thuật nhưng lại không hữu ích. Hãy bảo agent đặt tiêu đề và mô tả một câu vào mọi readme.md. Cách này vừa giữ file không rỗng, vừa giúp giai đoạn viết nội dung sau đó dễ hơn.
Ngăn việc tạo file code không cần thiết
Một lỗi phổ biến khác là tạo main.ts ở khắp nơi. Upstream skill không yêu cầu điều đó đối với các stub chỉ có readme. Nếu bạn muốn scaffold gọn nhẹ, hãy nói “readme-only unless code is explicitly needed.” Như vậy vòng đầu sẽ sạch hơn nhiều.
Kiểm tra tên trước khi tạo hàng loạt exercise
Với các lô lớn, hãy yêu cầu agent trước tiên liệt kê các path dự kiến, rồi chỉ tạo sau khi bạn duyệt. Cách này giúp bắt va chạm số thứ tự và slug gượng gạo trước khi bạn phải đổi tên hàng chục thư mục.
Lặp thêm một vòng sau lần chạy scaffold-exercises đầu tiên
Sau lần chạy đầu tiên, hãy cải thiện kết quả bằng cách rà soát:
- tính liên tục của số thứ tự
- độ đầy đủ của biến thể
- mức độ hữu ích của readme
- liệu mỗi exercise có thực sự thuộc section đã chọn hay không
Sau đó, yêu cầu agent chạy vòng hai chỉ tập trung vào sửa lỗi. Chất lượng của scaffold-exercises guide thường cải thiện rõ rệt khi tách riêng bước generate và bước review.
Những phần scaffold-exercises vẫn cần con người phán đoán
scaffold-exercises skill không thể thay bạn quyết định thứ tự giảng dạy phù hợp, độ khó của exercise, hay độ bao phủ về mặt sư phạm. Kết quả tốt nhất đến khi bạn dùng nó để tự động hóa phần cấu trúc, còn phần logic curriculum thì vẫn để con người review.
