mcpField
E
ears-requirements

ears-requirements

github.com/hexbee開発335 回インストール10 週間前に更新
リポジトリ

ears-requirements について

要件の草案を EARS パターンに沿った簡潔でテスト可能な記述に整えるスキルです。要件の作成やレビューに向けて、パターン分類、条件とシステム応答の明確化、検証スクリプトによる品質確認を行います。

主な機能

  1. 01EARS パターンによる要件分類
  2. 02厳密な節順序での記述書き換え
  3. 03測定可能性とテスト可能性の確認
  4. 04スクリプトによる構文・品質検証

活用シーン

  1. 01曖昧な要件草案の明確化
  2. 02テスト可能なシステム動作要件の作成
  3. 03レビュー用の要件分類
  4. 04要件の一括検証

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/hexbee/hello-skills --skill ears-requirements

インストール後、Claude Code で/ears-requirementsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

openai.yaml
agents/
openai.yaml
references/
ears-patterns.md
scripts/
validate_ears.py

詳細

EARS 要件

概要

要件の草案を、意図を保ちながら曖昧さを減らし、簡潔で EARS に準拠した記述に変換します。

ワークフロー

  1. ユーザー入力から要件の意図を抽出します。
  2. 適切な EARS パターンを特定します。
    • 普遍的
    • 状態駆動
    • イベント駆動
    • オプション機能
    • 望ましくない動作
    • 複合パターン
  3. 厳密な節の順序に従い、明確なシステム応答を 1 つ含めて各要件を書き直します。
  4. 測定可能性、テスト可能性、条件の不足について品質チェックを行います。
  5. 次の内容を返します。
    • 書き直した要件
    • 各要件のパターンラベル
    • パターンの選択に異論が生じる可能性がある場合は、簡潔な根拠

作成ルール

  • 1 つの記述につき要件は 1 つにします。
  • 明示的なシステム主体を必ず 1 つだけ使用します(例:「ATM」)。
  • 必須の動作には shall を使用します。
  • 実装の詳細より、観察可能な結果を優先します。
  • 条件を明示し、暗黙のトリガーや隠れた状態を避けます。
  • 「適切な場合」「可能であれば」「など」のような曖昧な表現を避けます。
  • 数値の上限や時間が不明な場合は、明確なプレースホルダートークンを追加します(例:<MAX_LATENCY_MS>)。

EARS 節の順序

選択したパターンに必要な節のみを適用し、常に次の順序にします。

While <state/precondition>, when <trigger>, the <system> shall <response>

望ましくない動作のパターンは、次の形式を使用します。

If <undesired trigger>, then the <system> shall <response>

パターンの定義と例については、references/ears-patterns.md を参照してください。

スクリプト

パターンを分類し、構文や品質の問題をすばやく検出するには、scripts/validate_ears.py を使用します。

単一の要件:

python3 scripts/validate_ears.py --requirement "When mute is selected, the laptop shall suppress all audio output."

バッチファイル(1 行につき要件 1 つ):

python3 scripts/validate_ears.py --file requirements.txt

機械可読な出力:

python3 scripts/validate_ears.py --file requirements.txt --json

品質ゲート

最終確定する前に、各要件について次を確認します。

  • 合否基準を用いてテストできます。
  • 主体、条件、応答が曖昧ではありません。
  • 同義語の揺れがなく、用語が一貫しています。
  • 複数の独立した動作を、明示的に複合パターンとする場合を除いて、組み合わせていません。
  • 選択した EARS パターンに合致しています。

いずれかのチェックに失敗した場合は、修正版を提示し、加えた最小限の変更について説明します。

コメント