用途:帮助按纪律写出生产级 Rust 代码,强调分遍推进而非一次写就。
主要流程: Pass 1 设计类型与签名,先不写函数体。检查枚举能否表达非法状态组合、参数是否自文档(用枚举替代 bool)、序列化或比较用的结构体是否用 BTreeMap、配置结构体是否派生 Default、是否需要 newtype 区分同类型参数、多个 Option 字段是否应改为枚举、4 个以上参数是否应改为 args 结构体。类型即架构,类型不对不进入下一步。 Pass 2 实现函数体:每个 ? 加 .context("failed to [verb] [noun]");库代码用 thiserror,应用代码用 anyhow;有时借用有时分配时用 Cow<str>;2 个以上返回值用命名结构体而非元组;match 穷举不用 _ 通配。同时注意:跨 .await 前释放锁守卫;Drop 中显式关闭 stdin;子进程用 kill_on_drop(true);清理顺序为清监听、排空任务、释放资源;SQLite 写事务用 BEGIN IMMEDIATE;幂等插入用 ON CONFLICT DO NOTHING;对已失效实体的事件须显式处理,记录警告并清理,不可静默丢弃或 panic。共享数据按决策树选择 &T、Cow、Arc、Arc<Mutex/RwLock>。异步通道按需选 oneshot、mpsc、watch、broadcast,关闭用 CancellationToken。 Pass 3 简化:删去仅转发的参数、未使用的字段与函数、无必要的抽象;逻辑错误时重写函数体而非绕道现有 API。 Pass 4 验证:运行 bash ${SKILL_DIR}/scripts/lint.sh <your-file.rs>,修所有 ERROR、审所有 WARNING,再对照清单人工检查。
适用场景:编写或审查 Rust 模块、库与应用代码。限制:具体安装方式、收费、平台支持等资料暂未提供。