DeepTutor CLI
HKUDS/DeepTutor
Teaches the agent to set up and run DeepTutor from the command line: chat and capabilities, knowledge bases, partners, memory, sessions, notebooks and the server or Web app.
READ-ONLY diagnostic: review authored HAX page HTML, site.json outline nodes, VitePress markdown directives, JSON-LD blocks, and Google Docs export HTML against the OER Schema vocabulary…
$ npx skills add haxtheweb/haxcms-php --skill oerschema-audit -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install haxtheweb/haxcms-php oerschema-audit --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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/oerschema-audit .claude/skills/oerschema-audit && rm -rf skills-srcUse ~/.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/
Install the "oerschema-audit" agent skill from https://github.com/haxtheweb/haxcms-php/tree/master/.well-known/agent-skills/oerschema-audit into .claude/skills/oerschema-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "oerschema-audit", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/haxtheweb/haxcms-php/tree/master/.well-known/agent-skills/oerschema-auditType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add haxtheweb/haxcms-php --skill oerschema-audit -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install haxtheweb/haxcms-php oerschema-audit --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/haxtheweb/haxcms-php.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.well-known/agent-skills/oerschema-audit .agents/skills/oerschema-audit && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "oerschema-audit" agent skill from https://github.com/haxtheweb/haxcms-php/tree/master/.well-known/agent-skills/oerschema-audit into .agents/skills/oerschema-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "oerschema-audit", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add haxtheweb/haxcms-php --skill oerschema-audit -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install haxtheweb/haxcms-php oerschema-audit --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/haxtheweb/haxcms-php.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.well-known/agent-skills/oerschema-audit .cursor/skills/oerschema-audit && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "oerschema-audit" agent skill from https://github.com/haxtheweb/haxcms-php/tree/master/.well-known/agent-skills/oerschema-audit into .cursor/skills/oerschema-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "oerschema-audit", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/haxtheweb/haxcms-php.git --path .well-known/agent-skills/oerschema-audit--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add haxtheweb/haxcms-php --skill oerschema-audit -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install haxtheweb/haxcms-php oerschema-audit --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/haxtheweb/haxcms-php.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.well-known/agent-skills/oerschema-audit .gemini/skills/oerschema-audit && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "oerschema-audit" agent skill from https://github.com/haxtheweb/haxcms-php/tree/master/.well-known/agent-skills/oerschema-audit into .gemini/skills/oerschema-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "oerschema-audit", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install haxtheweb/haxcms-php oerschema-auditInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add haxtheweb/haxcms-php --skill oerschema-audit -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/haxtheweb/haxcms-php.git skills-src && mkdir -p .github/skills && cp -r skills-src/.well-known/agent-skills/oerschema-audit .github/skills/oerschema-audit && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "oerschema-audit" agent skill from https://github.com/haxtheweb/haxcms-php/tree/master/.well-known/agent-skills/oerschema-audit into .github/skills/oerschema-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "oerschema-audit", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add haxtheweb/haxcms-php --skill oerschema-audit -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install haxtheweb/haxcms-php oerschema-audit --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/haxtheweb/haxcms-php.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.well-known/agent-skills/oerschema-audit .opencode/skills/oerschema-audit && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "oerschema-audit" agent skill from https://github.com/haxtheweb/haxcms-php/tree/master/.well-known/agent-skills/oerschema-audit into .opencode/skills/oerschema-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "oerschema-audit", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
oerschema-auditREAD-ONLY diagnostic: review authored HAX page HTML, site.json outline nodes, VitePress markdown directives, JSON-LD blocks, and Google Docs export HTML against the OER Schema vocabulary…
Oerschema Audit is an agent skill from haxtheweb/haxcms-php. READ-ONLY diagnostic: review authored HAX page HTML, site.json outline nodes, VitePress markdown directives, JSON-LD blocks, and Google Docs export HTML against the OER Schema vocabulary (Course/Unit/Module/Lesson, LearningObjective, Assessment/Quiz/Activity/Project, Task/Practice, Rubric family, SupportingMaterial, TableOfContents, ActionType verbs) and emit a report with the recommended class, properties, and markup surface for every finding. Use when the user says "audit this page for OER schema", "what schema…
Its SKILL.md is about 5.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `references/hax-outline-mapping.md`, `references/markup-surfaces.md` and `references/ubd-mapping.md`).
It sits in Education, covering Quizzes and assessments, Static sites and blogs and Schema markup. It works with VitePress and Google Docs. The repository describes itself as: HAX + CMS to manage your microsite universe with PHP backend. The licence is MIT.
7 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 3542096. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
npxFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
oerschema.orgFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Oerschema Audit loads about 5.5k tokens when it runs, and up to ~13k if it reads all its reference files. Until then it costs about 254 tokens; SKILL.md has 1,875 words of instructions outside code blocks.
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.
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.
The full file from haxtheweb/haxcms-php at commit 3542096, republished under its MIT licence (© haxtheweb). 1,875 words, ~5,519 tokens.
.claude/skills/oerschema-audit/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.Review authored content on an existing HAX site/page (or VitePress / JSON-LD / Docs-export content)
against the OER Schema vocabulary and emit a diagnostic + remediation report. This skill
diagnoses and recommends only — it does not edit pages, mutate site.json, or insert markup.
It mirrors the hax-a11y-audit / hax-udl-audit pattern but operates through the OER Schema lens:
does the authored content carry the correct semantic pedagogical structure that makes it
discoverable and interoperable as an open educational resource?
OER Schema is a vocabulary that extends schema.org with education-specific terms (Course,
LearningObjective, Assessment, Rubric, etc.) so educational content is machine-readable and
interoperable. The HAX ecosystem commits to applying OER Schema metadata to educational elements,
and the UbD skill family already produces OER-schema-tagged unit skeletons — but no existing skill
audits authored content to see whether the schema is present and correct. This skill fills that
gap. It is distinct from a11y (technical access for people with disabilities), from UDL
(pedagogical inclusivity), from content chunking (cognitive load), and from UbD unit audit
(instructional-design alignment). It is also distinct from component-internal schema support
(an element's own code not emitting microdata), which oerschema-integration-finder owns. This
audit reports what is missing or mis-classified, cites the class/property, and recommends only real
remediation in the right markup surface — never an invented tag or property.
Trigger conditions:
When NOT to use (with redirect):
oerschema-integration-finderhax-a11y-audithax-udl-audithax-content-chunking-audithax-ubd-unit-auditgrad-bloomsschema.ts) → oerschema-schema-author (repo-local)schema.ts internal consistency → oerschema-validation (repo-local)This skill diagnoses and recommends only. It produces a report. To apply remediation, hand off
to the related skills and the hax CLI / hax-claudehax (see "Implementing the Recommendations"
below). Never edit pages/*.html, site.json, VitePress markdown, or source files from within
this skill.
site.json (JOS tree) + pages/*.html, or a single page (JOS node / raw HTML / markdown)::: learning-objective / ::: assessment / ::: rubric / ::: practice / ::: instructional-pattern directives<script type="application/ld+json"> or a standalone .jsonld)itemscope itemtype="http://oerschema.org/..." microdata the Apps Script add-on emits)pageSlug to scope the audit to one page (else audit every page and report site-level patterns)site.json (JOS tree + metadata) + pages/<slug>.html (rendered content)::: container directives (see references/markup-surfaces.md)<script type="application/ld+json"> blocksitemscope/itemtype/itemprop microdatareferences/vocabulary.md for the class hierarchy and the
property domain/range tables (derived from schema.ts v1.2.0). This is the single source of
truth for what classes and properties exist and where each property is valid.itemscope/itemtype/itemprop or directives —
is a presence gap. Identify the most specific class for each structure (see mapping refs).itemtype="http://oerschema.org/Task" should be Assessment (or Quiz, which subclasses
Assessment). A unit page tagged LearningComponent could be the more specific
InstructionalPattern → Unit. Report the current type and the recommended type.domain. skill is
domain LearningObjective — using itemprop="skill" on an Assessment is invalid.
hasLearningObjective is domain InstructionalPattern — using it on a bare Task is invalid
(a Task is an InstructionalPattern subclass, so it is valid via inheritance — use
references/vocabulary.md and the inheritance rule before flagging). Report the property,
the class it was used on, and the declared domain.range. gradingFormat range
is GradeFormat | Text — a raw number on gradingFormat should be a PointGradeFormat or
text. assessing range is Activity — pointing assessing at a Quiz is invalid (Quiz
is an Assessment, not an Activity). Report the property, the value, and the declared range.itemtype doesn't resolve. itemtype="http://oerschema.org/Foo"
where Foo is not a class in the vocabulary. Report the unresolved type.forComponent without a matching
hasComponent on the parent). Note: forComponent/hasComponent declare themselves inverses
in their comments but do not set the inverseOf field in schema.ts — flag the content
gap (missing reciprocal link), not the vocabulary gap (which is oerschema-validation's job).Rubric should have hasCriterion → RubricCriterion and
rubricScale → RubricScale → hasLevel → RubricLevel. A rubric directive with levels but
no scale, or criteria with no criterionWeight, is a structural gap.Task/Practice/Activity with a typeOfAction value that is not
one of the ActionType subclasses (Reading, Writing, Making, Researching, Listening, Watching,
Reflecting, Discussing, Observing, Presenting, Assess). Report the invalid action value.references/markup-surfaces.md to pick the surface the content is already in (microdata for
HAX pages / Docs export, ::: directives for VitePress, JSON-LD for structured-data blocks).
Use references/hax-outline-mapping.md for site.json → class mapping and
references/ubd-mapping.md when the content originated from a UbD unit. Every recommendation
names the exact class, the exact properties, and the exact surface — so the post-audit
conversation can apply it directly without re-deriving.quiz-element with no itemtype), defer to
oerschema-integration-finder (code fix), not this skill (content fix).schema.ts itself has a broken
subClassOf or missing inverseOf, defer to oerschema-validation / oerschema-schema-author.hax-ubd-unit-audit.grad-blooms.Quiz over generic Assessment") may be noted
but do not affect the rating.itemtype unresolved, or a rubric with
no criteria/scale).Format findings exactly like this structure (mirrors hax-a11y-audit / hax-udl-audit):
### 📊 OER Schema Diagnostics
* **Coverage Rating:** [Covered / Partial / Uncovered]
* **Primary Gap:** [the worst offender — one sentence, e.g. "Lesson 3 page has learning objectives, a quiz, and a rubric in prose but zero OER Schema markup."]
### 🔍 Findings & Remediation
* **{page slug / block / site-level} — {check name}**
* **Status:** [Fail / Partial / Pass-with-advisory]
* **Issue:** [the exact failing markup, e.g. "Quiz section uses itemtype='http://oerschema.org/Task' but a quiz is an Assessment (specifically a Quiz subclass)."]
* **OER Schema Rationale:** [cite the class/property, e.g. "Quiz subClassOf Assessment subClassOf InstructionalPattern; Task is a sibling of Assessment under InstructionalPattern, not a parent of Quiz."]
* **Recommended markup:** [exact class + properties + surface, e.g. "Use itemtype='http://oerschema.org/Quiz' with itemprop='gradingFormat' (range GradeFormat|Text) and itemprop='assessing' (range Activity) pointing at the activity being assessed. Surface: microdata in pages/lesson-3.html."]
* **{page slug / block / site-level} — {check name}**
* ...
### 🛠 Implementation handoff
* [one-line action per fix → skill/CLI + surface, e.g. "Add itemscope itemtype=Quiz to the quiz section in pages/lesson-3.html via direct edit or /hax."]Input — a HAX page (pages/lesson-3.html) containing:
<h2>Lesson 3: Photosynthesis</h2>
<p>Students will be able to explain the process of photosynthesis.</p>
<div class="quiz">
<h3>Quick Check</h3>
<ol><li>What are the reactants of photosynthesis?</li></ol>
</div>
<table class="rubric">
<tr><th>Criterion</th><th>Level 4</th><th>Level 1</th></tr>
<tr><td>Explanation accuracy</td><td>Complete</td><td>Fragmentary</td></tr>
</table>Output:
### 📊 OER Schema Diagnostics
* **Coverage Rating:** Uncovered
* **Primary Gap:** Lesson 3 page has a learning objective, a quiz, and a rubric in prose/HTML but
zero OER Schema markup — none of the pedagogical structures are machine-readable.
### 🔍 Findings & Remediation
* **Page "lesson-3" — Presence (lesson + objective)**
* **Status:** Fail
* **Issue:** The page is a Lesson with a stated learning objective, but neither is tagged.
`h2 "Lesson 3: Photosynthesis"` implies `Lesson`; the objective paragraph implies
`LearningObjective`.
* **OER Schema Rationale:** `Lesson` subClassOf `InstructionalPattern` subClassOf
`LearningComponent`; `hasLearningObjective` (domain `InstructionalPattern`, range
`LearningObjective`) relates them. Without markup the lesson is not discoverable as an OER.
* **Recommended markup:** Wrap the lesson in
`<div itemscope itemtype="http://oerschema.org/Lesson">`; wrap the objective in
`<div itemprop="hasLearningObjective" itemscope itemtype="http://oerschema.org/LearningObjective">`
with `<meta itemprop="skill" content="explain the process of photosynthesis">` and
`<meta itemprop="description" content="...">`. Surface: microdata in pages/lesson-3.html.
* **Page "lesson-3" — Presence (quiz)**
* **Status:** Fail
* **Issue:** The `.quiz` div is an untyped quiz. It should be a `Quiz` (subClassOf `Assessment`).
* **OER Schema Rationale:** `Quiz` subClassOf `Assessment` subClassOf `InstructionalPattern`.
`Assessment` carries `assessing` (range `Activity`) and `gradingFormat` (range
`GradeFormat | Text`).
* **Recommended markup:** `<div itemscope itemtype="http://oerschema.org/Quiz">` on the quiz div;
add `<meta itemprop="gradingFormat" content="...">` if points are specified. Surface: microdata
in pages/lesson-3.html. (If this quiz is rendered by a HAX quiz element that emits no
microdata, also hand to oerschema-integration-finder for the component-level fix.)
* **Page "lesson-3" — Rubric family integrity**
* **Status:** Fail
* **Issue:** The `.rubric` table is a rubric with one criterion and two levels, but no
`Rubric`/`RubricCriterion`/`RubricScale`/`RubricLevel` markup.
* **OER Schema Rationale:** `Rubric` has `hasCriterion` → `RubricCriterion` and `rubricScale` →
`RubricScale` → `hasLevel` → `RubricLevel`. The two-level table maps to a scale with two levels.
* **Recommended markup:** Wrap in `<div itemscope itemtype="http://oerschema.org/Rubric">` with
`<meta itemprop="rubricType" content="analytic">`; nest
`<div itemprop="hasCriterion" itemscope itemtype="http://oerschema.org/RubricCriterion">`; nest
a `<div itemprop="rubricScale" itemscope itemtype="http://oerschema.org/RubricScale">` with two
`<div itemprop="hasLevel" itemscope itemtype="http://oerschema.org/RubricLevel">` carrying
`levelOrdinal` and `levelPoints`. Surface: microdata in pages/lesson-3.html, or convert the
page to VitePress and use the `::: rubric` / `::: rubric-criterion` / `::: rubric-scale` /
`::: rubric-level` directives (see references/markup-surfaces.md).
### 🛠 Implementation handoff
* Lesson + objective: add itemscope markup in pages/lesson-3.html (direct edit or /hax).
* Quiz: add itemtype=Quiz to the quiz div (direct edit); if a HAX quiz element renders it, also
file oerschema-integration-finder for the component to emit Assessment microdata.
* Rubric: add the Rubric family microdata, or migrate to VitePress rubric directives.This audit is the diagnosis step. Apply fixes with the related skills and the hax CLI:
hax-claudehax — insert/replace schema-tagged components in existing pages:/hax wrap the quiz in pages/lesson-3 with itemscope itemtype=http://oerschema.org/Quizhax-site-building — owns page structure; edit page content at pages/<slug>.html for
microdata; add pages via hax site node:add ... --y --no-i; never hand-edit site.json.oerschema-integration-finder — when the gap is a rendering element not emitting microdata
(a code gap, not a content gap).hax-ubd-unit-audit — if the real concern is objective/assessment alignment, not schema.grad-blooms — cognitive level of an objective/assessment.CLI rules (from PRAW RULES.md):
hax command — not npx hax (resolves to a different package).--y --no-i.site.json for structure — use the CLI.references/vocabulary.md)
and the markup surface to use.domain of that class (accounting for subClassOf inheritance).oerschema-integration-finder, not double-reported
as content findings.subClassOf, missing inverseOf in schema.ts) are handed to
oerschema-validation / oerschema-schema-author, not reported as content findings.hasLearningObjective is domain
InstructionalPattern, but Lesson, Unit, Module, Assessment, Task, Activity,
Project, Practice are all InstructionalPattern subclasses — so using it on any of them is
valid. Always walk the subClassOf chain in references/vocabulary.md before flagging a
domain violation.Quiz and Task are siblings (both subclass
InstructionalPattern via different paths: Quiz→Assessment, Task directly). A quiz is NOT
a Task. Submission is the other Assessment sibling. Get this right — it is the most common
mis-classification.forComponent / hasComponent are inverses by comment, not by the inverseOf field. Do
not flag this as a content error; it is a vocabulary-internal gap for oerschema-validation.
In content, flag a missing reciprocal link (a forComponent with no matching hasComponent
on the parent) as a structural advisory, not a hard fail.mainEntityOfPage.inverseOf = "mainEntity" references an external schema.org property that
is not defined in this vocabulary. This is intentional (it aligns to schema.org), not a bug — do
not flag it.itemtype=".../InstructionalPattern" on a lesson is valid
but Lesson is more specific and more discoverable. Report as an advisory, not a fail.::: directive. Don't recommend a ::: directive inside a HAX pages/*.html —
recommend microdata. See references/markup-surfaces.md.typeOfAction range is ActionType; the valid
values are the ActionType subclasses (Reading, Writing, Making, etc.), referenced as
http://oerschema.org/Reading etc. A typeOfAction="reading" lowercase string is invalid.pages/<slug>.html (via
hax-site-building or direct edit / hax-claudehax); structural edits belong to the hax CLI.site.json / pages/*.html / a JOS node / raw HTML / markdown / VitePress .md / JSON-LD / Docs export HTMLreferences/vocabulary.md (class + property tables — single source of truth),
references/markup-surfaces.md, references/hax-outline-mapping.md, references/ubd-mapping.mdhax-claudehax / hax-site-building (apply remediation),
oerschema-integration-finder (component-internal schema gaps)hax-ubd-unit-audit (alignment), grad-blooms (cognitive level),
oerschema-validation / oerschema-schema-author (vocabulary-internal bugs)references/vocabulary.md — OER Schema v1.2.0 class hierarchy + property domain/range tables (the iron rule; verify every recommendation against this)references/markup-surfaces.md — microdata vs JSON-LD vs VitePress directives vs Docs export, with exact syntax for each classreferences/hax-outline-mapping.md — site.json JOS node → OER class + relationship propertiesreferences/ubd-mapping.md — UbD artifacts (EU, GRASPS, WHERETO) → OER classes/propertiesoerschema repo app/lib/schema.ts~/Documents/git/haxtheweb/praw/RULES.md© haxtheweb, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 4 other files (references) in .well-known/agent-skills/oerschema-audit of haxtheweb/haxcms-php.
Open the folder on GitHubat commit 3542096
Oerschema Audit 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Oerschema Audit this skillhaxtheweb/haxcms-php | 130 | — | ~5.5k | Automated safety check: Pass | MIT | |
| DeepTutor CLIHKUDS/DeepTutor | 41k | — | ~2.8k | Automated safety check: Pass | Apache-2.0 | |
| AI Engineering Placement Quizrohitg00/ai-engineering-from-scratch | 66k | — | ~2k | Automated safety check: Pass | MIT | |
| Codebase to Coursezarazhangrui/codebase-to-course | 5.7k | — | ~4.4k | Automated safety check: Pass | None | |
| Managing Google Workspacetaylorwilsdon/google_workspace_mcp | 3.3k | — | ~2.9k | Automated safety check: Pass | MIT | |
| AI Engineering Phase Quizrohitg00/ai-engineering-from-scratch | 66k | — | ~2.1k | Automated safety check: Pass | MIT |
HKUDS/DeepTutor
Teaches the agent to set up and run DeepTutor from the command line: chat and capabilities, knowledge bases, partners, memory, sessions, notebooks and the server or Web app.
rohitg00/ai-engineering-from-scratch
Runs a 10-question quiz across five areas to place a learner in the AI Engineering from Scratch curriculum, so they skip what they already know.
zarazhangrui/codebase-to-course
Turns a codebase into an interactive single-page HTML course for non-technical learners, with scroll modules, animated diagrams, quizzes and plain-English code translations.
taylorwilsdon/google_workspace_mcp
Manages Google Workspace operations across 12 services (Gmail, Drive, Calendar, Docs, Sheets, Slides, Forms, Tasks, Contacts, Chat, Apps Script, Custom Search).
rohitg00/ai-engineering-from-scratch
Quizzes you on a completed phase of the AI Engineering from Scratch course, taking a phase number or name and mapping it to that phase's directory.
K-Dense-AI/claude-scientific-writer
Provide qualitative-first, evidence-traceable developmental review of scholarly works and audit low-stakes research-assessment rubrics with optional local quality controls.
haxtheweb/haxcms-php
DDEV local development environment guidance for Docker-based PHP/Node projects.
haxtheweb/haxcms-php
Apply the DDD (Design, Develop, Destroy) design system and manage SimpleColors legacy usage.
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.
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…
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 —…
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…
Works with
Categories
READ-ONLY diagnostic: review authored HAX page HTML, site.json outline nodes, VitePress markdown directives, JSON-LD blocks, and Google Docs export HTML against the OER Schema vocabulary…. Oerschema Audit is an agent skill from haxtheweb/haxcms-php.json outline nodes, VitePress markdown directives, JSON-LD blocks, and Google Docs export HTML against the OER Schema vocabulary (Course/Unit/Module/Lesson, LearningObjective, Assessment/Quiz/Activity/Project, Task/Practice, Rubric family, SupportingMaterial, TableOfContents, ActionType verbs) and emit a report with the recommended class, properties, and markup surface for every finding.
Oerschema Audit fits situations like: the user says audit this page for OER schema; what schema should this lesson have; is this quiz marked up as the right oer class; does my site.json map to oerschema.
Run `npx skills add haxtheweb/haxcms-php --skill oerschema-audit -a claude-code`. Or copy the skill folder (.well-known/agent-skills/oerschema-audit in haxtheweb/haxcms-php) into .claude/skills/oerschema-audit in your project. Claude Code loads it when a task matches its description.
Run `npx skills add haxtheweb/haxcms-php --skill oerschema-audit -a codex`. Or copy the skill folder (.well-known/agent-skills/oerschema-audit in haxtheweb/haxcms-php) into .agents/skills/oerschema-audit in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add haxtheweb/haxcms-php --skill oerschema-audit -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/oerschema-audit, .gemini/skills/oerschema-audit, .github/skills/oerschema-audit and .opencode/skills/oerschema-audit in your project.
Going by SKILL.md and its folder, Oerschema Audit needs the command-line tools its instructions call (npx).
SKILL.md names 1 domain. In commands or code: oerschema.org; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
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.
Oerschema Audit is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.5k tokens (SKILL.md is roughly 22k 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 7.3k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Oerschema Audit: DeepTutor CLI (HKUDS/DeepTutor, 41k stars), AI Engineering Placement Quiz (rohitg00/ai-engineering-from-scratch, 66k stars), Codebase to Course (zarazhangrui/codebase-to-course, 5.7k stars) and Managing Google Workspace (taylorwilsdon/google_workspace_mcp, 3.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
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.