prd-close について
prd-close は、実装済みまたは不要になった PRD を終了するワークフロー用スキルです。文書の更新とアーカイブ、関連イシューの終了、文書変更のコミットを案内します。
主な機能
- 01PRD と終了理由の特定
- 02終了条件のユーザー確認
- 03PRD の更新とアーカイブ
- 04コードホスティングのイシュー更新と終了
- 05CI を省略して変更をコミット
活用シーン
- 01別プロジェクトで実装済みの PRD の終了
- 02重複または置き換えられた PRD のアーカイブ
- 03要件変更に伴う PRD の終了
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ vtmocanu/ skills --skill prd-closeインストール後、Claude Code で/prd-closeを入力して読み込まれたか確認します。
詳細
vfarcic/dot-ai の
shared-prompts/prd-close.mdから取り込まれたものです(MIT、Copyright (c) 2025 Viktor Farcic)。原著者:Viktor Farcic。
PRD をクローズする
すでに実装済み(以前の作業または外部プロジェクトで)か、不要になった PRD をクローズします。このワークフローでは、PRD のステータスを更新してアーカイブし、GitHub のイシューを更新したうえで、CI を実行せずに main に直接コミットします。
このコマンドを使うタイミング
/prd-close を使うケース:
- ✅ PRD の機能が別のプロジェクトまたは以前の作業ですでに実装されている
- ✅ PRD が不要になった(後継に置き換えられた、要件が変更された、対象範囲外になった)
- ✅ PRD の要件が既存の機能で満たされている
- ✅ このリポジトリで新たなコード実装が不要である
/prd-close を使わないケース:
- ❌ PRD の実装を完了したばかりである(代わりに
/prd-doneを使ってください) - ❌ PRD の実装作業が進行中である
- ❌ PR に含める必要のある、未コミットのコード変更がある
使い方
# Interactive mode - will prompt for PRD number and closure reason
/prd-close
# With PRD number
/prd-close 20
# With PRD number and reason
/prd-close 20 "Already implemented by dot-ai-controller"
Forge に依存しません:以下の gh コマンドは GitHub の例です。git remote get-url origin で Forge を検出し、各動詞を同等のコマンドに置き換えて、対応する CLI を使ってください。GitHub → gh、GitLab → glab(PR はマージリクエストです。glab mr …)、Forgejo/Gitea → tea。必要な CLI が見つからない場合は、ユーザーに伝え、インストールページへのリンクを提示してください。
ワークフローの手順
Step 1:PRD と理由を特定する
PRD 番号が指定されていない場合:
- 会話の文脈から、最近の PRD に関するやり取りを確認します
- PRD を示す情報がないか、Git ブランチを確認します(例:
feature/prd-X) - はっきりしない場合は、ユーザーに PRD 番号を尋ねます
クローズ理由のカテゴリ:
- 実装済み:機能が外部プロジェクトまたは以前の作業に存在する
- 不要になった:要件が変更された、対象範囲外になった、または後継に置き換えられた
- 重複:同じ機能を扱う別の PRD がある
- 延期:将来のバージョンまたは別のプロジェクトに移された
必要な情報:
- PRD 番号
- クローズ理由(簡単な説明)
- 実装の参照先(実装済みの場合):リポジトリ、PR、またはドキュメントへのリンク
Step 2:PRD を読み、妥当性を確認する
prds/[number]-*.md から現在の PRD ファイルを読みます。
確認項目:
- PRD ファイルが存在し、読み取り可能である
- この PRD をクローズすべきか、ユーザーに確認する
- PRD の内容を踏まえて、クローズ理由が妥当であることを確認する
- 「実装済み」の場合、実装の証拠をユーザーに尋ねる
PRD の概要をユーザーに提示する:
## PRD #X: [Title]
**Status**: [Current Status]
**Created**: [Date]
**Summary**: [Brief description of what PRD requested]
**Proposed Action**: Close as [reason]
**Implementation Reference**: [If applicable]
Proceed with closure? (yes/no)
Step 3:PRD ファイルを更新する
PRD のメタデータを更新します。
メタデータの更新:
**Status**: Complete [or] No Longer Needed [or] Duplicate
**Last Updated**: [Current Date]
**Completed**: [Current Date] [or] **Closed**: [Current Date]
Step 4:PRD をアーカイブに移動する
PRD ファイルを完了ディレクトリに移動し、ロードマップを更新します。
git mv prds/[number]-[name].md prds/done/
注:prds/done/ が存在しないために移動に失敗した場合は、mkdir -p prds/done で作成してから再試行します。
ROADMAP.md を更新する(存在する場合):
-
docs/ROADMAP.mdが存在するか確認する - ロードマップからクローズした PRD を削除する("PRD #[number]" を検索)
- この PRD を参照している行全体を削除する
- クローズした PRD は今後作業されないため、以降のロードマップに表示されないようにする
Step 5:GitHub イシューを更新する
更新のために一時的にイシューを再オープンする:
gh issue reopen [number]
新しい PRD パスとステータスをイシューの説明に反映する:
gh issue edit [number] --body "$(cat <<'EOF'
## PRD: [Title]
**Problem**: [Original problem statement]
**Solution**: [Original solution statement]
**Detailed PRD**: See [prds/done/[number]-[name].md](./prds/done/[number]-[name].md)
**Priority**: [Original Priority]
**Status**: ✅ **[COMPLETE/CLOSED]** - [Brief reason]
EOF
)"
Step 6:GitHub イシューをクローズする
詳細なクローズコメントを付けてイシューをクローズします。
gh issue close [number] --comment "$(cat <<'EOF'
## ✅ PRD #[number] Closed - [Reason Category]
[Detailed explanation of why PRD is being closed]
### [If "Already Implemented"]
**Implementation Details**
This PRD requested [functionality]. **All core requirements are satisfied** by [implementation reference].
| Requirement | Implementation | Status |
|-------------|----------------|--------|
| [Requirement 1] | [Where implemented] | ✅ Complete |
| [Requirement 2] | [Where implemented] | ✅ Complete |
**Implementation Reference**: [Link to project/repo/PR]
[If there are gaps]
**Not Implemented** (deferred or out of scope):
- [Feature X] - [Why not needed or deferred]
### [If "No Longer Needed"]
**Reason for Closure**
[Explain why requirements changed, what superseded this, or why it's out of scope]
**Alternative Approach**: [If applicable]
[What replaced this PRD or how needs are met differently]
### Files
**PRD Location**: `prds/done/[number]-[name].md`
**Status**: [Complete/Closed]
**Closed**: [Date]
EOF
)"
Step 7:コミットしてプッシュする
CI をスキップして、変更を main に直接コミットする:
# Stage all changes
git add .
# Verify what will be committed
git status
# Commit with skip CI flag
git commit -m "docs(prd-[number]): close PRD #[number] - [brief reason] [skip ci]
- Moved PRD to prds/done/ directory
- Updated PRD status to [Complete/Closed]
- Updated GitHub issue description with new path
- [Implementation details or reason]
Closes #[number]"
# Pull latest and push to remote
git pull --rebase origin main && git push origin main
重要:
- ドキュメントの変更で不要な CI の実行を避けるため、必ず
[skip ci]フラグを使ってください - コミットとイシューを関連付けるため、イシューへの参照(
Closes #[number])を含めてください
シナリオの例
例 1:外部プロジェクトですでに実装済み
/prd-close 20 "Implemented by dot-ai-controller"
クローズコメント:
## ✅ PRD #20 Closed - Already Implemented
This PRD requested proactive Kubernetes cluster monitoring with AI-powered remediation.
**Core functionality (60-80%) is already implemented** by the separate
[dot-ai-controller](https://github.com/vfarcic/dot-ai-controller) project.
| Requirement | Implementation | Status |
|-------------|----------------|--------|
| Continuous health checks | Event-based monitoring via K8s events | ✅ Complete |
| Intelligent alerting | Slack notifications with AI analysis | ✅ Complete |
| Automated remediation | Automatic/manual modes with confidence thresholds | ✅ Complete |
| Anomaly detection | AI-powered event analysis | ✅ Complete |
**Not Implemented** (advanced features, may be future PRD):
- Continuous metrics monitoring (Prometheus-style)
- Predictive analytics with baseline learning
- Multi-channel alerting (email, PagerDuty)
例 2:重複する PRD
/prd-close 45 "Duplicate of PRD #44"
クローズコメント:
## 🔄 PRD #45 Closed - Duplicate
This PRD covers the same functionality as PRD #44. Consolidating all work
under PRD #44 to avoid fragmentation.
**Action**: Continue work on PRD #44 instead.
例 3:不要になった
/prd-close 12 "Requirements changed, out of scope"
クローズコメント:
## ⏸️ PRD #12 Closed - No Longer Needed
After discussion, this approach no longer aligns with project direction.
Requirements have evolved and this PRD is out of scope.
**Alternative Approach**: Using [different solution/approach] instead.
成功基準
✅ PRD ファイルを更新し、完了/クローズのメタデータを追加する
✅ PRD を prds/done/ ディレクトリにアーカイブする
✅ GitHub issue を更新し、新しい PRD のパスを記載する
✅ GitHub issue をクローズし、詳細なクローズコメントを投稿する
✅ CI をスキップするフラグを付けて、変更を main にコミットする
✅ 変更をリモートリポジトリにプッシュする
注意事項
- PR は不要です:このワークフローでは、ドキュメントのみの変更を main に直接コミットします
- CI をスキップ:不要な CI の実行を避けるため、常に
[skip ci]を含めてください - 包括的なドキュメント:issue のコメントでクローズの理由を明確に説明してください
- 実装への参照:機能が存在する外部プロジェクト、リポジトリ、PR へのリンクを記載してください
- 不足点の明示:実装済みの内容と未実装の内容を正直に記載してください