Notesai-search14 min

Vectorscope as an Agent Skill: what a retriever keeps of a page

The free Vectorscope skill runs a retriever's fetch, cleaning, chunking and 26-passage cap on any public page, on your own agent. Three committed example runs show what it measures, what it finds, and how each finding turns into a fix.

The short answer

what
Vectorscope 2.112, an open-source Agent Skill that runs GetLoopLoop's fetch, extraction, chunking and 26-passage cap on 1 to 5 public pages, checks robots.txt for twelve crawlers, and writes one HTML report with the agent's grouping, query test and rewrite plan.
why
Because an assistant quotes passages, not pages, and most of what decides which passages exist happens before any model reads a word. A page can be excellent and still have its best answer cut off, split mid-sentence or never extracted.
who
Writers and content leads who need to know whether a page's key paragraphs can be quoted, SEOs who explain why a long page underperforms in AI answers, and developers who want to see what their markup does to the text.
where
On GitHub under the MIT licence, for Claude Code, Codex, opencode and other agents that load SKILL.md skills, and as a zip for claude.ai and the Claude desktop app.
when
Released 18 October 2026. The single-page example runs quoted here were made on 18 October 2026 with 2.111, the comparison on 17 October 2026.
how
Deterministic Node scripts do the fetch, cleaning, chunking, cap and checks with no model and no embedding call. The agent running the skill reads the passages and writes the judgement parts, and the scripts verify every quote it makes, word for word.

In plain words

An AI assistant does not read your whole page. A program downloads it, throws away the code and the menus, and cuts what is left into pieces. It keeps at most 26 pieces, and the assistant answers from those. Vectorscope is a free tool you give to your own AI helper. It does those same steps on any page and shows you the pieces: which parts of the page made it in, which did not, which questions the pieces can answer, and which sentences to rewrite so each piece makes sense on its own.

Last week we introduced three free Agent Skills in one article, AI reads your page in pieces. This is the first of the deep dives, and it starts with the one the other two are built on: the Vectorscope.

Its job is narrow and, we think, underrated. It does not tell you how good a page is. It shows you what a retriever keeps of it. An assistant answering a question does not read your page; it reads a handful of passages cut from it, and whatever did not survive the cut cannot be quoted, however good it is. The skill runs that cut on your own machine, with your own agent, and hands you a report you can check line by line.

Everything below comes from the three example runs committed to the repository: our own Vectorscope page and Wikipedia's article on large language models, both read on 18 October 2026, and a comparison of MDN's and web.dev's guides to HTTP caching, read on 17 October 2026. You can open the same files and get the same numbers.

What the skill does, step by step

The skill is two scripts with the agent's reading in between. The scripts are deterministic: the same page gives the same passages on any machine and with any model. The repository's README states the boundary in one line:

It does not rank your page, decide who wrote it, or predict what any assistant will say about you.

getlooploop-skills, README.md

1. Read (script). read.mjs fetches the page and its robots.txt, removes what a retriever's cleaner removes (scripts, styles, menus, headers, footers, hidden text, form controls), cuts the rest at h2 headings into windows of at most 2,000 characters with 200 of overlap, and stops at 26 passages. The cap is a named constant, CHUNKS_PER_PAGE = 26, in chunk.mjs. 2. Group (judgement). The agent reads every passage and groups them by subject. The web Vectorscope does this with embeddings; the skill makes no embedding calls, so the report labels every group as the agent's reading. 3. Lens (script). lens.mjs runs the checks, counts the page's phrases and renders the report. 4. Judge (judgement). The agent writes a query test, a passage-by-passage reading of how generic the text is, and a rewrite plan. The script rejects any quote that is not verbatim from its passage.

Every number in the report carries one of three tags: measured (what the parser saw), derived (a fixed formula over it) or judgement (the agent's). A "?" beside each number opens its formula, unit, threshold and known limits. SKILL.md makes the agent say which is which:

The scripts call no model and no embedding API. The reading is yours; say so.

skills/vectorscope/SKILL.md, rule R6

Most of a page is not text

The first thing the skill measures is how much of the downloaded HTML is worth reading at all. Across the four example pages the answer runs from under a third to about two thirds.

Four stacked bars, one per page, each the page's raw HTML in characters split into scripts and styles, menus and page furniture, other removed text, and text kept. getlooploop.com/vectorscope: 48,098 characters, of which 32,534 scripts and styles, 1,172 furniture, 471 other, 13,921 kept, 29%. MDN HTTP caching: 93,570, of which 51,227 scripts, 9,698 furniture, 39 other, 32,606 kept, 35%. web.dev HTTP cache: 25,226, of which 8,481 scripts, 2,940 furniture, 1,005 other, 12,800 kept, 51%. Wikipedia Large language model: 139,066, of which 28,928 scripts, 15,675 furniture, 201 other, 94,262 kept, 68%.
What the cleaner removes and keeps, in characters with whitespace folded. getlooploop.com and Wikipedia read on 18 October 2026, MDN and web.dev on 17 October 2026.

Scripts and styles dominate everywhere. On our own page, a Next.js application, they are 32,534 of the 48,098 characters; menus, footer and sidebar add only 1,172. Wikipedia keeps the most, 68%, because it is mostly article, and its largest removal after scripts is navigation: 14,208 characters. None of this is a problem in itself. A retriever is supposed to throw these away. What the figure is for is the next question: of the text that is kept, how much reaches a passage?

The report answers it with a table of every removed element, its CSS path and its characters, largest first. That table is where a developer finds the cases that are a problem: an FAQ whose questions sit in <button> elements, or body text inside an <aside>.

Wikipedia: where the 26-passage cap falls

Wikipedia's article on large language models has 13,718 words and fills all 26 slots. The skill reports 55,001 characters past the cap, as its only high-severity finding, cap_overflow. The section map shows exactly which parts those are.

A horizontal bar per part of the Wikipedia article, in page order, coloured by whether its text reached a passage. Title and description 53 characters, text before the first h2 1,157, History 4,782, Dataset preprocessing 2,931, Training 1,535, Inference 561, Architecture 4,109, Extensibility 7,169, Forms of input and output 3,636, Properties 4,273 and Interpretation 5,157 all reach a passage. Evaluation reaches one for 3,801 of its 4,952 characters; the cap fills there. Limitations and challenges 3,747, Safety 3,579, Societal concerns 6,122, See also 1,007, References 37,385 and Further reading 1,917 reach none.
Wikipedia, Large language model, read on 18 October 2026 with skill 2.111. Each bar is the characters the cleaner kept for that part.

The fair reading matters here. References is 37,385 characters on its own, and nobody needs a retriever to quote a reference list. But three of the lost parts are prose: Limitations and challenges, Safety and Societal concerns. A capped retriever reading this article in page order would know how language models are built and very little about what is wrong with them.

The query test shows the consequence. The agent, Claude Opus 5.5 in Claude Code, wrote eight typical questions and looked for the passage that answers each. Six are answered, five completely. Two have no passage at all: "how much energy do LLMs use" and "can LLMs reproduce copyrighted text". The agent's rewrite plan names where those answers live, in Societal concerns, past the cap.

This is the finding the tool exists for: not a score, but a place on the page and a reason. The plan's first item is structural, to move the detail of the long middle sections into their own articles so the later sections fall inside the cap. The rest are line edits, each with the original text and a rewrite. The Wikipedia page has no meta description, so the first passage holds only the title twice:

Try it on your own page

See what Vectorscope finds on a page of yours

Everything above is measurable on your own work, and the check takes about a minute. Paste one address and read what comes back.

Open Vectorscope

Free · no account · one at a time

CheckBefore (verbatim from the passage)After (the agent's rewrite)
meta_description_missingLarge language model - Wikipedia Large language modelLarge language model - Wikipedia. A large language model (LLM) is a neural network trained on a vast amount of text to generate, summarise, translate and analyse language.
mid_sentence_startused LSTM-based encoder-decoder architectures, as they preceded the invention of transformers.Early neural machine translation used LSTM-based encoder-decoder architectures, because they preceded the invention of transformers.
Two items of the rewrite plan for Wikipedia's article, 18 October 2026.

The second row is the most common finding in the examples. A section longer than 2,000 characters is cut by the window, and the next passage opens in the middle of a sentence with no subject. On this article, 14 passages do. Quoted alone, "used LSTM-based encoder-decoder architectures" does not say who used them.

Our own page: everything fits, and it still has four findings

The Vectorscope's own page, read the same day, has 2,463 words, needs 17 passages and loses nothing to the cap. All twelve AI and search crawlers are allowed by its robots.txt. Of the eight questions the agent wrote, six are answered completely and two in part. That is the good news, and it is measured.

It is not clean, though, and we kept it that way in the example on purpose. The skill finds four things:

  • Navigation inside the content (medium). The empty result widget sits inside main, so its step labels become passage text: "passages read", "slots used of the 26-passage cap". A retriever stores them as content.
  • Two passages that start mid-sentence (medium). How to read your result is one h2 of 2,257 characters, so the window cuts it and a passage opens with "to quote."
  • A thin section (low). Important passage outside the cap? has 139 characters under it, under the threshold of 150.
  • A phrase repeated across groups (low), one four-word phrase in at least half of the six groups.

Each comes with its fix. For the thin section, the answer leaned on its heading. The plan turns "Move it earlier on the page, or split the page so that passage has a budget of its own." into "If an important passage falls outside Vectorscope's 26-passage cap, move it earlier on the page, or split the page so that passage has a budget of its own." The second sentence can be quoted alone; the first cannot. That one change is most of what makes a passage citable.

Eight questions per page

The query test is the part of the report people read first, because it answers the question they actually have: if somebody asks this, is there a passage that answers it, and in which words? Across the four example pages it looks like this.

A grid of eight squares per page, one per typical question, filled for a complete answer, darker for a partial one and dashed red when no passage answers. getlooploop.com: 6 complete, 2 partial, 0 missing. Wikipedia Large language model: 5 complete, 1 partial, 2 missing. MDN HTTP caching: 6 complete, 1 partial, 1 missing. web.dev HTTP cache: 4 complete, 2 partial, 2 missing.
Query tests from the example runs. Questions and verdicts are the agent's; every quoted answer was checked verbatim against its passage by the script.

A verdict is the agent's judgement, and the report says so. What keeps it honest is the quote: a "complete" verdict must carry the exact words a retriever could return, and lens.mjs refuses the file if those words are not in the passage. On our page the answer to "is Vectorscope free" is a passage that begins "Is it really free? Yes, with a rate limit rather than a paywall." That is a sentence an assistant can lift as it stands.

Two pages on one topic

Compare mode reads 2 to 5 pages, has the agent write one shared list of topics, and puts the pages side by side on it. The example pits MDN's guide to HTTP caching against web.dev's HTTP cache article.

A table of eight topics against two pages, each cell giving passages and characters. MDN covers What the HTTP cache is (2 passages, 914 characters), Private, shared and managed caches (3, 5,059), Freshness (4, 5,281), Revalidation (4, 6,522), Preventing reuse (6, 7,883) and Recommended settings (7, 8,960), with no passage on Browser support or on Configuring response headers on a server. web.dev covers What the HTTP cache is (3, 1,766), Revalidation (2, 2,732), Recommended settings (7, 6,373), Browser support (2, 831) and Server configuration (1, 1,606), with no passage on cache types, Freshness or Preventing reuse.
Compare mode, MDN against web.dev, 17 October 2026. Topics named by the agent; passages and characters counted by the script.

The two pages are not competing for the same reader, and the table shows it in a glance. MDN is the reference: six topics, every slot filled, nothing past the cap. web.dev is the practical guide: fewer topics, but the only one of the two with a passage on configuring a server. The query test agrees. MDN has no passage for "how to set caching headers in nginx"; web.dev has none for "what is a shared cache" or "does the browser revalidate when the user reloads". If you write the third page on this topic, those gaps are your outline.

MDN fitting exactly into 26 passages is itself a result of the skill's history. Before 2.103, an h3 that repeated an h2's text cut a section in the wrong place and pushed MDN's last section past the cap. The fix is in the changelog, and the README says the slot now holds the page's last section.

What changed since 2.106

The overview described version 2.106. Since then the skill reads more and refuses more, according to its commit history:

VersionWhat it added
2.109Response headers (X-Robots-Tag, Cache-Control) and accessibility checks: images without alt text, filename-only alt, heading level jumps, more than one h1
2.110Refuses a Russian domain, Russian hosting and a page that declares a Russian version
2.111How generated the text sounds: the PatternScope score, words language models overuse, and the agent's swap test; the report in Polish
2.112A lower-case brand name opening a passage is no longer counted as mid-sentence; SKILL.md rewritten in controlled English
Releases between the overview and this article, from the repository's commit log.

The largest is 2.111, a section called How generated the text sounds. It runs the PatternScope detectors over the page's text, counts the words language models overuse, and asks the agent a different question of each passage: would it fit a competitor's page with only the name changed? Our own page scores 1 of 100, with no marker words, and the agent finds 4 of its 17 passages generic, 13% of the passage text. Wikipedia scores 10 of 100, almost all of it repeated citation formats in the references, and 3 of 26 passages generic. Where the script and the agent disagree, the report shows both; on our page they disagree on two passages.

The README is explicit about what this section is not:

Not an authorship detector, and the block says so.

getlooploop-skills, README.md, on How generated the text sounds

The 2.110 refusal is a policy, not a technical limit: pages in Russian or from Russian sites are refused rather than analysed, whatever the user asks. It has a visible cost in the examples. web.dev now declares a Russian version, so the comparison above is the run of 17 October, and the README says why it was not rendered again.

Install and run

The skill needs Node 20.18 or later and no npm install: the scripts are bundled with their one dependency. With the skills CLI, one command installs it for Claude Code, Codex, opencode and other agents that load SKILL.md skills:

npx skills add Olexan-art/getlooploop-skills --skill vectorscope

Then ask your agent in plain words: "run vectorscope on https://example.com/page", or "compare these two pages with vectorscope". For claude.ai and the Claude desktop app, download vectorscope.zip from the releases, turn on code execution, and upload the zip under Customize > Skills without unpacking it. The sandbox needs network access to the site it reads. With no network at all, save the page as HTML and give the file to the agent; the report marks every check that needed the network as not checked. The step-by-step guide is on Vectorscope for Claude. Under the hood the agent runs:

node dist/read.mjs https://example.com/page --out reading.json
# the agent reads the passages and writes groups.json
node dist/lens.mjs reading.json groups.json --html report.html
# the agent writes queries.json, style.json and plan.json
node dist/lens.mjs reading.json groups.json --queries queries.json \
  --style style.json --plan plan.json --html report.html --md report.md --json export.json

# compare 2 to 5 pages
node dist/read.mjs <url1> <url2> --out-dir readings

What it does not do

  • It is not any assistant's pipeline. ChatGPT, Gemini, Perplexity and the others do not publish their crawlers' cuts and caps. The skill reproduces a typical retriever, and the 26-passage cap is the Vectorscope's own. It makes "which part would a capped retriever never reach" measurable; it does not claim any assistant cuts at 26.
  • No score and no prediction. It does not rank the page, and it does not say what an assistant will answer about you.
  • The judgement parts are one model's reading. Groups, query verdicts, the generic passages and the plan are written by the agent that ran the skill. The scripts check the quotes, but another model may group a little differently.
  • No embeddings. Cohesion, self-similarity and the map need vectors, and the skill reports them as empty rather than estimating them. The web Vectorscope draws the embedding map.
  • Public pages only. No login, no cookies, no private addresses.

The verdict

Three things make this skill worth installing, and each is visible in the example files rather than promised.

It finds a place, not a score. On Wikipedia it did not say "this page is too long". It said that the cap fills in the middle of Evaluation, that Limitations and challenges, Safety and Societal concerns reach no passage, and that two ordinary questions therefore have no answer. That is a finding an editor can act on in an afternoon.

Every fix is checkable. Each rewrite in the plan quotes the passage as it is and gives the passage as it should be, and the script rejects any quote that is not verbatim. You do not have to trust the agent's reading; you can diff it.

It runs where your pages are. No account, no upload, no model calls from the scripts, and nothing sent to GetLoopLoop. The same page gives the same passages on any machine. A page that fits inside the cap, answers its questions in sentences that stand alone and lets the right crawlers in is a page an assistant can quote, and our own page shows it is a short list to get there.

Run it on the page that matters most to you. If the examples are any guide, the first report will name something specific to fix, and the second will show it fixed. When you want to know what assistants actually say about you, week after week, that is what GetLoopLoop measures.

Questions people ask

Is the Vectorscope skill free?

Yes. It is open source under the MIT licence, runs on your own agent, and its scripts call no model and no paid service.

Does it send my page to GetLoopLoop?

No. The scripts fetch the page and its robots.txt, make one DNS lookup and one RDAP request to see where the site is hosted, and write the report on your machine. The HTML report blocks every network request from itself.

Why 26 passages?

It is the Vectorscope's cap, a fixed and named constant, not a number any assistant publishes. A known cap turns the question of which part of a page a capped retriever never reaches into something you can measure.

How is it different from the web Vectorscope?

The web tool groups passages by their embeddings and draws a map. The skill makes no embedding calls: the agent reads the passages and groups them, and adds a query test, a rewrite plan and a reading of how generic the text is.

Can it compare my page with a competitor's?

Yes. Compare mode reads 2 to 5 pages and puts them on one table of shared topics, with topic gaps, fact gaps and which page answers each question.

Which agents can run it?

Claude Code, Codex, opencode, Hermes Agent and other agents that load SKILL.md skills, plus claude.ai and the Claude desktop app with code execution turned on.

The product

Watch it on every page, every day

One reading tells you where a page stands today. The product asks the same questions of the same assistants continuously, so a change is something you are told about rather than something you go looking for.

Request an invitation

Invite-only while we keep the readings honest

On this topic

Is my page ready for AI search?

Every day Crawls with the Vectorscope reading beside every page, re-checked after each fix. How the product works

Author

Olexandrauthor

15+ years in marketing and SEO. Dozens of products, mostly the US market. Research and measurement.

LinkedIn

Pass it on

Read in your language

Opens a browser translation of this English article. The original source stays in English.