ears-requirements について
要件の草案を EARS パターンに沿った簡潔でテスト可能な記述に整えるスキルです。要件の作成やレビューに向けて、パターン分類、条件とシステム応答の明確化、検証スクリプトによる品質確認を行います。
主な機能
- 01EARS パターンによる要件分類
- 02厳密な節順序での記述書き換え
- 03測定可能性とテスト可能性の確認
- 04スクリプトによる構文・品質検証
活用シーン
- 01曖昧な要件草案の明確化
- 02テスト可能なシステム動作要件の作成
- 03レビュー用の要件分類
- 04要件の一括検証
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ hexbee/ hello-skills --skill ears-requirementsインストール後、Claude Code で/ears-requirementsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
openai.yamlagents/openai.yamlreferences/ears-patterns.mdscripts/validate_ears.py詳細
EARS 要件
概要
要件の草案を、意図を保ちながら曖昧さを減らし、簡潔で EARS に準拠した記述に変換します。
ワークフロー
- ユーザー入力から要件の意図を抽出します。
- 適切な EARS パターンを特定します。
- 普遍的
- 状態駆動
- イベント駆動
- オプション機能
- 望ましくない動作
- 複合パターン
- 厳密な節の順序に従い、明確なシステム応答を 1 つ含めて各要件を書き直します。
- 測定可能性、テスト可能性、条件の不足について品質チェックを行います。
- 次の内容を返します。
- 書き直した要件
- 各要件のパターンラベル
- パターンの選択に異論が生じる可能性がある場合は、簡潔な根拠
作成ルール
- 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 パターンに合致しています。
いずれかのチェックに失敗した場合は、修正版を提示し、加えた最小限の変更について説明します。