‹ 首页

dot-ai-prd-close

@vfarcic · 收录于 今天 · 上游提交 昨天

Close a PRD that is already implemented or no longer needed

适合你,如果负责管理产品需求文档的生命周期

/ 通过 npx 安装 校验哈希
npx oh-my-skill add vfarcic/dot-ai-cli/dot-ai-prd-close
/ 通过 bash 安装
curl -fsSL https://oh-my-skill.com/install.sh | bash -s -- vfarcic/dot-ai-cli/dot-ai-prd-close
/ 已经装过?验证本机副本,不用重装
npx oh-my-skill verify vfarcic/dot-ai-cli/dot-ai-prd-close
安装目标可用 --agent / --scope 或 --to 明确指定;省略时只会在唯一已存在的 agent 目录上自动选择,零命中或多命中会停止并提示。content_hash 缺失或不一致均拒装。
7GitHub stars
~1.8K上下文体积 · 单文件
索引托管

怎么用

技能原文 SKILL.md作者撰写 · MIT · af67e07

Close PRD

Close a PRD that is already implemented (in previous work or external projects) or is no longer needed. This workflow updates the PRD status, archives it, updates the GitHub issue, and commits directly to main without triggering CI.

When to Use This Command

Use /prd-close when:

  • ✅ PRD functionality is already implemented in a separate project or previous work
  • ✅ PRD is no longer relevant (superseded, requirements changed, out of scope)
  • ✅ PRD requirements are satisfied by existing functionality
  • ✅ No new code implementation is needed in this repository

DO NOT use /prd-close when:

  • ❌ You just finished implementing the PRD (use /prd-done instead)
  • ❌ PRD has active implementation work in progress
  • ❌ There are uncommitted code changes that need to be part of a PR
Usage
# 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"

Note: If any gh command fails with "command not found", inform the user that GitHub CLI is required and provide the installation link: https://cli.github.com/

Workflow Steps
Step 1: Identify PRD and Reason

If PRD number not provided:

  • Check conversation context for recent PRD discussion
  • Check git branch for PRD indicators (e.g., feature/prd-X)
  • If unclear, prompt user for PRD number

Closure Reason Categories:

  • Already Implemented: Functionality exists in external project or previous work
  • No Longer Needed: Requirements changed, out of scope, or superseded
  • Duplicate: Another PRD covers the same functionality
  • Deferred: Moved to future version or different project

Required Information:

  • PRD number
  • Closure reason (brief description)
  • Implementation reference (if already implemented): link to repo, PR, or documentation
Step 2: Read and Validate PRD

Read the current PRD file from prds/[number]-*.md:

Validation checks:

  • [ ] PRD file exists and is readable
  • [ ] Confirm with user that this PRD should be closed
  • [ ] Verify closure reason makes sense given PRD content
  • [ ] Ask user for implementation evidence (if "already implemented")

Present PRD summary to user:

## 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: Update PRD File

Update the PRD metadata:

Metadata Updates:

**Status**: Complete [or] No Longer Needed [or] Duplicate
**Last Updated**: [Current Date]
**Completed**: [Current Date] [or] **Closed**: [Current Date]
Step 4: Move PRD to Archive

Move the PRD file to the done directory and update roadmap:

git mv prds/[number]-[name].md prds/done/

Note: If the move fails because prds/done/ doesn't exist, create it with mkdir -p prds/done and retry.

Update ROADMAP.md (if it exists):

  • [ ] Check if docs/ROADMAP.md exists
  • [ ] Remove the closed PRD from the roadmap (search for "PRD #[number]")
  • [ ] Remove the entire line that references this PRD
  • [ ] Closed PRDs should not appear in future roadmap as they're no longer being worked on
Step 5: Update GitHub Issue

Reopen issue temporarily to update:

gh issue reopen [number]

Update issue description with new PRD path and status:

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: Close GitHub Issue

Close the issue with comprehensive closure comment:

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: Commit and Push

Commit changes directly to main with skip CI:

# 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

Important:

  • Always use [skip ci] flag to avoid unnecessary CI runs for documentation changes
  • Include issue reference (Closes #[number]) to link commit to issue
Example Scenarios
Example 1: Already Implemented in External Project
/prd-close 20 "Implemented by dot-ai-controller"

Closure Comment:

## ✅ 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)
Example 2: Duplicate PRD
/prd-close 45 "Duplicate of PRD #44"

Closure Comment:

## 🔄 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.
Example 3: No Longer Needed
/prd-close 12 "Requirements changed, out of scope"

Closure Comment:

## ⏸️ 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.
Success Criteria

PRD file updated with completion/closure metadata ✅ PRD archived to prds/done/ directory ✅ GitHub issue updated with new PRD path ✅ GitHub issue closed with comprehensive closure comment ✅ Changes committed to main with skip CI flag ✅ Changes pushed to remote repository

Notes
  • No PR required: This workflow commits directly to main for documentation-only changes
  • Skip CI: Always include [skip ci] to avoid unnecessary CI runs
  • Comprehensive documentation: Ensure issue comment clearly explains closure reason
  • Implementation references: Link to external projects, repos, or PRs where functionality exists
  • Gap acknowledgment: Be honest about what's implemented vs. what's missing
按 MIT 许可原样转载,未经改动 · 在 GitHub 查看 →

评论

登录即可评论;带「已验证安装」的,是发布者名下有本店的安装或持有记录。