HomeResourcesSkill spec11 min read

SEO skill spec: what an agent needs to rank a page

A working specification for the search skill: the inputs it needs, how it reads a result page, the contract a published page has to satisfy, and the conditions under which it refuses to publish

Scope

This is the specification for one skill: take a single search intent and produce a page that has a real chance of being the result somebody clicks. It is written to be handed to an operator or to an agent, so every step states what goes in, what comes out, and when to stop.

The skill covers three things, planning, drafting and placement. It does not cover site migrations, link acquisition, or repairing a site that cannot be crawled at all. Those are separate jobs with separate failure modes, and a page skill that quietly attempts them will do all of them badly.

One rule sits above the rest

The page has to be worth reading if search engines did not exist

Everything below is about making such a page findable, not about making an unreadable page rank.

Ten skills, two worked runs and a source table for every claim. Free, and sourced to Google Search Central, web.dev, the Bing Webmaster Guidelines and the IndexNow documentation.

Meet Tau, Marketing Autopilot for Your New Product

Make AI recommend you, not competitors

Go viral on every social network

Optimise your website to rank on Google

Inputs

The skill does not start from a keyword. It starts from a filled brief, and it stops and asks when a field is missing rather than inventing it.

Target intent
The job the searcher is trying to finish, written as a sentence rather than a string. Compare two ways of doing something and pick one is an intent. A two word phrase is not.
Seed queries
The handful of phrasings real people use for that job, including the clumsy ones. The skill needs the range, because the range is what tells you whether this is one page or three.
Site context
What the site already publishes on this intent, what it is credibly expert in, and which sections crawlers reach easily today.
First-party material
The things only this organisation can say: its own data, its own method, its own product behaviour, its own worked examples. A page with none of this has nothing another page cannot copy in an afternoon.
Constraints
Claims the page may not make, names it may not use, and the review path for anything regulated or legally sensitive.
Definition of done
What the page is for once it ranks: a signup, a support deflection, a citation elsewhere. A page with no defined job cannot be judged later, so it never gets improved.

A missing input is cheap to ask about now and expensive to discover later. Guessing the intent in particular sets the direction of everything that follows.

Step 1, read the results page

Before a word is written, the skill looks at what the engine currently returns for the seed queries. The results page is the brief. It is the closest thing available to a public statement about what the engine presently treats as a good answer for that query, and it is evidence that expires, so it gets re-read rather than remembered.

Four things are recorded, and each one can end the task:

The intent class

Informational, navigational, commercial or transactional, which is visible in the kind of pages the engine returns rather than in the words of the query

The page type winning now

A guide, a product page, documentation, a forum thread, a video, and how far that is from what you had planned to write

The result features

A query answered by a snippet, a definition panel or a pack of local results may never pass a click to any page at all

The recency skew

Results that skew recent tell you the answer has a shelf life and the page will need an owner rather than a publish date

When step 1 ends the task

If the winning format is one the site cannot credibly produce, the correct output of this step is not a page. It is a note explaining what would have to be true first.

Are you visible across search, AI and social? Run a free audit

Complete free diagnostics of you and your competitors

Step 2, new page or existing page

Two pages competing for one intent do not split the traffic evenly and do not add up. The engine picks one, often not the one you meant, and the loser keeps drawing internal links away from the winner. So the second decision is whether this page should exist.

  • Improve the existing page when the site already appears for any seed query, even far down, because an indexed page with history is a stronger starting position than a new URL
  • Write a new page when the intent is genuinely distinct, and prove it by naming the queries the old page keeps
  • Merge when two pages already answer the same question, then redirect the weaker URL into the stronger one rather than leaving both up
  • Publish nothing when the site has no standing to answer, which is a legitimate and frequently correct output of this skill

Step 3, the page contract

A page that satisfies this contract is not guaranteed to rank, because nobody outside the engine can guarantee that. A page that breaks it should not be published.

One page, one intent
The page finishes one job. A second job gets a second page and a link between the two, so each URL has a single promise to keep.
The answer comes first
The direct answer sits in the opening, above the background and the caveats. Readers who need the reasoning keep reading, and the page stops depending on their patience.
The title states the promise
The title element and the first heading make the same promise in the searcher's vocabulary rather than in internal product language. A title that promises a different page than the body delivers is how a page collects a click and loses the reader in the first paragraph.
Headings are the next questions
Subheadings are the sub-questions someone actually has next, in the order they arrive. That structure is what makes a page skimmable and what makes any single section usable on its own.
Passages stand alone
Any section can be lifted out and still make sense: the subject is named rather than carried by a pronoun, terms are defined where they are used, and nothing important is phrased as a callback to an earlier paragraph.
Claims are attributable
Every number, date and quotation has a source the reader can reach, and anything the organisation is asserting from its own experience says so plainly.
Nothing load-bearing behind a script
What the page is about belongs in the HTML the server sends. Content that only appears after a client-side fetch may be indexed late, partially, or not at all.

Step 4, placement

A page nobody links to is a page a crawler reaches late and revisits rarely. Placement is part of writing the page, not an afterthought once it is live.

  • Reachable in a few clicks from a page that is already crawled often, rather than stranded behind a search box or a filter
  • Linked from the pages covering neighbouring intents, with anchor text that names the intent instead of saying read more
  • Listed in the sitemap with an honest last-modified date, which means the date the content changed and not the date the build ran
  • Served at one canonical URL, with no second address serving the same content

A canonical link is a hint, not an instruction

Engines consolidate duplicates using several signals and may choose a different URL than the one you declared, so the reliable fix is not to serve the same content at two addresses in the first place.

Step 5, technical preconditions

These are checked before drafting, because each one can silently make the writing worthless.

Crawlable
robots.txt controls whether a crawler fetches a URL. It does not control indexing: a URL blocked there can still appear in results, described only by the links pointing at it.
Indexable
A noindex directive only works if the crawler can fetch the page and read it, so a URL that is both blocked in robots.txt and marked noindex can stay in the index indefinitely.
Renderable
Fetch the page the way a crawler would, without executing scripts, and confirm the main content is present in what comes back.
Distinct
Near-duplicate pages get consolidated. If two URLs differ only by a parameter or a swapped noun, expect the engine to treat them as one and to choose which one.
Marked up where a type fits
Valid structured data makes a page eligible for the matching rich result. It is not a ranking bonus, and marking up things the page does not actually contain is the quickest way to lose the eligibility.
Fast enough not to be the problem
Page experience signals are documented and real, but relevance dominates them. Treat speed as a floor to clear, not as a lever to pull when a page is not ranking.

When the skill refuses

Refusal is a first-class output. The skill stops and reports rather than publishing when any of these is true:

  • The page would repeat what is already widely published, with nothing first-party added
  • The intent is already served by an existing page on the same site and no merge decision was taken
  • A central claim needs a number the organisation cannot source
  • The winning format is one the site cannot credibly produce
  • The page exists to hold a phrase rather than to finish a job

Refusing is cheap, and the alternative is not

Publish it anyway

A page that answers nothing costs more than it looks

  • It competes with your own better pages
  • It dilutes the internal links pointing into that section
  • It has to be maintained by somebody who did not want it
Cheaper

Stop and report

Refusal is a first-class output

  • The skill reports instead of publishing
  • The report names what would have to be true first
  • No URL is added for the section to carry

What the skill may not claim

Search ranking is not a published algorithm. Engines document behaviours and offer guidance, but the systems, their weights and their interactions are not disclosed, and they change without notice. That has consequences for how this skill talks.

  • No claim that a specific change causes a specific ranking movement, because the input space is not observable from outside
  • No treating correlation studies as mechanism, since they describe what ranking pages have in common rather than what put them there
  • Every note the skill leaves behind labels its evidence as documented by the engine, observed in testing, or widely believed but unverified
  • Every observation about what is currently returned carries the date it was made, because it decays

This is not modesty for its own sake. A team that cannot tell its documented facts from its folklore will spend a quarter optimising something that never mattered, and it will not find out.

Output contract

The skill hands back five artefacts, and an incomplete set is a failed run:

1

The brief

brief

Use when: the inputs are filled and the results page has been read

Output: Intent, seed queries, the observed shape of the current results, and the date that observation was made

2

The decision

decision

Use when: step 2 has settled whether this page should exist

Output: New page, improve, merge or decline, with the reasoning and the URLs affected

3

The draft

draft

Use when: step 3 has produced a page that satisfies the contract

Output: The page itself, plus the title and description, written against the page contract above

4

The placement plan

placement-plan

Use when: step 4 has decided how the page is reached

Output: Where the page sits, which existing pages link into it and with what anchor text, and which links it sends out

5

The check log

check-log

Use when: step 5 has run every precondition

Output: Each precondition, whether it passed, and what was actually tested rather than assumed

Review loop

The measurement that exists is your own. Search console data from the engine gives you the queries a page attracted, how often it was shown and where it sat, and that is first-party ground truth rather than an estimate. Set the review date before publishing, along with what you would change if the result disappoints, so the review is a decision and not a browsing session.

The most useful signal is query drift. When a page starts collecting queries other than the intent it was written for, the problem is usually the promise rather than the word count: the title, the opening and the headings are describing a page somebody else wrote. Fix the promise first, then look again after a full re-crawl, and only then consider whether the page needed to exist.

Photo of Andrew Persh

Andrew Persh

Founder, Tau AI

Former top-tier strategy consultant turned product builder, based in London. Andrew writes the guides and specs published here, drawing on the AI and digital transformation programmes he ran for large enterprises.