Skills/On-page SEOv2.3.0

Rewrite titles, headings and openings in code, with your agent

Rewrites title tags, meta descriptions, single H1s, question headings, answer-first openings, image alt text and AI writing tells in your site’s templates and content files, checked live with clickd.

Add it, from the top of the site’s repositorynpx skills add subinternal/clickd --skill clickd-on-page-seo
Then ask your agentAudit the titles, meta descriptions, headings and AI writing tells on example.com with clickd and rewrite the weak ones in code.

For anyone editing landing pages, product pages or guides in a repositoryCheck a page for AI tells

Five steps from live markup to clean copy

Your agent reads each page’s current markup and Search Console queries first, rewrites metadata, headings and openings from real site facts, and strips AI writing tells.

  1. 1Inspect the page's current markup and queriesclickd_pages
  2. 2Write specific title tags and meta descriptions
  3. 3Structure headings and answer-first openings
  4. 4Strip AI writing tells and unverified claimsclickd_tells
  5. 5Check the live pages with clickdclickd_check

A page before and after on-page work

Drawn from real facts in the repository, matched to the words searchers use, and cleaned of AI tells.

example.com/invoicing

Title, description, H1, question headings and opening rewritten in code.

Sample
  • <title> (48 chars)Home | Welcome to Example PlatformBatch invoicing for contractors: send in 60s · Example
  • <meta name="description">Missing on routeSend itemized progress invoices from your phone, track paid status, and sync with QuickBooks in one click.
  • <h1> & opening answer<h2>Empowering seamless billing workflows</h2><h1>Batch invoicing for field contractors</h1> + 48-word direct opening with real pricing and limits
  • clickd_tells check6 stock AI phrases and three-item filler lists flagged0 AI writing tells; every claim backed by repo data

What clickd checks on every edited page

Both search snippet rules and passage clarity are verified on the live HTML.

  • clickd_pages & clickd_queriesShows failing title, description and heading rules beside the real queries searchers use to find the page.
  • clickd_tellsFlags throat-clearing openings, puffed-up adjectives and repetitive AI sentence patterns before and after editing.
  • clickd_check (kind: "agent")Confirms the new title, description, heading hierarchy and opening paragraph render in raw HTML.

When to reach for it

Reach for it when

  • Pages have missing, truncated or duplicate title tags and meta descriptions.1,2
  • Headings are vague slogans instead of the questions buyers actually search.3
  • Drafted copy sounds like generic AI text and triggers clickd’s AI writing tells.

Leave it when

  • You want the agent to invent product claims, prices or customer numbers that do not exist.
  • The page is blocked from indexing: fix technical SEO first.

More things to ask your agent

Everyday prompts that load the On-page SEO skill in Claude Code, Codex or Cursor.

  • Fix duplicate or weak titlesFind every page on example.com with missing, truncated or duplicate titles and descriptions using clickd_pages and rewrite them in code.
  • Rewrite for answer-first clarityTurn vague headings on our top 5 landing pages into buyer questions with 40 to 60 word direct opening answers.
  • Strip AI writing tellsRun clickd_tells across our guides and rewrite every flagged throat-clearing opening and stock AI phrase.

On-page SEO skill vs the alternatives

Why pairing an open repository skill with a live crawler beats manual audits and prompt-only checklists.

  • How it reads your siteBy hand: Manual spot-checks in a browser · Prompt-only skill: Reads local source files only; misses live headers, redirects and JS shellsReads the live URL, HTTP headers, raw HTML and Search Console via clickd MCP
  • How changes are madeBy hand: Copy-pasting between docs, spreadsheets and editors · Prompt-only skill: Suggests generic copy in chat with no repo contextEdits your actual templates, routes and schema in the repository
  • How fixes are provedBy hand: Checking pages one by one after deploy · Prompt-only skill: Agent grades its own homework with no live checkRuns clickd_rescan and clickd_changes on the deployed site to prove rules passed

Skills to use alongside it

Included when you run npx skills add subinternal/clickd.

  • Keyword researchFinds striking-distance keywords (positions 4 to 20), CTR gaps, cannibalized queries and competitor topic gaps using Google Search Console data and clickd, then maps each query to one page and one action.See skill
  • Content refreshFinds pages losing Search Console clicks or carrying stale facts, diagnoses whether the drop is snippet decay, a substance gap or internal overlap, updates the page in code, and checks live with clickd.See skill
  • Schema markupGenerates, wires and validates JSON-LD structured data (Organization, LocalBusiness, Product, Service, Article, FAQPage and BreadcrumbList) from the visible facts on your pages, checked live with clickd.See skill

Questions about the On-page SEO skill

How does On-page SEO avoid generic AI-sounding copy?
It pulls every fact from your codebase first, bans em-dashes and unverified claims, and runs clickd_tells on the page before and after editing until zero AI writing tells remain.
What character limits does it enforce for titles and descriptions?
It keeps <title> between 15 and 65 characters and <meta name="description"> between 70 and 160 characters so search snippets neither truncate nor fall back to boilerplate.

Install it by hand

The line at the top adds it for any agent. Or fetch its 1 files where your agent looks. Your agent also needs clickd connected over MCP: connecting an agent shows how.

Loads skills from .claude/skills/ in the repository, for everyone who works in it, or ~/.claude/skills/ for every project on your machine. Claude uses it when a request matches its description, or type /clickd-on-page-seo.

Terminal, for Claude Code
mkdir -p .claude/skills/clickd-on-page-seo
curl -fsSL https://clickd.com/skills/on-page-seo/SKILL.md -o .claude/skills/clickd-on-page-seo/SKILL.md
PowerShell, for Claude Code
New-Item -ItemType Directory -Force .claude\skills\clickd-on-page-seo | Out-Null
Invoke-WebRequest https://clickd.com/skills/on-page-seo/SKILL.md -OutFile .claude\skills\clickd-on-page-seo\SKILL.md -UseBasicParsing

Puts the files in .claude/skills/clickd-on-page-seo/.

Loads skills from .agents/skills/ in the repository and its parent folders, or ~/.agents/skills/ for every project. Codex uses it when a task matches its description, or mention it as $clickd-on-page-seo; /skills lists them.

Terminal, for Codex
mkdir -p .agents/skills/clickd-on-page-seo
curl -fsSL https://clickd.com/skills/on-page-seo/SKILL.md -o .agents/skills/clickd-on-page-seo/SKILL.md
PowerShell, for Codex
New-Item -ItemType Directory -Force .agents\skills\clickd-on-page-seo | Out-Null
Invoke-WebRequest https://clickd.com/skills/on-page-seo/SKILL.md -OutFile .agents\skills\clickd-on-page-seo\SKILL.md -UseBasicParsing

Puts the files in .agents/skills/clickd-on-page-seo/.

Loads skills from .cursor/skills/ or .agents/skills/ in the repository, or ~/.cursor/skills/ for every project. It also reads .claude/skills/, so one copy there serves both. The agent uses it when it is relevant, or type / in Agent chat and pick it.

Terminal, for Cursor
mkdir -p .cursor/skills/clickd-on-page-seo
curl -fsSL https://clickd.com/skills/on-page-seo/SKILL.md -o .cursor/skills/clickd-on-page-seo/SKILL.md
PowerShell, for Cursor
New-Item -ItemType Directory -Force .cursor\skills\clickd-on-page-seo | Out-Null
Invoke-WebRequest https://clickd.com/skills/on-page-seo/SKILL.md -OutFile .cursor\skills\clickd-on-page-seo\SKILL.md -UseBasicParsing

Puts the files in .cursor/skills/clickd-on-page-seo/.

An agent that does not load skills can still follow the file. Save the folder in the repository and point its standing instructions at it, with a line in AGENTS.md, which many agents read. The agent reads AGENTS.md when it starts, and follows the file when the task matches.

Terminal, for Any other agent
mkdir -p docs/clickd-on-page-seo
curl -fsSL https://clickd.com/skills/on-page-seo/SKILL.md -o docs/clickd-on-page-seo/SKILL.md
echo "For titles, headings, openings and AI writing tells, follow docs/clickd-on-page-seo/SKILL.md." >> AGENTS.md
PowerShell, for Any other agent
New-Item -ItemType Directory -Force docs\clickd-on-page-seo | Out-Null
Invoke-WebRequest https://clickd.com/skills/on-page-seo/SKILL.md -OutFile docs\clickd-on-page-seo\SKILL.md -UseBasicParsing
Add-Content AGENTS.md "For titles, headings, openings and AI writing tells, follow docs/clickd-on-page-seo/SKILL.md."

Puts the files in docs/clickd-on-page-seo/.

What is inside

SKILL.md stays short and sends your agent to a reference when a step needs it.

  • SKILL.mdThe five steps from inspecting live markup and Search Console queries to writing specific titles, question headings and answer-first openings, stripping AI tells, and checking live with clickd.98 lines

Version 2.3.0, November 1, 2026ChangesSKILL.md in fullSourcesAs data, in skills.json

Sources

8 pages

Each is in a ## Sources list in the file that cites it, by the page’s own title.

Google Search Central

  1. 1Influencing Title Links in Search Results, Google Search Central. How Google chooses a result's title link and why concise, specific `<title>` elements prevent rewrites.
  2. 2Control Your Snippets in Search Results, Google Search Central. What makes a `<meta name="description">` useful as a search snippet instead of boilerplate.
  3. 3Creating Helpful, Reliable, People-First Content, Google Search Central. Answering the reader's question directly with original facts rather than filler.
  4. 4Google Search Image Best Practices, Google Search Central. Writing specific `alt` text that describes what an image shows in context.

Agent skills format and clients

  1. 5Extend Claude with skills, Anthropic, Claude Code docs. Where Claude Code loads skills from, and how one is called.
  2. 6Build skills, OpenAI, ChatGPT Learn. Where Codex loads skills from, and how one is called.
  3. 7Agent Skills, Cursor docs. Where Cursor loads skills from, and how one is called.
  4. 8Specification, Agent Skills. The format every skill here keeps: the folder, the frontmatter and its limits.