More screenshots

    Works with the AI Agents you already use

    Claude CodeClaude CodeCursorCursorCodex CLICodex CLIMuseMuseDotsDots+22 more

    PRD: Product Requirements Document

    1

    Sizes the change, then drafts a PRD with the problem, evidence, a success metric you can check after launch, HTML mockups, scope, and milestones.

    $14.29

    Secure checkout via Stripe

    Money-back guarantee

    Converts to your local currency at checkout

    Security scanned
    PRD: Product Requirements Document

    PRD: Product Requirements Document

    Example session with this skill installed

    Write a PRD for saved-search alerts. Users on our listings marketplace want to save a search and get a push or email when a new listing matches it.

    • Read your context and instructions
    • Compiled the prd
    • Generated the document

    Created the draft PRD with labeled assumptions and five HTML mockups. Section, link, and script syntax checks passed.

    Files in the current directory

    • ./saved-search-alerts-prd.md
    • ./search-inline.html
    • ./search-modal.html
    • ./saved-searches.html
    • ./email-preferences.html
    • ./alert-previews.html
    • ./validation-report.json

    1. Saved-search alerts

    FieldValue
    StatusDraft — no reviewer approval has occurred
    SizeLarge: new management surface plus push and email delivery
    OwnerAssumption A1: marketplace product lead; person unassigned
    ReviewerOpen Question: eventual PR reviewer is unassigned; review is required before approval
    Updated2026-10-15
    Version0.1 — initial proposal

    2. Description

    Let buyers save search criteria and receive alerts when new listings match. Buyers choose email, push, or both. They can pause, change, or delete each saved search.

    Assumption register: A1 covers ownership. A2 covers audience and existing marketplace capabilities. A3 covers all proposed behavior in §7 and §11. A4 covers measurement definitions and targets. A5 covers experiment design and timing. A6 covers launch responsibilities and dependencies. Each is a proposal, not a verified fact. Requirements below are normative within this draft, and rest on these labeled assumptions.

    3. Problem

    Known: The request states: “Users on our listings marketplace want to save a search and get a push or email when a new listing matches it.”

    Assumption A2: Buyers repeat searches because relevant inventory arrives over time. Manual checks cost time and can miss useful listings. Primary actors are buyers. Sellers benefit from qualified visits. Support handles missing or unwanted alerts.

    4. Why

    Known: No codebase, analytics, research, prior PRD, or design was supplied. No stakeholder is available during this run. The workspace contains no product document to extend. No external market claims are used.

    Assumption A2: Repeat searchers need timely discovery more than another broad promotional message. Existing accounts, search filters, listing pages, verified email, and a push-capable app are available. Confirm these before committing a launch date.

    Before launch, pull 28 days of repeat-search rates, new-listing volume per common search, return visits, and notification opt-out rates. Interview five repeat searchers about urgency and acceptable frequency. Owner: proposed product lead (Assumption A6). No cross-team requirements have been received.

    5. Success

    All definitions and targets below are

    Assumption A4. Baselines are unknown unless stated. Let L be the actual beta start. Report sample sizes with each rate. Exclude staff and test accounts.

    MeasurePrecise definition and cohortSourceBaselineTargetReadout
    Primary: useful discoveryShare of beta users with an active alert and at least one eligible new match during L through L+23 days who view a matched listing through an alert within seven days of that match; count each user onceMatched-listing eligibility, alert attribution, listing viewsUnknown; new flow has no historical cohortAt least 25%L+30 days
    ActivationUsers who enable their first alert / users shown Save search during the first 14 beta daysEntry exposure and alert-enabled eventsUnknownAt least 10%L+14 days
    TimelinessShare of eligible matches included in an alert accepted by the selected provider within 15 minutes; report each channel separately over first 14 daysMatch and provider acceptance timestampsUnknownAt least 95%L+14 days
    Unwanted alertsUsers who disable all alert channels within seven days of their first accepted alert / users with a first accepted alert during L through L+23Acceptance and preference eventsUnknownBelow 10%L+30 days
    Duplicate controlRepeated deliveries for the same user, listing, and channel / accepted listing-channel deliveries during first 14 daysDelivery auditUnknownBelow 0.1%L+14 days

    Provider acceptance does not prove receipt or attention. Do not use email opens as the success measure. Instrument acquisition (entry exposure), activation (alert enabled), value (attributed matched-listing view), and retention (another attributed view on a later day within 30 days). Record channel, experiment group, saved-search identifier, and event time. Avoid raw queries or email addresses in analytics. Missing attribution is reported separately.

    6. Audience

    Assumption A2: Start with signed-in buyers who repeat a specific keyword and filter combination. Include low-inventory searches with zero current results. Guest users can start setup, then sign in and return with their criteria intact. Sellers are not the target audience.

    Assumption A3: Use the search-results entry point and account navigation for discovery. Alerts are user-requested lifecycle messages. Do not enroll users by default or add promotional messages. Segment readouts by channel and inventory volume. Do not infer sensitive interests for targeting.

    7. What

    All product decisions in this section are Assumption A3, pending review.

    Key features

    CapabilityProposed requirement
    SaveSave keywords, selected filters, and selected location/radius exactly as shown. Ignore sort order and pagination. Show a readable criteria summary before confirmation.
    SetupSuggest an editable name, maximum 80 characters. Offer unchecked Email and Push choices. Saving without channels creates a saved search with alerts off.
    EligibilityEmail requires a verified address. Push requires permission on at least one signed-in device. Explain blocked channels and preserve choices while users resolve them.
    MatchingUse the same criteria meaning as search. Only newly published, publicly available listings after activation qualify. Existing inventory, edits, and reactivation of the same listing do not qualify.
    TimingGroup new matches into a single alert per saved search and channel per 15-minute window. Target provider acceptance within 15 minutes; do not promise guaranteed receipt.
    VolumeSend at most four alert messages per user, per channel, per rolling 24 hours. Excess matches appear in one summary when capacity returns. Drop unavailable listings; show exact remaining count.
    OverlapInclude a listing once per user per channel across overlapping saved searches. Attribute it to the oldest matching active search. Selecting both channels intentionally permits one email and one push.
    ManagementList saved searches with criteria, state, and channels. Rename, edit criteria, pause, resume, change channels, and delete. Limit to 20 saved searches per account.
    EditingApply changes to future matches from the confirmed save time. Discard pending matches that no longer qualify. Resume starts fresh without a paused-period backlog.
    ControlsPause retains criteria. Delete requires confirmation and removes the search. Channel opt-out cancels pending sends on that channel before provider handoff.

    User journeys

    flowchart TD
        A[Search results, including zero results] --> B[Save search]
        B --> C{Signed in?}
        C -->|No| D[Sign in and restore criteria]
        C -->|Yes| E[Review criteria and channels]
        D --> E
        E --> F{Channel available?}
        F -->|No| G[Resolve permission or save with alerts off]
        F -->|Yes| H[Save and confirm]
        G --> H
        H --> I[Manage saved searches]
        I --> J[Edit, pause, resume, or delete]
        H --> K[New matching listing]
        K --> L[Email or push]
        L --> M[Listing or matching results]
        L --> N[Turn off email alerts]
    
    • Entry: search results or empty results → setup → sign-in if needed → return to setup.
    • Cancel or failed sign-in: return to results; create nothing. Preserve the draft while the session remains open.
    • Confirm: save once, show success and a Manage saved searches link. On failure, retain inputs and offer Retry.
    • No eligible channel: explain why; allow saving with alerts off. Never show “alerts on” without an eligible selected channel.
    • Notification: one listing opens that listing; multiple listings open existing results for the saved criteria. Sign-in, if required, preserves the destination.
    • Listing removed after send: explain “This listing is no longer available” and offer current matching results.
    • Management: edit and confirm → updated row; cancel → original row. Pause/resume updates the state. Delete → confirmation → removal or cancellation.
    • Email opt-out: open scoped preference page → turn off this search’s email or all saved-search email → confirmation. Push remains unchanged. Existing provider-handed messages may still arrive.

    Design

    Rough, self-contained HTML mockups are the review artifacts. Each opens directly in a browser. Sample listings and counts are fictional.

    SurfaceMockupDecision
    Search results and inline setupsearch-inline.htmlPreferred: visible criteria and fewer navigation steps
    Search results and modal setupsearch-modal.htmlAlternative: compact results page, but hidden context and more focus handling
    Saved-search managementsaved-searches.htmlIncludes edit, pause, resume, delete, and empty state
    Email preference pageemail-preferences.htmlScoped opt-out and confirmation
    Push, email, and unavailable destinationalert-previews.htmlMessage copy and fallback state

    Assumption A3: choose inline setup for the first release. Review the modal alternative before approval. Existing sign-in, email verification, operating-system permission prompts, search results, and available listing detail screens are reused. Their existence is Assumption A2. If absent, revise scope and mockups before implementation.

    Use clear labels, keyboard access, visible focus, and readable mobile layouts. Announce save and error status. Do not indicate state by color alone.

    Product copy

    • Entry: “Save search”. Empty results: “No matches yet. Save this search to hear about new listings.”
    • Setup: “Get alerts for new matches”. Channels: “Email” and “Push”. Helper: “Choose either, both, or save with alerts off.”
    • Success: “Search saved. Alerts are on.” Without channels: “Search saved. Alerts are off.”
    • Permission denied: “Push is blocked. Enable notifications in device settings or choose email.”
    • Unverified email: “Verify your email to enable email alerts.”
    • Failure: “We could not save your search. Your changes are still here. Try again.”
    • Limit: “You have 20 saved searches. Delete one to save another.”
    • Delete: “Delete this saved search? Its alerts will stop.” Buttons: “Keep search” and “Delete search”.

    Out of scope

    Exclude price-drop alerts, listing-edit alerts, existing-inventory backfill, SMS, seller alerts, paid tiers, recommendations, shared searches, and custom schedules. Exclude changes to search ranking or seller publication rules.

    Future considerations

    Consider daily digests, quiet hours, and user-set frequency after measuring volume and opt-outs. Do not promise them at launch.

    Constraints and dependencies

    Assumption A2: current search criteria can be reproduced and listing identity persists across edits. Assumption A6: product, engineering, design, support, and messaging owners can review the draft. Email and push delivery capabilities are unverified. No vendor, staffing level, or delivery date is confirmed.

    Edge and corner cases

    ConditionExpected behavior
    Zero current matchesAllow save; do not send an empty alert
    Identical criteria already savedOpen the existing search for editing; do not create a duplicate
    Double submit or retryCreate only one saved search; display its confirmed state
    Filter removed from marketplacePause affected alert, show “Update this search”, and require explicit criteria review; never broaden silently
    Permission later revoked or email rejected permanentlyDisable that channel and show action needed; retain other channels and criteria
    Temporary delivery failureRetry within 24 hours while preserving deduplication and volume limits; then expire and record failure
    Pause/delete races with sendRecheck state before handoff; explain that already-sent messages cannot be recalled
    User changes criteria during batchingRetain only still-qualifying, post-edit matches; never send stale criteria alerts
    Location changesKeep the explicitly saved location; device travel does not change criteria
    Account deletionStop future alerts and remove saved searches under the account deletion policy
    Multiple devicesPush to one most recently active permitted device; email choice remains independent
    No active searches after deletionShow empty state with “Find listings” entry

    8. How

    Assumption A5: Gate the feature with a configuration toggle, initially off. Pilot with 10% of eligible signed-in buyers; assign a random equal-sized holdout without the new entry point. Keep assignments stable. Compare return listing views per eligible buyer over 30 days as a secondary experiment outcome. The primary metric is descriptive within the enabled cohort. Do not claim causal impact from it.

    Check activation and guardrails after 14 days. Expand only after the 30-day readout meets targets and the reviewer approves. If the primary denominator is below 200 users, extend beta; this is an operational threshold, not a power calculation. Determine statistical power after baseline data is available. Stop expansion for incorrect recipients or persistent duplicates. A delivery toggle stops new sends while management remains available.

    9. When

    All dates are Assumption A5, tentative and dependent on capacity and feasibility.

    MilestoneTentative dateExit condition
    Product review2026-10-22Named owner/reviewer, evidence gaps reviewed, explicit approval
    Readiness review2026-11-05ERD completed; integrated verification and messaging checks pass
    Limited beta, L2026-11-09Feature flag, attribution, support guidance, and stop control verified
    Early guardrail review2026-11-2314-day rates and failures reviewed
    Outcome review2026-12-0930-day outcome and cohort sizes reviewed
    General availability decision2026-12-14Targets met, reviewer approves, or beta extended with a recorded reason

    These are product milestones. Implementation order belongs to the ERD.

    10. Open questions and notes for architecture

    Product questions

    Open Question: Who owns the feature and reviews the eventual PR? Interim assumption: product lead plus an assigned engineering reviewer.

    Open Question: Is fifteen-minute batching acceptable for this marketplace? Interim assumption: yes; validate with repeat searchers.

    • Open Question: Do users prefer one device or all devices? Interim assumption: one recent permitted device.

    Risk: A four-message cap can delay urgent discoveries. Compare high-volume cohort opt-outs and discovery outcomes before expanding.

    • Risk: Low inventory can make the primary cohort small. Report excluded users with no eligible matches separately.

    Architecture notes for the ERD

    Resolve matching consistency, publication identity, permission changes, deduplication across searches, batching, rate caps, retries, and cancellation boundaries. Define secure destination links, email opt-out tokens, event attribution, retention, and account deletion. Check existing search and messaging capabilities first. Prototype matching feasibility if reliable publication events or equivalent saved-filter evaluation are unavailable. No service topology or vendor is selected here.

    11. Non-visual product requirements

    All copy and delivery decisions are

    Assumption A3. Counts use available matches at handoff. Do not place precise private location data in lock-screen copy. Use the saved name only inside signed-in product screens. Email includes a scoped opt-out link and account preferences link.

    Channel/stateCopy explorationSelected copy and action
    Push, single“A new listing matches” versus “Your search has a new match”“Your search has a new match” / “Open to view the listing.” Tap opens listing
    Push, multiple“New matches are ready” versus count-led copy“3 new listings match your search” / “Open to view new matches.” Tap opens criteria results
    Email, single“A new match for your search” versus “See your latest match”Subject: “A new match for your search”; heading: “A new listing matches your saved search”; CTA: “View listing”
    Email, multiple or capped summaryCount-led versus generic summarySubject: “3 new listings match your search”; body: “New matches are ready. Availability can change.” CTA: “View matches”
    Email footerSearch-specific versus broad stop control“Turn off email for this search” and “Manage saved searches”; preference page also offers all saved-search email off

    Email shows listing title, displayed price/currency, and public location when available. Missing optional details are omitted, never invented. No automatic fallback from push to email without the user's email selection. Resume after a global email opt-out requires explicit email opt-in on a saved search; preserve the disabled state for other searches. Unsubscribe never changes transactional account messages.

    12. Third-party tools

    Assumption A6: Existing email and push providers will be reused. No providers are known or selected. Email depends on sending, failure feedback, and opt-out support. Push depends on platform permission and delivery feedback. Validate these in the ERD. This document authorizes no installation or provider purchase.

    13. Is seeding required?

    Assumption A6: No fake production listings or pre-created user searches are needed. Use clearly marked test accounts and synthetic listings in staging. Support needs examples of delayed, blocked, paused, and opted-out alerts before beta.

    14. Go to market

    Assumption A6: Introduce the feature at search results and in saved-search navigation. Explain that users choose channels. Avoid a broad email announcement until beta validates value.

    RiskMitigation
    Irrelevant alertsCriteria parity checks and a visible saved summary
    Too many alertsBatching, caps, scoped controls, and opt-out monitoring
    Missing or late alertsClear expectations, channel status, delivery audit, and support guidance
    Sensitive query disclosureGeneric notification copy and no raw query analytics

    Launch checklist

    • Assign owner and reviewer; record explicit product approval.
    • Confirm assumed account, search, email, and push capabilities.
    • Review matching and notification-copy examples with target buyers.
    • Verify full journeys in staging: save → new listing → each selected channel → correct destination.
    • Verify no-alert cases: old inventory, edit, wrong filter, paused search, opt-out, and unavailable listing.
    • Verify duplicate search, overlapping matches, rate cap, retries, permissions, and deletion races.
    • Retain a repeatable E2E report with test data, expected results, timestamps, and delivery evidence.
    • Verify metrics, privacy handling, support guidance, and the delivery stop control.

    Known: This run produces a PRD and mockups only. No production feature or integrated delivery test exists. Document validation cannot establish implementation readiness.

    15. Glossary

    • Saved search: A named set of search criteria owned by a buyer.
    • Eligible match: A newly published, public listing that matches an active search after activation.
    • Active alert: A saved search with at least one eligible enabled channel and no pause.
    • Provider acceptance: The messaging provider accepts a send request; receipt is not guaranteed.
    • Handoff: The point after which a message may no longer be cancelable.
    • Holdout: Eligible users assigned to the existing experience during the experiment.

    No template sections were skipped. Next: after explicit PRD approval and a request for technical planning, use the erd skill. Carry forward exclusions and constraints, and resolve §10. Keep this document as the product source of truth.

    search-inline.html

    PDF · document

    Generated

    Example file from a real run - the skill writes it into your workspace.

    Connects securely to your tools. The creator never sees your data.

    About this skill

    Plan a feature before your coding agent builds it. This skill is phase 1 of the software factory Dex Horthy (HumanLayer) describes in Why Software Factories Fail. The four phases are product requirements, system architecture, program design, and vertical slices, each with a human review. Agents write code in minutes, but people still review it in hours, so the decisions get made here instead of in the PR. The companion ERD skill covers phases 2 to 4.

    What it does

    • Sizes the change first. Small changes go straight to the coding agent. Refactors skip to the ERD. Medium changes get a short PRD, and Large changes get the full template.
    • Pins the problem in the user's terms before any solution, and labels every claim Known, Assumption, Risk, or Open Question.
    • Defines success you can check later. Each metric gets a definition, a data source, a baseline, a target, and the date to read it.
    • Mocks up each new screen as a rough, self-contained HTML file with no framework and no build step.
    • Keeps product review in product space. Technical thoughts are parked in a notes-for-architecture section that the ERD resolves.
    • Names a reviewer and records approval, so the eventual PR confirms decisions instead of reopening them.

    The template

    Fifteen sections. Sections 1 to 9 (title and header, description, problem, why, success, audience, what, how, when) are the spine. Sections 10 to 15 (open questions and notes for architecture, non-visual requirements, third-party tools, seeding, go to market, glossary) are added when they apply. A skipped section is named in one line, never left as a silent gap.

    Output

    Markdown by default, so the next agent reads it as context and Git diffs it cleanly. Mockups are HTML because people look at them rendered. Ask for another format and the skill renders that instead.

    Pairs with the ERD skill, which turns the approved PRD into a system architecture, a program design, and a vertical-slice build order.

    How to use

    Skills on Agensi run inside your AI agent. Copy the prompt, paste it into your agent, and it connects to Agensi and installs this skill for you. If a payment is needed, your agent shows it to you first.

    Reviews

    No reviews yet

    Be one of the first to try it. Every listed skill passes our trust checks below.

    Security scanned

    Passed our 8-point scan before listing

    Fresh listing

    Recently published to Agensi

    Money-back guarantee

    Doesn't do what its page promises? You get your money back.

    Trust & safety

    Security scanned

    Verified clean 4 days ago

    • Passed all security checks, Safe to install

    Listed4 days ago

    What's inside

    Frequently Asked Questions