Agent skill · product strategy · yonatangross
prd-to-goal
Turns a PRD, issue or spec into one copy-paste /goal line of AND-joined boolean checks. Use when running /goal against a spec.
Why this skill is useful
Adds a structured method for decomposing PRDs into executable goal assertions, which the AI wouldn't reliably generate on its own.
What it needs
About 8k tokens when loaded. Last updated 2026-08-06. 215 stars on the source repository.
What this skill does
prd-to-goal — PRD → /goal Decomposition Converts a PRD / issue / spec into a single copy-pasteable /goal line. The hard part of /goal is not running it — it is writing an until clause that is convergent (terminates), falsifiable (testable boolean), and observable (the agent can actually check it without subjective judgement). This skill makes that decomposition reproducible. 1. When to use Use it when: You have a written PRD, GitHub issue, or spec and want to run /goal against it. Past /goal runs drifted, looped, or burned tokens because the until clause was vague (until tests pass, until done, until design is good). You need to justify the abort budget — turns, tokens, no-progress threshold. Skip it when: One-shot bug fix where the failing test is the acceptance criterion. Just run /goal until pnpm test -- auth.spec.ts passes. No written PRD exists. Run write-prd first — vibes do not decompose. The work is destructive or irreversible (DB migrations, mass file deletes). /goal retries; you do not want retries on DROP TABLE. 2. Inputs the skill accepts Input How --- --- Pasted PRD text Provide as the argument, or paste into the chat after invoking. GitHub issue gh issue view <N> --json title,body,labels — the skill reads body. Spec file Path to a Markdown / text file; the skill Reads it. ADR / design doc Same as spec file. 3. The decomposition algorithm 1. Extract acceptance criteria. Pull every MUST, SHOULD, Definition of Done, Acceptance Criteria, and checkbox-style line. If the doc has none, stop and tell the user to run write-prd first — there is nothing to converge on. 2. Map each criterion to an observable boolean. Each criterion must reduce to a single shell-checkable assertion. Examples of observable state: test -f path/to/file (file exists) pnpm test -- pattern passes (test command exits 0) gh pr view <N> --json state jq -r .state == "MERGED" wc -l < src/auth.ts returns a number within bound pnpm lint exits 0 curl -sf $URL returns 2xx 3. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills yonatangross/prd-to-goal