Agent skill

Haxcms Lrs Rater

by haxtheweb in haxtheweb/haxcms-php

Run BookLooky's Looky Rating System (LRS) content rating and minimum-age recommendation on a HAXcms site's aggregated content — either a local site checkout or a live published URL like btopro.com —…

Apache-2.0Auto-check passedMarketing & SEO

Install Haxcms Lrs Rater

skills CLI
$ npx skills add haxtheweb/haxcms-php --skill haxcms-lrs-rater -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install haxtheweb/haxcms-php haxcms-lrs-rater --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/haxtheweb/haxcms-php.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.well-known/agent-skills/haxcms-lrs-rater .claude/skills/haxcms-lrs-rater && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
haxcms-lrs-rater
GitHub stars
130
Token cost
~2.2k tokens
SKILL.md length
926 words
Files
6 (incl. references)
Skills in repo
18
Repo updated
First seen
Licence
Apache-2.0

At a glance

Run BookLooky's Looky Rating System (LRS) content rating and minimum-age recommendation on a HAXcms site's aggregated content — either a local site checkout or a live published URL like btopro.com —…

  • Works in 8 steps: Extract the site content → Chunk the transcript → Segment scan (per chunk, you reason… → …
  • Asks to rate this HAXcms site
  • SKILL.md covers Why this matters (read before…, Step 0 — Extract the site…, Step 1 — Chunk the transcript and Step 2 — Segment scan (per…, plus 7 more sections
  • Calls node; reaches btopro.com

What it does

Haxcms Lrs Rater is an agent skill from haxtheweb/haxcms-php. Run BookLooky's Looky Rating System (LRS) content rating and minimum-age recommendation on a HAXcms site's aggregated content — either a local site checkout or a live published URL like btopro.com — entirely through the invoking agent's own reasoning, no API key or network call to an LLM required. Use this whenever the user asks to "rate this HAXcms site", "run an LRS scan on my site/domain", "what age is btopro.com appropriate for", "check this site for violence/romance/language/etc. content", "score this site…

Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including reference files (for example `references/LRS-SPEC.md`, `references/age-recommendation-prompt.md` and `references/category-focus-prompt.md`).

It sits in Marketing & SEO, covering AI search optimization. The repository describes itself as: HAX + CMS to manage your microsite universe with PHP backend. The licence is Apache-2.0.

When your agent uses it

  • Asks to rate this HAXcms site
  • Run an LRS scan on my site/domain
  • What age is btopro.com appropriate for
  • Check this site for violence/romance/language/etc

Example prompts

  • “rate this HAXcms site”
  • “run an LRS scan on my site/domain”
  • “what age is btopro.com appropriate for”
  • “/haxcms-lrs-rater”

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. Extract the site content
  2. Chunk the transcript
  3. Segment scan (per chunk, you reason directly)
  4. Rank candidate chunks per category
  5. Category focus (per category, you reason directly)
  6. Reconcile evidence (per category)
  7. Age recommendation (you reason directly)
  8. Build the final report

What it can do on your machine

Read from SKILL.md and the folder at commit 3542096. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • node

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • btopro.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Haxcms Lrs Rater loads about 2.2k tokens when it runs, and up to ~7k if it reads all its reference files. Until then it costs about 207 tokens; SKILL.md has 926 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~207
When it runs · the whole SKILL.md, loaded when a task matches
~2.2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from haxtheweb/haxcms-php at commit 3542096, republished under its Apache-2.0 licence (© haxtheweb). 926 words, ~2,155 tokens.

Download SKILL.mdSave it as .claude/skills/haxcms-lrs-rater/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
haxcms-lrs-rater
description
Run BookLooky's Looky Rating System (LRS) content rating and minimum-age recommendation on a HAXcms site's aggregated content — either a local site checkout or a live published URL like btopro.com — entirely through the invoking agent's own reasoning, no API key or network call to an LLM required. Use this whenever the user asks to "rate this HAXcms site", "run an LRS scan on my site/domain", "what age is btopro.com appropriate for", "check this site for violence/romance/language/etc. content", "score this site the way booklooky does", or gives a HAX site URL/path and asks for a content rating or age recommendation. Distinct from booklooky-lrs-rater, which rates a single provided transcript/manuscript — this skill's job is reading a HAXcms site's llms.txt manifest to assemble that transcript first.

HAXcms LRS Rater

This skill runs BookLooky's official LRS content-rating rubric against a whole HAXcms site by reading its llms.txt manifest (which lists every page's .md URL in one fetch), stitching all page content into one aggregate "transcript," and then reasoning through the same rubric booklooky-lrs-rater uses for books — 10 categories (0-5), evidence-backed excerpts, and a minimum-age recommendation. No LLM API key or network call is needed for the actual rating: you (the invoking agent) are the reasoning engine, exactly as in booklooky-lrs-rater.

This skill only adds the site-specific extraction step (Step 0 below). Steps 1-7 are the same LRS methodology, scripts, and prompts as booklooky-lrs-rater — bundled here as a self-contained copy so this skill works standalone.

Why this matters (read before starting)

A HAXcms site's content is scattered across many small pages, not one linear manuscript. Rating individual pages in isolation would miss context (e.g. a "themes" page might only make sense next to the "characters" page) and would produce 10 disconnected mini-reports instead of one coherent site-level rating. So Step 0 first assembles a single ordered "transcript" from the site's outline — mirroring how a reader would actually encounter the content — and everything downstream treats that exactly like a book transcript.

Just as with booklooky-lrs-rater, every non-zero rating MUST be backed by a real quoted excerpt from the aggregated site content. reconcile-evidence.js will downgrade any unsupported positive rating to 0. Locate and quote actual page text — don't estimate.

Step 0 — Extract the site content

Two source types, both handled by the same script:

Live URL (a published HAXcms site, e.g. https://btopro.com):

bash
node scripts/extract-site-content.js https://btopro.com <scratchDir>

Local HAXcms site checkout (a directory containing llms.txt, or site.json + pages/ as fallback):

bash
node scripts/extract-site-content.js /path/to/site-root <scratchDir>

Either way this writes <scratchDir>/site-transcript.txt (all pages' text, each prefixed with === PAGE N: <title> ===) and <scratchDir>/page-manifest.json (index/id/title/slug/location per page, for citing which page an excerpt came from later).

How it works:

  • llms.txt (preferred): The script fetches <url>/llms.txt (or reads <root>/llms.txt locally). HAXcms generates this file automatically — it lists every page's title and .md URL in its ## Pages section. One fetch gives the full page list, no site.json tree-walking or per-page HTML parsing required. The script then fetches each page's .md for clean markdown text.
  • .html fallback: Some static hosts (e.g. GitHub Pages) don't serve .md files. When an .md fetch 404s, the script automatically falls back to the .html version and strips tags to plain text. This is the case for btopro.com — the script prints a note when this happens.
  • site.json fallback (local only): If no llms.txt exists in a local checkout, the script falls back to reading site.json, walking the JOS outline depth-first, and reading .md (or .html) sidecars from disk.
  • If a page can't be fetched at all, the script reports which page failed and continues with the rest rather than aborting the whole rating.

For very large sites, treat site-transcript.txt like a long book transcript — the chunking in Step 1 handles that the same way.

Step 1 — Chunk the transcript

bash
node scripts/chunk-transcript.js <scratchDir>/site-transcript.txt <scratchDir>

Writes <scratchDir>/chunks.json (~100k characters per chunk, 4k overlap). Small sites will produce a single chunk — proceed the same way regardless.

Step 2 — Segment scan (per chunk, you reason directly)

For each chunk, read references/segment-scan-prompt.md and references/category-scope-rules.md, then reason through that chunk yourself to produce its signals JSON (all 10 category keys present, each an array of {quote, why}, capped at 3 per category). Write each result to <scratchDir>/scans/<chunkIndex>.json.

Do this for every chunk before moving on. If resuming across turns, skip chunks that already have a scan file.

Show full SKILL.md (350 more words)Show less

Step 3 — Rank candidate chunks per category

bash
node scripts/rank-candidate-chunks.js <scratchDir>/scans

Save the output as <scratchDir>/candidates.json.

Step 4 — Category focus (per category, you reason directly)

For each of the 10 categories, using its candidate chunk indexes from candidates.json, read references/category-focus-prompt.md plus that category's scope block(s) from references/category-scope-rules.md, then reason directly over those chunks' text to produce {category, rating, rationale, excerpts}. Write each result to <scratchDir>/focus/<category>.json. When quoting, prefer noting which === PAGE N: <title> === block an excerpt came from (cross-reference page-manifest.json) as the locationHint instead of a chapter name.

Step 5 — Reconcile evidence (per category)

bash
node scripts/reconcile-evidence.js <scratchDir>/focus/<category>.json <scratchDir>/scans

Applies the innuendo backstop and requires validated excerpts for positive ratings. Write each result to <scratchDir>/reconciled/<category>.json.

Step 6 — Age recommendation (you reason directly)

Once all 10 categories are reconciled, read references/age-recommendation-prompt.md. Assemble the "LOCKED LRS RATINGS" block from the 10 reconciled results, gather notes from the segment scans, and use the first chunk's text (truncated to 1500 characters) as the "voice sample". For a site, treat minimumAge as the minimum age of the site's intended audience rather than a book reader. Save the result as <scratchDir>/age-recommendation.json.

Step 7 — Build the final report

bash
node scripts/build-report.js <scratchDir>/reconciled <scratchDir>/age-recommendation.json <scratchDir>/report.json

Produces the final report in the same OfficialScanReport + ContentAnalysis shape as booklooky-lrs-rater.

Presenting results

First, output the BookLooky-style emoji summary (the same compact format used on booklooky.com book pages):

bash
node scripts/format-emoji-summary.js <scratchDir>/report.json "<site title>" "" "<site URL>"

For a site, pass an empty string for the author argument. This produces:

BookLooky Rating for:

📚 "bto-pro"

Looky Rating System (LRS)
•💥Violence: 0/5
•❤️Love & Romance: 1/5
•🧠Mental Health: 2/5
•🧙Fantasy: 0/5
•💬Language: 2/5
•🍷Substance Use: 1/5
•🏳️🌈Representation: 0/5
•😨Fear / Horror: 1/5
•sciFi: 0/5
•disability: 1/5

https://btopro.com

Then lead with the minimum age and confidence, followed by the 6 Content Intensity and 4 Story Theme ratings with each rating's strongest excerpt — and cite which page (title/slug from page-manifest.json) it came from, since that's usually more useful for a site than for a single book. Mention this is a locally-generated LRS-style scan of the site's authored content, not an official BookLooky-certified rating.

Maintenance note

scripts/chunk-transcript.js, scripts/rank-candidate-chunks.js, scripts/reconcile-evidence.js, scripts/build-report.js, and all of references/*.md are copied verbatim from the booklooky-lrs-rater skill (itself ported from the booklooky-official-lrs-rater npm library). Re-sync both copies together if the rubric, prompts, or scoring rules change upstream. scripts/extract-site-content.js and scripts/format-emoji-summary.js are specific to this skill — update extract-site-content.js if HAXcms's llms.txt format changes, and update format-emoji-summary.js if the BookLooky emoji summary template changes.

© haxtheweb, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. 1 hidden character (zero-width or bidirectional) removed. Raw file

Files

SKILL.md and 5 other files (references) in .well-known/agent-skills/haxcms-lrs-rater of haxtheweb/haxcms-php.

  • SKILL.md
  • references/LRS-SPEC.md
  • references/age-recommendation-prompt.md
  • references/category-focus-prompt.md
  • references/category-scope-rules.md
  • references/segment-scan-prompt.md

Open the folder on GitHubat commit 3542096

Compare with similar skills

Haxcms Lrs Rater next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Haxcms Lrs Rater compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Haxcms Lrs Rater this skillhaxtheweb/haxcms-php130—~2.2kAutomated safety check: PassApache-2.0
Skill Personalizerhqhq1025/skill-optimizer181—~630Automated safety check: PassMIT
Geo Fundamentalswasp-lang/wasp19k9 repos~861Automated safety check: PassMIT
SEO GeoReScienceLab/opc-skills1.8k4 repos~2.1kAutomated safety check: PassApache-2.0
GEO-First SEO Audit Toolzubair-trabzada/geo-seo-claude11k—~2.8kAutomated safety check: NotesMIT
GEO Monthly Delta Reportzubair-trabzada/geo-seo-claude11k—~2.4kAutomated safety check: NotesMIT

Similar skills

  • Skill Personalizer

    hqhq1025/skill-optimizer

    A skill your agent uses when auditing or adapting newly created, downloaded, forked, installed, or community Agent Skills to the user's tools, habits, directories, session history, and preferred…

    181 GitHub stars~630 tokensUpdated 5 mo ago
    Marketing & SEOAuto-check passed
  • Geo Fundamentals

    wasp-lang/wasp

    Generative Engine Optimization for AI search engines (ChatGPT, Claude, Perplexity).

    19k GitHub starsUsed in 9 repos~861 tokens
    Marketing & SEOAuto-check passed
  • SEO Geo

    ReScienceLab/opc-skills

    SEO & GEO (Generative Engine Optimization) for websites. An agent skill from ReScienceLab/opc-skills.

    1.8k GitHub starsUsed in 4 repos~2.1k tokens
    Marketing & SEOAuto-check passed
  • GEO-First SEO Audit Tool

    zubair-trabzada/geo-seo-claude

    Audits a website for AI search visibility across ChatGPT, Claude, Perplexity and Google AI Overviews while checking traditional SEO, schema and E-E-A-T content quality.

    11k GitHub stars~2.8k tokensUpdated yesterday
    Marketing & SEOAuto-check: notes
  • GEO Monthly Delta Report

    zubair-trabzada/geo-seo-claude

    Compares a baseline and a current GEO audit for a client, calculates score changes and action item progress, and writes a monthly progress report.

    11k GitHub stars~2.4k tokensUpdated yesterday
    Marketing & SEOAuto-check: notes
  • SEO Dataforseo

    AgriciDaniel/codex-seo

    Live SEO data via DataForSEO MCP server. An agent skill from AgriciDaniel/codex-seo.

    799 GitHub starsUsed in 2 repos~4.6k tokens
    Marketing & SEOAuto-check passed

More from haxtheweb/haxcms-php

All 18 skills in this repo
  • Ddev

    haxtheweb/haxcms-php

    DDEV local development environment guidance for Docker-based PHP/Node projects.

    130 GitHub stars~1.6k tokensUpdated yesterday
    Auto-check passed
  • Hax Design System

    haxtheweb/haxcms-php

    Apply the DDD (Design, Develop, Destroy) design system and manage SimpleColors legacy usage.

    130 GitHub stars~836 tokensUpdated yesterday
    Auto-check passed
  • Hax Ubd Backward Design

    haxtheweb/haxcms-php

    Design HAX course units via Understanding by Design (UbD) backward design — start from desired results, derive acceptable evidence, then plan learning experiences.

    130 GitHub stars~2.2k tokensUpdated yesterday
    Auto-check passed
  • Hax Udl Audit

    haxtheweb/haxcms-php

    READ-ONLY diagnostic: review a HAX site/page against Universal Design for Learning (UDL) 3.0 — multiple means of Engagement, Representation, and Action & Expression — and emit a report with…

    130 GitHub stars~3.7k tokensUpdated yesterday
    Auto-check passed
  • Oerschema Integration Finder

    haxtheweb/haxcms-php

    READ-ONLY diagnostic: scan HAX webcomponents, themes, CMS backends (PHP/NodeJS HAXcms), the VitePress plugin, and the Google Apps Script add-on for code surfaces that render or consume pedagogical…

    130 GitHub stars~4.1k tokensUpdated yesterday
    Auto-check passed
  • Hax A11y Audit

    haxtheweb/haxcms-php

    READ-ONLY diagnostic: review authored HAX page/site content against WCAG 2.0 AA (image alt text, heading hierarchy, landmark structure, link text, form labels, color contrast, media…

    130 GitHub stars~5.5k tokensUpdated yesterday
    Auto-check passed

Questions about Haxcms Lrs Rater

What does Haxcms Lrs Rater do?

Run BookLooky's Looky Rating System (LRS) content rating and minimum-age recommendation on a HAXcms site's aggregated content — either a local site checkout or a live published URL like btopro.com —…. Haxcms Lrs Rater is an agent skill from haxtheweb/haxcms-php.com — entirely through the invoking agent's own reasoning, no API key or network call to an LLM required.

When should I use Haxcms Lrs Rater?

Haxcms Lrs Rater fits situations like: asks to rate this HAXcms site; run an LRS scan on my site/domain; what age is btopro.com appropriate for; check this site for violence/romance/language/etc.

How do I install Haxcms Lrs Rater in Claude Code?

Run `npx skills add haxtheweb/haxcms-php --skill haxcms-lrs-rater -a claude-code`. Or copy the skill folder (.well-known/agent-skills/haxcms-lrs-rater in haxtheweb/haxcms-php) into .claude/skills/haxcms-lrs-rater in your project. Claude Code loads it when a task matches its description.

How do I install Haxcms Lrs Rater in Codex?

Run `npx skills add haxtheweb/haxcms-php --skill haxcms-lrs-rater -a codex`. Or copy the skill folder (.well-known/agent-skills/haxcms-lrs-rater in haxtheweb/haxcms-php) into .agents/skills/haxcms-lrs-rater in your project. Codex loads it when a task matches its description.

Can I use Haxcms Lrs Rater in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add haxtheweb/haxcms-php --skill haxcms-lrs-rater -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/haxcms-lrs-rater, .gemini/skills/haxcms-lrs-rater, .github/skills/haxcms-lrs-rater and .opencode/skills/haxcms-lrs-rater in your project.

What does Haxcms Lrs Rater need to run?

Going by SKILL.md and its folder, Haxcms Lrs Rater needs the command-line tools its instructions call (node).

Does Haxcms Lrs Rater access the network?

SKILL.md names 1 domain. In commands or code: btopro.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Haxcms Lrs Rater safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Haxcms Lrs Rater use?

Haxcms Lrs Rater is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Haxcms Lrs Rater use?

About 2.2k tokens (SKILL.md is roughly 8.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4.9k tokens, read only when the agent opens those files.

What are the alternatives to Haxcms Lrs Rater?

Skills that share tags, products or a category with Haxcms Lrs Rater: Skill Personalizer (hqhq1025/skill-optimizer, 181 stars), Geo Fundamentals (wasp-lang/wasp, 19k stars), SEO Geo (ReScienceLab/opc-skills, 1.8k stars) and GEO-First SEO Audit Tool (zubair-trabzada/geo-seo-claude, 11k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Haxcms Lrs Rater?

haxtheweb (a GitHub organization) maintains it in haxtheweb/haxcms-php, which has 130 GitHub stars. The repository holds 18 skills in this directory. The repository was last updated on October 10, 2026.

Source: haxtheweb/haxcms-php on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.