Communitygithub.com

saas-pages

Builds the exact list of pages a SaaS website needs so Google and ChatGPT can recommend it. Use when someone gives a SaaS website URL and asks which pages to create, what pages their site is missing, a page plan, a content plan for their product site, or says "run saas-pages". Also works for service businesses and agencies. Covers 6 page types - homepage, comparison pages, alternatives pages, use case pages, documentation and help centre - and outputs every page with its URL, H1, target search o

What is saas-pages?

saas-pages is a Claude Code agent skill that builds the exact list of pages a SaaS website needs so Google and ChatGPT can recommend it. Use when someone gives a SaaS website URL and asks which pages to create, what pages their site is missing, a page plan, a content plan for their product site, or says "run saas-pages". Also works for service businesses and agencies. Covers 6 page types - homepage, comparison pages, alternatives pages, use case pages, documentation and help centre - and outputs every page with its URL, H1, target search o.

Works with~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/iamjeeth/saas-pages-skill/tree/HEAD

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation

SaaS pages planner

You turn one SaaS website into a list of pages to build. Every page on the list is one that a buyer can land on from Google or get pointed to by ChatGPT. The output is concrete: real URLs, real H1s, real competitor names. No generic advice.

Inputs

  • Required: the website URL.
  • Optional: a list of competitors, support tickets, sales-call notes, FAQs, the top questions customers ask.

If the user gave only a URL, start right away. Ask for tickets and notes in step 6, not before.

Ground rules

  • Only use facts you read on the site or found in search results. Never invent numbers, customer counts, prices, ratings or features. If something is not on the page, write "not found" and move on.
  • If a page will not load (blocked, 403, or the content is drawn by JavaScript and comes back empty), say which URL failed and ask the user to paste that page's text if it matters. Do not guess what it says.
  • Plain language in everything you output. Say "pages Google and ChatGPT can recommend", "the question people type", "the page buyers compare you on". Do not use words like topical authority, keyword cluster, SERP, funnel stage, E-E-A-T.
  • No em dashes or en dashes in the output. Use commas, colons or a plain hyphen.
  • Every page gets one of four statuses:
    • create: you looked and it does not exist.
    • exists: improve: it exists and you read it; say what is missing in one line.
    • exists: check: it exists but you did not read it (too many pages to read them all). Say what to check on it.
    • check: you could not confirm whether it exists (page blocked or not linked anywhere you could read). Say what to check.
  • Read every existing page that would be P1 before giving it a status. Pages you skip get exists: check, never exists: improve.

Step 1: Read the site

Start with <site>/sitemap.xml (and any child sitemaps it lists). It is the fastest full list of pages the site has. If there is no sitemap, use the site's navigation and footer links. Never guess paths.

Then fetch these, in this order:

  1. Homepage: copy the exact H1 and subheadline. Note who it says the product is for, the main features named, and any integration names.
  2. Pricing page: plan names and add-ons.
  3. Features or product page: every feature or capability that has its own page or section.
  4. Integrations or marketplace page: the top integrations by name.
  5. Existing comparison or "vs" pages, alternatives pages, industry or use case pages. Look for links such as "Compare", "vs", "alternative", "Solutions", "Industries", "Use cases".
  6. Docs or developer docs, and the help centre or knowledge base: their main categories.
  7. Blog: categories and recent titles (this shows what they already write about).

Write a short Site snapshot before the plan:

  • What it does (one line, in the site's own words where possible)
  • Who it is for (stated on site / implied)
  • Main features (list)
  • Top integrations (list)
  • Pages already found, grouped by the 6 types
  • Pages that failed to load
  • Facts that disagree between pages: the same fact stated two ways on two pages (an integration "live" on one page and "coming soon" on another, two different feature counts, two prices for one plan). Quote both versions with their URLs. These go first in the build order, because ChatGPT repeats whichever version it reads. Write "none found" if there are none.

Step 2: Find the competitors

  • If the user gave competitors, use them.
  • If not, search the web for " alternatives", " vs", " competitors" and "best software". Pick the 5 to 10 names that show up most often across different sites. Also add any competitor the site itself compares against.
  • If the searches for the product's own name come back thin (directory listings, unrelated tools), rely on the "best " roundups instead.
  • Most roundups are written by a vendor that ranks itself first. Count how often a name appears across different sites, not where it ranks, and add one line under the competitor table saying so.
  • List them with one line on why each is included (for example "on the site's own comparison page" or "in 4 of 6 alternatives roundups").

Service business or small brand

Check this before step 3. If the site sells a service (agency, consultant, freelancer, done-for-you work) instead of software, or the brand is too new for people to search its name, say so in one line in the snapshot and adapt these types:

  • Type 2, comparison: nobody types " vs " yet. Compare the choices the buyer makes instead: "agency vs consultant", "in-house hire vs agency", " vs ", "do it yourself vs done for you". Add a named " vs " page only as P3 check, and only once prospects mention that competitor on calls.
  • Type 3, alternatives: keep them, but rank them P2 or P3 unless the competitor is a well-known name. People search alternatives to well-known names far more than to small agencies.
  • Type 4, use case: skip integration pairs if there is nothing to integrate and say so. Make one page per service, per audience and per industry instead.
  • Type 5, docs: become how-we-work pages: the process month by month, how results are measured, what a report contains, what the client has to do.
  • Type 6, help: always include a pricing page if prices are missing or spread over several pages. It answers "how much does cost", one of the first questions buyers ask Google and ChatGPT.

Keep the other rules the same: only facts from the site, statuses, priorities and output format.

Step 3: Build the page list

Go through the 6 types in order. For every page fill all fields in Page fields below.

Type 1: Homepage that says what you do and for whom

One row. Test the current H1 and subheadline: in 5 seconds, can a stranger tell (a) what the product is and (b) who it is for? If the H1 is a slogan, has no category word ("CRM", "invoicing software"), or names no audience, mark exists: improve and write a new H1 and subheadline. Keep their words where they work. Models: HubSpot CRM, FreshBooks and Pipedrive homepages state the category and the buyer in the first line.

Type 2: Comparison pages, " vs "

One page per competitor from step 2. URL like /compare/<product>-vs-<competitor>/ (match the site's existing pattern if it has one). Target question: " vs " and the ChatGPT prompt "Should I use or for ?". Models: Notion vs Confluence, Ahrefs vs Semrush, ClickUp vs Asana.

Type 3: Alternatives pages, "best alternatives"

One page per competitor. These catch people who already use a competitor and want to leave. URL like /alternatives/<competitor>-alternatives/. Target question: "best alternatives" and "What can I use instead of ?". The page lists several options honestly, with the product first and a clear reason. Models: ClickUp's Asana alternatives, monday.com's Trello alternatives, HubSpot's Salesforce alternatives.

Type 4: Use case pages

One page per:

  • Job to be done: each main job the product does ("track sales leads", "send invoices automatically").
  • Persona: each type of buyer named or implied on the site ("for founders", "for sales managers").
  • Industry: each industry the product serves or could clearly serve.
  • Integration pair: the product with each top integration, and the most useful "App A + App B" combinations the product connects (Zapier style: "Gmail + Slack"). Target question: "connect to " or " integration".

Models: Zapier's Gmail + Slack page, Calendly for sales teams, Airtable for marketing. Do not pad: only add a persona or industry if the site, its customers or its features clearly support it.

Type 5: Documentation pages

One page per feature or capability from step 1, explaining what it does, how to set it up and an example. Target question: "how to in ". If the product has an API, include an API getting-started page. Models: Stripe, Twilio and Vercel docs.

Type 6: Help centre pages

One page per real customer problem. Ask the user once:

Paste your last 20 to 50 support tickets, sales-call notes or FAQs (remove names and emails first). I will turn every repeated question into a help page.

Then group the pasted text by problem, count how often each comes up, and make one page per problem, most frequent first. Target question: the customer's own words. If the user has nothing to paste, list only problems you can see evidence for on the site (for example a switching guide mentioned on a comparison page, or a help category with no articles), mark those rows check, and say the list gets much better with tickets. Models: Notion, Slack and Zoom help centres.

Page fields

For each page:

FieldWhat to write
Statuscreate / exists: improve / exists: check / check
Type1 to 6 with its name
URL sluglowercase, hyphens, match the site's existing pattern if there is one
H1the exact heading
Target questionwhat people type into Google, plus the ChatGPT prompt it should answer
Sections3 to 5 section headings the page needs
PriorityP1 / P2 / P3
Whyone line explaining the priority

Priority rules:

  • P1: buyers are close to choosing (homepage fix, comparison and alternatives pages for the 3 to 5 biggest competitors, the integration pages for the top integrations, help pages for the most repeated problems).
  • P2: buyers are researching (the remaining competitors, main jobs to be done, main personas and industries, docs for core features).
  • P3: nice to have (long-tail industries, smaller integration pairs, docs for minor features). Within each level, "exists: improve" pages usually come before "create" pages because they are faster.

Step 4: Output

Build the plan as one list of rows first, then make the tables, the totals and the CSV from that same list, so they always match. If you can run code, use it for this. Count the totals from the rows, never from memory.

Output in this order:

  1. Site snapshot (from step 1) and Competitors (from step 2).
  2. Page plan table: one markdown table per type, columns: Status, URL slug, H1, Target question, Sections, Priority, Why. Inside the tables, separate items with " / " or ";", never "|", which breaks the table. Many existing pages of the same kind that need the same check (for example "7 more compare pages" or "23 industry pages") can share one row; list their slugs in the URL slug field.
  3. Totals: number of rows per type and per priority, and how many are create / exists: improve / exists: check / check.
  4. 30-day build order: 4 weeks, one short list per week. Week 1 is always fixing the facts that disagree between pages (if any), the homepage fix, and the top P1 comparison and alternatives pages. Size it to what one person can realistically ship (about 3 to 6 pages a week) and say that.
  5. CSV: offer it, and when the user says yes (or if they asked for it up front), print one CSV code block with the header:
status,type,url_slug,h1,target_question,sections,priority,why

Quote every field. Separate the sections inside a field with " | ". The user can paste it straight into Google Sheets or Excel.

If the plan has more than about 60 pages, show the P1 and P2 pages in the tables, put the P3 pages only in the CSV, and say so.

Finish

End with one line: "Paste your support tickets or sales-call notes and I will add the help centre pages your customers actually need." (skip it if they already pasted them).

Related Skills