Back to list
masakinihirota

tdd-scenario-generator

by masakinihirota

0🍴 0📅 Jan 25, 2026

SKILL.md


name: tdd-scenario-generator description: TDDサイクルを加速させるため、実装前に網羅的なテストシナリオとエッジケースを生成します。

TDD Scenario Generator Skill

このスキルは、TDD駆動開発.md に基づき、新機能やバグ修正の開始時に「失敗するテスト(RED)」を定義するための網羅的なシナリオを生成します。

シナリオ生成のガイドライン

1. 正常系 (Happy Path)

  • 最も一般的、あるいは期待される入力に対する挙動。
  • Propsのデフォルト値での表示。

2. 異常系・入力バリデーション (Error Handling)

  • 境界値: 最大文字数、最小文字数、0や負の数。
  • 不正な形式: 無効なURL、メールアドレス、特殊文字の混入。
  • 未定義/null: RequiredなPropsが欠落している場合のフォールバック。

3. 操作・インタラクション

  • クリック、入力変更、送信。
  • ローディング中、成功時、エラー時の各状態遷移。

4. アクセシビリティ (a11y)

  • vitest-axe: toHaveNoViolations のアサーションを各状態ごとに含める。
  • ARIA属性: 適切な役割(Role)やラベル(aria-label)が機能しているか。

5. コンテキスト・環境

  • ダークモード/ライトモードでの視認性。
  • 未ログイン状態(認証必須機能の場合)。
  • データの空状態(Empty state)。

出力形式の例

テストケース名(日本語)と、Arrange/Act/Assert(AAA)の概要を提示します。

describe("ComponentName", () => {
    it("名前と説明を正しく表示し、アクセシビリティ違反がないこと", async () => { ... });
    it("タイトルが100文字を超える場合にエラーが表示されること", async () => { ... });
    it("APIエラー時にトースト通知が表示されること", async () => { ... });
    it("キーボード操作でボタンが活性化し、onClickが呼ばれること", async () => { ... });
});

フィードバックのガイドライン

  • コード生成(GREENフェーズ)に移る前に、ユーザーに「これらのシナリオで網羅されていますか?」と確認します。
  • ユーザーの追加要望があれば、そのシナリオをテストコードに反映させます。

Score

Total Score

50/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon