Skills Plugins MCP Prompt Model 博客 我的中心
開発 #testing

rtk-tdd

Enforces TDD (Red-Green-Refactor) for Rust development. Auto-triggers on implementation, testing, refactoring, and bug fixing tasks. Provides Rust-idiomatic testing patterns with anyhow/thiserror, cfg(test), and Arrange-Act-Assert workflow.

DeepseekModel キュレーション済みスキル 品質 優秀 · 90 v1.0.0

取得

https://deepseekmodel.com/api/download.php?id=rtk-ai-rtk-claude-skills-rtk-tdd-skill-md&format=skill
ダウンロード .skill 標準形式。system_prompt と model_config を収録し、任意の Agent で利用可能
.skill ファイルの system_prompt フィールドの実際の内容。
name rtk-tdd description Enforces TDD (Red-Green-Refactor) for Rust development. Auto-triggers on implementation, testing, refactoring, and bug fixing tasks. Provides Rust-idiomatic testing patterns with anyhow/thiserror, cfg(test), and Arrange-Act-Assert workflow. allowed-tools ["Read","Write","Edit","Bash"] effort medium tags ["tdd","testing","rust","red-green-refactor","rtk"] Rust TDD Workflow Three Laws of TDD Do NOT write production code without a failing test Write only enough test to fail (including compilation failure) Write only enough production code to pass the failing test Cycle: RED (test fails) -> GREEN (minimum to pass) -> REFACTOR (cleanup, cargo test) Red-Green-Refactor Steps 1. Write test in #[cfg(test)] mod tests of the SAME file 2. cargo test MODULE::tests::test_name -- must FAIL (red) 3. Implement the minimum in the function 4. cargo test MODULE::tests::test_name -- must PASS (green) 5. Refactor if needed, re-run cargo test (still green) 6. cargo fmt && cargo clippy --all-targets && cargo test (final gate) Never skip step 2. If the test passes immediately, it tests nothing. Idiomatic Rust Test Patterns Pattern Usage When Arrange-Act-Assert Base structure for every test Always assert_eq! / assert! Direct comparison / booleans Deterministic values assert!(result.is_err()) Error path testing Invalid inputs Result<()> return type Tests with ? operator Fallible functions #[should_panic] Expected panic Invariants, preconditions tempfile::NamedTempFile File/I/O tests Filesystem-dependent code Patterns by Code Type Code Type Test Pattern Example Pure function (str -> str) Input literal -> assert output assert_eq!(truncate("hello", 3), "...") Parsing/filtering Raw string -> filter -> contains/not-contains assert!(filter(raw).contains("expected")) Validation/security Boundary inputs -> assert bool assert!(!is_valid("../etc/passwd")) Error handling Bad input -> is_err() assert!(parse("garbage").is_err()) Struct/enum roundtrip Construct -> serialize -> deserialize -> eq assert_eq!(from_str(to_str(x)), x) Naming Convention test_{function}_{scenario} test_{function}_{input_type} Examples: test_truncate_edge_case , test_parse_invalid_input , test_filter_empty_string When NOT to Use Pure TDD Functions calling Command::new() -> test the parser, not the execution std::process::exit() -> refactor to Result first, then test the Result Direct I/O (SQLite, network) -> use tempfile/mock or test the pure logic separately Main/CLI wiring -> covered by integration/smoke tests Pre-Commit Gate cargo fmt --all --check cargo clippy --all-targets cargo test All 3 must pass. No exceptions. No #[allow(...)] without documented justification.
このスキルを起動するキーワード。クリックでコピーできます。

このスキルにはトリガーワードがありません。

ダウンロードした .skill に含まれるフィールド。
フィールド 説明
formatフォーマット識別子(skill/v1)
skill_idスキル固有 ID
nameスキル名
versionバージョン
description説明
categoryカテゴリ(配列)
trigger_wordsトリガーワード
tagsタグ
sourceソース
source_urlソース URL(本ページ)
exported_atエクスポート日時(ダウンロード毎)
system_promptシステムプロンプト本文
model_configモデル設定:provider / model / temperature / max_tokens / top_p
examplesサンプル
install_guide各プラットフォームの導入説明(Coze / Dify / Claude / カスタム)
同じスキルを各プラットフォーム形式で出力できます。
.skill 標準形式。system_prompt と model_config を収録し、任意の Agent で利用可能 ダウンロード
.skillpro 拡張形式。scripts / tools / dependencies / hooks を含む ダウンロード
.json 純粋な JSON 出力。system_prompt とモデル設定のみ ダウンロード
Coze frontmatter 付き Markdown。Coze へのインポート用 ダウンロード
Dify Dify DSL。アプリ作成後にそのままインポート ダウンロード

每日精选 Skill 推荐,免费送到你邮箱

输入邮箱,每天接收一个精选 AI Agent 技能推荐。完全免费,持续更新。

提交后我们会发送一封确认邮件,点击邮件里的链接才会开始收信。

完全免费,取消任意时间。我们不会发送垃圾邮件。