Agent Skills by ALSEL
Anthropic Claude個人生産性⭐ リポ 0品質スコア 50/100

rtk-tdd

Rust開発においてTDD(Red-Green-Refactor)サイクルを徹底するスキル。実装・テスト・リファクタリング・バグ修正タスクで自動起動し、`anyhow`/`thiserror`や`cfg(test)`を活用したRustらしいテストパターンとArrange-Act-Assertワークフローを提供する。

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.

SKILL.md 本文

Rust TDD ワークフロー

TDD の 3 つの法則

  1. 失敗するテストなしに本番コードを書かない
  2. 失敗する程度のテストのみを書く (コンパイルエラーを含む)
  3. 失敗するテストをパスさせる最小限の本番コードのみを書く

サイクル: RED (テスト失敗) -> GREEN (最小限でパス) -> REFACTOR (整理、cargo test)

Red-Green-Refactor のステップ

1. 同じファイルの #[cfg(test)] mod tests にテストを記述
2. cargo test MODULE::tests::test_name  -- 失敗する必要あり (red)
3. 関数に最小限の実装を追加
4. cargo test MODULE::tests::test_name  -- パスする必要あり (green)
5. 必要に応じてリファクタ、cargo test を再実行 (green を維持)
6. cargo fmt && cargo clippy --all-targets && cargo test  (最終チェック)

ステップ 2 をスキップしないこと。テストが即座にパスする場合、何もテストしていない。

Rust の慣用的なテストパターン

パターン用途使用時
Arrange-Act-Assertすべてのテストの基本構造常に
assert_eq! / assert!直接比較 / ブール値確定的な値
assert!(result.is_err())エラーパスのテスト無効な入力
Result<()> の戻り型? 演算子を使うテストフォールバル関数
#[should_panic]予期されるパニック不変式、前置条件
tempfile::NamedTempFileファイル/I/O テストファイルシステム依存コード

コード種別別パターン

コード種別テストパターン
純粋関数 (str -> str)入力リテラル -> 出力をアサートassert_eq!(truncate("hello", 3), "...")
パース/フィルタリング生文字列 -> フィルタ -> contains/not-containsassert!(filter(raw).contains("expected"))
バリデーション/セキュリティ境界入力 -> ブール値をアサートassert!(!is_valid("../etc/passwd"))
エラーハンドリング不正な入力 -> is_err()assert!(parse("garbage").is_err())
Struct/enum のラウンドトリップ構築 -> シリアライズ -> デシリアライズ -> 比較assert_eq!(from_str(to_str(x)), x)

命名規則

test_{関数名}_{シナリオ}
test_{関数名}_{入力型}

例: test_truncate_edge_case, test_parse_invalid_input, test_filter_empty_string

Pure TDD を使わない場合

  • Command::new() を呼び出す関数 -> 実行ではなくパーサーをテスト
  • std::process::exit() -> まず Result にリファクタ、その後 Result をテスト
  • 直接 I/O (SQLite、ネットワーク) -> tempfile/mock を使用するか、純粋ロジックを別途テスト
  • Main/CLI の配線 -> 統合テスト/スモークテストでカバー

プリコミットゲート

cargo fmt --all --check
cargo clippy --all-targets
cargo test

3 つ全てがパスする必要があります。例外なし。正当な理由がない限り #[allow(...)] は不可。

ライセンス: Apache-2.0(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
rtk-ai
リポジトリ
rtk-ai/rtk
ライセンス
Apache-2.0
最終更新
不明

Source: https://github.com/rtk-ai/rtk / ライセンス: Apache-2.0

関連スキル

汎用個人生産性⭐ リポ 7,456

newsblur-cli

ターミナルからNewsBlurを管理できます。フィードの閲覧、ストーリーの検索、記事の保存・共有、インテリジェンス分類器の学習、新しいフィードの発見、ワークフローの自動化がNewsBlur CLIで実現します。ユーザーがNewsBlurアカウントを操作したい場合、フィードの確認、購読管理、またはニュース読み込みに関するスクリプト構築時に活用してください。

by samuelclay
汎用個人生産性⭐ リポ 58,643

caveman-compress

自然言語のメモリファイル(CLAUDE.md、todos、preferences)を「原始人形式」に圧縮し、入力トークンを削減します。技術的な内容、コード、URL、構造はすべて保持したまま圧縮します。圧縮版が元のファイルを上書きし、人間が読める形のバックアップはFILE.original.mdとして保存されます。トリガー:/caveman-compress FILEPATH または「compress memory file」

by JuliusBrussee
ALSEL独自Anthropic Claude個人生産性

find-skills

日本語の意図から Agent Skills を発見する。「楽天SEOのスキル探して」「PDFを処理したい」「データ分析を自動化したい」などの日本語リクエストに対応。Claude Code (CLI)、Codex、Gemini CLI、claude.ai (Web) いずれでも動作。日本最大の Agent Skills データベース「Agent Skills by ALSEL」(11,000件超、全件日本語化、ダウンロード可能スキル8,600件超) から、ユーザーの意図に合うスキルを推薦・インストール案内する。

by 株式会社ALSEL
汎用個人生産性⭐ リポ 39,967

planning-and-task-breakdown

仕事を順序立てたタスクに分割します。仕様書や要件が明確にあり、実装可能なタスクに分解する必要がある場合に利用してください。タスクが大きすぎて着手しづらい場合、スコープを見積もる必要がある場合、または並列で作業を進められる場合に活用できます。

by addyosmani
Anthropic Claude個人生産性⭐ リポ 132,723

docx

このスキルは、ユーザーがWord文書(.docxファイル)を作成、読み込み、編集、操作したいときに使用します。以下の場合に実行してください:「Word文書」「.docx」などの記述、または目次・見出し・ページ番号・レターヘッドなどのフォーマットを含む専門的な文書の作成リクエスト。また、.docxファイルのコンテンツ抽出・再編成、文書への画像挿入・置換、Word形式での検索置換、変更履歴やコメント機能の使用、コンテンツを整形したWord文書への変換の場合も対象です。ユーザーが「レポート」「メモ」「手紙」「テンプレート」などの成果物をWord形式または.docxファイルで求める場合はこのスキルを使用してください。PDF、スプレッドシート、Google Docs、文書作成と無関係なコーディングタスクには使用しないでください。

by anthropics
汎用個人生産性⭐ リポ 39,967

idea-refine

アイデアを反復的に改善します。構造化された発散的思考と収束的思考を通じて、アイデアを洗練させることができます。「idea-refine」または「ideate」を使用してトリガーします。

by addyosmani
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: rtk-ai · rtk-ai/rtk · ライセンス: Apache-2.0