agentleFS
WilliamEbongWilliamEbong/CourseForge/.claude/skills/html-intake-review/SKILL.md

html-intake-review

Skill0 starsChanged 57 days agoMITView on GitHub

Reviewing imported or built single-file HTML courses for functional behaviour using CourseForge QA reports, screenshots and targeted source inspection (navigation, interactions, grading logic, progress, offline, known defect patterns). Used by the functional-browser reviewer and HTML repairs.

The file

We split this skill into the rules it gives an agent

2 rules. About 0 are common, 2 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Only then Grep the HTML for the specific element, handler or data structure behind a failure.

    line 17
  2. Distinctive:

    Only when no model can be reconstructed.

    line 51

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

HTML intake and functional review

Evidence first, source second

CourseForge has already run the course in a real browser. Start from its reports, not from the 300 KB HTML:

  1. review/functional-tests.json: per-screen rendering, overflow and missing IDs; interaction correct and incorrect paths; scoring; navigation; resources; progress; keyboard; offline; console errors; crawl results for imported courses.
  2. review/accessibility-review.json: axe violations by screen.
  3. review/screenshots/manifest.json: screenshot paths by screen and viewport. Screenshots are PNG files; view them with the Read tool.
  4. model/course.json or the intake report: the reconstructed structure.
  5. Only then Grep the HTML for the specific element, handler or data structure behind a failure.

Parsing a course is not proof that it works. Rendering is not proof that it teaches. Use the reports to see behaviour and the screenshots to see what learners see.

What to establish for an imported course

  • Structure: modules, screens, and whether every screen is reachable.
  • Content source: embedded data (a const COURSE = … object or a JSON script) versus content hard-coded in markup; data-driven courses are far easier to repair safely.
  • Interactions: types present, how answers are keyed, where feedback appears.
  • Scoring: how the graded result is computed, and whether it matches the keys.
  • Navigation and progress: next and back, menu, completion, local storage, reset.
  • Resources: glossary, references, citation panels.
  • Runtime dependencies: any external script, font, stylesheet or request.

Known defect patterns in hand-built courses

  • Figures that are not graphics: CSS boxes produced by a hard-coded switch statement, with no real SVG and no text equivalent.
  • Alt text or captions containing authoring instructions ("Create an original diagram showing…").
  • aria-live on the whole screen container, so every navigation re-reads the entire screen.
  • Missing or removed focus styles; focus not moved to new screen content.
  • Drawers and menus without focus management; window.confirm for reset.
  • Grading with fuzzy text normalisation that accepts wrong answers, or item IDs special-cased in code.
  • Answer keys stored separately from the item data so they drift.
  • Meaning corruption carried in from editing (negations dropped).
  • Horizontal overflow on small screens from fixed-width tables or figures.

Diagnosing a failure

  • Group failures by root cause: one faulty component usually fails on many screens.
  • For each root cause, identify the smallest element or code region responsible (selector, function name, data key) and the screens affected.
  • Distinguish content defects (fix in the model or text) from tooling defects (the QA runner or reconstruction could not handle something) and say which.

Repairing HTML directly

Only when no model can be reconstructed. Make minimal find/replace edits with unique anchors, prefer native semantics, never add network dependencies, and keep every other behaviour working. The original file is never modified; edits apply to a copy and the whole QA suite reruns.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.