absolute-spec について
曖昧な要望をレビュー済みの設計仕様書にまとめ、そこで終了する計画スキルです。コードベースを調査し、質問を絞って確認したうえで独立した採点レビューを行います。タスクボード作成や実装は行いません。
主な機能
- 01コードベースと規約の調査
- 02質問を絞った要件確認
- 03具体的な設計仕様書の作成
- 04独立した採点レビュー
- 05実装せずに引き継ぎ
活用シーン
- 01機能設計を議論用にまとめる
- 02別の開発者やエージェント向けの仕様を作る
- 03実装前に提案をレビューする
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ maddhruv/ absolute --skill absolute-specインストール後、Claude Code で/absolute-specを入力して読み込まれたか確認します。
同梱ファイルREADME.md
詳細
最初の回答は📋の絵文字で始めてください。
Absolute Spec
Absolute Spec は曖昧な意図をレビュー済みの設計仕様書に変換し、そこで停止します。これは work の計画成果物を、完全なライフサイクルから切り出したものです。コードベースを調査し、コードからは答えられない質問だけをし、仕様書を作成して、独立した採点レビューを実施したうえで、議論や引き継ぎに使ったり、/absolute work に渡して構築したりできるドキュメントをお渡しします。
意図的に軽量な設計です。終わりのないヒアリングも、タスクボードも、細分化も、実行もありません。成果物は1つです。開発者が初見でも、それをもとに構築できる品質の仕様書です。
このコマンドを使う場面
次の場合は spec を使ってください:
- 今すぐ構築するのではなく、議論、レビュー、引き継ぎのために設計仕様書が必要な場合。
- 実装に着手する前に、機能について文書上で十分に検討したい場合。
- チームメイトや別のエージェントが、仕様書をもとに構築する場合。
- フェーズゲートのある完全なライフサイクルを使わずに、レビュー済みの設計ドキュメントをすばやく作成したい場合。
次の場合は spec を使わないでください:
- 1つのフローで設計と構築の両方を行いたい場合 →
/absolute workを使ってください(仕様作成はその Phase 2 で、その後に細分化と安全なウェーブ実行が続きます)。 - すでに存在する/リリース済みのコードを文書化する場合 →
/absolute docsを使ってください(将来の設計ではなく、リファレンス/説明用のドキュメントです)。 - 設計が不要な、明らかで1行で済む修正の場合。
work との違いは次のとおりです。spec はドキュメントを作成して停止し、work はドキュメントを作成した後に構築します。 今すぐ構築するかどうか迷っている場合は、まず spec を使ってください。後から work に続けることができ、仕様書も引き継がれます。
主な原則
- 質問の前にコードベースを確認します。 まず現状を読み、コードからは答えられないことだけを質問します。
- 範囲を限定し、しつこく聞きません。 短い確認(3~5問)を行い、
workのような深掘りの質問攻めはしません。質問をまとめて聞いてもかまいません。 - 仕様書が成果物です。 ここでは何よりも品質が重要です。独立した採点レビューを維持してください。
- 再発明せず、再利用します。 テンプレート、スケーリングルール、レビュールーブリックは、
absolute-workのreferences/spec-writing.mdを使用します。このコマンドは、それらを使うためのシンプルなフローです。 - レビュー後に停止します。 コードも、ボードも、実行もありません。きちんと引き継ぎます。
- 自動コミットはしません。 仕様書ファイルを書いて報告します。コミットはユーザーが行います。
フロー
SCAN ─→ CLARIFY ─→ WRITE ─→ REVIEW ─→ HANDOFF
手順間に厳格なゲートはありません(それが work との違いです)。唯一のチェックポイントは確認のやり取りです。質問し、回答を得て、そのままレビュー済みの仕様書まで進みます。
ステップ 1 — スキャン
質問を始める前に、現状に基づいて仕様を作成します。
- 規約の検出 — まずキャッシュ済み設定を読みます。
.absolute.config.jsonまたは~/.absolute/config.json(/absolute initで作成)が存在する場合は、有効な設定(プロジェクトファイル → グローバルのprojects["<cwd>"]→ グローバルのdefaults)を解決し、そのconventionsを使用して、不足している項目だけを検出します。設定がない場合は、initをやわらかく提案し、workの「コードベース規約の検出」表を使って実行します(パッケージマネージャー、言語/ランタイム、テストランナー、リンター、ビルドシステム、ディレクトリ規約。absolute-workの SKILL.md の Codebase Convention Detection を参照)。仕様書には、プロジェクトで実際に使われているスタック、スクリプト、パスを記載します。 - 詳細なコンテキストスキャン — 既存のものを読みます。
docs/(まずREADME)、ルートのREADME.md、CLAUDE.md、CONTRIBUTING.md、docs/plans/(重複または関連する設計)、最近のコミット(直近10~20件)、パッケージマニフェスト、および機能が関わるディレクトリを確認します。 - 要約 — 分かったことを2~4行で述べます(スタック、関連する既存コード、重複する過去の設計など)。ファイル一覧をそのまま列挙しないでください。
作業の種類(機能/リファクタリング/グリーンフィールド/移行)を検出しますが、仕様の形を整えるのに必要な範囲にとどめます。spec では種類ごとの質問集をすべて実施しません。
ステップ 2 — CLARIFY(範囲を限定したパス)
コードベースから本当に答えが得られない質問だけをしてください。つまり、好みやスコープに関する選択肢に限ります。質問は3~5 個までにしてください。まとめて尋ねてもかまいません(利用できる場合は、複数の質問を含めた AskUserQuestion 呼び出しを 1 回行います)。
コードから答えが得られない場合に尋ねるとよい質問:
- スコープの境界 — v1 に含めるものと、明示的に先送りするもの。
- 動作の選択肢 — リアルタイムかバッチか、同期か非同期かなど、実際に選択が必要な事項。
- データ/契約の形 — 設計の要点となり、コードから手掛かりが得られない場合に限ります。
- 非目標 — 明示的に対応しないこと。
設定、マニフェスト、テストファイル、既存のパターンですでに示されていることは尋ねないでください。 コードから答えが分かる場合は、質問せずに仕様書へ記載してください。
ユーザーが「質問は不要、そのまま下書きして」と言った場合は、WRITE に進み、推測した内容をすべて ## Open Questions/前提事項のセクションに記載してください。
ステップ 3 — WRITE
仕様書を <specDir>/YYYY-MM-DD-<topic>-design.md に書きます(<topic> は短い kebab-case のスラッグです)。<specDir> は、設定に preferences.specDir があればその値、なければ docs/plans です。
テンプレート、セクションの規模調整ルール、文体、Decision Log の形式には、absolute-work の references/spec-writing.md を使用してください。このファイルを唯一の参照元とし、ここで内容を繰り返さず、読み込んでください。特に、次の点に留意してください。
- 複雑度ヒューリスティック表に基づいて、複雑度の段階(Simple / Medium / Complex)を選び、セクションを適切な規模に調整します。「該当なし」とだけ書くことになるセクションは削除してください。
- 具体的に記載してください。実在するファイルパス、実在するエンドポイント、実在するスキーマをコードブロックに記載し、「X のためのエンドポイント」のような曖昧な表現は使わないでください。
- Decision Log には、CLARIFY で解決した選択肢と推奨した選択肢を、各項目 1 行の根拠とともに記載してください。
ステップ 4 — REVIEW(独立した採点)
別のレビュアーサブエージェントに依頼してください。仕様書を作成したエージェント自身が採点してはいけません(生成者 ≠ 評価者)。absolute-work の references/spec-writing.md にある 採点基準とレビュアープロンプトのテンプレート(Scored Spec Review Protocol)をそのまま使用します。完全性、一貫性、明瞭さ、スコープ、テスト可能性をそれぞれ 1~5 点で評価し、加重採点します。
| 加重スコア | 判定 | 対応 |
|---|---|---|
| 4.0 – 5.0 | 承認 | HANDOFF に進みます |
| 3.0 – 3.9 | 要修正 | 指摘された問題を修正し、再レビューを依頼します(最大 3 回) |
| < 3.0 | 重大な不足 | 直ちにユーザーに提示し、黙って再レビューを繰り返さないでください |
レビュアーの承認は必要ですが、それで終わりではありません。HANDOFF で最終判断を下すのはユーザーです。
ステップ 5 — HANDOFF
- 提示 — 仕様書のパス、複雑度の段階、レビュアーの加重スコアと判定を提示します。重要な決定事項を 2~4 行で要約します。
- 実装を提案 —
/absolute workへつなぎます。これは受付をやり直さず、仕様書を分解フェーズで引き継ぎます。任意の次のステップとして、明確に提案してください。 - 終了。 コードもボードも作成しません。
git commitは絶対に実行しないでください。求められた場合はコミットメッセージを提案し、コミットはユーザーに任せてください。
注意点
workに逸脱すること。 タスクへの分解やコード作成を始めたら、specの範囲を外れています。確認済みのドキュメントで止めてください。- コードから分かることを尋ねること。 範囲を限定したパスで尋ねるのは、好みや選択肢に限られます。まず調べてから尋ねてください。
- 「軽く済ませる」ためにレビューを省略すること。 レビューは、単独で参照できる仕様書の信頼性を高める、手軽な品質チェックです。必ず実施してください。
spec-writing.mdの内容を繰り返すこと。 読み込んでください。テンプレートや採点基準をここにコピーしないでください。同じ内容を二重に管理すると、食い違いが生じます。- 質問しすぎること。 質問が 5 つを大きく超える場合は、
workのヒアリングを行っていることになります。絞り込んでください。
出力/応答スタイル
賢い原始人のように簡潔に返答します。技術的な内容はすべて維持します。不要な表現だけ省きます。冠詞、つなぎ言葉、社交辞令、婉曲表現は省きます。断片的な文でもかまいません。技術用語は正確に保ちます。コードブロックと引用されたエラーは変更しません。セキュリティ警告、取り消せない操作の確認、断片の順序によって誤読のおそれがある複数ステップの手順では、原始人風の表現を使いません。その後は再開します。仕様書の本文は通常の文章で書きます(会話ではなく、成果物だからです)。
関連コマンド
このスキルチェーンでは、兄弟コマンドが自然に spec と連携します。
/absolute work— 仕様書の内容を実装します(decompose の時点から仕様書を引き継ぎます)。/absolute ui— 仕様書で定義された機能のインターフェースを設計します。/absolute docs— 実装してリリースした後、読者向けにドキュメントを作成します。
関連する場合は提案してください。これらのコマンドはいつでも利用できます(同じスキルに含まれており、追加インストールは不要です)。