[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DSVNMK03XPADQ63QST7DKZ":3,"skill-same:01M6DSVNMK03XPADQ63QST7DKZ":66},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":27,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":45,"commitSha":46,"skillDirectory":47,"forksCount":48,"repositoryHtmlUrl":49,"repositoryHomepageUrl":50,"ownerHtmlUrl":51,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":52,"install":53,"resources":65},"01M6DSVNMK03XPADQ63QST7DKZ","rust",null,"Rust systems programmer — write, compile, test, and debug Rust projects. Gives the entity the ability to create performant, safe systems software using Cargo.","voardwalker-code\u002FNekoCore-OS","voardwalker-code","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F253527670?v=4","01M6DSRW3VB3V3JY99ABQZM55S","01M6DSRW8P3M7580SFQX01R3M9",8,"MIT","https:\u002F\u002Fgithub.com\u002Fvoardwalker-code\u002FNekoCore-OS\u002Fblob\u002Fmain\u002Fproject\u002Fskills\u002Frust\u002FSKILL.md",[17,22],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":23,"categoryName":24,"taxonomyType":25,"taxonomyTypeDesc":26},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[5,28,29,30,31,32,33,34,35,36,37,38],"safe","test","debug","create","compile","projects","write","systems","cargo","software","rust systems","2026-11-10 10:12:30",false,"---\nname: rust\ndescription: Rust systems programmer — write, compile, test, and debug Rust projects. Gives the entity the ability to create performant, safe systems software using Cargo.\nenabled: true\n---\n\n# Rust Skill\n\nYou can write Rust code, compile it, run it, and read compiler errors — all within the workspace. You have access to `cargo` and `rustc` via the `cmd_run` tool.\n\n## What You Can Do\n\n1. **Create Rust projects** — scaffold with `cargo init` or `cargo new`\n2. **Write Rust source files** — create `.rs` files with `ws_write`\n3. **Compile and check** — run `cargo build`, `cargo check`, `cargo clippy`\n4. **Run programs** — execute with `cargo run`\n5. **Run tests** — validate with `cargo test`\n6. **Format code** — auto-format with `cargo fmt`\n7. **Manage dependencies** — add crates with `cargo add`, remove with `cargo remove`\n8. **Debug compiler errors** — read error output, fix the code, recompile\n\n## Your Tools\n\n### File tools (write code)\n```\n[TOOL:ws_mkdir path=\"my-project\u002Fsrc\"]\n[TOOL:ws_write path=\"my-project\u002Fsrc\u002Fmain.rs\" content=\"fn main() {\\n    println!(\\\"Hello, world!\\\");\\n}\"]\n[TOOL:ws_read path=\"my-project\u002Fsrc\u002Fmain.rs\"]\n[TOOL:ws_list path=\"my-project\u002Fsrc\"]\n```\n\n### Command tools (compile and run)\n```\n[TOOL:cmd_run cmd=\"cargo init my-project\"]\n[TOOL:cmd_run cmd=\"cargo build\"]\n[TOOL:cmd_run cmd=\"cargo run\"]\n[TOOL:cmd_run cmd=\"cargo test\"]\n[TOOL:cmd_run cmd=\"cargo check\"]\n[TOOL:cmd_run cmd=\"cargo clippy\"]\n[TOOL:cmd_run cmd=\"cargo fmt\"]\n[TOOL:cmd_run cmd=\"cargo add serde\"]\n[TOOL:cmd_run cmd=\"cargo add serde --features derive\"]\n[TOOL:cmd_run cmd=\"cargo remove some-crate\"]\n```\n\n## CRITICAL RULES — Read These First\n\n### Rule 1: Always write COMPLETE files\nNever write partial `.rs` files. Write the full source code every time with `ws_write`.\n\n### Rule 2: Read before editing\nBefore modifying any existing file:\n```\n[TOOL:ws_read path=\"src\u002Fmain.rs\"]\n```\nThen write the complete modified version back.\n\n### Rule 3: Use cargo for everything\nDo NOT call `rustc` directly unless the user specifically asks. Always prefer `cargo build`, `cargo run`, `cargo test`. Cargo handles dependencies, build profiles, and linking.\n\n### Rule 4: Read compiler errors carefully\nRust's compiler gives excellent error messages. When a build fails:\n1. Read the error output line by line\n2. The error tells you the file, line number, and what's wrong\n3. It often suggests the fix — follow the suggestion\n4. Fix the code, then recompile\n\n### Rule 5: One command per cmd_run call\nEach `cmd_run` runs one command. Do NOT chain commands with `&&` or `;`.\n\n## How to Build a Rust Project — Step by Step\n\n### Starting a new project\n```\nStep 1: [TOOL:cmd_run cmd=\"cargo new my-project\"]\nStep 2: [TOOL:ws_list path=\"my-project\u002Fsrc\"]\nStep 3: [TOOL:ws_write path=\"my-project\u002Fsrc\u002Fmain.rs\" content=\"...your code...\"]\nStep 4: [TOOL:cmd_run cmd=\"cargo build\"]\nStep 5: [TOOL:cmd_run cmd=\"cargo run\"]\n```\n\n### Starting a library\n```\nStep 1: [TOOL:cmd_run cmd=\"cargo new my-lib --lib\"]\nStep 2: [TOOL:ws_write path=\"my-lib\u002Fsrc\u002Flib.rs\" content=\"...your code...\"]\nStep 3: [TOOL:cmd_run cmd=\"cargo test\"]\n```\n\n### Adding dependencies\n```\nStep 1: [TOOL:cmd_run cmd=\"cargo add serde --features derive\"]\nStep 2: [TOOL:cmd_run cmd=\"cargo add tokio --features full\"]\nStep 3: [TOOL:ws_read path=\"Cargo.toml\"]\n```\n\n## Rust Patterns — What Good Code Looks Like\n\n### Basic program structure\n```rust\nuse std::io;\n\nfn main() {\n    println!(\"Enter your name:\");\n    let mut name = String::new();\n    io::stdin().read_line(&mut name).expect(\"Failed to read line\");\n    let name = name.trim();\n    println!(\"Hello, {name}!\");\n}\n```\n\n### Structs and implementations\n```rust\n#[derive(Debug, Clone)]\nstruct Point {\n    x: f64,\n    y: f64,\n}\n\nimpl Point {\n    fn new(x: f64, y: f64) -> Self {\n        Self { x, y }\n    }\n\n    fn distance(&self, other: &Point) -> f64 {\n        ((self.x - other.x).powi(2) + (self.y - other.y).powi(2)).sqrt()\n    }\n}\n```\n\n### Error handling with Result\n```rust\nuse std::fs;\nuse std::io;\n\nfn read_config(path: &str) -> Result\u003CString, io::Error> {\n    fs::read_to_string(path)\n}\n\nfn main() {\n    match read_config(\"config.toml\") {\n        Ok(content) => println!(\"Config: {content}\"),\n        Err(e) => eprintln!(\"Error reading config: {e}\"),\n    }\n}\n```\n\n### Using the ? operator\n```rust\nuse std::fs;\nuse std::io;\n\nfn process_file(path: &str) -> Result\u003Cusize, io::Error> {\n    let content = fs::read_to_string(path)?;\n    Ok(content.lines().count())\n}\n```\n\n### Traits\n```rust\ntrait Summary {\n    fn summarize(&self) -> String;\n}\n\nstruct Article {\n    title: String,\n    content: String,\n}\n\nimpl Summary for Article {\n    fn summarize(&self) -> String {\n        format!(\"{}: {}...\", self.title, &self.content[..50.min(self.content.len())])\n    }\n}\n```\n\n### Collections and iterators\n```rust\nlet numbers = vec![1, 2, 3, 4, 5];\nlet doubled: Vec\u003Ci32> = numbers.iter().map(|n| n * 2).collect();\nlet sum: i32 = numbers.iter().sum();\nlet evens: Vec\u003C&i32> = numbers.iter().filter(|n| *n % 2 == 0).collect();\n```\n\n### Enums with data\n```rust\n#[derive(Debug)]\nenum Command {\n    Quit,\n    Echo(String),\n    Move { x: i32, y: i32 },\n    Count(i32),\n}\n\nfn execute(cmd: Command) {\n    match cmd {\n        Command::Quit => println!(\"Quitting\"),\n        Command::Echo(msg) => println!(\"{msg}\"),\n        Command::Move { x, y } => println!(\"Moving to ({x}, {y})\"),\n        Command::Count(n) => println!(\"Count: {n}\"),\n    }\n}\n```\n\n## Cargo.toml Patterns\n\n### Basic binary project\n```toml\n[package]\nname = \"my-project\"\nversion = \"0.1.0\"\nedition = \"2021\"\n\n[dependencies]\n```\n\n### With dependencies\n```toml\n[package]\nname = \"my-project\"\nversion = \"0.1.0\"\nedition = \"2021\"\n\n[dependencies]\nserde = { version = \"1\", features = [\"derive\"] }\nserde_json = \"1\"\ntokio = { version = \"1\", features = [\"full\"] }\nclap = { version = \"4\", features = [\"derive\"] }\nanyhow = \"1\"\n```\n\n### Library with dev-dependencies\n```toml\n[package]\nname = \"my-lib\"\nversion = \"0.1.0\"\nedition = \"2021\"\n\n[dependencies]\nthiserror = \"1\"\n\n[dev-dependencies]\nassert_matches = \"1\"\n```\n\n## Common Crates by Use Case\n\n| Need | Crate | Feature |\n|------|-------|---------|\n| JSON serialization | `serde` + `serde_json` | `derive` |\n| CLI argument parsing | `clap` | `derive` |\n| Async runtime | `tokio` | `full` |\n| HTTP client | `reqwest` | `json` |\n| HTTP server | `axum` or `actix-web` | — |\n| Error handling | `anyhow` (apps) or `thiserror` (libs) | — |\n| Logging | `tracing` + `tracing-subscriber` | — |\n| Regex | `regex` | — |\n| Random numbers | `rand` | — |\n| Date\u002Ftime | `chrono` | — |\n| File paths | `camino` | — |\n| Environment vars | `dotenvy` | — |\n\n## Debugging Workflow\n\nWhen a build fails:\n\n1. **Read the full error output** — Rust errors are specific and actionable\n2. **Find the error code** — e.g., `E0308` (mismatched types)\n3. **Look at the suggestion** — Rust often says \"help: try this: ...\"\n4. **Read the source file:**\n   ```\n   [TOOL:ws_read path=\"src\u002Fmain.rs\"]\n   ```\n5. **Fix the specific issue** — change only what the compiler identified\n6. **Write the fixed file and rebuild:**\n   ```\n   [TOOL:ws_write path=\"src\u002Fmain.rs\" content=\"...fixed code...\"]\n   [TOOL:cmd_run cmd=\"cargo build\"]\n   ```\n\n### Common error patterns\n\n| Error | Meaning | Fix |\n|-------|---------|-----|\n| `E0382` — use of moved value | Ownership transferred | Clone, borrow with `&`, or restructure |\n| `E0308` — mismatched types | Wrong type | Check function signature, add conversion |\n| `E0502` — cannot borrow as mutable | Aliasing violation | Restructure borrows, use `.clone()` |\n| `E0433` — unresolved import | Missing `use` or dependency | Add `use` statement or `cargo add` |\n| `E0599` — no method found | Missing trait import or impl | Add `use TraitName;` or implement the trait |\n\n## Testing\n\n### Writing tests in the same file\n```rust\npub fn add(a: i32, b: i32) -> i32 {\n    a + b\n}\n\n#[cfg(test)]\nmod tests {\n    use super::*;\n\n    #[test]\n    fn test_add() {\n        assert_eq!(add(2, 3), 5);\n    }\n\n    #[test]\n    fn test_add_negative() {\n        assert_eq!(add(-1, 1), 0);\n    }\n}\n```\n\n### Running tests\n```\n[TOOL:cmd_run cmd=\"cargo test\"]\n[TOOL:cmd_run cmd=\"cargo test test_add\"]\n```\n\n## Project Scaffolding Patterns\n\n### CLI tool\n```\nmy-cli\u002F\n  Cargo.toml          (clap dependency)\n  src\u002F\n    main.rs           (argument parsing + dispatch)\n    commands\u002F\n      mod.rs\n      run.rs\n      build.rs\n```\n\n### Library\n```\nmy-lib\u002F\n  Cargo.toml\n  src\u002F\n    lib.rs            (public API + module declarations)\n    core.rs           (internal logic)\n    utils.rs          (helpers)\n```\n\n### Web API (axum)\n```\nmy-api\u002F\n  Cargo.toml          (axum, tokio, serde, serde_json)\n  src\u002F\n    main.rs           (server setup + routing)\n    routes\u002F\n      mod.rs\n      health.rs\n      users.rs\n    models\u002F\n      mod.rs\n      user.rs\n```\n\n## What NOT to Do\n\n- **Do NOT call `rustc` directly** — use `cargo build` instead\n- **Do NOT write partial files** — always write the complete `.rs` file\n- **Do NOT guess what's in a file** — always `ws_read` first\n- **Do NOT ignore compiler warnings** — run `cargo clippy` and fix them\n- **Do NOT use `unwrap()` in library code** — use `Result` and `?` instead\n- **Do NOT add dependencies the user didn't ask for** — keep it minimal\n- **Do NOT skip tests** — if the user asks for a project, include basic tests\n- **Do NOT chain commands** — one `cmd_run` call per command\n","# Rust Skill\n\nYou can write Rust code, compile it, run it, and read compiler errors — all within the workspace. You have access to `cargo` and `rustc` via the `cmd_run` tool.\n\n## What You Can Do\n\n1. **Create Rust projects** — scaffold with `cargo init` or `cargo new`\n2. **Write Rust source files** — create `.rs` files with `ws_write`\n3. **Compile and check** — run `cargo build`, `cargo check`, `cargo clippy`\n4. **Run programs** — execute with `cargo run`\n5. **Run tests** — validate with `cargo test`\n6. **Format code** — auto-format with `cargo fmt`\n7. **Manage dependencies** — add crates with `cargo add`, remove with `cargo remove`\n8. **Debug compiler errors** — read error output, fix the code, recompile\n\n## Your Tools\n\n### File tools (write code)\n```\n[TOOL:ws_mkdir path=\"my-project\u002Fsrc\"]\n[TOOL:ws_write path=\"my-project\u002Fsrc\u002Fmain.rs\" content=\"fn main() {\\n    println!(\\\"Hello, world!\\\");\\n}\"]\n[TOOL:ws_read path=\"my-project\u002Fsrc\u002Fmain.rs\"]\n[TOOL:ws_list path=\"my-project\u002Fsrc\"]\n```\n\n### Command tools (compile and run)\n```\n[TOOL:cmd_run cmd=\"cargo init my-project\"]\n[TOOL:cmd_run cmd=\"cargo build\"]\n[TOOL:cmd_run cmd=\"cargo run\"]\n[TOOL:cmd_run cmd=\"cargo test\"]\n[TOOL:cmd_run cmd=\"cargo check\"]\n[TOOL:cmd_run cmd=\"cargo clippy\"]\n[TOOL:cmd_run cmd=\"cargo fmt\"]\n[TOOL:cmd_run cmd=\"cargo add serde\"]\n[TOOL:cmd_run cmd=\"cargo add serde --features derive\"]\n[TOOL:cmd_run cmd=\"cargo remove some-crate\"]\n```\n\n## CRITICAL RULES — Read These First\n\n### Rule 1: Always write COMPLETE files\nNever write partial `.rs` files. Write the full source code every time with `ws_write`.\n\n### Rule 2: Read before editing\nBefore modifying any existing file:\n```\n[TOOL:ws_read path=\"src\u002Fmain.rs\"]\n```\nThen write the complete modified version back.\n\n### Rule 3: Use cargo for everything\nDo NOT call `rustc` directly unless the user specifically asks. Always prefer `cargo build`, `cargo run`, `cargo test`. Cargo handles dependencies, build profiles, and linking.\n\n### Rule 4: Read compiler errors carefully\nRust's compiler gives excellent error messages. When a build fails:\n1. Read the error output line by line\n2. The error tells you the file, line number, and what's wrong\n3. It often suggests the fix — follow the suggestion\n4. Fix the code, then recompile\n\n### Rule 5: One command per cmd_run call\nEach `cmd_run` runs one command. Do NOT chain commands with `&&` or `;`.\n\n## How to Build a Rust Project — Step by Step\n\n### Starting a new project\n```\nStep 1: [TOOL:cmd_run cmd=\"cargo new my-project\"]\nStep 2: [TOOL:ws_list path=\"my-project\u002Fsrc\"]\nStep 3: [TOOL:ws_write path=\"my-project\u002Fsrc\u002Fmain.rs\" content=\"...your code...\"]\nStep 4: [TOOL:cmd_run cmd=\"cargo build\"]\nStep 5: [TOOL:cmd_run cmd=\"cargo run\"]\n```\n\n### Starting a library\n```\nStep 1: [TOOL:cmd_run cmd=\"cargo new my-lib --lib\"]\nStep 2: [TOOL:ws_write path=\"my-lib\u002Fsrc\u002Flib.rs\" content=\"...your code...\"]\nStep 3: [TOOL:cmd_run cmd=\"cargo test\"]\n```\n\n### Adding dependencies\n```\nStep 1: [TOOL:cmd_run cmd=\"cargo add serde --features derive\"]\nStep 2: [TOOL:cmd_run cmd=\"cargo add tokio --features full\"]\nStep 3: [TOOL:ws_read path=\"Cargo.toml\"]\n```\n\n## Rust Patterns — What Good Code Looks Like\n\n### Basic program structure\n```rust\nuse std::io;\n\nfn main() {\n    println!(\"Enter your name:\");\n    let mut name = String::new();\n    io::stdin().read_line(&mut name).expect(\"Failed to read line\");\n    let name = name.trim();\n    println!(\"Hello, {name}!\");\n}\n```\n\n### Structs and implementations\n```rust\n#[derive(Debug, Clone)]\nstruct Point {\n    x: f64,\n    y: f64,\n}\n\nimpl Point {\n    fn new(x: f64, y: f64) -> Self {\n        Self { x, y }\n    }\n\n    fn distance(&self, other: &Point) -> f64 {\n        ((self.x - other.x).powi(2) + (self.y - other.y).powi(2)).sqrt()\n    }\n}\n```\n\n### Error handling with Result\n```rust\nuse std::fs;\nuse std::io;\n\nfn read_config(path: &str) -> Result\u003CString, io::Error> {\n    fs::read_to_string(path)\n}\n\nfn main() {\n    match read_config(\"config.toml\") {\n        Ok(content) => println!(\"Config: {content}\"),\n        Err(e) => eprintln!(\"Error reading config: {e}\"),\n    }\n}\n```\n\n### Using the ? operator\n```rust\nuse std::fs;\nuse std::io;\n\nfn process_file(path: &str) -> Result\u003Cusize, io::Error> {\n    let content = fs::read_to_string(path)?;\n    Ok(content.lines().count())\n}\n```\n\n### Traits\n```rust\ntrait Summary {\n    fn summarize(&self) -> String;\n}\n\nstruct Article {\n    title: String,\n    content: String,\n}\n\nimpl Summary for Article {\n    fn summarize(&self) -> String {\n        format!(\"{}: {}...\", self.title, &self.content[..50.min(self.content.len())])\n    }\n}\n```\n\n### Collections and iterators\n```rust\nlet numbers = vec![1, 2, 3, 4, 5];\nlet doubled: Vec\u003Ci32> = numbers.iter().map(|n| n * 2).collect();\nlet sum: i32 = numbers.iter().sum();\nlet evens: Vec\u003C&i32> = numbers.iter().filter(|n| *n % 2 == 0).collect();\n```\n\n### Enums with data\n```rust\n#[derive(Debug)]\nenum Command {\n    Quit,\n    Echo(String),\n    Move { x: i32, y: i32 },\n    Count(i32),\n}\n\nfn execute(cmd: Command) {\n    match cmd {\n        Command::Quit => println!(\"Quitting\"),\n        Command::Echo(msg) => println!(\"{msg}\"),\n        Command::Move { x, y } => println!(\"Moving to ({x}, {y})\"),\n        Command::Count(n) => println!(\"Count: {n}\"),\n    }\n}\n```\n\n## Cargo.toml Patterns\n\n### Basic binary project\n```toml\n[package]\nname = \"my-project\"\nversion = \"0.1.0\"\nedition = \"2021\"\n\n[dependencies]\n```\n\n### With dependencies\n```toml\n[package]\nname = \"my-project\"\nversion = \"0.1.0\"\nedition = \"2021\"\n\n[dependencies]\nserde = { version = \"1\", features = [\"derive\"] }\nserde_json = \"1\"\ntokio = { version = \"1\", features = [\"full\"] }\nclap = { version = \"4\", features = [\"derive\"] }\nanyhow = \"1\"\n```\n\n### Library with dev-dependencies\n```toml\n[package]\nname = \"my-lib\"\nversion = \"0.1.0\"\nedition = \"2021\"\n\n[dependencies]\nthiserror = \"1\"\n\n[dev-dependencies]\nassert_matches = \"1\"\n```\n\n## Common Crates by Use Case\n\n| Need | Crate | Feature |\n|------|-------|---------|\n| JSON serialization | `serde` + `serde_json` | `derive` |\n| CLI argument parsing | `clap` | `derive` |\n| Async runtime | `tokio` | `full` |\n| HTTP client | `reqwest` | `json` |\n| HTTP server | `axum` or `actix-web` | — |\n| Error handling | `anyhow` (apps) or `thiserror` (libs) | — |\n| Logging | `tracing` + `tracing-subscriber` | — |\n| Regex | `regex` | — |\n| Random numbers | `rand` | — |\n| Date\u002Ftime | `chrono` | — |\n| File paths | `camino` | — |\n| Environment vars | `dotenvy` | — |\n\n## Debugging Workflow\n\nWhen a build fails:\n\n1. **Read the full error output** — Rust errors are specific and actionable\n2. **Find the error code** — e.g., `E0308` (mismatched types)\n3. **Look at the suggestion** — Rust often says \"help: try this: ...\"\n4. **Read the source file:**\n   ```\n   [TOOL:ws_read path=\"src\u002Fmain.rs\"]\n   ```\n5. **Fix the specific issue** — change only what the compiler identified\n6. **Write the fixed file and rebuild:**\n   ```\n   [TOOL:ws_write path=\"src\u002Fmain.rs\" content=\"...fixed code...\"]\n   [TOOL:cmd_run cmd=\"cargo build\"]\n   ```\n\n### Common error patterns\n\n| Error | Meaning | Fix |\n|-------|---------|-----|\n| `E0382` — use of moved value | Ownership transferred | Clone, borrow with `&`, or restructure |\n| `E0308` — mismatched types | Wrong type | Check function signature, add conversion |\n| `E0502` — cannot borrow as mutable | Aliasing violation | Restructure borrows, use `.clone()` |\n| `E0433` — unresolved import | Missing `use` or dependency | Add `use` statement or `cargo add` |\n| `E0599` — no method found | Missing trait import or impl | Add `use TraitName;` or implement the trait |\n\n## Testing\n\n### Writing tests in the same file\n```rust\npub fn add(a: i32, b: i32) -> i32 {\n    a + b\n}\n\n#[cfg(test)]\nmod tests {\n    use super::*;\n\n    #[test]\n    fn test_add() {\n        assert_eq!(add(2, 3), 5);\n    }\n\n    #[test]\n    fn test_add_negative() {\n        assert_eq!(add(-1, 1), 0);\n    }\n}\n```\n\n### Running tests\n```\n[TOOL:cmd_run cmd=\"cargo test\"]\n[TOOL:cmd_run cmd=\"cargo test test_add\"]\n```\n\n## Project Scaffolding Patterns\n\n### CLI tool\n```\nmy-cli\u002F\n  Cargo.toml          (clap dependency)\n  src\u002F\n    main.rs           (argument parsing + dispatch)\n    commands\u002F\n      mod.rs\n      run.rs\n      build.rs\n```\n\n### Library\n```\nmy-lib\u002F\n  Cargo.toml\n  src\u002F\n    lib.rs            (public API + module declarations)\n    core.rs           (internal logic)\n    utils.rs          (helpers)\n```\n\n### Web API (axum)\n```\nmy-api\u002F\n  Cargo.toml          (axum, tokio, serde, serde_json)\n  src\u002F\n    main.rs           (server setup + routing)\n    routes\u002F\n      mod.rs\n      health.rs\n      users.rs\n    models\u002F\n      mod.rs\n      user.rs\n```\n\n## What NOT to Do\n\n- **Do NOT call `rustc` directly** — use `cargo build` instead\n- **Do NOT write partial files** — always write the complete `.rs` file\n- **Do NOT guess what's in a file** — always `ws_read` first\n- **Do NOT ignore compiler warnings** — run `cargo clippy` and fix them\n- **Do NOT use `unwrap()` in library code** — use `Result` and `?` instead\n- **Do NOT add dependencies the user didn't ask for** — keep it minimal\n- **Do NOT skip tests** — if the user asks for a project, include basic tests\n- **Do NOT chain commands** — one `cmd_run` call per command\n",{"name":5,"enabled":44,"description":7},true,"main","437c11deeb521a7e0ae5845acda86fde6c0c1713","project\u002Fskills\u002Frust",1,"https:\u002F\u002Fgithub.com\u002Fvoardwalker-code\u002FNekoCore-OS","https:\u002F\u002Fneko-core.com","https:\u002F\u002Fgithub.com\u002Fvoardwalker-code","2026-03-31 19:44:56",{"source":8,"skillName":5,"commands":54,"prompt":64,"zipAvailable":44},[55,58,61],{"tool":56,"command":57},"npx","npx skills add voardwalker-code\u002FNekoCore-OS --skill rust",{"tool":59,"command":60},"bunx","bunx skills add voardwalker-code\u002FNekoCore-OS --skill rust",{"tool":62,"command":63},"pnpm","pnpm dlx skills add voardwalker-code\u002FNekoCore-OS --skill rust","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fvoardwalker-code\u002FNekoCore-OS\u002Fblob\u002Fmain\u002Fproject\u002Fskills\u002Frust\u002FSKILL.md",[],[67,78,86,103,118,133],{"skillNo":68,"name":69,"nameZh":6,"description":70,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":71,"categories":72,"keywords":73,"publishedAt":39},"01M6DSWEQ54Y3GAZAN7TMJW3D8","ws_move","Move or rename a file\u002Ffolder in the workspace","https:\u002F\u002Fgithub.com\u002Fvoardwalker-code\u002FNekoCore-OS\u002Fblob\u002Fmain\u002Fproject\u002Fskills\u002Fws_move\u002FSKILL.md",[],[74,75,76,77],"ws move","file","workspace","rename",{"skillNo":79,"name":80,"nameZh":6,"description":81,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":82,"categories":83,"keywords":84,"publishedAt":39},"01M6DSWA5EX7QP108ZNS57EPM9","ws_mkdir","Create a new folder in the workspace","https:\u002F\u002Fgithub.com\u002Fvoardwalker-code\u002FNekoCore-OS\u002Fblob\u002Fmain\u002Fproject\u002Fskills\u002Fws_mkdir\u002FSKILL.md",[],[85,31,76],"ws mkdir",{"skillNo":87,"name":88,"nameZh":6,"description":89,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":92,"publishedAt":39},"01M6DSW6Y2YP8XTJ2HA3NHACJT","web-search","Browse the web, fetch pages, and extract content. Gives the entity the ability to search and read web content.","https:\u002F\u002Fgithub.com\u002Fvoardwalker-code\u002FNekoCore-OS\u002Fblob\u002Fmain\u002Fproject\u002Fskills\u002Fweb-search\u002FSKILL.md",[],[93,94,95,96,97,98,99,100,101,102],"web search","search","web","fetch","content","browse","read","extract","pages","read web",{"skillNo":104,"name":105,"nameZh":6,"description":106,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":110,"publishedAt":39},"01M6DSW3W69GV66HXSHGRW2RXK","vscode","Code collaborator — read, write, and plan changes to project files directly in a VS Code workspace. Gives the entity the ability to act as a programming partner.","https:\u002F\u002Fgithub.com\u002Fvoardwalker-code\u002FNekoCore-OS\u002Fblob\u002Fmain\u002Fproject\u002Fskills\u002Fvscode\u002FSKILL.md",[109],{"categoryNo":23,"categoryName":24,"taxonomyType":25,"taxonomyTypeDesc":26},[105,111,112,113,114,99,34,115,116,76,117],"files","project","act","as","code","plan","programming",{"skillNo":119,"name":120,"nameZh":6,"description":121,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":122,"categories":123,"keywords":124,"publishedAt":39},"01M6DSVZS98WHW3ZVEBRTGDYJK","tutorial-notes","Take structured notes in workspace markdown files using deterministic tool calls.","https:\u002F\u002Fgithub.com\u002Fvoardwalker-code\u002FNekoCore-OS\u002Fblob\u002Fmain\u002Fproject\u002Fskills\u002Ftutorial-notes\u002FSKILL.md",[],[125,126,127,128,129,76,130,111,131,132],"tutorial notes","tutorial","notes","markdown","tool","take","deterministic","structured",{"skillNo":134,"name":135,"nameZh":6,"description":136,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":137,"categories":138,"keywords":139,"publishedAt":39},"01M6DSVWEQC2SJCVAVN079NB6V","self-repair","System diagnostics and self-healing — run health scans, interpret results, trigger the fixer generator, guide users through disaster recovery, and rebuild broken files using the BIOS.","https:\u002F\u002Fgithub.com\u002Fvoardwalker-code\u002FNekoCore-OS\u002Fblob\u002Fmain\u002Fproject\u002Fskills\u002Fself-repair\u002FSKILL.md",[],[140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,111,155,156],"self repair","repair","self","broken","system","health","recovery","run","guide","self-healing","healing","disaster recovery","trigger","fixer","rebuild","results","diagnostics"]