본문으로 건너뛰기
cccskills
무료GitHub에 공개

rust-dev

This skill should be used when working with Rust code, reviewing Rust code, managing Rust dependencies, creating Rust projects, or fixing Rust compilation errors. It provides strict coding standards (especially FAIL FAST error handling), workspace architecture guidance, dependency management automation, and common Rust patterns.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(13)

  • SKILL.md4.6 KB
  • assets/workspace-template/Cargo.toml471 B
  • assets/workspace-template/project-cli/Cargo.toml413 B
  • assets/workspace-template/project-cli/src/main.rs1.8 KB
  • assets/workspace-template/project/Cargo.toml376 B
  • assets/workspace-template/project/src/lib.rs740 B
  • assets/workspace-template/README.md1.4 KB
  • references/dependency-guide.md1.6 KB
  • references/error-handling.md2.2 KB
  • references/module-organization.md1.4 KB
  • runtime-claude.md416 B
  • runtime-omp.md495 B
  • scripts/check_crate_version.py3.5 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Rust Development

Runtime dispatch

Detect the runtime once, before the workflow:

  • Claude Code (Agent, AskUserQuestion, and Skill tools available) → read runtime-claude.md.
  • OMP (task and ask tools available, with skill://… readable through read) → read skill://rust-dev/runtime-omp.md.
  • Any other tool surface → stop and report that this skill has no dispatch table for the runtime.

The selected file is a prompt asset, not a role declaration. Its implementation and review labels name the exact runtime subagent arguments. If a named agent is unavailable, stop before delegation: never substitute the generic task or general-purpose agent and never implement delegated work inline.

Workflow

For any non-trivial Rust change:

  1. Discover project guidelines — Read CLAUDE.md, AGENTS.md (in repo root and .claude/, .cursor/, .codex/ subdirs), rustfmt.toml, clippy.toml, .clippy.toml, deny.toml, and [workspace.lints] / [lints] sections in Cargo.toml. These rules apply in addition to Core Rules below.

  2. Implement — Delegate through the runtime dispatch table's implementation entry. It rediscovers guidelines, implements, then verifies its own work with cargo clippy --workspace --tests -- -D warnings and cargo test --workspace before reporting done.

  3. Review — Delegate through the dispatch table's review entry after implementation completes. This is mandatory, not optional. Convert findings into TODOs: critical/warning → fix; suggestions → triage.

  4. Fix issues one by one — Delegate each fix through the implementation entry. Do not batch unrelated fixes into one delegation.

  5. Final build — Run cargo build --workspace directly.

Core Rules

  1. Edition 2024: Always edition = "2024" in Cargo.toml
  2. FAIL FAST: Every error MUST propagate with ? or return Err. Logging is NOT handling. See error-handling.md
  3. Dependency versions: Use x.x format (e.g., serde = "1.0"). Find latest with python3 scripts/check_crate_version.py <crate>
  4. Workspace architecture: Root Cargo.toml defines workspace only. Separate crates for lib/cli/client
  5. Error types: thiserror (with backtrace) for libraries, anyhow for binaries/tests
  6. CLI-first config: Never bypass CLI args. Use from_cli_args(), never Default that reads env
  7. No env::set_var in tests: Pass config through function parameters
  8. Async: Use tokio consistently
  9. Visibility: Private (default) > pub(crate) > pub
  10. No magic numbers: Use const or CLI args

Adding Dependencies

  1. Run python3 scripts/check_crate_version.py <crate-name> to find latest version
  2. Add to [workspace.dependencies] in root Cargo.toml with x.x format
  3. Reference in member crates: serde = { workspace = true }

Common deps: thiserror = "2.0", anyhow = "1.0", tokio = { version = "1", features = ["full"] }, serde = { version = "1.0", features = ["derive"] }, clap = { version = "4.5", features = ["derive"] }

Creating New Projects

Use the template in assets/workspace-template/:

project/
├── Cargo.toml              # Workspace root, no code
├── project/                # Library crate (thiserror)
│   ├── Cargo.toml
│   └── src/lib.rs
└── project-cli/            # Binary crate (anyhow + clap)
    ├── Cargo.toml
    └── src/main.rs

Module Organization

Split modules when file exceeds ~500 lines or tests take 50%+ of file. See module-organization.md for patterns.

Error Handling

The most critical standard. See error-handling.md for full rules and examples.

Quick check: If you see if let Err or match ... Err without return Err or ?, it's a bug.

References

Scripts

  • scripts/check_crate_version.py — Query crates.io for latest dependency versions

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

mimo-code

무료

Use when delegating a coding task to mimo (the mimo CLI / Xiaomi opencode fork) — offloading implementation to mimo, resuming a mimo session, or running work on a chosen provider/model. Triggers on "/mimo-code", "run mimo", "delegate to mimo", "resume the mimo session", "offload this to mimo".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

onsails/skills442026년 8월 26일 업데이트

sprint

무료

Use when one milestone is too large for a single specification or plan and must ship as several ordered stages across sessions.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

onsails/skills442026년 8월 26일 업데이트

onsails의 스킬 모두 보기

이 스킬의 문제 신고