Communityライティング&編集github.com

aizech/bernhard-zechmann-skills

エンジニアリング、ライティング、研究のワークフローで使用されるモジュール式AIエージェントスキル。モデル非依存、合成可能、本番環境でテスト済み。エンジニアリング、生産性、パーソナル、実験的なスキルパックを含みます。

bernhard-zechmann-skills とは?

このスキルは、AIエージェント(Claude Code、Cursor、Codexなど)向けに設計された、テスト駆動開発(TDD)のワークフローを提供します。テストをフィードバックループとして使用し、機能追加やバグ修正を1つの垂直スライスずつ進める方法を定義しています。中心原則は「テストは実装の詳細ではなく、公開インターフェースを通じて振る舞いを検証する」ことであり、内部リファクタリングでテストが壊れるのは誤りとみなします。ワークフローは「計画→トレーサー弾(1テスト・最小限の実装)→インクリメンタルループ→リファクタリング」の4ステップで構成され、RED(テスト失敗)→GREEN(実装成功)の短いサイクルを推奨しています。また、水平スライス(全テストを先に書き、後で全実装)をアンチパターンとして警告しています。このスキルは、エンジニアリング、生産性、パーソナル、実験的なスキルパックを含む、より大きなスキルコレクションの一部です。

対応✓Claude Code~Codex CLI✓Cursor✓OpenCode
npx skills add aizech/bernhard-zechmann-skills

Installed? Explore more ライティング&編集 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

テスト駆動開発

機能追加やバグ修正は、テストをフィードバックループとして使用し、1つの垂直スライスずつ進めます。

核心原則

テストは実装の詳細ではなく、公開インターフェースを通じて振る舞いを検証します。リファクタリングを行っても振る舞いが変わっていないのにテストが壊れる場合、そのテストは間違っています。

アンチパターン:水平スライス

すべてのテストを最初に書き、その後すべての実装を行ってはいけません。1つのテストを書き、それをパスさせ、それを繰り返します。

誤り:  RED test1, test2, test3 -> GREEN impl1, impl2, impl3
正解:  RED test1 -> GREEN impl1 -> RED test2 -> GREEN impl2 -> ...

ワークフロー

1. 計画

  • ユーザーとインターフェースの変更を確認します。
  • テストする振る舞いを確認します。すべてをテストすることはできません。
  • 振る舞いを観測可能な結果としてリスト化し、実装手順としてリスト化しないでください。
  • コードを書く前にユーザーの承認を得てください。

2. トレーサー弾

1つの振る舞いに対して1つのテストを書きます。それが失敗するのを確認します。それをパスさせるための最小限のコードを書きます。

3. インクリメンタルループ

残りの各振る舞いに対して、以下を繰り返します:

  • 次のテストを書きます。
  • 最小限のコードでそれをパスさせます。
  • 将来のテストを見越さないでください。

4. リファクタリング

すべてのテストがパスした後:

  • 重複を抽出します。
  • モジュールを深くします:小さなインターフェース、深い実装。
  • リファクタリングの各ステップ後にテストを実行します。

RED(テスト失敗)の状態では決してリファクタリングを行わないでください。

サイクルごとのチェックリスト

  • テストは実装ではなく振る舞いを記述している
  • テストは公開インターフェースを使用している
  • テストは内部リファクタリング後も有効である
  • コードはこのテストに対して最小限である
  • 推測による機能は追加されていない

ルール

  • 新しい振る舞いに対しては、実装の前にテストを書きます。
  • 型ヒントと明確な名前を使用します。
  • 関数は小さく、単一目的に保ちます。
  • 明確なエラーメッセージとともに早期に失敗します。

関連スキル