AgentSkillsCN

Complete Rust Development

结合错误处理、测试和日志记录模式的Rust开发综合技能。通过合并多个独立技能的内容演示‘includes’组合功能。

SKILL.md
--- frontmatter
id: rust-complete
name: Complete Rust Development
description: >-
  A comprehensive skill for Rust development that combines error handling,
  testing, and logging patterns. Demonstrates the 'includes' composition
  feature by merging content from multiple standalone skills.
tags: [rust, complete, example]
includes:
  - skill: rust-error-handling
    into: rules
  - skill: testing-patterns
    into: checklist
  - skill: logging-patterns
    into: rules
    prefix: "[Logging] "

Complete Rust Development

A comprehensive Rust development skill that combines error handling, testing, and logging patterns through composition.

This skill demonstrates the includes feature:

  • Error handling rules from rust-error-handling are merged into Rules
  • Testing checklist from testing-patterns is merged into Checklist
  • Logging rules from logging-patterns are merged into Rules with a prefix

Rules

  • Follow Rust idioms and conventions
  • Use clippy for linting: cargo clippy -- -D warnings
  • Format code with rustfmt: cargo fmt
  • Keep unsafe blocks minimal and well-documented

Examples

rust
// Idiomatic Rust with proper error handling, logging, and tests
use anyhow::{Context, Result};
use tracing::{info, instrument};

#[instrument]
pub fn process_data(input: &str) -> Result<Output> {
    info!("processing data");

    let parsed = parse_input(input)
        .context("failed to parse input")?;

    let result = transform(parsed)
        .context("transformation failed")?;

    info!(output_size = result.len(), "processing complete");
    Ok(result)
}

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn test_process_data_happy_path() {
        let input = "valid input";
        let result = process_data(input);
        assert!(result.is_ok());
    }

    #[test]
    fn test_process_data_invalid_input() {
        let input = "";
        let result = process_data(input);
        assert!(result.is_err());
    }
}

Checklist

  • Code passes cargo clippy -- -D warnings
  • Code is formatted with cargo fmt
  • No unsafe blocks (or they are justified and documented)
  • Dependencies are minimal and audited