generate
Generate one static framework page per entity using the appropriate Sophon adapter. Supports Next.js, Astro, Nuxt, SvelteKit, and Remix. Use when the user wants to scaffold programmatic SEO pages.
Install
mkdir -p .claude/skills/generate-sophiasuu && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/13472" && unzip -o skill.zip -d .claude/skills/generate-sophiasuu && rm skill.zipInstalls to .claude/skills/generate-sophiasuu
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Generate one static framework page per entity using the appropriate Sophon adapter. Supports Next.js, Astro, Nuxt, SvelteKit, and Remix. Use when the user wants to scaffold programmatic SEO pages.About this skill
Generate one static page per entity using the framework adapter that matches the host project.
MANDATORY PREPARATION
Invoke the sophon skill first. It contains the adapter map, entity model, output path conventions, and the Context Gathering Protocol.
Follow the protocol before doing any work:
- Check loaded instructions for a
## Sophon Project Contextsection. - Check
.sophon.mdin the project root. - If neither exists, run
sophon teachnow — do NOT skip this step.
Framework Detection
Sophon auto-detects the framework from package.json. Pass --framework explicitly to override:
| Framework | Auto-detected from | Output root |
|---|---|---|
nextjs | next dependency | app/ |
astro | astro dependency | src/pages/ |
nuxt | nuxt dependency | pages/ |
sveltekit | @sveltejs/kit | src/routes/ |
remix | @remix-run/react | app/routes/ |
Execution
npx @sophonn/sophon generate --framework nextjs
# Custom output root
npx @sophonn/sophon generate --framework astro --generate-output ./src/pages
Output Paths by Framework
| Framework | Files generated per entity |
|---|---|
| Next.js | app/[slug]/page.tsx |
| Astro | src/pages/[slug].astro |
| Nuxt 3 | pages/[slug].vue |
| SvelteKit | src/routes/[slug]/+page.svelte + src/routes/[slug]/+page.ts |
| Remix | app/routes/[slug].tsx |
SvelteKit: Always generates both files. +page.ts contains the prerenderable entity payload that feeds +page.svelte. Do not skip generating the companion file.
Generated Page Content
Each generated page includes:
SEO metadata (auto-populated per entity)
<title>and<meta name="description">- Canonical URL (
<link rel="canonical">oralternates.canonical) - Open Graph tags:
og:title,og:description,og:url,og:type,og:image(whenogImageis set) - Twitter Card tags:
twitter:card,twitter:title,twitter:description,twitter:image(whenogImageis set) - Conditional hero image with lazy loading when
ogImageis available
Page structure
- H1 populated from entity SEO title
- Fallback content from metadata — when no enriched content exists, generates structured sections from entity description, attributes table, and tags list instead of empty TODO stubs
- H2 sections scaffolded for intro, FAQ, and comparison — enriched content replaces TODO blocks
- Entity tags and attributes rendered for reference
Safety guardrails
- Hallucination-prevention comment block at the top — preserve it
- YMYL warning logged if entity name/tags match health, legal, or financial terms
- Thin-content warning logged if entity has fewer than 3 populated metadata fields
- Duplicate slugs are skipped automatically with a logged warning
Do not hardcode niche-specific copy into generated pages unless it comes from actual project data.
Programmatic API
import { generate } from "@sophonn/sophon";
await generate({
entities: result.entities,
framework: "nextjs",
output: "app",
});
After Generation
Run the technical skill to generate sitemap, schema, and hreflang scaffold assets.