One SEO skill and 50+ audit tools for AI agents to fix issues, measure performance, and grow your organic and AI search visibility.

Runafter install

Chat with your SEO data to find out what works and what doesn't.

Ask why traffic dropped, which pages are close to page one, or what is blocking a crawl. Your agent answers from your crawl, Search Console, and GA4 data instead of guessing.

Claude / keep.mdMCP

Why did clicks dip in June?

Ran 2 reports

The dip lines up with the June core update. The evidence shows correlation, not causation.

Clicks fell Jun 8-14, then recovered

No technical change in the same window

Use the CLI with Codex or Claude Code to ship SEO fixes fast.

Run an audit in the terminal and let your coding agent trace each problem to the code. You get a reviewable fix without copying findings between tools.

Codex / keep.mdCLI

Fix the metadata findings from the last crawl.

Ran

  └ seo report --project keep --json

The crawl flagged 14 pages with metadata findings. I wrote the missing descriptions and committed.

edited 14 pages in src/content

commit: add missing meta descriptions

Run a complete SEO audit and know what to fix next.

Run 50+ reports across crawl health, content, search performance, and AI visibility. Each result shows the affected pages and gives your agent the evidence it needs to act.

keep.md / crawl100 pages
missing social tags100 URLs
metadata findings14 URLs
weak internal links1 URL
Open a finding for its URLs
indexability changes4 URLs
noindex added1 URL
canonical moved2 URLs
now indexable1 URL
Open a change for its URLs
redirect chains6 URLs
2 hops4 URLs
3 hops2 URLs
ends on a redirect1 URL
Open a chain for its hops

Make your site easier for AI search engines to understand and cite.

Check whether AI crawlers can access your pages and understand what your site is about. Your agent can fix the gaps and draft an llms.txt from the pages you choose.

keep.md / ai search85 / 100
AI crawler accesspass
structured datapass
entity identitywarn
answerable contentwarn
llms.txtnot found
generate a draft from your top pages

Build SEO checks into the tools and workflows your team already uses.

Import the typed crawler and reports from the seo package. Add audits to CI, content pipelines, internal tools, or whatever you are already building.

keep-audit.tsNode 22+
import { auditPage } from 'seo'

const report = await auditPage({
  url: 'https://keep.md/blog/send-to-kindle'
})

console.log(report.issues)

See which SEO fixes worked and where your effort should go next.

Compare every release against saved crawl and search performance data. See what improved, what stayed flat, and which changes need more time before you call them a win.

keep.md / change log14 days
before 184after 199
logged fixdescriptions on 14 pages
observed change+8.2%
Correlation only, not a causal claim
keep.md / clicks8 weeks
fix shipped
found by seo report, fixed in week 3
keep.md / positions28 days
moved onto page one+9 queries
moved into the top 3+3 queries
still on page two131 queries
found and tracked by seo second-page

Questions about the CLI, MCP, and your data

Give the best models better SEO evidence without replacing Claude, ChatGPT, Codex, Cursor, or the agent workflow you already use.

No. It gives Claude, ChatGPT, Codex, Cursor, and other agents better SEO context. The model still does the reasoning, writing, and implementation work, and the CLI provides the crawl data, Search Console data, GA4 data, and report evidence.

Dashboards are useful when you want to click around, but the CLI is built for the way agents work. They discover reports, run them, and read structured evidence without leaving your editor or terminal.

It gets JSON or Markdown with the date range, units, caveats, evidence, recommendations, and useful next commands. That gives the model enough context to explain the problem and help fix it.

Search Console proves you can access the site and gives reports real search demand. That lets your agent find page-two queries, weak CTR, decaying pages, cannibalisation, and indexing candidates using your own data. The CLI requests read-only access.

No. Crawls and Search Console reports work without GA4. Connect it when traffic, landing-page, engagement, or conversion context would change how you prioritise the work.

Reports, project profiles, tokens, crawls, and caches stay local. The CLI only sends the requests needed to fetch the site and call the Google APIs you connect.

The CLI does not publish changes by itself. It gives your agent the evidence it needs to edit code or content, draft a fix, or open a ticket inside the tools you already use.

No. Use the CLI directly, import the package in TypeScript, or run it in CI. MCP is the easiest way to give a compatible agent the same local report engine.

Fifty skill files would sit in your agent context window on every session, whether or not you are doing SEO work. This is one short skill that teaches your agent to discover the tools at runtime. The agent asks the CLI to describe a report only when it is about to run it, so it gets the full detail at the moment it matters and nothing before that.

Run seo report after setup. It checks the evidence available for the project, explains skipped sections, ranks the first investigation queue, and points to focused follow-up reports.

Generic advice guesses from best practices, but your agent works from the site, crawl, queries, search demand, and analytics data in front of it. It can inspect the evidence behind each finding instead of trusting a generic score.

Developers, founders, SEO consultants, agencies, and technical teams who want their agents to work from clean SEO evidence instead of screenshots or copied dashboard rows.