saas-playbook
Skill2 starsChanged 4 months agoMITView on GitHub
Plan, scope, price, launch, and grow a bootstrapped SaaS using a demand-first playbook: pick a boring validated market, cut scope hard, charge from day one, run a public feedback loop, and drip distribution instead of betting on launch day. Use when the user is starting a SaaS or micro-SaaS, validating an idea, choosing what to build first, deciding an MVP scope or stack, setting pricing, handling feature requests, planning a launch or Product Hunt push, or asking "what should I work on next" for a small product. Also use for /saas-playbook.
In this repository4 other files it gives its agents.
- architectureSkill
- build-design-systemSkill
- gauntletSkill
- hero-fxSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
13 rules. About 0 are common, 12 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈12
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
- Distinctive: line 37
If the user gives only a vague idea, run Phase 1 first.
- Distinctive: line 44
Talk to customers constantly: Every user is worth more than their MRR — they carry context, edge cases, and the next feature.
- Distinctive: line 52
Say no more than yes: Every yes is permanent support surface.
- Distinctive: line 90
Stop the idea: if there is no incumbent, no one is paying today, or the complaints are only about price.
- Distinctive: line 97
Write the MVP as one sentence: *"For who, it does one job, better than
- Distinctive: line 105
Keep: signup, the core job, billing, and a feedback path.
- Distinctive: line 136
If nobody pays, re-examine the problem, not the price.
- Distinctive: line 146
Changelog: every ship, however small.
- Distinctive: line 165
Write for search: comparison pages, "alternative to X", specific how-tos in the vertical's language.
- Distinctive: line 172
Never: fabricated metrics, invented testimonials, spam DMs, engagement pods.
- Distinctive: line 181
Read all feedback; re-rank the board by votes × strategic fit.
- Very specific: line 185
Check the time split against 50/20/30 and correct the drift.
- Distinctive: line 217
Do not produce a business plan.
≈ “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
/saas-playbook — Build a SaaS the boring, working way
Source of the method: How I'd Build a SaaS in 2026 — Shayan Taslim, UserJot
The default failure mode of a technical founder is building a well-engineered product nobody was already trying to pay for. This skill exists to keep the work pointed at demand, distribution, and revenue — and to keep the codebase small enough to change every week.
Usage
/saas-playbook <idea, market, or current situation>
/saas-playbook validate <idea>
/saas-playbook scope <idea> # cut to a shippable MVP
/saas-playbook price <product>
/saas-playbook triage <feature requests>
/saas-playbook next # what to work on this weekIf the user gives only a vague idea, run Phase 1 first. Never jump to architecture or stack selection before demand evidence exists.
The nine rules (never violate)
- Boring market with existing demand. Enter a category where people already pay and already complain. Do not invent a category.
- Talk to customers constantly. Every user is worth more than their MRR — they carry context, edge cases, and the next feature.
- No big launch. Launch day is not a growth strategy. Ship-and-post beats weeks of prep for one artificial spike.
- Drip instead. Introduce the product continuously: progress posts, DMs, build-in-public. That compounds into trust.
- Keep the stack simple. Optimize for 10–50 users, not Netflix. No k8s, no bespoke CI, no microservices before product-market fit.
- Say no more than yes. Every yes is permanent support surface. Protect the core.
- Charge from day one. "Free while in beta" manufactures fake validation. Charge early and charge more than feels comfortable.
- Public feedback board on day one. Post → vote → in progress → shipped. It shapes the roadmap and signals responsiveness to prospects.
- Marketing > coding. Target split ≈ 50% marketing / 20% support / 30% building. A product nobody knows about has no quality.
Workflow
Phase 1 — Find demand (before any code)
Budget: about one week. Deliverable: a written demand brief.
- Pick a vertical, not a technology. Support tooling, internal dashboards, CRMs, compliance, scheduling, billing ops, agency workflows.
- List the top 5–10 incumbents in that vertical.
- For each: landing page promise, pricing tiers, target segment, obvious gaps.
- Mine complaints — G2/Capterra reviews, Reddit, X, churn threads, support forums, changelog comments, "alternative to X" searches.
- Talk to 5+ real users. Ask what they love, hate, and work around. Do not pitch.
- Cluster complaints into recurring pain points. Rank by frequency × severity × willingness to pay.
Output the brief:
| Field | Content |
| Vertical | |
| Incumbents | with price points |
| Top 3 recurring complaints | with quoted evidence |
| Wedge | the one pain solved intentionally simply |
| Who pays | role, company size, budget owner |
| Price hypothesis | with comparable anchors |
| Kill criteria | what would disprove this |
Stop the idea if there is no incumbent, no one is paying today, or the complaints are only about price.
Detail: references/demand-research.md
Phase 2 — Cut scope to a wedge
Write the MVP as one sentence: "For who, it does one job, better than incumbent because specific gap."
Then cut:
- Kill every feature that is not required for that one job.
- Kill settings, admin panels, roles, and integrations that only one prospect asked for.
- Keep: signup, the core job, billing, and a feedback path.
The MVP will be messy and buggy. That is acceptable. Functionality, UX clarity, and iteration speed are not.
Detail: references/scope-and-stack.md
Phase 3 — Pick the boring stack
Rules of selection, in order:
- Fastest for this specific builder beats objectively best.
- Managed everything: hosting, database, auth, payments, email.
- One deployable unit until scale forces otherwise (see the
architectureskill for the split when it does). - Nothing that needs an ops on-call rotation.
Explicitly forbidden pre-PMF: Kubernetes, custom CI runners, microservices, event sourcing, self-hosted auth, multi-region, custom design systems, GraphQL federation, hand-rolled billing.
Detail: references/scope-and-stack.md
Phase 4 — Charge from day one
- Ship billing with the MVP, not after it.
- Lowest real plan should still be a real price. $5–$10/mo minimum for prosumer; far more for business tooling.
- Price against the incumbent's tier, not against your hosting bill.
- Offer discounts or founder pricing over free tiers — a discount still requires a card and still proves intent.
- If nobody pays, re-examine the problem, not the price.
Detail: references/pricing.md
Phase 5 — Stand up the feedback loop
On day one, not later:
- Public board: users post ideas, others vote.
- Roadmap: planned / in progress / shipped.
- Changelog: every ship, however small.
- In-app path: widget or one-click email reply.
Then work the loop: acknowledge fast, tag by pain point, link requests to the board, close it out publicly when shipped. Criticism ("the UX is confusing", "I didn't know that was clickable") outranks praise as signal.
Tools: UserJot, Canny, Featurebase, Nolt, or a plain public board — the tool is not the point; the visible loop is.
Detail: references/feedback-loop.md
Phase 6 — Drip distribution
Replace launch day with a continuous release of evidence:
- Ship something → post it.
- New feature → thread, short video, or changelog post.
- Milestone → share the number honestly, small as it is.
- Write for search: comparison pages, "alternative to X", specific how-tos in the vertical's language.
Try several channels for a fixed period, measure signups per channel, then double down on the one or two that actually convert. Expect variance — a post that lands and five that do not is a normal week.
Never: fabricated metrics, invented testimonials, spam DMs, engagement pods. Reputation is the only durable asset a small product has.
Detail: references/distribution.md
Phase 7 — Run the weekly loop
Every week:
- Read all feedback; re-rank the board by votes × strategic fit.
- Pick one improvement to the core job. Ship it.
- Publish it (changelog + one channel post).
- Talk to at least two customers.
- Check the time split against 50/20/30 and correct the drift.
Feature-request triage
For each incoming request, ask in order:
| Question | If no |
| Does it serve the core job? | No — decline warmly, note it on the board. |
| Do ≥3 unrelated paying users want it? | Defer to the board and let votes decide. |
| Can it be supported forever without new infra? | No — decline or price it as a paid add-on. |
| Does it fit in the current mental model? | Redesign the request, do not bolt it on. |
Saying no protects speed and sanity. Saying yes to everything is the fastest route to hating your own product.
Reply template:
That's a fair ask, and I hear why it matters for your workflow. It's outside the core of what this tool is trying to be great at, so I'm not planning to build it right now. I've added it to the public board — if it picks up votes I'll revisit. Here's how I'd handle it today:
<workaround>.
What to tell the user
Be concrete. Every output should contain:
- The current phase and what closes it
- The single next action
- What is deliberately being not built, and why
- Where marketing time is going this week
Do not produce a business plan. Produce the next week.
Anti-patterns
- Building for three months before a stranger sees it
- Choosing the market because the technology is interesting
- Free beta "to get feedback", then a paywall that empties the app
- Prepping a Product Hunt launch instead of shipping and posting weekly
- Infrastructure sized for a scale that does not exist
- Saying yes to a one-off integration to close one deal
- Treating feedback as a support queue instead of a roadmap input
- Rewriting the codebase before there are paying users
- Vanity metrics: waitlist size, impressions, stars
- Faking traction of any kind
References
| File | Load when |
| references/demand-research.md | Phase 1 — market selection, complaint mining, interviews |
| references/scope-and-stack.md | Phases 2–3 — cutting scope, choosing boring infrastructure |
| references/pricing.md | Phase 4 — plans, anchors, charging early |
| references/feedback-loop.md | Phase 5 — board, roadmap, changelog, triage |
| references/distribution.md | Phase 6 — drip marketing, channels, SEO, build-in-public |
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.

