---
title: "Programmatic SEO tool for AI agents | SEO Skill"
description: "A free programmatic SEO tool for AI agents. Your agent builds a data-driven Astro site on Cloudflare, step by step, and a build check stops thin or broken pages."
canonical: "https://seoskill.dev/features/programmatic-seo"
language: "en"
---

# Programmatic SEO with AI agents

Tell your agent what the site is about. It builds a site from real data on Astro and Cloudflare, one step at a time, and every build is checked before it can go live.

Run it in a terminal, then sign in with Google.

Or run it on your machine

Installs the CLI, signs you in and adds the skill to your agents. Site crawls and Bing data run this way, on your own machine. A crawl fetches many pages, and Bing blocks our hosted server.

## What your agent builds

Say you want a site about classic football shirts. Your agent finds the searches people make, collects the data, plans one page for each thing people look for, and builds the pages from that data. You judge the pages as a reader and approve the plan, and the agent does the rest.

The result is a static site on Cloudflare. Every page has its own title and description, a canonical URL (the one address search engines should list it under), structured data (hidden labels that tell search engines what the page is about), a sharing image drawn from its heading, and a Markdown copy for AI agents. The site also gets an `llms.txt`, a sitemap index and a `robots.txt` that lets search engines and AI answers read it. Each fact on a page shows its source and the date it was checked.

## Start a site with two commands

You need Node.js 22 or newer on your computer. Install the `seo` CLI, then create the site in a new folder:

```
npm i -g seo
seo site new my-site --name "My Site"
```

This copies the starter, installs its packages and prints the first step. The starter is a small working site about parks, so you can see every part before the agent replaces it with your data. Then ask your agent to run `seo site guide setup` and follow it. Any coding agent that can run commands works, such as Claude Code, Codex, Cursor or Amp.

## The ten steps your agent follows

`seo site guide <step>` prints the instructions for one step, so the agent reads only what it needs now. Each step ends with the next one.

| Step | What happens | What you decide |
| --- | --- | --- |
| setup | Signs you in to GitHub, Cloudflare and SEO Skill, one account at a time. | Free or paid keyword data |
| market | Finds the main searches, who ranks for them and how strong they are. | Go or no go |
| data | Collects, cleans and joins the data, with a source and date for every fact. | How often it refreshes |
| plan | Maps each search to one page type and URL, with a page count. | The page list and the domain |
| build | Starts the site and deploys a private preview behind Cloudflare Access. | Nothing at this step |
| golden page | Builds one page with real data and shows you screenshots. | Whether it is good enough |
| writing | Writes page text from the facts, so pages read differently. | The sections of a page |
| scale | Turns the golden page into every page and reviews a sample. | A sample of each page type |
| launch | Puts the site on your domain and sends each deploy's changed pages to IndexNow, a service that tells Bing and other search engines to crawl them again. | Adding Search Console and Bing |
| grow | Reads your Search Console every week and keeps the data current. | What to act on |

## What seo site check stops

The starter's build ends with `seo site check`. It runs the [site crawl](https://seoskill.dev/docs/crawl)'s page checks on every built page, plus rules for copy, design and data. When a rule fails, the build fails, and Cloudflare does not deploy it.

| Area | What fails the build |
| --- | --- |
| Pages | A missing, duplicate or overlong title or description, more or fewer than one H1, a wrong canonical URL, broken links, a page left out of the sitemap, a noindex tag (which tells search engines to leave the page out of their results), FAQ markup (the structured data for questions and answers) that does not match the questions on the page, and a missing sharing image or Markdown copy. |
| Copy | Dashes and semicolons, hype words such as seamless and robust, "it's not X, it's Y" lines, openings such as "in this guide", talk about the tools or search terms, and "coming soon". |
| Design | Uppercase or letter-spaced labels, gradients, shadows, coloured left borders and card grids wider than two columns. |
| Data | A fact block without a link to its source or without the date it was checked. |

The point is to make thin pages hard to ship. Google's [spam policies](https://developers.google.com/search/docs/essentials/spam-policies#scaled-content) describe scaled content abuse as many pages made mainly to manipulate search rankings that do little for readers. The guide and the check hold your agent to what makes a page worth having: real data, one page for each search and a source on every fact.

## The accounts you need and what they cost

| Account | What it is for | Cost |
| --- | --- | --- |
| GitHub | Holds the site's code and the data refresh job | Free |
| Cloudflare | Hosts the site and runs the build | The free plan is enough for a static site |
| A domain | The site's address, bought on Cloudflare Registrar | About $10 a year |
| Google Search Console and Bing Webmaster Tools | Indexing and the searches that find the site | Free |
| SEO Skill | Search Console reports for your agent | Free |
| DataForSEO or Ahrefs | Search volumes and competitor keywords, if you want them | Optional, the provider bills you |

## Keyword data, free or with your own key

Without a key, your agent plans the site from the live search results and then from your own Search Console once the site is live. With a DataForSEO or Ahrefs key, `seo research` adds search volumes, difficulty, the pages that rank and the keywords competitors get traffic from. Save the key on your [account page](https://seoskill.dev/docs/keys) and the provider bills you directly for what you use. The [keyword research tool](https://seoskill.dev/features/keyword-research) page explains what each provider returns.

## What it costs

The `seo` CLI, the starter, the guide and the check are free and open source. You pay for the domain, and for keyword data only if you choose a key. The site runs on Cloudflare's free plan until it outgrows it (and a static site takes a long time to do that).

## Read the docs

[

### seo research

Search volumes, search result pages and competitor keywords for the market step.

seo research docs](https://seoskill.dev/docs/research)[

### API keys

Save a DataForSEO or Ahrefs key on your account page.

API keys docs](https://seoskill.dev/docs/keys)[

### seo crawl

Crawl the live site after launch and list technical issues.

seo crawl docs](https://seoskill.dev/docs/crawl)[

### seo report

The weekly Search Console report once the site gets impressions.

seo report docs](https://seoskill.dev/docs/report)
