Sign in soon
Draft scaffold — not yet captured. The outputs below are placeholders that demonstrate the page structure. Real data needs to be captured per the runbook in .agents/compare-capture-plan.md before this page is linked from the landing page. Until then, this route is unlinked and not indexed.
Same prompt · Same repo · Two tools

Generic AI writes generic stories.
Story Refiner reads your repo first.

Both tools got the same one-line feature request. ChatPRD finished in 30 seconds with a well-formatted PRD. Story Refiner took two minutes — and read four files, opened three prior issues, and pulled in a closed PR before answering. Here's what they each said.

The setup
Date captured
— (placeholder)
The prompt
We need a way for users to export selected shapes only, instead of always exporting the whole canvas. Should support PNG and SVG. Power users want to keep their full board but share a clean snippet.

ChatPRD's response

~30 seconds
Grounding signals: none. ChatPRD doesn't read code.

[PLACEHOLDER] Real ChatPRD output goes here. It will be a polished, multi-section PRD: Overview, Goals, User Stories, Acceptance Criteria, Risks. The polish will be excellent. The specificity to this codebase will be zero.

The acceptance criteria will look something like: "Users can select shapes via a marquee tool. The export menu provides a 'Export selected' option. Format options include PNG and SVG." — accurate but generic. No reference to Excalidraw's existing selectedElementIds state, no reference to the existing exportToCanvas helper, no awareness of the shape-bounding-box utilities the codebase already has.

Caveat: we'll capture the real output before shipping. This placeholder is for layout only.

Story Refiner's response

~2 minutes
Grounding signals: read 4 files · opened 3 prior issues · pulled 1 closed PR
Story statement

[PLACEHOLDER] Real Story Refiner output. Concrete and grounded: "Add a 'Export selected' option to the canvas action menu. Reuse the existing getCommonBounds helper from src/scene/scene.ts for selection geometry. PNG export should follow the pattern in PR #5817; SVG export should follow the pattern in PR #6092."

Acceptance criteria
  • Given at least one shape is selected, the action menu surfaces "Export selected" alongside the existing "Export image" option.
  • PNG export uses the bounding box from getCommonBounds(selectedElements) with the existing 20px padding constant.
  • SVG export reuses the exportToSvg helper at src/data/index.ts:142, passing only selected element ids.
Open questions
  • When a frame is selected and contains other shapes, should the export include the frame outline or just the children? (Issue #4391)
  • Should the keyboard shortcut for the existing "Export image" be remapped, or should "Export selected" get a new shortcut?
Out of scope
  • Multi-format batch export (separate request, see #2118).
  • Cloud rendering for large selections — current export is client-side and remains so.

Every file path and issue number above will link directly to GitHub at the captured commit. Anyone can verify.

The honest version of this comparison

  • ChatPRD is faster. ~30 seconds vs. ~2 minutes.
  • ChatPRD's prose is more polished out of the box. If your goal is a doc to circulate to executives, that polish matters.
  • ChatPRD doesn't read your code. If your goal is a story your engineers can pick up without three rounds of clarification, this is the gap that matters.

They solve different problems. We just think the second one is the one that breaks more sprints.

Try it on your own repo.

Connect a repo, run one prompt, see if the output cites real files. Read-only — your code stays in your tenant.