本文へ移動
cccskills
無料GitHub で公開

rust

Provides Rust coding best practices for structure, patterns, performance, and error handling. Use when writing or reviewing Rust code, or when the user asks for Rust style guidance.

インストール方法を見る

含まれるファイル(11)

  • SKILL.md4.1 KB
  • agent-friendly-cli/SKILL.md5.5 KB
  • anti-patterns/SKILL.md2.9 KB
  • coding-guidelines/SKILL.md3.0 KB
  • concurrency/SKILL.md3.8 KB
  • error-handling/SKILL.md3.1 KB
  • ownership/SKILL.md3.1 KB
  • performance/SKILL.md2.8 KB
  • rust.mdc9.1 KB
  • type-driven-design/SKILL.md3.2 KB
  • zero-cost-abstractions/SKILL.md3.2 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Rust Best Practices

Quick Start

Apply these rules by default when touching Rust:

  1. Organize code by feature/module, not by file type
  2. Keep structs small and focused; split large data into composable types
  3. Prefer Result<T, E> for recoverable errors, avoid panic!
  4. Document every unsafe block with a // SAFETY: rationale
  5. Default to Vec/HashMap; pre-allocate when size is known
  6. For CLIs, expose non-interactive flags, stdin/file input, actionable errors, and example-rich help

Workflow (use this order)

  1. Clarify scope: new module, refactor, or review.
  2. Organize by feature/module; keep type + impls together.
  3. Ensure error handling uses Result (avoid panic! except invariants).
  4. Document unsafe blocks with // SAFETY: and minimal scope.
  5. Choose data structures intentionally and pre-allocate when size is known.
  6. For binaries, define the automation contract: flags, stdin, output format, exit codes, and dry-run behavior.
  7. Add or update tests (unit tests + rustdoc examples for public APIs; CLI help/error tests for binaries).

Review Checklist

  • Module layout is feature-driven and cohesive.
  • Result used for recoverable errors; panic! justified.
  • All unsafe blocks have explicit // SAFETY: rationale.
  • No oversized structs; data is composed cleanly.
  • Collections pre-allocated when size is known.
  • CLI surfaces can run unattended and explain retry commands on usage errors.
  • Tests and doc examples cover edge cases.

Sub-Skills

Load these for focused guidance on specific topics:

SkillWhen to Use
ownershipOwnership/borrow errors (E0382, E0597), lifetime design
error-handlingResult vs Option, anyhow vs thiserror, custom error types
concurrencySend/Sync errors, threads vs async, shared state design
zero-cost-abstractionsGenerics vs dyn Trait, object safety, dispatch choice
type-driven-designNewtypes, type state, PhantomData, invalid states
performanceProfiling, allocation reduction, cache, parallelism
agent-friendly-cliRust binaries, clap command trees, diagnostics/codegen tools
anti-patternsCode review, clone/unwrap overuse, idiomatic rewrites
coding-guidelinesNaming, style, modern crate recommendations

Local Resources

  • rust.mdc — authoritative Rust rule file (always applied)

Code Organization

  • Feature-driven modules: Keep a struct, its enums, and impl blocks together
  • Small, cohesive types: Split large structs into composable pieces

Common Patterns

  • Newtype for type safety: Wrap primitives to avoid ID/value mixups
  • Builder for complex construction: Use builders for many optional fields
  • Minimal generic bounds: Put bounds on impl/functions, not the type
  • CLI contracts for binaries: Make command inputs, outputs, exit codes, and destructive behavior explicit

Performance Guidance

  • Default to Vec and HashMap; switch only with evidence or requirements
  • Pre-allocate capacity when the approximate size is known

Error Handling and Safety

  • Use Result<T, E> for recoverable errors
  • Reserve panic! for invariants or unrecoverable bugs
  • Add a // SAFETY: rationale before every unsafe block

Agent-Friendly CLIs

  • Prefer clap command trees with real examples in top-level and subcommand help
  • Accept stdin (--stdin or --input -) when callers may pipe generated code
  • Provide structured output such as --json for automation
  • Validate usage before expensive work and return actionable retry examples
  • Put destructive writes behind --dry-run plus explicit confirmation

Testing

  • Prefer unit tests with #[test] in a tests module
  • Use rustdoc examples for public APIs to keep docs executable
  • Test CLI help text, usage errors, and structured output for binaries

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Add an iOS App Clip target to an Expo app. Use when the user mentions App Clip, AASA, apple-app-site-association, appclips, smart app banner, or wants to ship a lightweight iOS Clip invoked from a URL alongside their parent app.

日本語の概要は準備中です。原文の説明を表示しています。

heyAyushh/stacc32026年9月21日 更新

Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with web pages, fill forms, take screenshots, test web applications, or extract information from web pages.

日本語の概要は準備中です。原文の説明を表示しています。

heyAyushh/stacc32026年9月21日 更新

Add Agentation visual feedback toolbar to a Next.js project

日本語の概要は準備中です。原文の説明を表示しています。

heyAyushh/stacc32026年9月21日 更新

Apple's approach to interface design and fluid, physical motion, translated for the web. Use when building or reviewing gesture-driven UI, spring animations, drag/swipe/sheet interactions, momentum and interruptible transitions, translucent materials and depth, typography (optical sizing, tracking, leading), reduced-motion, or the design foundations (feedback, spatial consistency, restraint) behind Apple-style interfaces.

日本語の概要は準備中です。原文の説明を表示しています。

heyAyushh/stacc32026年9月21日 更新

Derive and implement first-principles audio-coupled haptic and kinetic UI feedback. Use when designing, reviewing, or coding haptics/audio for mobile apps, native iOS/Android, React Native/Expo, SwiftUI, games, detent pickers, toggles, sliders, page curls, scroll gestures, wallet/signature flows, Solana transactions, backend/realtime state changes, confirmations, settlements, and semantic UI events where feedback should follow signal math instead of ad hoc vibration calls.

日本語の概要は準備中です。原文の説明を表示しています。

heyAyushh/stacc32026年9月21日 更新

Babysit a GitHub pull request during a user-approved monitoring window by polling review comments, CI checks/workflow runs, and mergeability state. Diagnose failures, retry likely flaky failures up to 3 times, auto-fix/push branch-related issues when appropriate, and report fresh review feedback. Use when the user asks Codex to monitor a PR, watch CI, handle review comments, or keep an eye on failures and feedback on an open PR.

日本語の概要は準備中です。原文の説明を表示しています。

heyAyushh/stacc32026年9月21日 更新

heyAyushh のスキルをすべて見る

このスキルの問題を報告する