xp-harness の公開済みリリースを要約して、チーム周知用の短いテキスト (利用者向けの変化 + 更新手順) を作る。「リリースをアナウンスしたい」「この期間のリリースをまとめて周知したい」「土日の分まとめて」と言われたときに発火。投稿はせずドラフト生成に留める。
propose-options
設計判断・ライブラリ選定・アーキ判断・実装アプローチが 2 つ以上ありえる場面で必ず発火させる、「複数案+メリデメ+推奨」を提示する横断スキル。
「どっちがいい?」「これでいい?」「方針を相談したい」と聞かれたとき、ライブラリ選定・ディレクトリ構成・API 設計・テスト戦略のように選択肢が複数ある相談を受けたとき、要件定義 / 設計 / 実装の中で「複数アプローチがありそう」と感じたときに必ず使う。一案だけポンと出さない。
含まれるファイル(1)
- SKILL.md5.0 KB
SKILL.md(原文)
インストールする前に、エージェントに与えられる指示の中身を確認できます。
複数案+メリデメ+推奨を提示する
なぜこの skill があるか
技術判断や設計判断は、ほぼ必ず複数のアプローチがありえる。一案だけ提示すると、依頼者は「他に選択肢はないのか」「なぜこれを選んだのか」が分からないまま受け入れることになる。これは依頼者の判断を奪う行為で、結果としてエンドユーザーに不利益な設計が通りうる。
複数案を pros/cons 付きで並べ、あなたが責務適合性で推奨を 1 つ立てる、という形式に統一することで:
- 依頼者は「他の選択肢」と「採用しない理由」を 1 度に把握できる
- 推奨が外れていても、メリデメから依頼者が自分で組み替えられる
- あなたの判断根拠が明示されるので、後から振り返れる
提示フォーマット
ALWAYS use this exact structure:
## 論点: [何についての判断か 1 行]
### 案 [短い名前]: [一言要約]
- pros: [このアプローチのメリット 2-4 行]
- cons: [このアプローチのデメリット・リスク 2-4 行]
### 案 [短い名前]: [一言要約]
- pros: ...
- cons: ...
### 案 [短い名前]: [一言要約]
- pros: ...
- cons: ...
### 推奨: 案 [短い名前]
[なぜこれを推すか、責務・制約・既存資産との整合性ベースで 2-4 行]
補足ルール
- 2-4 案を出す。1 案では「複数案」にならない、5 案以上は依頼者が比較しきれない
- 各案に短い名前(「フラット配置」「prefix で識別」「README 案内」のような)を付ける。「案 A」「案 X」のような会話文脈に依存する省略記号は使わない
- pros/cons は事実ベースで書く。「シンプル」「複雑」だけでは不十分、「ファイル数 N 個に収まる」「学習コスト発生」のように具体的に
- 推奨は 1 つに絞る。「どれもアリ」は判断放棄。決めきれないならその旨と、絞れない理由を書く
- AskUserQuestion を使う場合、推奨案がオプションリストの最初に来るようにする(AskUserQuestion の慣例)。label に「(推奨)」を付ける
推奨案を選ぶ判断軸: 責務適合性
複数案を比較するとき、あなたが推奨を立てる根拠は「責務適合性」。具体的には:
- 責務として正しいか: その案が解決すべき責務(要件・関心事)に対して、適切な範囲でだけ動くか。責務を超えて機能を持っていないか
- 依存の向きが正しいか: 上位概念が下位実装に依存していないか。抽象に依存しているか
- 既存の責務分離と整合するか: 既存コードベースの責務分離と整合する案か、新たな責務違反を持ち込まないか
「依頼者が好きそう」「短いコードで済む」「学習コスト低い」のような表面の比較だけで推さない。責務として正しい案を、根拠を示して推す。
例
悪い例(一案だけ):
ORM は Prisma を使いましょう。型安全で開発体験が良いです。
→ 他にも選択肢があるのに、依頼者は知らないまま採用してしまう。
良い例(このフォーマット):
論点: ORM を何にするか
案 Prisma: 宣言的スキーマ + 自動生成
- pros: 型安全、マイグレーション機構あり、エコシステム成熟
- cons: スキーマファイル外部管理、生成ステップ必要、複雑な join に限界
案 Drizzle: TypeScript 内で完結する型安全 ORM
- pros: スキーマも TS、生成ステップ不要、軽量
- cons: エコシステム若い、複雑なクエリで型推論が崩れることあり
案 raw SQL + 型自動生成(kysely 等):
- pros: SQL の表現力フルに使える、薄いレイヤー
- cons: 自前で migration 管理、開発体験は ORM に劣る
推奨: 案 Drizzle
このプロジェクトは Cloudflare Workers + D1 で、ビルド時にスキーマ生成ステップを増やすと wrangler との統合が複雑化する。Drizzle は TS 内で完結するためビルドパイプラインに優しく、D1 サポートも一級。複雑な join はプロジェクトの規模感では発生しにくい。
レビュー
まだレビューはありません。使ってみた感想をお寄せください。
同じリポジトリのスキル
概要と使いどころ
要件が固まった機能・変更について、アーキテクチャ・ER・シーケンス・論理設計までを対話で固める「基本設計フェーズ」のスキル。docs/working/<title>/要件定義.md が既にある状態で「設計を進めて」「basic-design」と言われたら必ず発火させる。要件定義が終わって設計フェーズに入りたい依頼、データモデルや API 設計や画面遷移の議論、コンポーネント分割や責務分離の相談、「どう作るか」の構造的な設計が必要な場面で使う。
新規・変更・削除・改善などの要望やレビュー指摘を受けたら、設計や実装に入る前にまず必ず発火させる「要件定義フェーズ」のスキル。依頼者のインテントを読み取り、Why / Done / スコープ / 影響範囲を引き出す。見える挙動が変わる依頼全般が対象で、やることが具体的でも md にまとめられていても発火させ、複数の要望が混ざる依頼ほど積極的に発火させる。発火しないのは、再現条件と期待動作が完全に明確なバグ修正、依存更新・タイポ修正などの定型作業、要件定義と基本設計の文書が両方揃った実装フェーズの続き(メモや TODO があるだけでは除外しない)だけ。
依頼者と議論・対話を進める場面で必ず発火させる skill。共創を目指して、認識を小さく揃えながら、同じ抽象度・レイヤーで話すための対話の進め方を扱う。要件・設計フェーズの対話、実装中の設計判断の議論、レビュー結果の共有、複数の論点・選択肢を依頼者に渡す場面、依頼者からの指摘・反論に応答する場面、「確認したい」「議論したい」「相談したい」と問いかけたいとき、いずれも発火対象。「会話」ではなく「対話」を成立させたい全場面で効く。質問がスルーされる・訂正が続く・話題を変えられる・「そうじゃなくて」と返されるなど、噛み合っていない兆候を観測したときは軌道修正のために再度発火させる。
内部由来の知見(ふりかえりの反映・実プロジェクトの検証記録など)を公開リポジトリに出す前に、組織固有の固有名詞(会社名・内部リポ名・顧客名・人物名・プロジェクト名・ID・パス等)の混入を独立点検して防ぐ。公開 git 履歴は遡れて消せないため、コミット / push の前に必ず通す。機密・認証情報の検査は扱わない。
E2E テストの spec を書く・編集する・レビューする際に必ず発火させる。新しいシナリオの追加、既存 E2E テストの修正・デバッグ、E2E テストの書き方の相談、slice-tdd skill から E2E spec が必要と判断された場面で使う。触る範囲に対応するプロジェクトの E2E の流儀 (spec の書き方・構造・命名) を探して従わせる入口。E2E を実行する手順は扱わない (別スキルの責務)。