Trình tạo message squash commit
Đọc diff thực tế của PR và tạo một message squash commit duy nhất vượt qua commitlint.
Lập trìnhTrung cấp★ 578⑂ 72Điểm AI 5/10Cập nhật lần cuối: 26 thg 9, 2026
Làm được gì
- Dùng
git merge-baseđể lấy phần khác biệt giữa nhánh vàmain, viết message dựa trên diff cuối cùng thay vì lịch sử commit lộn xộn. - Tạo tiêu đề Conventional Commit
type(scope): summary, phần body súc tích (tối đa 5 bullet, gói dòng ở 72 ký tự) và giữ đủ các trailerCo-authored-by:. - Ghi message ra file tạm rồi kiểm tra thật bằng
pnpm exec commitlint --edit, sau đó copy bằngpbcopynếu có. - Có quy tắc tránh dùng type
chorecho nội dung skill được phát hành để không bị mất khỏi changelog.
Phù hợp với ai
- Nhóm dùng squash merge cùng Conventional Commits, commitlint và release-please.
- Lập trình viên muốn message commit gọn gàng, không liệt kê từng file hay quá trình thử sai.
- Người đóng góp cho repo skills của Scenario Labs (danh sách scope theo repo này).
Ví dụ sử dụng
- PR có 12 commit lặt vặt: yêu cầu "tạo squash message" → nhận một message duy nhất chỉ mô tả thay đổi ròng.
- PR chứa nhiều thay đổi khác nhau: sinh tiêu đề
feat(skills): ...kèm body 5 bullet rõ ràng. - Commit làm cùng đồng đội/agent: gom toàn bộ trailer
Co-authored-by:vào footer.
· · · Hướng dẫn cài đặt · · ·
Dùng thử ngay, không cần cài
Dán đoạn dưới vào Claude là dùng được skill này mà không cần cài đặt.
Hãy đọc hướng dẫn trong tệp này và làm theo để giúp mình: https://raw.githubusercontent.com/scenario-labs/skills/HEAD/.agents/skills/skills-squash-message/SKILL.md Mình muốn: (viết việc bạn cần ở đây)
Nếu Claude không mở được liên kết, hãy mở liên kết và copy nội dung vào rồi dán.
↓ Thấy hữu ích thì tải ZIP bên dưới và cài. Sau đó skill tự chạy, không phải dán lại mỗi lần.
Cài vào ứng dụng Claude (không cần terminal)
- Tải tệp ZIP bằng nút bên dưới.
- Trong Claude, mở Settings → Capabilities và bật 'Code execution and file creation'. (chỉ một lần)
- Vào Customize → Skills → + → 'Upload a skill' rồi tải tệp ZIP lên.
Cài vào Claude Code
Để Claude làm — dán câu dưới đây vào Claude Code
Hãy cài skill mình tìm thấy trên Claude Skill Mart. Copy thư mục .agents/skills/skills-squash-message từ repo GitHub scenario-labs/skills vào ~/.claude/skills/skills-squash-message/ của mình. Sau khi cài xong, cho mình biết skill này làm được gì trong một câu.
Cài bằng lệnh thủ công
git clone https://github.com/scenario-labs/skills.git && mkdir -p ~/.claude/skills && cp -r skills/.agents/skills/skills-squash-message ~/.claude/skills/⚠ Đây là skill do người khác tạo. Hãy kiểm tra repo gốc trước khi cài.
- Mở terminal và clone repo:
git clone https://github.com/scenario-labs/skills.git - Tạo thư mục skills:
mkdir -p ~/.claude/skills - Copy skill:
cp -r skills/.agents/skills/skills-squash-message ~/.claude/skills/ - Khởi động lại Claude Code và kiểm tra
skills-squash-messageđã xuất hiện trong danh sách skill. - Nếu dùng cho dự án khác, hãy sửa danh sách scope, phần tham chiếu
AGENTS.mdvà lệnhpnpm exec commitlinttrongSKILL.mdcho phù hợp. - Trên nhánh PR, chỉ cần yêu cầu: "tạo message squash commit cho PR này".
Xem mã nguồn trên GitHub ↗Giấy phép: MIT