// kho prompt
Kho prompt: mẫu giao việc cho AI
Bấm vào từng mẫu để xem và chép. Chép mẫu, điền vào chỗ [trong ngoặc vuông], dán vào công cụ AI. Rút từ cách làm thật các sản phẩm mẫu trên VibeCoder.vn. Xem thêm công thức viết prompt 5 phần.
// khởi tạo dự án
Mô tả dự án mới và xin kế hoạch trước
Buổi đầu tiên của mọi dự án – để AI hiểu đúng trước khi viết dòng mã nào.
mo-ta-du-an.txtTôi muốn làm [loại sản phẩm, vd: trang đặt bàn] cho [khách hàng, vd: quán lẩu 2 chi nhánh]. Mục tiêu: [giải quyết việc gì, vd: giảm cuộc gọi đặt bàn]. Người dùng: [ai dùng, dùng trên thiết bị gì, đặc điểm, vd: khách 80% dùng điện thoại, nhiều người lớn tuổi]. Chức năng cần có: - [chức năng 1] - [chức năng 2] Dữ liệu cần lưu: [vd: tên, số điện thoại, ngày giờ, số người]. Không làm ở giai đoạn này: [vd: thanh toán online]. Tiêu chí xong: [vd: khách đặt thử trên điện thoại thành công, chủ quán nhận được thông báo]. Trước khi viết code, hãy đề xuất: cấu trúc dữ liệu, danh sách trang, và kế hoạch làm từng bước để tôi duyệt.
Mẹo: Câu cuối "đề xuất kế hoạch trước" giúp bắt hiểu lầm trước khi AI viết hàng trăm dòng mã sai hướng.
Tạo tệp hướng dẫn cho AI (CLAUDE.md / AGENTS.md)
Ngay sau khi chốt kế hoạch – để buổi sau AI tự đọc lại, không phải dặn từ đầu.
tep-huong-dan.txtHãy tạo tệp CLAUDE.md (hoặc AGENTS.md) ở thư mục gốc dự án, ghi ngắn gọn: 1. Sản phẩm này để làm gì, cho ai. 2. Công nghệ đang dùng và lệnh chạy thử, lệnh kiểm tra lỗi. 3. Quy ước: [vd: giao diện tiếng Việt, màu chính #F25430, chữ to cho người lớn tuổi]. 4. Điều cấm: không đưa khoá bí mật vào mã, không xoá dữ liệu khi chưa hỏi, không đổi giao diện đã duyệt khi chưa hỏi. 5. Cách làm việc: làm từng bước nhỏ, chạy thử sau mỗi bước, báo lại kết quả thật.
Dựng web nhà hàng bằng Next.js + Tailwind
Làm trang giới thiệu cho quán ăn, cà phê, nhà hàng.
web-nha-hang.txtDựng web giới thiệu cho [tên quán] bằng Next.js (App Router) + Tailwind CSS, giao diện tiếng Việt. Các trang: Trang chủ (ảnh món nổi bật, giờ mở cửa, nút Gọi điện và Nhắn Zalo), Thực đơn (nhóm món, giá), Giới thiệu, Liên hệ (bản đồ Google, địa chỉ). Màu chủ đạo: [mã màu]; phông chữ có hỗ trợ tiếng Việt. Ưu tiên điện thoại: nút bấm cao tối thiểu 44px, chữ nội dung tối thiểu 16px, nút Gọi/Zalo luôn dễ thấy. Mỗi trang có tiêu đề và mô tả riêng để lên Google. Làm trang chủ trước, xong thì dừng để tôi xem.
// thêm tính năng
Form đặt bàn lưu vào cơ sở dữ liệu
Nhận đặt bàn, đặt lịch, đăng ký từ khách.
form-dat-ban.txtThêm form đặt bàn: chi nhánh, ngày, giờ (chỉ trong [giờ mở cửa]), số người, họ tên, số điện thoại, ghi chú. Yêu cầu: - Kiểm tra dữ liệu ở cả trình duyệt và máy chủ (số điện thoại Việt Nam, không chọn giờ đã qua). - Lưu vào cơ sở dữ liệu; khách không đọc được dữ liệu của người khác. - Chống spam: giới hạn số lần gửi từ một máy trong 1 giờ. - Bấm gửi hai lần không tạo hai đơn. - Gửi xong hiện lời cảm ơn kèm mã đặt bàn.
Báo đơn mới qua Telegram
Chủ quán muốn nhận thông báo ngay khi có đơn, miễn phí.
bao-telegram.txtKhi có đơn mới, gửi tin nhắn vào nhóm Telegram của chủ quán qua Telegram Bot API. Nội dung: tên khách, số điện thoại, ngày giờ, số người, ghi chú, link tới trang quản trị. Mã bot (TELEGRAM_BOT_TOKEN) và mã nhóm (TELEGRAM_CHAT_ID) để trong biến môi trường phía máy chủ, không đưa vào mã. Nếu gửi Telegram lỗi thì đơn vẫn được lưu bình thường và ghi lại lỗi. Hướng dẫn tôi từng bước cách tạo bot và lấy mã nhóm.
Nút nhắn Zalo và gọi điện
Khách Việt quen nhắn Zalo hơn điền form.
nut-zalo.txtThêm nút "Nhắn Zalo" (mở https://zalo.me/[số điện thoại]) và nút "Gọi ngay" (tel:[số điện thoại]). Trên điện thoại: hai nút nổi cố định ở góc dưới, không che nội dung chính, không che nút khác. Trên máy tính: đặt ở đầu trang và trang Liên hệ. Số điện thoại lấy từ một chỗ cấu hình duy nhất để sau này đổi cho dễ.
Đăng nhập và phân quyền (vd Supabase + RLS)
Phần mềm có nhiều loại người dùng: quản lý, nhân viên, khách.
dang-nhap-phan-quyen.txtThêm đăng nhập bằng email (hoặc Google) và phân quyền 3 vai trò: [quản trị, quản lý chi nhánh, nhân viên]. Quy tắc: - Nhân viên chỉ xem dữ liệu của chính mình. - Quản lý chỉ xem nhân viên thuộc chi nhánh mình. - Quản trị xem tất cả. Kiểm tra quyền trong cơ sở dữ liệu (Row Level Security) chứ không chỉ ẩn nút trên giao diện. Sau khi làm xong, tạo 2 tài khoản thử và chứng minh tài khoản này không đọc được dữ liệu của tài khoản kia.
Trang quản trị cho chủ tự sửa nội dung
Để khách tự đổi giá, ảnh, nội dung mà không phải gọi người làm.
trang-quan-tri.txtLàm trang quản trị (chỉ người có quyền quản trị vào được) để chủ tự sửa: [danh sách món + giá, ảnh, giờ mở cửa, nội dung trang chủ]. Yêu cầu: dùng tốt trên điện thoại, nút to, ít bước; ảnh tải lên tự nén cho nhẹ; sửa xong trang ngoài cập nhật ngay; có nút xem trước. Mọi thao tác lưu đều kiểm tra quyền ở máy chủ.
Nhận xác nhận thanh toán qua webhook
Khi tích hợp cổng thanh toán hoặc chuyển khoản tự động.
webhook-thanh-toan.txtTích hợp xác nhận thanh toán từ [tên cổng thanh toán] qua webhook. Yêu cầu: - Kiểm tra chữ ký/khoá bí mật của webhook theo tài liệu chính thức của cổng; sai chữ ký thì từ chối. - Đối chiếu số tiền và mã đơn trước khi đánh dấu đã thanh toán. - Cùng một giao dịch gửi lại nhiều lần thì chỉ ghi nhận một lần. - Ghi lại nhật ký mọi webhook nhận được (không ghi khoá bí mật). Đọc tài liệu chính thức trước, trích đúng đoạn bạn dựa vào.
Mẹo: Đừng tin "đã thanh toán" chỉ vì trình duyệt báo về – luôn xác nhận phía máy chủ.
// giao diện
Sửa giao diện đúng chỗ
Muốn chỉnh một phần mà không làm hỏng phần khác.
sua-giao-dien.txtỞ trang [tên trang], phần [tên khối]: Hiện trạng: [mô tả, kèm ảnh chụp màn hình]. Mong muốn: [cỡ chữ, màu, khoảng cách, bố cục cụ thể]. Chỉ sửa phần này, giữ nguyên các trang và khối khác. Sửa xong chụp lại trên khổ điện thoại 390px và máy tính 1280px để tôi so sánh.
Kiểm tra hiển thị trên điện thoại
Trước khi gửi khách xem bản demo.
kiem-tra-dien-thoai.txtKiểm tra mọi trang trên khổ màn hình 360px, 390px và 768px: - Không trang nào bị kéo ngang (tràn chiều rộng). - Nút bấm cao tối thiểu 44px, cách nhau đủ để không bấm nhầm. - Chữ nội dung tối thiểu 16px, đủ tương phản với nền. - Ảnh không bị méo, không làm trang tải chậm. Liệt kê lỗi theo từng trang rồi sửa từng cái.
Áp bộ màu, phông theo thương hiệu
Khách có logo, màu nhận diện riêng.
theo-thuong-hieu.txtÁp bộ nhận diện cho toàn bộ giao diện: Màu chính [mã], màu phụ [mã], màu nền [mã], màu chữ [mã]; phông tiêu đề [tên], phông nội dung [tên] (phải hỗ trợ tiếng Việt). Định nghĩa màu và phông ở một chỗ (biến chung) để đổi một lần là đổi cả trang. Kiểm tra độ tương phản chữ/nền đạt tối thiểu 4,5:1; chỗ nào không đạt thì đề xuất màu thay thế.
// gỡ lỗi
Báo lỗi để AI sửa đúng
Gặp lỗi khi chạy thử.
bao-loi.txtLỗi: [mô tả ngắn]. Cách tái hiện: [bước 1, bước 2…] trên [thiết bị/trình duyệt]. Kết quả hiện tại: [điều xảy ra, kèm thông báo lỗi hoặc ảnh chụp]. Kết quả mong muốn: [điều lẽ ra phải xảy ra]. Trước khi sửa, hãy giải thích nguyên nhân gốc. Sửa xong, tái hiện lại đúng các bước trên để xác nhận đã hết lỗi.
Khi AI sửa mãi không xong
AI sửa đi sửa lại một lỗi, càng sửa càng rối.
ai-sua-mai-khong-xong.txtDừng sửa. Hãy: 1. Tóm tắt lại các cách đã thử và vì sao chưa được. 2. Liệt kê 2–3 giả thuyết về nguyên nhân gốc, kèm cách kiểm tra từng giả thuyết (thêm log, chạy thử riêng phần đó). 3. Chỉ sửa sau khi đã xác nhận nguyên nhân. Nếu cần, quay lại bản lưu (commit) gần nhất còn chạy được rồi làm lại theo hướng khác.
Mẹo: Cuộc trò chuyện quá dài thì tóm tắt lại và mở phiên mới – AI làm tốt hơn với bối cảnh gọn.
Nhờ giải thích thông báo lỗi
Không hiểu thông báo lỗi tiếng Anh.
giai-thich-loi.txtĐây là thông báo lỗi tôi gặp: [dán thông báo lỗi]. Giải thích bằng tiếng Việt dễ hiểu: lỗi này nghĩa là gì, thường do đâu, và tôi nên kiểm tra chỗ nào trước. Chưa sửa gì vội.
// an toàn
Rà soát bảo mật trước khi bàn giao
Trước khi đưa sản phẩm cho khách dùng thật.
ra-soat-bao-mat.txtRà soát bảo mật toàn bộ dự án và báo lại từng mục (đạt / chưa đạt + vị trí): 1. Có khoá bí mật nào trong mã gửi xuống trình duyệt hoặc trong lịch sử Git không. 2. Người dùng A có đọc/sửa được dữ liệu của người dùng B không (thử bằng 2 tài khoản). 3. Mọi thao tác quản trị có kiểm tra quyền phía máy chủ không. 4. Dữ liệu nhập vào có được kiểm tra ở máy chủ không; form có chống spam không. 5. Nội dung người dùng nhập có được hiển thị dạng chữ thuần (không chạy như mã) không. 6. Tải tệp lên có giới hạn loại tệp và dung lượng không. Chưa đạt mục nào thì đề xuất cách sửa, chờ tôi duyệt.
Thiết lập sao lưu tự động
Sản phẩm có dữ liệu khách quan trọng.
sao-luu.txtThiết lập sao lưu cơ sở dữ liệu tự động mỗi đêm, lưu bản sao ở nơi khác máy chủ chính ([vd: hộp thư, kho lưu trữ riêng]), giữ [số] bản gần nhất. Viết hướng dẫn khôi phục từng bước và chạy thử khôi phục một lần vào môi trường thử để chắc bản sao dùng được.
// bàn giao
Viết hướng dẫn sử dụng cho khách
Bàn giao cho người không rành kỹ thuật.
huong-dan-khach.txtViết hướng dẫn sử dụng cho [chủ quán / nhân viên] – người không rành kỹ thuật: - Cách đăng nhập, đổi mật khẩu. - Các việc hằng ngày: [vd: xem đơn, sửa giá, đổi ảnh] – mỗi việc vài bước ngắn, có chỗ chèn ảnh chụp màn hình. - Gặp lỗi thì làm gì, liên hệ ai, thời gian bảo hành. - Danh sách tài khoản dịch vụ (tên miền, máy chủ, cơ sở dữ liệu) đứng tên ai, gia hạn khi nào. Viết tiếng Việt đơn giản, không dùng thuật ngữ.
Ghi bàn giao cuối buổi làm
Cuối mỗi buổi – để buổi sau (hoặc người khác) làm tiếp nhanh.
ban-giao-cuoi-buoi.txtCập nhật tệp BAN-GIAO.md trong dự án: - Hôm nay đã làm xong gì (kèm cách kiểm tra). - Đang dở gì, dở ở bước nào. - Việc tiếp theo, theo thứ tự ưu tiên. - Lưu ý: lỗi đã biết, quyết định đã chốt với khách, điều không được làm. Ngắn gọn, gạch đầu dòng.
Chốt phạm vi và báo giá
Trước khi nhận làm cho khách.
bao-gia-pham-vi.txtTừ mô tả nhu cầu của khách dưới đây, hãy soạn bản chốt phạm vi gồm: 1. Danh sách tính năng CÓ làm (mỗi dòng một tính năng, có tiêu chí nghiệm thu). 2. Danh sách KHÔNG làm ở giai đoạn này. 3. Các mốc bàn giao và nghiệm thu. 4. Chi phí duy trì hằng năm khách cần biết (tên miền, máy chủ, dịch vụ trả phí). 5. Thời gian bảo hành và những gì không thuộc bảo hành. Nhu cầu của khách: [dán mô tả].