Create a PRD

Use this skill before any multi-file feature, architectural decision, or complex bug fix.

607 stars

Best use case

Create a PRD is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Use this skill before any multi-file feature, architectural decision, or complex bug fix.

Teams using Create a PRD should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/create-prd/SKILL.md --create-dirs "https://raw.githubusercontent.com/waynesutton/markdown-site/main/.cursor/skills/create-prd/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/create-prd/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How Create a PRD Compares

Feature / AgentCreate a PRDStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Use this skill before any multi-file feature, architectural decision, or complex bug fix.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Create a PRD

Use this skill before any multi-file feature, architectural decision, or complex bug fix.

Activate with: `@create-prd`

## Location and naming

- All PRDs live in `prds/` folder
- File name: `prds/<feature-or-problem-slug>.md`
- Extension is always `.md`, not `.prd`
- Use kebab-case for the filename (e.g., `prds/adding-email-auth.md`)

## Template

Copy and fill in this template:

```markdown
# [Feature or problem name]

## Summary

1-2 sentence description of what this is and why it matters.

## Problem

What is broken or missing. Include symptoms, error messages, or user-facing impact.

## Root cause (for bugs)

What actually caused it. Do not skip this for bugs.

## Proposed solution

How to fix or build it. Be specific about the approach chosen and why.

## Files to change

- `path/to/file.ts` - what changes and why
- `convex/schema.ts` - if schema changes are needed

## Edge cases and gotchas

Anything non-obvious that came up during analysis. This section saves the next session.

## Verification

How to confirm the fix or feature works:

- [ ] Step 1
- [ ] Step 2

## Related

Links to related PRDs, issues, or external docs if any.
```

## When to create a PRD

- 3+ files will change
- Schema changes are involved
- Architectural decisions are being made (auth, hosting, data model)
- A bug required significant investigation to diagnose
- A feature needs to be referenced later as a migration guide or implementation reference

## When to skip a PRD

- Single file bug fix obvious from logs or types
- Typo, CSS tweak, or label change
- Copy change to markdown content

## After creating the PRD

1. Add the feature tasks to `TASK.md` under `## To Do` as checkable items
2. Reference the PRD path in the TASK.md entry if useful
3. Begin implementation only after the plan is clear

Related Skills

Update project docs

607
from waynesutton/markdown-site

Use this skill after completing any feature, fix, or migration to keep the three core project tracking files in sync.

robel-auth

607
from waynesutton/markdown-site

Integrate and maintain Robelest Convex Auth in apps by always checking upstream before implementation. Use when adding auth setup, updating auth wiring, migrating between upstream patterns, or troubleshooting @robelest/convex-auth behavior across projects.

convex-self-hosting

607
from waynesutton/markdown-site

Integrate Convex static self hosting into existing apps using the latest upstream instructions from get-convex/self-hosting every time. Use when setting up upload APIs, HTTP routes, deployment scripts, migration from external hosting, or troubleshooting static deploy issues across React, Vite, Next.js, and other frontends.

convex-return-validators

607
from waynesutton/markdown-site

Guide for when to use and when not to use return validators in Convex functions. Use this skill whenever the user is writing Convex queries, mutations, or actions and needs guidance on return value validation. Also trigger when the user asks about Convex type safety, runtime validation, AI-generated Convex code, Convex AI rules, Convex security best practices, or when they're debugging return type issues in Convex functions. Trigger this skill when users mention "validators", "returns", "return type", or "exact types" in the context of Convex development. Also trigger when writing or reviewing Convex AI rules or prompts that instruct LLMs how to write Convex code.

convex-doctor

607
from waynesutton/markdown-site

Run convex-doctor static analysis, interpret findings, and fix issues across security, performance, correctness, schema, and architecture categories. Use when running convex-doctor, fixing convex-doctor warnings or errors, improving the convex-doctor score, or when asked about Convex code quality, static analysis, or linting Convex functions.

write

607
from waynesutton/markdown-site

Writing style guide for technical content, social media, blog posts, READMEs, git commits, and developer documentation. Optimized to avoid AI detection patterns. Use when writing any content beyond code.

workflow

607
from waynesutton/markdown-site

Project workflow for PRDs, task tracking, changelog sync, and documentation updates. Use for any non-trivial task that spans multiple steps, touches several files, changes architecture, or needs project tracking updates. Also activates with @update to sync task.md, changelog.md, and files.md after completing work.

sec-check

607
from waynesutton/markdown-site

Security review checklist for Convex functions, auth logic, public queries, admin routes, webhooks, uploads, and AI-generated code. Use when reviewing code that touches user data, PII, or access control.

schema-builder

607
from waynesutton/markdown-site

Design and generate Convex database schemas with proper validation, indexes, and relationships. Use when creating schema.ts or modifying table definitions.

real-time-backend

607
from waynesutton/markdown-site

Build reactive, type-safe, production-grade backends. ALWAYS use this skill when the user asks to build, plan, design, or implement backend features, APIs, data models, server logic, database schemas, web apps, full stack apps, or mobile apps. This includes planning and architecture discussions.

react-effect-decision

607
from waynesutton/markdown-site

Combine React's official "You Might Not Need an Effect" guidance with this project's stricter no direct useEffect stance. Use when writing, reviewing, or refactoring React components that might reach for useEffect, derived state, event relays, reset logic, subscriptions, or client fetching.

migration-helper

607
from waynesutton/markdown-site

Plan and execute Convex schema migrations safely, including adding fields, creating tables, and data transformations. Use when schema changes affect existing data.