Coding agent viết được Rust. Vấn đề là viết ra code Rust “chạy được” chứ không phải Rust mà bạn muốn review. Đó chính là khoảng trống mà BeautifulRust nhắm vào.
Repo này là một bộ Agent Skills cộng thêm một file cấu hình clippy, dạy cho các coding agent biết cách viết, review và enforce idiomatic Rust. Tác giả là morganlinton, repo đang có 721 sao, license MIT, tạo ngày 23/10/2026 và cập nhật chỉ hai ngày sau đó.
Nó làm gì cụ thể
Bên trong repo có ba phần:
rust-best-practices: một skill tự kích hoạt mỗi khi agent viết hoặc sửa code Rust. Nó hướng agent về code idiomatic, robust, dễ maintain.rust-review: skill review code Rust có sẵn (một file, một crate, hay một diff) và xuất ra báo cáo có thứ tự ưu tiên. Mỗi phát hiện đều trích dẫn rule bị vi phạm kèm cách sửa.lints/: cấu hình clippy drop-in, dùng để enforce các rule máy kiểm tra được ngay trong CI.
Phần hướng dẫn được chắt ra từ năm nguồn: Google Rust Style Guide, Rust API Guidelines chính thức của rust-lang, sách Effective Rust của David Drysdale, Rust Design Patterns (idioms, patterns, anti-patterns), và Microsoft Pragmatic Rust Guidelines. Khi các nguồn mâu thuẫn nhau, skill chọn một phe và nói rõ lý do. Mỗi nguồn đều có bản digest gọn kèm trong skill để agent tra cứu lý lẽ gốc khi cần.
Điểm đáng tin: mọi code example trong skill đều compile trên stable Rust, và mọi lint trong config đều được kiểm tra với clippy hiện hành. Tác giả không nói suông.
Vì sao đang được chú ý
Cái hay nằm ở phần so sánh trước và sau trong README. Cho agent viết một thư viện parse semver nhỏ, khi không có skill, agent trả về code chạy được nhưng struct toàn field public, doc không có mục # Errors, và ví dụ trong doc dùng unwrap(). Có skill, cùng agent đó giữ field private, ghi rõ các failure mode, và viết doc example mà người dùng copy ra là dùng được an toàn.
Con số cụ thể hơn: qua ba bài test (một library, một CLI, và refactor một module lộn xộn), skill pass 29/30 check, so với 24/30 khi không có. Chênh 5 điểm trên 30 không phải cách mạng, nhưng đó là thứ đo được chứ không phải cảm tính.
Bối cảnh cũng đáng để ý. Các agent như Claude Code, Codex, Cursor đang được dùng nhiều để sinh code Rust, mà Rust là ngôn ngữ mà “chạy được” và “đúng chuẩn” cách nhau khá xa. Một plugin bù đúng khoảng đó, lại chạy được trên nhiều agent, dễ hiểu vì sao 721 sao đến trong hai ngày.
Cài và dùng thử
Cài bằng một lệnh với skills installer (cần Node 22.20 trở lên):
npx skills add morganlinton/BeautifulRust
Thêm -g để cài cho user thay vì project hiện tại, hoặc -a để chọn agent, ví dụ -a codex hay -a cursor.
Với Claude Code, cài dưới dạng plugin để update một lệnh:
claude plugin install beautiful-rust --marketplace morganlinton/BeautifulRust
Bên trong session, làm y hệt:
/plugin marketplace add morganlinton/BeautifulRust
/plugin install beautiful-rust@beautiful-rust
Hai skill sẽ xuất hiện dưới dạng /beautiful-rust:rust-best-practices và /beautiful-rust:rust-review. Bình thường bạn không cần gọi tay vì chúng tự trigger. Muốn thử một session không cài, clone repo rồi chạy claude --plugin-dir ./BeautifulRust.
Với GitHub Copilot (cần GitHub CLI 2.90+):
gh skill install morganlinton/BeautifulRust rust-best-practices
gh skill install morganlinton/BeautifulRust rust-review
Với Gemini CLI:
gemini skills install https://github.com/morganlinton/BeautifulRust --path skills/rust-best-practices
gemini skills install https://github.com/morganlinton/BeautifulRust --path skills/rust-review
Với agent khác (Codex, Cursor…), cứ clone rồi copy folder vào thư mục skill của agent. Đa số agent giờ đọc vị trí chung .agents/skills/:
git clone https://github.com/morganlinton/BeautifulRust
mkdir -p ~/.agents/skills
cp -R BeautifulRust/skills/rust-best-practices BeautifulRust/skills/rust-review ~/.agents/skills/
Lưu ý nhỏ: Claude Code không đọc .agents/skills/, phải dùng thư mục riêng của nó hoặc cài qua plugin. Nếu skill không hiện ra, restart agent.
Ai nên dùng
Dev Rust đang dùng coding agent để viết code hằng ngày. Nếu bạn review PR do AI sinh ra và thấy mệt vì phải sửa mấy lỗi lặp đi lặp lại (field public bừa, thiếu doc lỗi, unwrap() trong ví dụ), skill này nhắm đúng chỗ đó.
Team lead muốn enforce chuẩn mà không phải viết style guide từ đầu cũng dùng được phần lints/ độc lập. Nó là clippy config drop-in, gắn vào CI là xong, không cần agent gì cả.
Người mới học Rust thì ít giá trị hơn, vì skill chủ yếu tác động lên agent chứ không dạy bạn trực tiếp. Dù vậy đọc digest của năm nguồn trong skill cũng là cách ôn nhanh kha khá quy ước.
Ưu và hạn chế
Ưu điểm rõ nhất: chạy được trên nhiều agent (Claude Code, Codex, GitHub Copilot, Cursor, Gemini CLI, và bất kỳ agent nào đọc định dạng Agent Skills). Không bị khóa vào một hệ sinh thái. Cấu hình clippy tách riêng nên dùng được ngay cả khi bạn không tin agent. Tài liệu trong README khá chi tiết, có cả bảng đường dẫn skill cho từng agent.
Hạn chế: repo mới hai ngày tuổi, chưa có cộng đồng kiểm chứng lâu dài. Con số 29/30 so với 24/30 chỉ từ ba bài test do chính tác giả chạy, đọc cho vui chứ đừng lấy làm benchmark chuẩn. Nội dung skill phụ thuộc vào năm nguồn cố định, Rust ra pattern mới thì phải chờ cập nhật. Và skill chỉ có tác dụng nếu agent của bạn thực sự đọc định dạng Agent Skills, mấy agent cũ hoặc tự viết prompt riêng sẽ không hưởng được gì.
License MIT thì thoải mái dùng, fork, sửa. Chỉ cần giữ copyright.
Cá nhân tôi thấy phần lints/ là thứ đáng giá nhất và bền nhất trong repo. Agent skill có thể lỗi thời khi model đổi, nhưng một clippy config tốt thì dùng mãi. Nếu bạn chỉ muốn thử một thứ từ repo này, bắt đầu từ đó trước, rồi mới cài skill nếu thấy hợp.
Repo ở đây: morganlinton/BeautifulRust.
