discover
無料Discover and normalize entities for programmatic SEO from a seed keyword or CSV file. Writes normalized entities to data/entities.json. Use when the user wants to find, import, or expand a list of SEO targets.
日本語の概要は準備中です。原文の説明を表示しています。
Master context for Sophon — an agentic programmatic SEO toolkit. Teaches the framework, entity model, adapter system, and operating rules. Invoke this skill before using discover, generate, technical, enrich, optimize, or run so you have the full context. Call with 'teach' to run the onboarding interview and create .sophon.md.
日本語の概要は準備中です。原文の説明を表示しています。
インストール方法を見るインストールする前に、エージェントに与えられる指示の中身を確認できます。
Sophon is an open-source programmatic SEO toolkit that turns a seed keyword or entity list into framework-specific pages, sitemaps, schema markup, internal linking data, and optional AI enrichment outputs.
Sophon produces generic, low-quality output without project context. Every skill MUST have confirmed project context before doing any work.
Gathering order — follow exactly:
## Sophon Project Context section, proceed immediately..sophon.md (fast): Read .sophon.md from the project root. If it exists and contains the required fields, proceed.sophon teach (REQUIRED): If neither source has context, run this skill with the teach argument NOW. Do NOT skip this. Do NOT attempt to infer context from the codebase — code tells you what exists, not what the user is trying to achieve.Required context fields:
data/entities.jsonANTHROPIC_API_KEY available for content generation?When invoked as sophon teach, run this onboarding interview. Ask these questions one group at a time — do not dump all questions at once.
I'll ask a few quick questions so Sophon can work properly with your project. Let's start with the basics.
- What is the niche or topic you want to build a programmatic SEO surface for? (e.g. "best payroll software for small teams")
- What is your site's base URL? (e.g.
https://mysite.com)- Which framework does your project use? (Next.js, Astro, Nuxt, SvelteKit, Remix — or I can auto-detect)
- What is the goal of each generated page? (e.g. rank for long-tail keywords, capture leads, drive free trial signups, build topical authority)
- Who is your target audience? (e.g. HR managers at SMBs, freelance designers, e-commerce store owners)
- What makes your offering different from what competitors rank for today?
- How will you source entities? Choose one:
- Seed keyword expansion (Sophon scaffolds entities from your niche)
- CSV file (you provide a file with entity names and attributes)
- Existing
data/entities.json- Do you have an
ANTHROPIC_API_KEYfor AI content enrichment? (yes / no / I'll add it later)
Write all answers into .sophon.md at the project root using this exact format:
## Sophon Project Context
- **Niche**: [answer]
- **Site URL**: [answer]
- **Framework**: [answer]
- **Content goal**: [answer]
- **Target audience**: [answer]
- **Differentiator**: [answer]
- **Entity source**: [seed | csv | existing]
- **AI enrichment**: [yes | no | pending]
Then confirm:
Context saved to
.sophon.md. You're ready to run Sophon skills. Next step: use thediscoverskill to find entities, orrunto execute the full pipeline.
Every Sophon workflow starts with entities — normalized records that represent the subjects of generated pages.
type EntityRecord = {
id: string; // deterministic, source-agnostic slug hash
name: string; // display name
slug: string; // URL-safe identifier
source: "csv" | "seed";
seedKeyword?: string; // originating niche when discovered from seed
metadata: {
title?: string;
description?: string;
tags?: string[]; // used for internal linking scores
attributes: Record<string, string>; // CSV columns or enrichment data
ogImage?: string; // OG image URL for social cards and hero images
generatedAt?: string; // ISO timestamp set during discovery for freshness tracking
enrichedAt?: string; // ISO timestamp set during enrichment, used for sitemap lastmod
};
};
Entity IDs are deterministic — the same normalized entity produces the same ID whether it comes from a CSV or seed discovery. This makes discovery outputs composable and re-runnable without duplication.
Sophon generates framework-specific static pages via adapters:
| Framework | Output path |
|---|---|
| Next.js | app/[slug]/page.tsx |
| Astro | src/pages/[slug].astro |
| Nuxt 3 | pages/[slug].vue |
| SvelteKit | src/routes/[slug]/+page.svelte + +page.ts |
| Remix | app/routes/[slug].tsx |
For SvelteKit, always generate both files: +page.svelte contains the component; +page.ts contains the prerenderable entity payload.
Sophon breaks its workflow into composable skills. Each step corresponds to a CLI command and a programmatic API:
| Skill | CLI | Purpose |
|---|---|---|
discover | sophon discover | Find entities from seed or CSV |
generate | sophon generate | Generate framework pages with JSON-LD schema and fallback content |
technical | sophon technical | Sitemap (with index), robots, schema (BreadcrumbList, AggregateRating), FAQ schema, configurable internal links |
enrich | sophon enrich | AI-powered content enrichment (concurrent, cached, retry, dry-run) |
optimize | sophon optimize | GSC-powered performance analysis and recommendations |
blog | sophon blog | Generate supporting blog outlines per entity |
keywords | sophon keywords | Keyword difficulty and opportunity analysis with CSV data import |
quality | sophon quality | Content quality scoring (readability, structure) |
humanize | sophon humanize | Remove AI-isms and mechanical patterns from text |
run | sophon run | Full pipeline |
data/, framework output root, public/sophon/).// TODO blocks — do not invent placeholder text.See the Context Gathering Protocol at the top of this skill. If .sophon.md does not exist, run sophon teach before proceeding with any other skill.
まだレビューはありません。使ってみた感想をお寄せください。
ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。
まだコメントはありません。最初のコメントを書いてみませんか。
Discover and normalize entities for programmatic SEO from a seed keyword or CSV file. Writes normalized entities to data/entities.json. Use when the user wants to find, import, or expand a list of SEO targets.
日本語の概要は準備中です。原文の説明を表示しています。
Enrich discovered entities with AI-generated content using Claude via the Anthropic SDK. Outputs structured JSON per entity for downstream use in page templates. Requires ANTHROPIC_API_KEY (or use --dry-run to preview prompts).
日本語の概要は準備中です。原文の説明を表示しています。
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.
日本語の概要は準備中です。原文の説明を表示しています。
Pull real performance data from Google Search Console, analyze weak-performing pages, and generate actionable optimization recommendations. Optionally applies safe auto-fixes to Sophon-generated content.
日本語の概要は準備中です。原文の説明を表示しています。
Execute the full Sophon pipeline: discover → generate → technical → enrich. Use when the user wants to run all steps in one command or build a complete pSEO surface from scratch.
日本語の概要は準備中です。原文の説明を表示しています。
Generate technical SEO assets: sitemap.xml (with sitemap index for large sites), robots.txt, per-entity schema markup (BreadcrumbList, AggregateRating), configurable internal link graph, and hreflang scaffold. Use when the user wants to add or update sitemap, robots, structured data, internal linking, or multilingual hreflang tags.
日本語の概要は準備中です。原文の説明を表示しています。