Agent skill

Hax Content Authoring

by haxtheweb in haxtheweb/haxcms-php

Author HAX page content using the right web components and conventions.

Apache-2.0Auto-check passedDevelopment

Install Hax Content Authoring

skills CLI
$ npx skills add haxtheweb/haxcms-php --skill hax-content-authoring -a claude-code

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

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

At a glance

Author HAX page content using the right web components and conventions.

  • Editing page HTML in pages/
  • SKILL.md covers When to Use, Only use HAX-capable components, Preferred component families and DDD design system for content, plus 6 more sections
  • Calls npx
  • Adding HAX-capable elements

What it does

Hax Content Authoring is an agent skill from haxtheweb/haxcms-php. Author HAX page content using the right web components and conventions. Use when writing or editing page HTML in pages/, adding HAX-capable elements, applying DDD heading/paragraph attributes, choosing input/icon/button/media components, creating pages via the hax CLI, or remixing a HAX site's content as OER. Covers which tags are valid (HAXSchema/haxProperties), the preferred component families, and the authoring rules that keep content portable and editable in the HAX editor.

Its SKILL.md is about 1.5k 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 Development, covering Domain-driven design. 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

  • Editing page HTML in pages/
  • Adding HAX-capable elements
  • Applying DDD heading/paragraph attributes
  • Choosing input/icon/button/media components

Example prompts

  • “/hax-content-authoring”

Requirements

  • Node.js

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:

    • npx

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

  • Network

    No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.

    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 Content Authoring loads about 1.5k tokens when it runs. Until then it costs about 126 tokens; SKILL.md has 681 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~126
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k

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). 681 words, ~1,482 tokens.

Download SKILL.mdSave it as .claude/skills/hax-content-authoring/SKILL.md (or your agent's skills folder).
name
hax-content-authoring
description
Author HAX page content using the right web components and conventions. Use when writing or editing page HTML in pages/, adding HAX-capable elements, applying DDD heading/paragraph attributes, choosing input/icon/button/media components, creating pages via the hax CLI, or remixing a HAX site's content as OER. Covers which tags are valid (HAXSchema/haxProperties), the preferred component families, and the authoring rules that keep content portable and editable in the HAX editor.
version
1.0.0
license
Apache-2.0
metadata.author
haxtheweb
metadata.tags
hax, content, authoring, haxschema, ddd, webcomponents, oer

HAX Content Authoring

Author and edit HAX page content (the HTML in pages/<item-id>/index.html) using the correct web components and conventions so the content stays editable in the HAX editor and portable across the ecosystem.

When to Use

  • Writing or editing the HTML content of a HAX page.
  • Choosing which web component tags to put in a page.
  • Applying DDD design-system attributes for headings and paragraphs.
  • Creating a new page or restructuring page content via the hax CLI.
  • Remixing an existing HAX site's content as OER.

Only use HAX-capable components

A tag is authorable in the HAX editor only if it has a haxProperties method (the HAXSchema standard). The demoSchema part of that standard provides the info to create example elements. To know which tags are valid, read wc-registry.json (the built registry of every published component) and treat a tag as authorable only when it exposes haxProperties. Never invent tag names that are not in the registry. When a page needs something the registry lacks, defer to hax-webcomponent-dev rather than guessing.

Preferred component families

  • Buttons: use simple-icon-button-lite (not simple-icon-button).
  • Icons: use simple-icon-lite from simple-icon/lib — it can be colorized via light-DOM CSS color; simple-icon is strictly controlled and used less often. Size icons with DDD icon-sizing variables, not spacing variables.
  • Inputs / forms: use the simple-fields ecosystem of elements for design consistency and accessibility.
  • Admin / data tables: use editable-table-display for consistent presentation in admin panels.
  • Collapsible sections: use a11y-collapse and always set the heading-button property so the whole heading is clickable.
  • Media — audio: prefer media-playlist + audio-player to present media and enable direct playback. inline-audio is future use (pending mp3 clipping tools).
  • Engagement: self-check, multiple-choice, fill-in-the-blanks, stop-note, flash-card, video-player for check-ins, reflection, retrieval, and segmented video.

DDD design system for content

  • Apply DDD attributes to headings and paragraphs for consistent offset/spacing. Use DDD tokens for spacing, color, font weight, icon sizes. The DDD design system lives at elements/d-d-d.
  • Import DDD from @haxtheweb/d-d-d/d-d-d.js and extend DDD directly (never DDD(LitElement), which is incorrect syntax). With mixins, DDD must be the base class: class MyEl extends SomeMixin(DDD) {}.
  • Use DDD's icon-sizing variables for icon height/width, not spacing variables.
  • Check dark-mode compliance when auditing DDD usage.
  • SimpleColors is the older color system, still used to fill shade gaps DDD does not cover. Prefer DDD colors; use SimpleColors only as a fallback where a shade is missing.
  • Avoid inline styles (margin, padding, background, border-radius) in demo/index.html and similar; use CSS classes or design-system variables instead.
Show full SKILL.md (276 more words)Show less

Create pages via the hax CLI

  • Always create pages through the hax command, never by hand-editing site.json, to avoid production issues.
  • Use the local/global hax command — not npx hax (resolves to a different package).
  • When scripting/automating, pass the automation flags to avoid prompts or new windows: --y --no-i (add --auto / --quiet / --skip as needed).
  • To add a single empty page: hax site node:add --title "<title>" --slug "<slug>" --y --no-i (node:add --content does not persist page content yet; see haxtheweb/issues#3125.)
  • To add pages with content, or to bulk import: give each item a content field and run hax site site:items-import --items-import <items.json> --y --no-i
  • Verify structure: hax site site:items

Reserved routes

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

OER Schema for educational content

When creating educational elements, apply OER Schema metadata parameters (Course/Unit/Module/Lesson, LearningObjective, Assessment/Quiz/Activity/Project, Rubric, TableOfContents, ActionType verbs) for consistent semantic structure and interoperability. See the oerschema-audit skill for the vocabulary and oerschema-integration-finder for component-level wiring.

JavaScript conventions (when content includes scripts)

  • Use globalThis instead of window for global references.
  • Do not use optional chaining (?.) — the Polymer parser has issues with this syntax.
  • Use single quotes; avoid semicolons where possible; prefer functional patterns.

haxProperties placement

Prefer an external haxProperties.json file for property schemas whenever possible, especially when the schema is not dynamic.

References

  • Related skills: hax-site-structure (read a site first), hax-design-system (DDD tokens), hax-a11y-audit (WCAG for authored content), hax-managed-files (what to edit vs rebuild), hax-webcomponent-dev (when a needed component does not exist yet).
  • HAX web components registry: wc-registry.json on the site, or webcomponents/elements in the monorepo.
  • HAX CLI: hax site --help, hax --help.

© 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-content-authoring of haxtheweb/haxcms-php.

Open the folder on GitHubat commit 3542096

Compare with similar skills

Hax Content Authoring 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 Content Authoring compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Hax Content Authoring this skillhaxtheweb/haxcms-php130—~1.5kAutomated safety check: PassApache-2.0
Code Forgetechygarg/lattice199—~3.2kAutomated safety check: PassMIT
Domain Modelingfossasia/eventyay-interpretation1.6k31 repos~821Automated safety check: PassApache-2.0
Architecture Governancezai-org/ZCode7.6k—~1.2kAutomated safety check: PassApache-2.0
Evolutionary Modular Architecturetech-leads-club/agent-skills7k—~3.7kAutomated safety check: PassCC-BY-4.0
Domain Modelingbrim-borium/spotify_sdk1665 repos~806Automated safety check: PassApache-2.0

Similar skills

  • Code Forge

    techygarg/lattice

    Generate implementation code from an approved design blueprint or verbal requirements.

    199 GitHub stars~3.2k tokensUpdated today
    DevelopmentAuto-check passed
  • Domain Modeling

    fossasia/eventyay-interpretation

    Build and sharpen a project's domain model. An agent skill from fossasia/eventyay-interpretation.

    1.6k GitHub starsUsed in 31 repos~821 tokens
    DevelopmentAuto-check passed
  • Apply the repository's architecture policy to code changes by generating a bounded context package, checking module and layer boundaries, and reporting baseline-aware violations.

    7.6k GitHub stars~1.2k tokensUpdated 11 days ago
    DevelopmentAuto-check passed
  • Evolutionary Modular Architecture

    tech-leads-club/agent-skills

    Guides design of modular-monolith platforms with DDD, flat-by-aggregate modules, anti-corruption layers, outbox events and resilience, plus an architecture document with SVG diagrams.

    7k GitHub stars~3.7k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Domain Modeling

    brim-borium/spotify_sdk

    Build and sharpen a project's domain model. An agent skill from brim-borium/spotify_sdk.

    166 GitHub starsUsed in 5 repos~806 tokens
    DevelopmentAuto-check passed
  • Domain Modeling and Glossary

    windmill-labs/windmill

    Actively challenges vague or conflicting terminology as you design, and keeps a living domain glossary file up to date in real time.

    18k GitHub stars~622 tokensUpdated yesterday
    DevelopmentAuto-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 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

Questions about Hax Content Authoring

What does Hax Content Authoring do?

Author HAX page content using the right web components and conventions. Hax Content Authoring is an agent skill from haxtheweb/haxcms-php. Author HAX page content using the right web components and conventions.

When should I use Hax Content Authoring?

Hax Content Authoring fits situations like: editing page HTML in pages/; adding HAX-capable elements; applying DDD heading/paragraph attributes; choosing input/icon/button/media components.

How do I install Hax Content Authoring in Claude Code?

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

How do I install Hax Content Authoring in Codex?

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

Can I use Hax Content Authoring 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-content-authoring -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-content-authoring, .gemini/skills/hax-content-authoring, .github/skills/hax-content-authoring and .opencode/skills/hax-content-authoring in your project.

What does Hax Content Authoring need to run?

Going by SKILL.md and its folder, Hax Content Authoring needs the command-line tools its instructions call (npx). Our summary lists: Node.js.

Does Hax Content Authoring access the network?

SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Hax Content Authoring 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 Content Authoring use?

Hax Content Authoring 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 Content Authoring use?

About 1.5k tokens (SKILL.md is roughly 5.9k 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 Content Authoring?

Skills that share tags, products or a category with Hax Content Authoring: Code Forge (techygarg/lattice, 199 stars), Domain Modeling (fossasia/eventyay-interpretation, 1.6k stars), Architecture Governance (zai-org/ZCode, 7.6k stars) and Evolutionary Modular Architecture (tech-leads-club/agent-skills, 7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Hax Content Authoring?

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.