From codebake
Use when a Codebake spec exists and you need to turn it into a PRD organized by user stories — each with acceptance criteria, tests in the project's actual stack, and module-level implementation decisions.
How this skill is triggered — by the user, by Claude, or both
Slash command
/codebake:prd-writerThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Turn a spec into a PRD that an implementer can hand off to anyone. Built around **user stories**, **deep modules**, and **tests in the project's chosen language and framework** — never assume a stack.
Turn a spec into a PRD that an implementer can hand off to anyone. Built around user stories, deep modules, and tests in the project's chosen language and framework — never assume a stack.
Announce at start: "Using codebake:prd-writer to turn the spec into a PRD."
codebake:spec-writer) at .claude/codebake/specs/codebake:task-writercodebake:spec-writer firstRead the spec in full. Identify every user story. The PRD must cover all of them — no silent drops.
Discover the project's stack and conventions (do not assume a language or framework):
package.json, mix.exs, Cargo.toml, pyproject.toml, go.mod, Gemfile, etc.CLAUDE.md and any CONTEXT.mdtest/, spec/, tests/, __tests__/) and pick a representative existing test as prior art for new testsSketch the modules that need to be built or modified. Aim for deep modules — simple, testable interfaces that encapsulate substantial complexity and rarely change. Describe each module by purpose and public interface — function signatures, API endpoints, schemas — not file paths (file paths rot; interfaces don't).
Confirm modules with the user. Ask which modules they want covered with tests, and surface anything ambiguous before drafting test details.
For each user story, write a section containing:
Write the PRD to .claude/codebake/prds/YYYY-MM-DD-<topic>-prd.md and commit.
Self-review:
User reviews. Make changes if requested.
Hand off by invoking codebake:task-writer to load tasks onto the Codebake project from this PRD.
# <Feature Name> PRD
**Spec:** `.claude/codebake/specs/<file>.md`
**Codebake project:** <project-id-or-slug>
**Date:** YYYY-MM-DD
## Problem Statement
<2–4 sentences from the user's perspective. What hurts and why now.>
## Solution
<2–4 sentences from the user's perspective. What changes for them when this ships.>
## User Stories
1. As a <role>, I want <capability>, so that <outcome>.
2. ...
(Be extensive. Every observable behavior shows up here.)
## Tech Stack & Conventions
- Language / framework: <discovered from manifest>
- Test framework: <discovered>
- File / module layout: <discovered>
- Lint / format / test commands: <discovered>
- Prior-art test (template for new tests): `<path/to/representative_test>`
## Modules
### <ModuleName> (NEW | MODIFIED)
- **Purpose:** <one sentence>
- **Public interface:**
- `<signature or endpoint>` — <one-line behavior>
- `<signature or endpoint>` — <one-line behavior>
- **Depends on:** <other modules / external services>
- **Why deep:** <what complexity this hides; why the interface is unlikely to change>
(No file paths in this section — paths belong in the task descriptions.)
## Acceptance & Tests
### US-1: <user story restated>
**Acceptance Criteria**
- Given <…>
- When <…>
- Then <…>
**Tests** (in <discovered test framework>)
- What to test (plain English): <…>
- Prior art: `<path/to/similar/existing/test>`
- Scaffold:
```<lang>
// concrete starter test using the project's actual framework and conventions
```
**Implementation hints** *(omit this block if there's nothing non-obvious)*
- <gotcha, reuse pointer, or constraint>
### US-2: ...
## Testing Approach
- Test external behavior, not implementation details
- Modules to be covered: <list>
- Edge cases / failure modes worth covering: <list>
## Out of Scope
<Explicit list. Things this PRD does NOT promise.>
## Further Notes / Open Questions
<Anything unresolved.>
npx claudepluginhub misfitlab/codebake-skills --plugin codebakeProvides a checklist for code reviews covering functionality, security, performance, maintainability, tests, and quality. Use for pull requests, audits, team standards, and developer training.