app-prd
Skill50 starsChanged 5 days agoMITView on GitHub
Use when the user wants an app idea turned into a Product Requirements Document (PRD) committed to a repo — "create a PRD", "/app-prd", "turn this idea into a PRD", or a raw idea dump ending with "save it to this repo". Produces a complete, section-numbered PRD.md landed via worktree + PR, bootstrapping an empty repo if needed. Stage 1 of the new-app-pipeline.
In this repository39 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- cli-dispatchSkill
- codex-validate-plan-work-on-issueSkill
- create-releaseSkill
- execution-plan-reviewSkill
- expo-app-initializeSkill
- fable-advisorSkill
- fable-dispatchSkill
- fable-new-issue-loopSkill
- fable-new-issueSkill
- fable-orchestrateSkill
- fableplan-loopSkill
- fableplanSkill
- fableplan-work-on-issueSkill
- fable-validate-fableplan-loopSkill
- fable-validate-fableplanSkill
- fable-validate-loopSkill
- fable-validateSkill
- fix-pr-review-loopSkill
- fix-pr-reviewSkill
- github-issue-formatSkill
- issueplanSkill
- milestoneplanSkill
- milestone-workflowSkill
- new-app-pipelineSkill
- new-issue-loopSkill
- new-issueSkill
- prd-questionsSkill
- prd-to-issuesSkill
- pr-reviewSkill
- sync-docs-releaseSkill
- sync-docsSkill
- tldrSkill
- validate-fableplan-loopSkill
- validate-issue-loopSkill
- validate-issueSkill
- wansSkill
- work-on-issue-loopSkill
- work-on-issueSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 3 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 13
If no repo exists yet and the user named one, offer gh repo create <name> --private before proceeding.
- Distinctive: line 50
Every normative line must survive a literal reading.
- Distinctive: line 53
Terminology edits sweep every dependent: After the spec renames or forbids a mechanism, search the spec and all open issues for each …
- Distinctive: line 54
Realtime-path lines name the mechanism per component: When components differ in units, coordinate spaces, or timelines, give each its own …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
app-prd
Turn a raw idea dump into a complete, implementable PRD committed to the target repo. Write it so a cold agent could implement from it plus nothing else.
Input
- An idea dump: features, pricing, constraints, platform choices — usually messy prose. Optionally a target repo (defaults to the current checkout).
- If no repo exists yet and the user named one, offer
gh repo create <name> --privatebefore proceeding.
Steps
1. Check repo state
git status, git log --oneline -3, git remote -v, git ls-remote origin. Three cases:
- Normal repo: proceed with the standard worktree + PR flow.
- Empty repo with remote (no commits anywhere): bootstrap first. Create
main, one empty initial commit (git commit --allow-empty -m "Initial commit"+ attribution footer), push. Never put the PRD itself in the bootstrap commit. - No repo/remote: confirm repo creation with the user.
2. Draft PRD.md
Structure (adapt section names to the product, keep the skeleton):
- Header table — product name, repo, platforms, status (mark the MVP scope explicitly, e.g. "Draft v0.1 — MVP scope"), last-updated date.
- Product Overview — what it does, for whom, the emotional/business core in plain language.
- Goals — 3-5 bullets.
- Platforms & Technology — a table: each app surface, domains, payments, database, storage, email, auth. Record deferred infrastructure explicitly ("to be provisioned later; design compatible from day one").
- Feature sections — accounts, core domain objects, creation flows, privacy rules. Number every section (§4.2 style).
- Pricing — exact rates in tables, worked examples labeled illustrative, discount rules with the user's own example numbers preserved.
- Lifecycle/operations sections — storage tiers, scheduling windows with computed buffers (show the arithmetic: base time + buffer = trigger point).
- Notifications — every trigger, plus the implied supporting set (invites, receipts, warnings) marked as implied.
- Per-platform parity section when there are multiple surfaces.
- Open Questions — numbered; see rule below.
- Out of Scope (MVP).
- Post-MVP Roadmap — everything the user flagged as later.
3. Faithfulness rules (integrity-critical)
- Transcribe every stated number, rate, duration, and rule exactly. Never paraphrase pricing tables or lifecycle windows.
- Garbled or ambiguous input: make the best-effort interpretation in place and file the ambiguity in Open Questions. Never silently guess; never ask about things a sensible default covers.
- Anything you inferred rather than were told (e.g. an implied App Store policy, an implied email type) — say so inline.
3b. Executable-spec rules (apply to every PRD edit)
- Every normative line must survive a literal reading. Ask whether an agent can follow the line exactly as written and still produce the wrong thing.
- Verify API claims against the installed SDK or type definitions. Before the spec names a property, type, or signature, read the declaration at the deployment target (
*.swiftinterfaceunderxcrun --sdk iphoneos --show-sdk-path, or the package's own.d.ts). Web documentation alone is insufficient evidence. A sample written against a legacy API (for example theVN*Vision types) proves nothing about its modern replacement. - In-repo evidence outranks external documentation. A code comment that records a compile failure is ground truth. Contradict it only by reproducing the compile.
- Terminology edits sweep every dependent. After the spec renames or forbids a mechanism, search the spec and all open issues for each remaining mention: implementation orders, tables, checklists, acceptance criteria.
- Realtime-path lines name the mechanism per component. When components differ in units, coordinate spaces, or timelines, give each its own explicit statement.
- Spec pull requests get the same review gate as code pull requests.
4. Land it
Worktree off latest origin/main, branch cc/prd, commit PRD.md, push, open a PR. Attribution footer on the PRD file itself, the commit, and the PR body (Created).
5. Iterate on the same PR
For each user revision:
- Edit, commit, push to the same branch — one PR accumulates the whole draft history.
- Rename sweeps:
grep -cfirst, replace all occurrences and casing variants, fix grammar fallout (a/an). - Flip the PRD file's footer verb to
Updatedon first revision; commits useUpdatedthereafter. - Reply with what changed in one or two sentences. Do not recap the document.
Output
PR URL plus a one-line summary of coverage and where the open questions are listed. The PR merges when the user says so, after the review gate above (a fix-pr-review-loop run to LGTM on the PRD PR) — typically once the prd-questions stage empties the Open Questions section.
Failure modes
| Situation | Do this |
| Empty repo, no base branch | Bootstrap main with an empty commit first — never commit the PRD directly to main |
| User's numbers seem inconsistent (e.g. discount examples) | Record them verbatim, add an Open Question showing the inferred rule |
| User states requirements mid-iteration contradicting earlier ones | Latest wins; update every section it touches, not just the nearest one |
| Tempted to fill a spec gap with a plausible invention | Open Question instead |
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

