Neo rust
Neo Skills 是專為現代 AI Agent 設計的全方位能力擴充套件。本專案透過標準化的通訊架構,為 AI 代理安裝可插拔的「技能模組 (Skills)」,使其不僅僅是一個聊天機器人,而是能轉化為具備「感知-推理-行動」能力的多領域專家。
npx -y skills add Benknightdark/neo-skills --skill neo-rustAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 7 stars7 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use this skill when writing, refactoring, debugging, or auditing Rust code. Trigger for .rs files, Cargo projects, ownership/borrowing/lifetime issues, Result/Option error handling, unnecessary clone/performance work, unsafe code review, or modern Rust architecture.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
5.3 KB, as published. Nobody here has run it
Neo Rust Expert
Write safe, maintainable, and idiomatic Rust code by strictly following the official design patterns, leveraging Rust's powerful type system, and avoiding anti-patterns.
Gotchas
- Gotcha 1 (Async Mutex Deadlock / Send Error):
In an
asyncfunction, using the standard library'sstd::sync::Mutexand holding itsMutexGuardacross an.awaitboundary will cause a compiler error becauseMutexGuarddoes not implementSendand cannot be transferred across threads.- Solution: Use a local block
{}to limit the MutexGuard lifetime before the.await, or usetokio::sync::Mutexinstead.
- Solution: Use a local block
- Gotcha 2 (Excessive Cloning):
To satisfy the Borrow Checker, beginners often call
.clone()excessively, which introduces significant memory allocation and copy overhead.- Solution: Prioritize passing borrowed references (e.g.,
&strinstead ofString,&[T]instead ofVec<T>), or refactor ownership structures and lifetimes.
- Solution: Prioritize passing borrowed references (e.g.,
- Gotcha 3 (Unsafe Unwrapping):
Using
.unwrap()orpanic!()directly in library or production-grade code will cause the application to crash, violating Rust's safety-first principle.- Solution: Always return
Result<T, E>orOption<T>for graceful error propagation, and use the?operator ormatchexpression to handle them.
- Solution: Always return
Workflow Checklist
Progress:
- Step 1: Perceive & Inventory (Check if
Cargo.tomland.rsfiles exist in the project, and clarify whether the task is "feature development", "refactoring", or "Code Review"). - Step 2: Load Reference (Based on the task type, dynamically load corresponding reference files: load
reference/patterns.mdandreference/coding-style.mdfor writing new code, and loadreference/anti-patterns.mdfor reviews and debugging). - Step 3: Implement & Validate (After writing or modifying code, compile and analyze it locally using
cargo checkandcargo clippy. Fix any warnings or errors until compilation passes cleanly without warnings). - Step 4: Format & Finalize (Run
cargo fmtto format the code according to official guidelines, and present output using the Output Templates).
Detailed Guidelines
Step 1 — Parse & Inventory
- Inspect the current directory to verify if
Cargo.tomlexists. - Analyze the task. For Code Review tasks, read existing changes; for feature development, determine the target modules to create or modify.
Step 2 — Dynamic Reference Loading
To save context space, only this SKILL.md is loaded initially. Once executing the task, the Agent must load the following resources:
- Development & Architecture: Load patterns.md and coding-style.md.
- Review, Refactoring & Debugging: Load anti-patterns.md.
Step 3 — Compile & Clippy Validation Loop
Verify newly written or modified Rust code to ensure it is 100% compilable:
- Run
cargo checkto verify syntax and type checking. - Run
cargo clippy --all-targets -- -D warningsto perform strict static analysis and catch potential code smells. - If validation fails:
- Carefully inspect the
stderrcompiler errors or Clippy suggestions. - Modify the corresponding code.
- Re-run validation until it passes cleanly.
- Carefully inspect the
Output Templates
Present your output using the following structured templates depending on the task type.
Template A: Code Review Report
# Rust Code Review Report
## 1. Executive Summary
* **Score**: [1-10 rating]
* **Summary**: [Overall feedback on code quality, ownership usage, and error handling]
## 2. Findings
> [!IMPORTANT]
> Order findings by severity (Error > Warning > Info).
* **[Severity] Location: `src/main.rs:L12` - [Finding Title]**
* **Description**: [Why is this an issue? Which Rust best practice is violated?]
* **Recommendation**:
```rust
// Idiomatic Rust example demonstrating the fix
```
## 3. Top 3 Recommendations
1. [First actionable improvement]
2. [Second actionable improvement]
3. [Third actionable improvement]
Template B: Implementation & Refactoring Summary
# Rust Implementation / Refactoring Summary
## 1. Overview of Changes
[Briefly summarize what Rust modules, structs, or traits were added or refactored]
## 2. Applied Design Patterns & Best Practices
* [e.g., Applied the Typestate Pattern to ensure state safety]
* [e.g., Replaced `.clone()` with `&str` for performance gains]
## 3. Local Verification Results
- [x] `cargo check` passed
- [x] `cargo clippy` passed with zero warnings
- [x] `cargo fmt` completed successfully
## 4. Next Steps
1. [Recommended next action, e.g., run cargo test]
2. [Other relevant suggestions]