Get found: 10 AI skills for SEO and local search
on-page-fixer
fix the title, headings and links that are costing you rankings
How the two work together
Claude thinks it through. Paste the Claude prompt into Claude Code, or drop the folder into your skills folder. Claude does the judgement: what to look for, what is worth doing, what is right.
Codex gets it done. At the hand-off point Claude runs Codex on your machine with one command and passes it the Codex prompt. Codex does the mechanical part and hands the result back. Claude checks it before you see it.
No API key to set up: Claude calls the Codex you already have installed. If Codex is not installed, Claude does that half itself and tells you.
Prompt for Claude
---
name: on-page-fixer
description: Audits pages and returns the exact replacement title, meta description, H1 and internal links, scored. Use before publishing, or when a page ranks below where it should.
---
# Fix the title, headings and links that are costing you rankings
A scored audit of every page, plus replacement text ready to paste.
## Claude does
1. Asks for: the URL or its HTML, the one query it should win, the country and language, and whether it is local.
2. Runs four fixed phases: pull, compare to intent, score, write fixes, so two runs compare.
3. Scores 1 to 10 on seven dimensions: intent match, title, headings, depth, internal links, entity coverage, conversion clarity. Six or below is rewritten; seven or above is left alone.
4. Rewrites the title as one line unique to the page, plus the meta description and H1: no sitewide boilerplate, no keyword repetition. Google names "Foobar, foo bar, foobars" as the spam pattern.
5. Judges headings on reader need, not shape: Google says heading order does not matter and there is no ideal number, so "H3 before H2" is never flagged alone.
6. Writes one self-contained answer block of 134 to 167 words near the top, so an AI engine can quote the page alone.
7. Names 3 to 5 internal links pointing at the page, with anchor text, most important first.
8. Refuses to guess rankings, traffic, prices, hours or addresses, and marks them [NEEDS INPUT].
9. Ends with a verdict: KEEP, REFRESH, CONSOLIDATE or KILL, plus the reason.
## Then Codex does
Codex takes the bulk pull: every URL fetched, then title, meta description, canonical, headings in order, word count and every internal link with its anchor, plus text repeated across pages. Mechanical, and error-prone by hand past five pages.
```
codex exec --sandbox danger-full-access --skip-git-repo-check -C "<working folder>" - < CODEX.md
```
Claude fills in first: {URL_LIST}, {TARGET_QUERIES} (URL plus its query), {SITE_DOMAIN}, {OUTPUT_FOLDER}.
## Claude checks
1. Rows equal URLs. A missing row is a failed fetch, not a clean page.
2. A blank title or H1 is refetched against the rendered page: raw HTML says nothing about text written by JavaScript, so "missing H1" is never reported from source alone.
3. No fix adds a keywords meta tag (Google Search does not use it) or cites E-E-A-T, which Google says is not a ranking factor.
4. Duplicates checked across the whole set, not a sample; every statement traces to a CSV cell.
Reject rule: if a check fails, rerun Codex on the failing URLs only; never pass a partial CSV as complete.
## Rules
- A grep is a lead; a fetched page is a finding.
- Never print a weighting the source does not print itself.
- Do not rewrite anything scoring seven or above.
- Public information only.
- Never invent a fact, a number or a quote.
- Anything sent in someone's name says whose name it is.
## If Codex is not installed
Claude does the extraction itself and says so.
## Built from
- AgriciDaniel/claude-seo, https://github.com/AgriciDaniel/claude-seo, 16,344 stars (api.github.com, 5 Sep 2026).
- inhouseseo/superseo-skills, https://github.com/inhouseseo/superseo-skills, 305 stars; four-phase order and scorecard.
- seranking/seo-skills, https://github.com/seranking/seo-skills, 135 stars; KEEP / REFRESH / CONSOLIDATE / KILL.
- Google Search Central, https://developers.google.com/search/docs/appearance/title-link; the authority.
Prompt for Codex
# On-page fixer - Codex task
You are extracting on-page facts for an SEO audit. You do not write copy and you do not give advice.
## You are given
- {URL_LIST} - one URL per line. Fetch every one.
- {TARGET_QUERIES} - a URL followed by the single query that page should win. Carry the query through to the output untouched.
- {SITE_DOMAIN} - the site's own domain, used to separate internal links from external ones.
- {OUTPUT_FOLDER} - where the files below are written.
## Produce
1. `{OUTPUT_FOLDER}/onpage.csv`, one row per URL, with these columns in this order:
`url, target_query, http_status, final_url, title, title_length, meta_description, meta_description_length, canonical, meta_robots, h1_all, heading_outline, word_count, internal_link_count, external_link_count, first_internal_anchor, has_keywords_meta, fetch_error`
- `h1_all` - every H1 found, separated by ` | `. Leave empty only if there genuinely is none.
- `heading_outline` - headings in document order as `H1:text > H2:text > H2:text`, truncated at 400 characters.
- `has_keywords_meta` - yes or no.
- `fetch_error` - the error text if the fetch failed, otherwise empty.
2. `{OUTPUT_FOLDER}/duplicates.csv` with columns `field, value, urls, count` listing every title and every meta description that appears on more than one URL in the set.
3. `{OUTPUT_FOLDER}/links.csv` with columns `source_url, anchor_text, target_url, position_index, is_internal` for every link in the body, `position_index` counting from 1 in document order.
4. `{OUTPUT_FOLDER}/evidence/` holding the saved HTML of each fetched page, named after the URL slug, so every row can be re-checked.
## Rules
- Fetch each URL once, follow redirects, record the final URL. Wait 1 second between requests.
- If a page renders its title or headings in JavaScript, say so in `fetch_error` as `js_rendered_suspected` rather than recording an empty title as fact.
- Never fill a cell with a guess. An unknown value is empty, and the reason goes in `fetch_error`.
- Do not repair, rewrite or normalise page text. Copy it exactly as served, including odd capitalisation.
- Do not skip a URL because it 404s or times out. Write the row with the status and the error.
- Public information only: no logins, no paywalled pages, no scraping anything behind authentication.
- Never invent a fact, a number or a quote.
## Return
Print, as plain text, in this order:
1. `URLS_GIVEN=<n>` and `ROWS_WRITTEN=<n>`. These must match.
2. `FETCH_ERRORS=<n>` followed by one line per failing URL and its error.
3. `DUPLICATE_TITLES=<n>` and `DUPLICATE_DESCRIPTIONS=<n>`.
4. `KEYWORDS_META_FOUND=<n>`.
5. `JS_RENDERED_SUSPECTED=<n>` followed by those URLs.
6. The four output file paths.
Print nothing else. No summary, no recommendations.
Built from the best public work on this
Sources
- **AgriciDaniel/claude-seo** - https://github.com/AgriciDaniel/claude-seo - 16,344 stars and 2,388 forks, read directly from api.github.com on 5 September 2026. Created 7 February 2026, last push 26 August 2026. Source of the self-contained AI answer block of 134 to 167 words, and of the habit of writing hard numbers into a prompt rather than adjectives.
- **inhouseseo/superseo-skills** - https://github.com/inhouseseo/superseo-skills - 305 stars and 37 forks from api.github.com on 5 September 2026, last push 3 September 2026. Its `page-audit/SKILL.md` supplies the fixed four-phase order and the seven-dimension 1 to 10 scorecard used here.
- **seranking/seo-skills** - https://github.com/seranking/seo-skills - 135 stars and 32 forks from api.github.com on 5 September 2026. Vendor-built skills for the SE Ranking MCP server. Source of the numbered workflow with an `evidence/` folder, a CSV alongside the report, and the KEEP / REFRESH / CONSOLIDATE / KILL verdict set.
- **Google Search Central** - https://developers.google.com/search/docs/appearance/title-link - the authority, and the only non-commercial source in the set. Also read: the SEO Starter Guide and the Structured Data General Guidelines.
Best public prompt we found for this job
**https://github.com/inhouseseo/superseo-skills** - the `page-audit/SKILL.md` file. It is the clearest public on-page prompt found: a fixed four-phase order so two audits are comparable, a seven-dimension scorecard marked 1 to 10, and an anti-slop reference file carrying a banned vocabulary list, an eleven-row structural-pattern points table and risk bands of 0-5, 6-12, 13-20 and 21 or more.
Paste these verbatim lines from Google Search Central into any on-page prompt you build, because they stop the three most common wrong fixes:
"Google Search doesn't use the keywords meta tag."
"The length of the content alone doesn't matter for ranking purposes."
On whether E-E-A-T is a ranking factor: "No, it's not."
And on titles, Google names the pattern to avoid outright: a title such as "Foobar, foo bar, foobars" is called out as spam-like, so a rewritten title must be unique to the page with no repeated boilerplate.
Want this running in your business?
I optimise how businesses run — your sales, your visibility, your social media — and build bespoke software where nothing off the shelf fits. The first conversation is free. Work starts from £150 a day.
Foxera