Generate and validate Synthetic Reality Development outputs for ideas, PRDs, and codebases.
Use this skill when you need to generate, review, or refresh an SRD package. SRD means working backwards from a believable success state instead of starting with a feature list.
The workflow is:
An SRD run writes these files into srd/:
srd/success-reality.mdsrd/personas.ymlsrd/journeys.mdsrd/gap-audit.mdsrd/claude-directive.ymlsrd/SRD.mdCreate a six-month snapshot that includes:
If the user does not provide a target, estimate it from product type:
$5k-$15k MRR$30k-$100k MRR$20k-$75k MRR$50k-$200k MRR$30k-$100k MRR$20k-$80k MRR$100k-$500k MRREach persona must include:
id, name, archetypeidentity
agelocationbackgroundgoalspain_pointstech_stacklanguageswallet_profile
incomeplan_progressionupgrade_triggermonthly_spendltvuser_pctrevenue_pctlifecycle with at least 6 time-based entriesscores for revenue, engagement, viralitychurn_risk_momentsprimary_journeysconversion_triggercritical_noteScaling guidance:
Each journey must include:
id, name, personas, revenue_tagsteps
stepuser_actionscreen_routewhat_must_happendata_requiredcurrent_scorescore_rationaleacceptance_criteriarevenue_impact
conversion_pctrevenue_at_riskpersonas_blockedJourney score guidelines:
0-25: broken25-50: scaffolded50-75: partial75-90: mostly complete90-100: completeUse real routes when a codebase exists. Use planned routes or [TBD] markers when working from docs or ideas.
Build the decision engine in four layers:
Revenue-at-risk formula:
revenue_at_risk = conversion_pct * target_revenue * (1 - current_score / 100)
Fix tiers:
T0: revenue blockersT1: value-delivery blockersT2: retention and growth improvementsEvery fix should include an ID, description, journey, personas affected, revenue at risk, effort, and dependencies.
srd/claude-directive.yml must include:
north_starpriority_rulesanti_patternspersonasjourney_acceptance_criteriacurrent_prioritiesPriority rules should resolve real tradeoffs. Anti-patterns should reference actual team or codebase tendencies, not generic platitudes.
Before finalizing, confirm:
user_pct totals about 100revenue_pct totals about 100Prefer OpenCode-native integration after SRD generation:
opencode.json or opencode.jsonc so instructions includes srd/claude-directive.yml and srd/gap-audit.mdAGENTS.mdCLAUDE.md as compatibility-onlyDo not require package-local resources or schemas at runtime. This skill contains the methodology needed to execute the flow in any project.