Skip to content

refactor(commands): consolidate PRP workflow into staging-file pattern#1498

Open
supmo668 wants to merge 1 commit intoaffaan-m:mainfrom
supmo668:feature/streamline-prp-workflow
Open

refactor(commands): consolidate PRP workflow into staging-file pattern#1498
supmo668 wants to merge 1 commit intoaffaan-m:mainfrom
supmo668:feature/streamline-prp-workflow

Conversation

@supmo668
Copy link
Copy Markdown
Contributor

@supmo668 supmo668 commented Apr 19, 2026

Summary

Consolidate the five prp-* commands (merged in #848, adapted from PRPs-agentic-eng) into a smaller, ECC-native set that follows a single markdown staging-file pattern: every SDLC phase produces a committable .md artifact that the next command consumes by path.

Net: −3 commands (79 → 76), −1,101 lines.

Why

After using the PRP set in practice, most commands overlapped existing ECC primitives. The redundancy audit found:

Command Verdict Action
prp-implement Fully redundant with /tdd Delete
prp-commit Thin natural-language wrapper over git commit Delete
prp-plan High overlap with /plan; pattern-extraction was the one unique value Merge into /plan, delete
prp-pr Real gap-filler — ECC had no PR-creation command Keep, rename → /pr
prp-prd Valuable as requirements-phase tool, but bloated and overlapped /plan's scope Rewrite as lean /plan-prd, hands off to /plan

The rewrite applies SDLC separation of concerns: PRDs answer what/why; plans answer how. The old prp-prd bundled both (it had an "Implementation Phases" table and a "Technical Feasibility" phase) — now cleanly split.

Pattern

/plan-prd "<idea>"    → .claude/prds/X.prd.md     (Requirements)
/plan X.prd.md        → .claude/plans/X.plan.md   (Design)
/tdd                  → code + tests              (Implementation)
/pr                   → GitHub PR referencing PRD + plan   (Delivery)

Each arrow is a file on disk, not in-context state — artifacts are readable by humans, diffable in PRs, grep-able at CLI, and resumable across sessions.

Full pattern doc: docs/PLAN-PRD-PATTERN.md.

Changes

Commands

  • Delete commands/prp-{commit,implement,plan,prd}.md
  • Rename commands/prp-pr.mdcommands/pr.md (attribution removed; artifact paths rebased to .claude/{prds,plans}/)
  • New commands/plan-prd.md — 4-phase (Frame → Ground → Decide → Generate), requirements-only, ~120 lines vs. the old 447
  • Rewrite commands/plan.md — detects .prd.md input, adds Pattern Grounding (naming, errors, logging, data access, tests), produces .claude/plans/{name}.plan.md in artifact mode
  • Edit commands/code-review.md — artifact paths updated to .claude/{prds,plans,reviews}/, PRP attribution removed

Supporting

  • Edit agent.yaml — command list updated
  • New docs/PLAN-PRD-PATTERN.md — pattern description, flow, usage, rationale for keeping /plan-prd distinct from /plan
  • Sync AGENTS.md, README.md, README.zh-CN.md, docs/zh-CN/* via npm run catalog:sync

Compatibility

Artifact paths changed from .claude/PRPs/{prds,plans,reports,reviews}/ to .claude/{prds,plans,reviews}/. Since the PRP commands only landed in #848 (merged March 31), the blast radius is limited to anyone who's already adopted them; a one-line mv migrates existing state.

Test plan

  • npm test — 1864/1867 pass (3 pre-existing OpenCode-build failures unrelated to this change)
  • npm run catalog:sync — all docs in sync (48 agents / 76 commands / 183 skills)
  • node tests/ci/agent-yaml-surface.test.js — command surface matches directory
  • node tests/ci/validators.test.js — all command frontmatter valid
  • Manual: run /plan-prd "test feature" → verify .claude/prds/test-feature.prd.md is created
  • Manual: run /plan .claude/prds/test-feature.prd.md → verify artifact mode produces .claude/plans/test-feature.plan.md
  • Manual: run /pr on a branch with commits → verify it references prds/plans if present

Summary by cubic

Streamlines the PRP workflow into an ECC-native staging-file flow: /plan-prd.claude/prds/*.prd.md/plan.claude/plans/*.plan.md/tdd/pr. Reduces commands from 79 to 76 and replaces overlapping prp-* commands with clearer, file-based artifacts.

  • New Features

    • Added plan-prd: creates lean PRDs at .claude/prds/{name}.prd.md (Frame → Ground → Decide → Generate).
    • Enhanced plan: detects .prd.md, writes .claude/plans/{name}.plan.md, and adds pattern grounding (naming, errors, logging, data access, tests).
  • Refactors

    • Removed prp-commit, prp-implement, prp-plan, prp-prd; renamed prp-pr to pr.
    • Standardized artifact paths to .claude/{prds,plans,reviews}/; code-review reads/writes these locations.
    • Updated agent.yaml and docs; added docs/PLAN-PRD-PATTERN.md documenting the staging-file flow.
  • Migration

    • Move old artifacts: mv .claude/PRPs/prds .claude/prds && mv .claude/PRPs/plans .claude/plans && mv .claude/PRPs/reviews .claude/reviews.
    • Use plan-prdplantddpr going forward.

Written for commit 475bea7. Summary will update on new commits.

Summary by CodeRabbit

  • New Features

    • Introduced /plan-prd command for structured Product Requirements Document generation with problem-framing workflow
    • Added /pr command for streamlined pull request creation
  • Documentation

    • Updated documentation for code review and planning workflows
    • Added comprehensive guide for the new Plan-PRD pattern workflow with persistent markdown artifacts

…file pattern

Replace the five prp-* commands (adapted from PRPs-agentic-eng) with a
leaner set of ECC-native commands that follow a single markdown-staging-file
pattern: every SDLC phase produces a committable .md artifact that the next
command consumes by path.

Rationale: the PRP set had high overlap with existing ECC commands:
  - prp-implement → redundant with /tdd
  - prp-commit    → thin wrapper over git commit
  - prp-plan      → pattern-extraction merged into /plan
  - prp-pr        → real gap-filler (kept, renamed)
  - prp-prd       → rewritten as a lean, requirements-only /plan-prd
                    that hands off to /plan (separation of concerns:
                    PRD answers what/why; plan answers how)

Changes:
- Delete commands/prp-{commit,implement,plan,prd}.md
- Rename commands/prp-pr.md → commands/pr.md
- Add commands/plan-prd.md (lean, 4-phase: Frame → Ground → Decide → Generate)
- Rewrite commands/plan.md to detect .prd.md input and produce .claude/plans/
  artifacts with pattern-grounding (naming, errors, logging, data access, tests)
- Update commands/code-review.md artifact paths to .claude/{prds,plans,reviews}/
- Update agent.yaml command list
- Add docs/PLAN-PRD-PATTERN.md explaining the staging-file pattern, flow,
  usage, and why /plan-prd is essential (not redundant) alongside /plan
- Run catalog:sync so README/AGENTS counts reflect net -3 commands

Flow: /plan-prd → .claude/prds/X.prd.md → /plan X.prd.md → .claude/plans/X.plan.md
      → /tdd → /pr (auto-references PRD + plan in PR body)
@ecc-tools
Copy link
Copy Markdown
Contributor

ecc-tools bot commented Apr 19, 2026

ECC bundle files are already tracked in this repository. Skipping generation of another bundle PR.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Apr 19, 2026

📝 Walkthrough

Walkthrough

The PR restructures the command architecture by deprecating the legacy "PRP" workflow (prp-commit, prp-implement, prp-plan, prp-prd) and introducing a new "Plan-PRD Pattern" with native command names (plan-prd, plan, pr). Artifact directories migrate from .claude/PRPs/* to .claude/prds/ and .claude/plans/. Command counts reduce from 79 to 76 across all documentation.

Changes

Cohort / File(s) Summary
Documentation & Count Updates
AGENTS.md, README.md, README.zh-CN.md, docs/zh-CN/AGENTS.md, docs/zh-CN/README.md
Updated slash command counts from 79 to 76 across multiple documentation files and language variants. No textual logic changes.
Legacy Command Deletion
commands/prp-commit.md, commands/prp-implement.md, commands/prp-plan.md, commands/prp-prd.md
Removed entire PRP workflow command specifications (112 + 385 + 502 + 447 lines). These files previously defined the legacy multi-phase artifact generation and execution processes.
New & Updated Command Specs
commands/plan-prd.md (new), commands/plan.md, commands/pr.md, commands/code-review.md
Introduced new plan-prd.md defining lean PRD workflow with FRAME/GROUND/DECIDE/GENERATE phases. Updated plan.md with artifact-driven mode parsing and phase-state tracking. Updated pr.md and code-review.md to reference new artifact paths (.claude/prds/, .claude/plans/) instead of .claude/PRPs/*.
Workflow Pattern Documentation
docs/PLAN-PRD-PATTERN.md (new)
Added comprehensive documentation defining the new "Plan-PRD Pattern" with control flow gates (/plan-prd/plan/tdd/pr) and artifact-driven continuation semantics.
Command Configuration
agent.yaml
Updated commands array: removed 5 prp-* entries, added plan-prd and pr. Net change: −5/+2 commands.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant plan-prd Command
    participant Artifact Storage
    participant plan Command
    participant pr Command

    User->>plan-prd Command: /plan-prd [feature idea]
    plan-prd Command->>plan-prd Command: FRAME: validate problem
    plan-prd Command->>plan-prd Command: GROUND: collect evidence
    plan-prd Command->>plan-prd Command: DECIDE: testable hypothesis & MVP
    plan-prd Command->>Artifact Storage: Write .claude/prds/{name}.prd.md
    plan-prd Command-->>User: PRD artifact + next steps

    User->>plan Command: /plan {prd-path}
    plan Command->>Artifact Storage: Read .claude/prds/{name}.prd.md
    plan Command->>plan Command: Parse PRD, select next phase
    plan Command->>Artifact Storage: Write .claude/plans/{name}.plan.md
    plan Command->>Artifact Storage: Update PRD phase: pending → in-progress
    plan Command-->>User: Plan artifact + patterns/tasks

    User->>pr Command: /pr
    pr Command->>Artifact Storage: Read .claude/plans/{name}.plan.md
    pr Command->>Artifact Storage: Read .claude/prds/{name}.prd.md
    pr Command-->>User: PR with planning artifacts referenced
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~22 minutes

Possibly related PRs

Suggested reviewers

  • affaan-m
  • dragosnastasemihai-design

Poem

🐰 Five commands retired, two take the stage,
From /prp-* chaos to a cleaner page!
Plans and PRDs now organized with care,
In .claude/ homes, a structure bright and fair. ✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main refactoring objective: consolidating the PRP workflow into a staging-file pattern, which is the central change across all modified and deleted files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps bot commented Apr 19, 2026

Greptile Summary

This PR consolidates five prp-* commands into a leaner, ECC-native set that follows a markdown staging-file pattern: /plan-prd (requirements) → /plan (design) → /tdd (implementation) → /pr (delivery). The net result is −3 commands (79 → 76) and −1,101 lines, with clear SDLC separation of concerns and a new docs/PLAN-PRD-PATTERN.md documenting the full flow.

Confidence Score: 5/5

Safe to merge — only P2 style suggestions remain; no logic errors or regressions introduced.

All findings are P2 or lower: a heading name mismatch in plan-prd.md and a nested markdown code-fence rendering issue in plan.md's template. Neither affects runtime behavior. The command count arithmetic is correct, artifact paths are consistently updated across all changed files, and the new commands are well-structured with clear confirmation gates and edge-case handling.

No files require special attention — minor style fixes in commands/plan-prd.md (H1 title) and commands/plan.md (nested fence in template) are optional.

Important Files Changed

Filename Overview
commands/plan-prd.md New 4-phase requirements command replacing the 447-line prp-prd.md; clean scope separation but H1 heading ("PRD Command") doesn't match the slash-command name "/plan-prd".
commands/plan.md Rewritten plan command with PRD-detection (artifact vs conversational mode) and pattern-grounding table; nested bash fence inside markdown template breaks GitHub rendering of the artifact template.
commands/pr.md Renamed from prp-pr.md with artifact paths updated to .claude/prds/ and .claude/plans/; well-structured 6-phase workflow with sensible edge-case handling.
commands/code-review.md Minor attribution removal and artifact path update from .claude/PRPs/reviews/ to .claude/reviews/; clean change, no issues.
agent.yaml Command surface updated: removed 5 prp-* entries, added plan-prd and pr; count arithmetic (79 − 5 + 2 = 76) is correct.
docs/PLAN-PRD-PATTERN.md New pattern documentation covering the full SDLC staging-file flow; well-written with clear diagrams, rationale, and usage examples.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A["/plan-prd &lt;idea&gt;"] --> B[".claude/prds/X.prd.md\nRequirements: problem · users · hypothesis · scope"]
    B --> C["/plan .claude/prds/X.prd.md"]
    C --> D[".claude/plans/X.plan.md\nDesign: patterns · files · tasks · validation"]
    D --> E["/tdd"]
    E --> F["code + tests\nTest-first implementation"]
    F --> G["/pr"]
    G --> H["GitHub PR\nReferences PRD + plan artifacts"]

    I["/plan &lt;free-form text&gt;"] --> J["Inline conversational plan\nNo artifact written"]
    J --> E

    style B fill:#e8f4f8,stroke:#2980b9
    style D fill:#e8f4f8,stroke:#2980b9
    style H fill:#d5f5e3,stroke:#27ae60
Loading

Reviews (1): Last reviewed commit: "refactor(commands): consolidate PRP work..." | Re-trigger Greptile

Comment thread commands/plan-prd.md
argument-hint: "[product/feature idea] (blank = start with questions)"
---

# PRD Command
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 H1 title doesn't match command name

The document heading says PRD Command, but the slash command is invoked as /plan-prd. Users browsing the file on GitHub or in the plugin's help will see a mismatched title. Every other ECC command (e.g. plan.md# Plan Command, code-review.md# Code Review) uses the actual invocation name as the heading.

Suggested change
# PRD Command
# Plan PRD Command

Comment thread commands/plan.md
Comment on lines +121 to +124
## Validation
```bash
# type-check, lint, test, build — project-specific commands
```
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Nested code fence breaks GitHub rendering

The artifact template uses a ```bash fence nested inside the outer ```markdown fence. GFM (cmark-gfm) does not support nested code blocks with the same fence character — the inner ```bash terminates the outer block early, so ## Risks, ## Acceptance, and the closing ``` all render as raw prose outside the code block on GitHub.

Consider switching the inner fence to tildes so the template renders correctly for humans reading the file:

## Validation
~~~~bash
# type-check, lint, test, build — project-specific commands
~~~~

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@commands/code-review.md`:
- Line 189: The command that writes "Create review artifact at
`.claude/reviews/pr-<NUMBER>-review.md`" doesn't ensure the `.claude/reviews`
directory exists, causing writes to fail on fresh repos; update the code that
emits the artifact to run a directory creation step (e.g., mkdir -p
.claude/reviews or equivalent in the language/runtime used) immediately before
writing the file so the directory is created idempotently and the write cannot
fail.

In `@commands/pr.md`:
- Around line 72-76: Update the "### Planning Artifacts" section to reference
the concrete artifact filename patterns instead of only directories: replace or
augment the `.claude/prds/` and `.claude/plans/` bullets with explicit globbed
filenames like `.claude/prds/**/*.prd.md` and `.claude/plans/**/*.plan.md` (or
at least `.claude/prds/*.prd.md` and `.claude/plans/*.plan.md`) so the document
matches the new workflow; edit the lines that currently contain the directory
names under the "### Planning Artifacts" header.
- Line 30: The PR flow currently only warns on a dirty working tree (table row
"Clean working directory | No uncommitted changes | Warn: ...") but must instead
abort the /pr command to avoid silently omitting uncommitted changes; update the
/pr command handler to check the git working tree (the same check represented by
"Clean working directory") and, when uncommitted changes are present, exit the
flow immediately with a clear error message and non-zero status rather than
proceeding, and update the commands/pr.md row to reflect "Stop: 'You have
uncommitted changes. Commit or stash first.'" so docs match behavior.

In `@docs/PLAN-PRD-PATTERN.md`:
- Line 1: The file name PLAN-PRD-PATTERN.md violates the repository's
lowercase-with-hyphens naming convention; rename the file to plan-prd-pattern.md
(e.g., move/rename docs/PLAN-PRD-PATTERN.md → docs/plan-prd-pattern.md) and
update any references to PLAN-PRD-PATTERN.md in docs or code to the new name so
links and imports continue to work.

In `@README.md`:
- Line 254: Update the stale public counts in README.md so all occurrences match
the new totals; specifically replace the old string "38 agents, 156 skills, and
72 legacy command shims" (e.g., the paragraph around Line 88) with "48 agents,
183 skills, and 76 legacy command shims" and make the same replacement for the
other occurrences referenced (around the other two locations). Ensure any
related summary lines or badges containing those numeric counts are updated to
the new values so the README has consistent counts throughout.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 294e13c9-f45f-48c2-a5e7-03104ed50bf9

📥 Commits

Reviewing files that changed from the base of the PR and between 1a50145 and 475bea7.

📒 Files selected for processing (15)
  • AGENTS.md
  • README.md
  • README.zh-CN.md
  • agent.yaml
  • commands/code-review.md
  • commands/plan-prd.md
  • commands/plan.md
  • commands/pr.md
  • commands/prp-commit.md
  • commands/prp-implement.md
  • commands/prp-plan.md
  • commands/prp-prd.md
  • docs/PLAN-PRD-PATTERN.md
  • docs/zh-CN/AGENTS.md
  • docs/zh-CN/README.md
💤 Files with no reviewable changes (4)
  • commands/prp-plan.md
  • commands/prp-commit.md
  • commands/prp-implement.md
  • commands/prp-prd.md

Comment thread commands/code-review.md
### Phase 6 — REPORT

Create review artifact at `.claude/PRPs/reviews/pr-<NUMBER>-review.md`:
Create review artifact at `.claude/reviews/pr-<NUMBER>-review.md`:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Create the reviews directory before writing the artifact.

The new output path moves reviews to .claude/reviews/, but the command never creates that directory. On a fresh repo, writing .claude/reviews/pr-<NUMBER>-review.md can fail and break the staging-file pattern.

🛠️ Proposed fix
 ### Phase 6 — REPORT
 
+Ensure the reviews directory exists:
+
+```bash
+mkdir -p .claude/reviews
+```
+
 Create review artifact at `.claude/reviews/pr-<NUMBER>-review.md`:
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Create review artifact at `.claude/reviews/pr-<NUMBER>-review.md`:
### Phase 6 — REPORT
Ensure the reviews directory exists:
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@commands/code-review.md` at line 189, The command that writes "Create review
artifact at `.claude/reviews/pr-<NUMBER>-review.md`" doesn't ensure the
`.claude/reviews` directory exists, causing writes to fail on fresh repos;
update the code that emits the artifact to run a directory creation step (e.g.,
mkdir -p .claude/reviews or equivalent in the language/runtime used) immediately
before writing the file so the directory is created idempotently and the write
cannot fail.

Comment thread commands/pr.md
|---|---|---|
| Not on base branch | Current branch ≠ base | Stop: "Switch to a feature branch first." |
| Clean working directory | No uncommitted changes | Warn: "You have uncommitted changes. Commit or stash first. Use `/prp-commit` to commit." |
| Clean working directory | No uncommitted changes | Warn: "You have uncommitted changes. Commit or stash first." |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Stop on uncommitted changes instead of warning.

If /pr continues after this warning, the push and PR will include only committed changes, silently omitting the user’s dirty worktree changes.

🛠️ Proposed fix
-| Clean working directory | No uncommitted changes | Warn: "You have uncommitted changes. Commit or stash first." |
+| Clean working directory | No uncommitted changes | Stop: "You have uncommitted changes. Commit or stash first, then rerun `/pr`." |
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
| Clean working directory | No uncommitted changes | Warn: "You have uncommitted changes. Commit or stash first." |
| Clean working directory | No uncommitted changes | Stop: "You have uncommitted changes. Commit or stash first, then rerun `/pr`." |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@commands/pr.md` at line 30, The PR flow currently only warns on a dirty
working tree (table row "Clean working directory | No uncommitted changes |
Warn: ...") but must instead abort the /pr command to avoid silently omitting
uncommitted changes; update the /pr command handler to check the git working
tree (the same check represented by "Clean working directory") and, when
uncommitted changes are present, exit the flow immediately with a clear error
message and non-zero status rather than proceeding, and update the
commands/pr.md row to reflect "Stop: 'You have uncommitted changes. Commit or
stash first.'" so docs match behavior.

Comment thread commands/pr.md
Comment on lines +72 to +76
### Planning Artifacts

Check for related PRP artifacts:
- `.claude/PRPs/reports/` — Implementation reports
- `.claude/PRPs/plans/` — Plans that were executed
- `.claude/PRPs/prds/` — Related PRDs
Check for related artifacts produced by `/plan-prd` and `/plan`:
- `.claude/prds/` — PRDs this PR implements a milestone of
- `.claude/plans/` — Plans executed by this PR
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Use the concrete artifact filename patterns.

The new workflow creates .prd.md and .plan.md files; documenting only the directories makes detection ambiguous and can link unrelated artifacts.

🛠️ Proposed fix
 Check for related artifacts produced by `/plan-prd` and `/plan`:
-- `.claude/prds/` — PRDs this PR implements a milestone of
-- `.claude/plans/` — Plans executed by this PR
+- `.claude/prds/*.prd.md` — PRDs this PR implements a milestone of
+- `.claude/plans/*.plan.md` — Plans executed by this PR
+
+Prefer artifacts changed on this branch or explicitly referenced in commit messages; ask before linking unrelated existing artifacts.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
### Planning Artifacts
Check for related PRP artifacts:
- `.claude/PRPs/reports/` — Implementation reports
- `.claude/PRPs/plans/` — Plans that were executed
- `.claude/PRPs/prds/` — Related PRDs
Check for related artifacts produced by `/plan-prd` and `/plan`:
- `.claude/prds/` — PRDs this PR implements a milestone of
- `.claude/plans/` — Plans executed by this PR
### Planning Artifacts
Check for related artifacts produced by `/plan-prd` and `/plan`:
- `.claude/prds/*.prd.md` — PRDs this PR implements a milestone of
- `.claude/plans/*.plan.md` — Plans executed by this PR
Prefer artifacts changed on this branch or explicitly referenced in commit messages; ask before linking unrelated existing artifacts.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@commands/pr.md` around lines 72 - 76, Update the "### Planning Artifacts"
section to reference the concrete artifact filename patterns instead of only
directories: replace or augment the `.claude/prds/` and `.claude/plans/` bullets
with explicit globbed filenames like `.claude/prds/**/*.prd.md` and
`.claude/plans/**/*.plan.md` (or at least `.claude/prds/*.prd.md` and
`.claude/plans/*.plan.md`) so the document matches the new workflow; edit the
lines that currently contain the directory names under the "### Planning
Artifacts" header.

Comment thread docs/PLAN-PRD-PATTERN.md
@@ -0,0 +1,155 @@
# Plan-PRD Pattern: Markdown-Staged Planning Flow
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Rename file to follow lowercase naming convention.

The filename PLAN-PRD-PATTERN.md violates the repository's naming convention. As per coding guidelines, files matching **/*.{md,js,ts,json} should use lowercase with hyphens (e.g., python-reviewer.md, tdd-workflow.md).

📝 Recommended fix

Rename the file:

git mv docs/PLAN-PRD-PATTERN.md docs/plan-prd-pattern.md

Update any references to this file in documentation or code.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/PLAN-PRD-PATTERN.md` at line 1, The file name PLAN-PRD-PATTERN.md
violates the repository's lowercase-with-hyphens naming convention; rename the
file to plan-prd-pattern.md (e.g., move/rename docs/PLAN-PRD-PATTERN.md →
docs/plan-prd-pattern.md) and update any references to PLAN-PRD-PATTERN.md in
docs or code to the new name so links and imports continue to work.

Comment thread README.md
```

**That's it!** You now have access to 48 agents, 183 skills, and 79 legacy command shims.
**That's it!** You now have access to 48 agents, 183 skills, and 76 legacy command shims.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Sync the remaining stale catalog count in the release note.

These updated sections now say 48 agents, 183 skills, and 76 commands, but Line 88 still says 38 agents, 156 skills, and 72 legacy command shims. That leaves the README with conflicting public counts.

📝 Proposed follow-up
-- **Public surface synced to the live repo** — metadata, catalog counts, plugin manifests, and install-facing docs now match the actual OSS surface: 38 agents, 156 skills, and 72 legacy command shims.
+- **Public surface synced to the live repo** — metadata, catalog counts, plugin manifests, and install-facing docs now match the actual OSS surface: 48 agents, 183 skills, and 76 legacy command shims.

Also applies to: 1221-1221, 1330-1330

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@README.md` at line 254, Update the stale public counts in README.md so all
occurrences match the new totals; specifically replace the old string "38
agents, 156 skills, and 72 legacy command shims" (e.g., the paragraph around
Line 88) with "48 agents, 183 skills, and 76 legacy command shims" and make the
same replacement for the other occurrences referenced (around the other two
locations). Ensure any related summary lines or badges containing those numeric
counts are updated to the new values so the README has consistent counts
throughout.

Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

5 issues found across 15 files

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="commands/plan.md">

<violation number="1" location="commands/plan.md:83">
P2: Nested fenced code blocks use the same triple-backtick delimiter, which breaks Markdown rendering of the artifact template after the inner `Validation` block.</violation>

<violation number="2" location="commands/plan.md:88">
P2: `Complexity` uses conflicting scales across plan outputs (`High/Medium/Low` vs `Small/Medium/Large`), creating an inconsistent artifact contract.</violation>
</file>

<file name="docs/PLAN-PRD-PATTERN.md">

<violation number="1" location="docs/PLAN-PRD-PATTERN.md:5">
P2: The doc gives conflicting guarantees about whether `/plan` is always artifact-backed, which can mislead users building path-based workflow assumptions.</violation>
</file>

<file name="commands/plan-prd.md">

<violation number="1" location="commands/plan-prd.md:6">
P3: H1 heading says `# PRD Command` but the slash command is `/plan-prd`. Other commands use the invocation name as the heading (e.g., `plan.md` → `# Plan Command`). Use `# Plan PRD Command` for consistency.</violation>
</file>

<file name="commands/code-review.md">

<violation number="1" location="commands/code-review.md:189">
P2: Ensure the `.claude/reviews/` directory exists before writing the review artifact. The other staging-file commands (e.g., `/plan-prd`) include an explicit `mkdir -p` step, but this command does not — writing to `.claude/reviews/pr-<NUMBER>-review.md` will fail on a fresh repo where the directory doesn't yet exist.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

Comment thread commands/plan.md
## Integration with Other Commands
**Source PRD**: {path}
**PRD Phase**: {phase name}
**Complexity**: {Small | Medium | Large}
Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai bot Apr 19, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: Complexity uses conflicting scales across plan outputs (High/Medium/Low vs Small/Medium/Large), creating an inconsistent artifact contract.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At commands/plan.md, line 88:

<comment>`Complexity` uses conflicting scales across plan outputs (`High/Medium/Low` vs `Small/Medium/Large`), creating an inconsistent artifact contract.</comment>

<file context>
@@ -1,117 +1,155 @@
-## Integration with Other Commands
+**Source PRD**: {path}
+**PRD Phase**: {phase name}
+**Complexity**: {Small | Medium | Large}
 
-After planning:
</file context>
Suggested change
**Complexity**: {Small | Medium | Large}
**Complexity**: {High | Medium | Low}
Fix with Cubic

Comment thread commands/plan.md
- "modify: [your changes]"
- "different approach: [alternative]"
- "skip phase 2 and do phase 3 first"
```markdown
Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai bot Apr 19, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: Nested fenced code blocks use the same triple-backtick delimiter, which breaks Markdown rendering of the artifact template after the inner Validation block.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At commands/plan.md, line 83:

<comment>Nested fenced code blocks use the same triple-backtick delimiter, which breaks Markdown rendering of the artifact template after the inner `Validation` block.</comment>

<file context>
@@ -1,117 +1,155 @@
-- "modify: [your changes]"
-- "different approach: [alternative]"
-- "skip phase 2 and do phase 3 first"
+```markdown
+# Plan: {Feature Name}
 
</file context>
Fix with Cubic

Comment thread docs/PLAN-PRD-PATTERN.md

A lightweight, SDLC-aligned planning workflow where each phase of the lifecycle produces a committable markdown **staging file** that the next command consumes.

> Short version: `/plan-prd` writes a PRD, `/plan` writes a plan, `/tdd` implements it, `/pr` ships it. Each arrow is a file on disk, not a conversation in memory.
Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai bot Apr 19, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: The doc gives conflicting guarantees about whether /plan is always artifact-backed, which can mislead users building path-based workflow assumptions.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At docs/PLAN-PRD-PATTERN.md, line 5:

<comment>The doc gives conflicting guarantees about whether `/plan` is always artifact-backed, which can mislead users building path-based workflow assumptions.</comment>

<file context>
@@ -0,0 +1,155 @@
+
+A lightweight, SDLC-aligned planning workflow where each phase of the lifecycle produces a committable markdown **staging file** that the next command consumes.
+
+> Short version: `/plan-prd` writes a PRD, `/plan` writes a plan, `/tdd` implements it, `/pr` ships it. Each arrow is a file on disk, not a conversation in memory.
+
+## Feature: Markdown Staging Files
</file context>
Fix with Cubic

Comment thread commands/code-review.md
### Phase 6 — REPORT

Create review artifact at `.claude/PRPs/reviews/pr-<NUMBER>-review.md`:
Create review artifact at `.claude/reviews/pr-<NUMBER>-review.md`:
Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai bot Apr 19, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: Ensure the .claude/reviews/ directory exists before writing the review artifact. The other staging-file commands (e.g., /plan-prd) include an explicit mkdir -p step, but this command does not — writing to .claude/reviews/pr-<NUMBER>-review.md will fail on a fresh repo where the directory doesn't yet exist.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At commands/code-review.md, line 189:

<comment>Ensure the `.claude/reviews/` directory exists before writing the review artifact. The other staging-file commands (e.g., `/plan-prd`) include an explicit `mkdir -p` step, but this command does not — writing to `.claude/reviews/pr-<NUMBER>-review.md` will fail on a fresh repo where the directory doesn't yet exist.</comment>

<file context>
@@ -188,7 +186,7 @@ Special cases:
 ### Phase 6 — REPORT
 
-Create review artifact at `.claude/PRPs/reviews/pr-<NUMBER>-review.md`:
+Create review artifact at `.claude/reviews/pr-<NUMBER>-review.md`:
 
 ```markdown
</file context>
Suggested change
Create review artifact at `.claude/reviews/pr-<NUMBER>-review.md`:
Ensure the reviews directory exists:
```bash
mkdir -p .claude/reviews

Create review artifact at .claude/reviews/pr-<NUMBER>-review.md:


<a href="https://www.cubic.dev/action/fix/violation/f087c262-60cd-4e77-b74e-50dc36ca9961" target="_blank" rel="noopener noreferrer" data-no-image-dialog="true">
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="https://cubic.dev/buttons/fix-with-cubic-dark.svg">
    <source media="(prefers-color-scheme: light)" srcset="https://cubic.dev/buttons/fix-with-cubic-light.svg">
    <img alt="Fix with Cubic" src="https://cubic.dev/buttons/fix-with-cubic-dark.svg">
  </picture>
</a>

Comment thread commands/plan-prd.md
argument-hint: "[product/feature idea] (blank = start with questions)"
---

# PRD Command
Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai bot Apr 19, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P3: H1 heading says # PRD Command but the slash command is /plan-prd. Other commands use the invocation name as the heading (e.g., plan.md# Plan Command). Use # Plan PRD Command for consistency.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At commands/plan-prd.md, line 6:

<comment>H1 heading says `# PRD Command` but the slash command is `/plan-prd`. Other commands use the invocation name as the heading (e.g., `plan.md` → `# Plan Command`). Use `# Plan PRD Command` for consistency.</comment>

<file context>
@@ -0,0 +1,160 @@
+argument-hint: "[product/feature idea] (blank = start with questions)"
+---
+
+# PRD Command
+
+Produces a **Product Requirements Document** — the requirements-phase artifact of the SDLC. Captures *what* must be true for success and *why*, and stops before *how*. Implementation decomposition is delegated to `/plan`.
</file context>
Suggested change
# PRD Command
# Plan PRD Command
Fix with Cubic

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant