rust-patterns
Rust-specific coding patterns and conventions used in the Grove codebase. Loaded for Builder and Reviewer agents working on Rust code.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Rust-specific coding patterns and conventions used in the Grove codebase. Loaded for Builder and Reviewer agents working on Rust code.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
Structured code review checklist for the Reviewer agent. Provides a systematic framework for evaluating code changes across correctness, security, performance, and maintainability.
Resolve git merge conflicts in a Grove conversation worktree before the task agent begins work. This skill is invoked automatically by the orchestrator when a pre-run `git merge origin/main` into the conversation branch produces conflicts. The agent receives the list of conflicting files and the worktree path, resolves every conflict, validates the result, and stages the files so the engine can finalize the merge commit. This is not a user-facing skill — it is called programmatically by the Grove engine.
Test-Driven Development workflow for the Builder agent. Ensures code is written test-first with proper red-green-refactor cycles.
SOC 職業分類に基づく
| name | rust-patterns |
| description | Rust-specific coding patterns and conventions used in the Grove codebase. Loaded for Builder and Reviewer agents working on Rust code. |
| applies_to | ["builder","reviewer"] |
GroveResult<T> (alias for Result<T, GroveError>) everywhere? operator for propagation — no .unwrap() in production codeexternal_call().map_err(|e| GroveError::External(e.to_string()))?GroveError::NotFound for missing resources, GroveError::Config for config issuesrusqlite::Connectionconn.execute() for writes, conn.query_row() for single readsconn.prepare() + stmt.query_map() for multi-row reads[&run_id], never string interpolationcrates/grove-core/src/db/migrations/ — numbered sequentially#[derive(Serialize, Deserialize)] on all IPC types#[serde(rename_all = "snake_case")] for enums#[serde(default)] for optional fields that may be missing in older datastd::fs for sync file operationsfs::create_dir_all(parent)?Path and PathBuf — never string concatenation for paths#[tauri::command] async functionsspawn_blocking for sync operations (DB, git, file I/O)Result<T, String> where T: Serialize.map_err(|e| e.to_string())?#[cfg(test)] mod tests at bottom of each moduletempfile::tempdir() for filesystem testsConnection::open_in_memory()snake_case_describing_behavior