Agent skill

Hax Site Structure

by haxtheweb in haxtheweb/haxcms-php

Read and navigate an existing HAXcms site from its portable files.

Apache-2.0Auto-check passedDevOps & Cloud

Install Hax Site Structure

skills CLI
$ npx skills add haxtheweb/haxcms-php --skill hax-site-structure -a claude-code

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

GitHub CLI
$ gh skill install haxtheweb/haxcms-php hax-site-structure --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/hax-site-structure .claude/skills/hax-site-structure && 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
hax-site-structure
GitHub stars
130
Token cost
~1.7k tokens
SKILL.md length
609 words
Files
1
Skills in repo
18
Repo updated
First seen
Licence
Apache-2.0

At a glance

Read and navigate an existing HAXcms site from its portable files.

  • Works in 5 steps: /.well-known/agent-skills/index.json —… → /llms.txt — site overview + links to… → /site.json — the structure tree. → …
  • An agent lands on a HAXsite
  • SKILL.md covers When to Use, Start here (local site folder), Canonical structure and site.json — JSON Outline Schema, plus 7 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Hax Site Structure is an agent skill from haxtheweb/haxcms-php. Read and navigate an existing HAXcms site from its portable files. Use when an agent lands on a HAXsite or HAXcms deployment and needs to understand site.json (JSON Outline Schema), resolve page content in pages/, find assets in files/, locate the theme, compute basePath, or discover the web component registry (wc-registry.json) and the magic-script autoloader. Load this FIRST when working with any HAX site so the rest of the ecosystem makes sense.

Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in DevOps & Cloud, covering Deployment. 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

  • An agent lands on a HAXsite
  • HAXcms deployment and needs to understand site.json (JSON Outline Schema)
  • Resolve page content in pages/
  • Find assets in files/

Example prompts

  • “/hax-site-structure”

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. /.well-known/agent-skills/index.json — this skill set (discovery).
  2. /llms.txt — site overview + links to machine-readable resources.
  3. /site.json — the structure tree.
  4. /lunrSearchIndex.json — full-text search corpus.
  5. /sitemap.xml — URL-level discovery map.

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

    No scripts in the folder and no shell commands in SKILL.md.

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

  • Network

    Links to these hosts (documentation or services it may open):

    • github.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

Hax Site Structure loads about 1.7k tokens when it runs. Until then it costs about 118 tokens; SKILL.md has 609 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~118
When it runs · the whole SKILL.md, loaded when a task matches
~1.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). 609 words, ~1,682 tokens.

Download SKILL.mdSave it as .claude/skills/hax-site-structure/SKILL.md (or your agent's skills folder).
name
hax-site-structure
description
Read and navigate an existing HAXcms site from its portable files. Use when an agent lands on a HAXsite or HAXcms deployment and needs to understand site.json (JSON Outline Schema), resolve page content in pages/, find assets in files/, locate the theme, compute basePath, or discover the web component registry (wc-registry.json) and the magic-script autoloader. Load this FIRST when working with any HAX site so the rest of the ecosystem makes sense.
version
1.0.0
license
Apache-2.0
metadata.author
haxtheweb
metadata.tags
hax, haxcms, site, json-outline-schema, jos, structure, discovery

HAX Site Structure

Read and navigate an existing HAXcms site from its portable, file-based structure. This is the ground-truth skill for understanding a site you did not build.

When to Use

  • An agent discovers a HAXsite (single-site deploy) or a HAXcms deployment (multi-site backend) and needs to understand what is there.
  • Resolving a page's content, metadata, or location from site.json.
  • Locating static assets, theme files, or the web component registry.
  • Computing the correct base path for a site.
  • Figuring out which files are safe to read vs. which are generated and should be rebuilt.

Start here (local site folder)

When you have the site's files and the hax CLI, run hax site from the site root first (or hax site --format json --to-file stats.json for machine-readable output). It reports the title, theme, page count, which agent files exist, which files are authored vs managed, and the scriptable commands (all with --y --no-i). Then read AGENTS.md and llms.txt.

Canonical structure

A HAXsite is a directory with this shape (the HAXcms boilerplate):

<site>/
├── site.json                 # canonical manifest + navigation tree (JSON Outline Schema)
├── pages/<item-id>/index.html  # authored page content (one dir per page)
├── files/                    # static assets (images, pdfs, uploads)
├── theme/                    # theme.css + theme assets (custom theme layer)
├── custom/                   # custom build (custom.es6.js) when present
├── assets/                   # icon/browser assets
├── build/ build.js build-haxcms.js  # autoloader wiring
├── wc-registry.json          # web component registry (built artifact, see below)
├── llms.txt                  # LLM-oriented site guide (generated)
├── robots.txt sitemap.xml    # crawler maps (generated)
├── lunrSearchIndex.json      # search corpus (generated)
├── manifest.json service-worker.js  # PWA (generated)
└── .well-known/              # security.txt, api-catalog, agent-skills/

site.json — JSON Outline Schema

site.json is the single source of truth for structure and navigation. Shape:

{
  "id", "title", "author", "description", "license",
  "metadata": {
    "site": { "name", "logo", "settings": { "lang", "publishPagesOn", "pathauto", "private", "canonical", ... }, "domain", "git", "version", "tags" },
    "theme": { "element", "path", "variables", "regions" },
    "build": { "version", "structure", "type" },
    "node": { "fields": {} }
  },
  "items": [
    { "id", "indent", "location", "slug", "order", "parent", "title", "description", "metadata": { "created", "updated", "published", "locked", "videos", "images", "status" } }
  ]
}

Key rules for reading items:

  • parent is an item id or null (top level). order is the sibling order. indent is depth.
  • location is the page content path relative to the site root (e.g. pages/<item-id>/index.html).
  • slug is the URL path segment. A nested slug is the full path (e.g. welcome/community/pillars).
  • Traverse with orderTree(items) semantics: group by parent, sort children by order, recurse.
  • metadata.site.name establishes the basePath in some deployment scenarios and MUST align with the site folder name. Do not change it to anything else.

Page content

  • Authored HTML lives at the location path, conventionally pages/<item-id>/index.html.
  • A markdown alternate may exist alongside it (getPageAlternateLocation(location, 'md')). When present, prefer it for LLM reading; it is the clean content without editor chrome.
  • Page content is authored with HAX-capable web components (see hax-content-authoring). Read it as HTML; the component tags autoload via the registry.
Show full SKILL.md (282 more words)Show less

wc-registry.json and the magic-script autoloader

wc-registry.json is a built artifact (produced by the ubiquity build, not hand-edited) that maps every valid web component tag name to its CDN/module path. The autoloader (build.js / wc-autoload) hydrates the page by: detecting a tag name that is undefined in the DOM, looking it up in the registry, and dynamically importing the module at that key. This is how a page full of custom elements works without explicit imports. To know which tags are valid on a page, read wc-registry.json. To know which are authorable in the HAX editor, a tag must have haxProperties (see hax-content-authoring).

basePath

basePath is <basePath prefix>/<metadata.site.name>/. For a single-site deploy on its own domain it is /; for a multi-site HAXcms backend it is /sites/<site.name>/. The managed files (llms.txt, robots.txt, sitemap) are generated with absolute URLs rooted at the site's domain + basePath, so prefer reading those over reconstructing paths by hand.

Reserved routes

The x/ route prefix is reserved for internal HAXcms paths (x/search, x/tags, x/manifest). Do not author pages or routes under x/.

Generated vs authored (short version)

  • Authored (safe to read/edit directly): site.json (via CLI, not hand-edit), pages/*/index.html (content), files/, theme/, custom/.
  • Generated (rebuild, do not hand-edit): llms.txt, robots.txt, sitemap*.xml, rss.xml, atom.xml, lunrSearchIndex.json, manifest.json, service-worker.js, push-manifest.json, wc-registry.json, .well-known/*, build*.js, index.html/404.html/ghpages.html (static fallbacks). See hax-managed-files for the full list and the rebuild rules.

Entry points for an agent landing on a published site

  1. /.well-known/agent-skills/index.json — this skill set (discovery).
  2. /llms.txt — site overview + links to machine-readable resources.
  3. /site.json — the structure tree.
  4. /lunrSearchIndex.json — full-text search corpus.
  5. /sitemap.xml — URL-level discovery map.

References

© haxtheweb, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .well-known/agent-skills/hax-site-structure of haxtheweb/haxcms-php.

Open the folder on GitHubat commit 3542096

Compare with similar skills

Hax Site Structure 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.

Hax Site Structure compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Hax Site Structure this skillhaxtheweb/haxcms-php130—~1.7kAutomated safety check: PassApache-2.0
Kubeshark Installerkubeshark/kubeshark12k—~3.6kAutomated safety check: NotesApache-2.0
GreptimeDB Dev Docker ImageGreptimeTeam/greptimedb6.7k—~4kAutomated safety check: NotesApache-2.0
KubeSphere ServiceMesh Managerkubesphere/kubesphere17k—~2.4kAutomated safety check: PassCustom licence
Vercelremotion-dev/remotion63k—~1.2kAutomated safety check: PassCustom licence
AWS Cdk Developmentzxkane/aws-skills3672 repos~2.5kAutomated safety check: PassMIT

Similar skills

  • Kubeshark Installer

    kubeshark/kubeshark

    Installs and configures Kubeshark on a Kubernetes cluster, choosing between the quick CLI path and a Helm install with custom values.

    12k GitHub stars~3.6k tokensUpdated today
    DevOps & CloudAuto-check: notes
  • GreptimeDB Dev Docker Image

    GreptimeTeam/greptimedb

    Packages a locally built GreptimeDB debug binary into a development-only Docker image for local-cluster testing, with an optional push to a dev registry.

    6.7k GitHub stars~4k tokensUpdated today
    DevOps & CloudAuto-check: notes
  • KubeSphere ServiceMesh Manager

    kubesphere/kubesphere

    Installs, checks and troubleshoots the KubeSphere ServiceMesh extension (Istio, Kiali, Jaeger), including grayscale release, sidecar injection, topology and tracing issues.

    17k GitHub stars~2.4k tokensUpdated 2 mo ago
    DevOps & CloudAuto-check passed
  • Vercel

    remotion-dev/remotion

    Official

    Set up a Codex monitor for Vercel deployments and preview URLs.

    63k GitHub stars~1.2k tokensUpdated today
    DevOps & CloudAuto-check passed
  • AWS Cdk Development

    zxkane/aws-skills

    AWS Cloud Development Kit (CDK) expert for building cloud infrastructure with TypeScript/Python.

    367 GitHub starsUsed in 2 repos~2.5k tokens
    DevOps & CloudAuto-check passed
  • Senior DevOps Toolkit

    maslennikov-ig/claude-code-orchestrator-kit

    Comprehensive DevOps skill for CI/CD, infrastructure automation, containerization, and cloud platforms (AWS, GCP, Azure). Includes pipeline setup…

    260 GitHub starsUsed in 6 repos~1.1k tokens
    DevOps & CloudAuto-check: notes

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 today
    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 today
    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 today
    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 today
    Auto-check passed
  • Haxcms Lrs Rater

    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 —…

    130 GitHub stars~2.2k tokensUpdated today
    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 today
    Auto-check passed

Categories

Questions about Hax Site Structure

What does Hax Site Structure do?

Read and navigate an existing HAXcms site from its portable files. Hax Site Structure is an agent skill from haxtheweb/haxcms-php. Read and navigate an existing HAXcms site from its portable files.

When should I use Hax Site Structure?

Hax Site Structure fits situations like: an agent lands on a HAXsite; HAXcms deployment and needs to understand site.json (JSON Outline Schema); resolve page content in pages/; find assets in files/.

How do I install Hax Site Structure in Claude Code?

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

How do I install Hax Site Structure in Codex?

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

Can I use Hax Site Structure 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 hax-site-structure -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/hax-site-structure, .gemini/skills/hax-site-structure, .github/skills/hax-site-structure and .opencode/skills/hax-site-structure in your project.

What does Hax Site Structure need to run?

SKILL.md names no scripts, command-line tools or credentials: Hax Site Structure is instructions for the agent only.

Does Hax Site Structure access the network?

SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.

Is Hax Site Structure 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 Hax Site Structure use?

Hax Site Structure is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Hax Site Structure use?

About 1.7k tokens (SKILL.md is roughly 6.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Hax Site Structure?

Skills that share tags, products or a category with Hax Site Structure: Kubeshark Installer (kubeshark/kubeshark, 12k stars), GreptimeDB Dev Docker Image (GreptimeTeam/greptimedb, 6.7k stars), KubeSphere ServiceMesh Manager (kubesphere/kubesphere, 17k stars) and Vercel (remotion-dev/remotion, 63k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Hax Site Structure?

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.