本文へ移動
cccskills
無料GitHub で公開

story-quality-gate

/brainstorm のユーザーストーリー品質を INVEST 基準で軽量チェックする。proposal.md 生成前にストーリーの構造的品質を確認し、問題があれば対話で改善を促す

インストール方法を見る

含まれるファイル(1)

  • SKILL.md4.9 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Story Quality Gate

Overview

ユーザーストーリーの構造的品質を INVEST 基準で軽量チェックする。

目的: 品質の低いストーリーが /spec に流入するのを防ぐ。 タイミング: /brainstorm の要件確定後、proposal.md 生成前。 原則: ブロッキングゲートではない。Warn を出すが、ユーザー判断で進行可能。

INVEST チェック(6項目)

各ユーザーストーリーに対して Pass / Warn を判定する。

I - Independent(独立性)

他のストーリーへの暗黙の依存がないか。

  • Pass: ストーリー単体で意味が通る
  • Warn: 「〜の後に」「〜が完了したら」等、他ストーリーへの暗黙の前提がある
Warn 例: 「ログイン後にプロフィールを編集したい」
  → ログイン機能が暗黙の前提。依存関係を明示するか、分離を検討
Pass 例: 「ユーザーとして、プロフィールを編集したい」
  → 認証済みであることは前提条件として明記可能

N - Negotiable(交渉可能性)

実装手段の指定がなく、ゴールが記述されているか。

  • Pass: 「何を達成したいか」が記述されている
  • Warn: 「Redis を使って」「React Hook Form で」等の技術指定がある
Warn 例: 「Zustand を使って状態管理したい」
  → 技術指定。/brainstorm では「複数画面で状態を共有したい」が適切
Pass 例: 「商品をカートに入れて、別の画面でも確認したい」

V - Valuable(価値)

「なぜなら」の理由がユーザーまたはビジネスの価値を示しているか。

  • Pass: 具体的なユーザー価値またはビジネス価値がある
  • Warn: 技術的理由のみ、または理由が欠落
Warn 例: 「コードの可読性を上げたい」
  → 技術的理由のみ。ユーザー/ビジネス価値が不明
Pass 例: 「注文履歴を確認したい。なぜなら過去の購入を再注文できるから」

E - Estimatable(見積可能性)

サイズ感が推定できるだけの情報があるか。

  • Pass: 何をどの範囲で変更するか想像できる
  • Warn: 範囲が不明確、または技術調査(スパイク)が必要
Warn 例: 「パフォーマンスを改善したい」
  → どの画面?どの操作?目標値は?範囲が不明
Pass 例: 「商品一覧の初回表示を高速化したい」

S - Small(小ささ)

1つのストーリーに複数の独立した変更が混在していないか。

  • Pass: 1つの焦点を持つストーリー
  • Warn: 「〜と〜と〜を」のように複数の独立した目標が混在
Warn 例: 「ユーザー登録、ログイン、パスワードリセットを実装したい」
  → 3つの独立した機能。分割を検討
Pass 例: 「新規ユーザーとして、メールアドレスで登録したい」

T - Testable(テスト可能性)

測定不能な曖昧表現がないか。

  • Pass: 具体的な状態変化や観測可能な結果がある
  • Warn: 「適切に」「快適に」「正しく」等の測定不能表現がある
Warn 例: 「エラーを適切にハンドリングしたい」
  → 「適切に」は測定不能。具体的なエラー表示内容が必要
Pass 例: 「入力エラー時にフィールド横にエラーメッセージを表示したい」

適用ルール

  1. 全項目 Pass → そのまま proposal.md 生成に進む
  2. Warn が 1-2 個 → Warn 内容をユーザーに提示し、改善するか・このまま進めるか質問する
  3. Warn が 3 個以上 → ストーリーの見直しを推奨する(ただしユーザー判断で進行可能)

提示形式

ストーリー品質チェック結果:

「ユーザーとして、〇〇したい。なぜなら△△だから」
  I: Pass  N: Pass  V: Pass  E: Warn  S: Pass  T: Warn

⚠ E(見積可能性): 対象範囲が不明確です。どの画面/機能が対象ですか?
⚠ T(テスト可能性): 「快適に」は測定が難しいです。具体的な基準はありますか?

→ このまま進めますか? それとも修正しますか?

対話の流れを壊さない

  • チェック結果は対話の最後にまとめて提示する(質問の途中で割り込まない)
  • Warn の提示は質問形式にする(チェックリストの押しつけではなく、対話の延長として)
  • ユーザーが「このまま進める」と言えば、Warn を proposal.md の「未解決の疑問点」に転記して進む

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Use at the START of every task, before writing any code, running tests, debugging, reviewing, or designing. This skill determines which methodology and domain skills must be invoked. MUST be invoked before any implementation, debugging, review, testing, or specification work begins.

日本語の概要は準備中です。原文の説明を表示しています。

kousukef/forge152026年4月6日 更新

Pattern for progressively refining context retrieval to solve the subagent context problem

日本語の概要は準備中です。原文の説明を表示しています。

kousukef/forge152026年4月6日 更新

proposal-readiness-check

無料日本語概要

proposal.md が /spec の入力として十分な情報を含んでいるかを確認する。「ユーザーにとっての承認」ではなく「/spec にとっての準備完了度」を検証する軽量チェック

kousukef/forge152026年4月6日 更新

Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, update or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.

日本語の概要は準備中です。原文の説明を表示しています。

kousukef/forge152026年4月6日 更新

Use when splitting a domain Skill into Phase-Aware File Structure (SKILL.md / design.md / constraints.md). Defines the splitting criteria, procedures, sync procedures, and validation rules. Invoked by /skill-format command or manually when restructuring domain Skills.

日本語の概要は準備中です。原文の説明を表示しています。

kousukef/forge152026年4月6日 更新

Suggests manual context compaction at logical intervals to preserve context through task phases rather than arbitrary auto-compaction.

日本語の概要は準備中です。原文の説明を表示しています。

kousukef/forge152026年4月6日 更新

kousukef のスキルをすべて見る

このスキルの問題を報告する