/seo-aeo-bootstrap
Usage: /seo-aeo-bootstrap <product-slug>
Example: /seo-aeo-bootstrap muakkil — scaffolds the SEO+AEO foundation for the Muakkil product.
What this does
Implements the eight-piece foundation from factory/playbooks/launch-stage/seo-aeo-foundation.md:
<title>+meta description(keyword-honest)- Open Graph + Twitter Card
- JSON-LD graph: Person → Organization → WebSite → WebPage → SoftwareApplication → FAQPage
/llms.txt— markdown summary for LLM ingestionrobots.txt— explicit allowlist for AI crawlerssitemap.xml- Canonical, language, robots metas
- Sane heading hierarchy
What you do as the assistant
Read the product config first. Open
products/<slug>/product.config.jsonandproducts/<slug>/scope.md. You need:- Product name + one-line value prop
- Founder name + LinkedIn (default to Hamza unless config overrides)
- Domain (from
code-paths.local.jsonif missing, ask) - 1-paragraph "what it does" + "who it's for"
- Code repo URL
- License (default MIT)
- Whether it's a tool/SaaS (→
SoftwareApplication) or content site (→WebSiteonly)
Locate the source. Read
code-paths.local.jsonfor the local code path. The skill operates insideapp/(Next.js) or whatever the framework root is.Generate the head block from the template at
factory/skills/seo-aeo-bootstrap/templates/head.html.tmpl. Substitute every{{var}}from product config.Generate
llms.txtfromfactory/skills/seo-aeo-bootstrap/templates/llms.txt.tmpl. Same substitution pattern. Place at site root (Next.js:public/llms.txt).Generate
robots.txtfromfactory/skills/seo-aeo-bootstrap/templates/robots.txt.tmpl. Site root (public/robots.txt).Generate
sitemap.xmlfromfactory/skills/seo-aeo-bootstrap/templates/sitemap.xml.tmpl. Site root. If Next.js with dynamic routes, scaffold aapp/sitemap.tsinstead.Pre-flight check. Before declaring done, run:
- JSON-LD parses (
python3 -c "import json; json.loads(...)") <head>has exactly one<h1>referenced (search the body)- All
{{vars}}are substituted (grep '{{' app/) - Title ≤ 60 chars, description ≤ 160 chars
- JSON-LD parses (
Document the decision. Append a line to
products/<slug>/decisions/with: "SEO+AEO foundation shipped via /seo-aeo-bootstrap. Schemas: Person, Organization, WebSite, WebPage, SoftwareApplication, FAQPage. llms.txt at root."
What this does NOT do
- Doesn't write content (that's the founder's job)
- Doesn't generate FAQ answers (you need real visitor questions, not made-up ones — but the template includes 6 generic question prompts the founder should answer manually before launch)
- Doesn't do keyword research (use
/keyword-researchlater) - Doesn't publish cornerstone content (
/launch-plancovers that)
Validation gate
The skill is complete only when all six pre-launch checks from the playbook pass:
- Rich Results test (Google) → all schemas valid
-
/llms.txtreturns markdown -
/robots.txtlists AI bots - View source → exactly one
<h1>, title ≤60ch, desc ≤160ch -
curl -A "GPTBot" <url>→ 200 - Open Graph debugger → image + title + description correct
If any fail, print the failure and prompt the founder to fix before re-running.
Templates
See templates/ adjacent to this SKILL.md:
head.html.tmpl— full<head>block (metas + JSON-LD)llms.txt.tmpl— markdown summaryrobots.txt.tmpl— AI-friendly crawler allowlistsitemap.xml.tmpl— minimal sitemap
Source
Codifies the SEO+AEO foundation shipped on hamzaish.com on 2026-06-06. Playbook: factory/playbooks/launch-stage/seo-aeo-foundation.md.