A collection of Agent Skills for working with LiaScript and Open Educational Resources. Compatible with GitHub Copilot, Claude Code, Cursor, Gemini CLI, and 50+ other agents.
| Skill | Description |
|---|---|
| oersi-metadata | Generate OERSI-compatible metadata.yml for OER on GitHub, GitLab or Codeberg |
| reference-checker | Verify scientific literature references and detect hallucinated citations |
| liascript-exporter | Export LiaScript courses (SCORM, xAPI, PDF, …), GitHub Actions or GitLab CI, and designed project.yaml catalog pages with downloads |
| liascript-syntax | Complete LiaScript authoring reference — markdown syntax, quizzes & surveys, narrated presentations, charts, agent links, and a tested example course |
| liascript-templates | Develop LiaScript templates — reusable macros, JS library integration, async patterns, and collaborative classroom widgets |
| liascript-theming | Restyle a LiaScript course (colors, fonts, shapes, dark mode) from a description, PowerPoint, image, PDF or website — or apply one of seven bundled designs by name |
| liascript-asciiart | Draw ASCII-art / box-drawing / emoji diagrams for LiaScript ```ascii blocks, with grid checker, renderer, LiaScript preview and tested templates |
Generates a valid metadata.yml for publishing Open Educational Resources on OERSI from GitHub, GitLab or Codeberg. Knows what OERSI's importer actually requires and reads (checked against its code), which licenses it accepts, and the verified KIM vocabularies (Hochschulfächersystematik, HCRT, educational level) in reference/vocabularies.md; covers several resources per repository (hasPart, !include) and explains the repository topic and re-import.
Activates when: a user wants to publish OER on OERSI, create, update or check a metadata.yml, asks about AMB / KIM metadata or the open-educational-resources topic — also in German ("Kurs auf OERSI veröffentlichen", "warum taucht mein Kurs nicht in OERSI auf").
Systematically verifies scientific literature references: lookup.py (Python standard library) checks a whole list or BibTeX file against Crossref and OpenAlex — DOI records, best matches, retractions and corrections — and web search covers the rest. Outputs a structured three-tier report (✅ correct /
Activates when: a user asks to check, verify, or validate bibliographic entries, citations, references, DOIs or a .bib file — including single entries.
Generates liaex CLI commands, GitHub Actions workflows, and project.yaml catalog files for LiaScript repositories. Covers all export formats (PDF, SCORM 1.2/2004, IMS, ePub, DOCX, xAPI, H5P, Android, desktop apps, web, JSON), LMS presets, exporting straight from a GitHub or GitLab repository or only a sub-folder of it, the web/desktop app, automated deployment to GitHub Pages or GitLab Pages, multi-project site patterns with cached downloads, and quality check pipelines. For project websites it includes a tested example with its own design (examples/project-site/: project.yaml, a theme.css adapted through a few variables plus three alternative designs, and deploy configurations for GitHub Actions and GitLab CI), the selectors to restyle the page, a local preview with headless Chromium, and the limits found by running the exporter (http-only course URLs, packages only for courses on GitHub or GitLab, one failing download aborts the page).
Activates when: a user wants to export a LiaScript course to any format or for a specific LMS (Moodle, ILIAS, OPAL, …); create or update a GitHub Actions workflow; build or design a project website that aggregates multiple courses with downloads; set up automated deployment to GitHub Pages or GitLab Pages; or asks anything involving the liaex CLI, @liascript/exporter, or LiaScript CI/CD.
Complete LiaScript authoring reference: full markdown syntax (meta-header, document structuring, all quiz types incl. drag & drop word banks, quiz settings such as custom feedback texts and the solution button, surveys and their settings, effects/animation/TTS, interactive code blocks and the send/JS API, charts/ASCII-art/SVG visuals, tooling/publishing incl. DevServer agent links), the philosophy behind the language, and established best-usage patterns. Its presentation pattern shows how to pair {{n}} blocks with --{{n}}-- narration so one course works as a narrated presentation and reads as a text in Textbook mode. SKILL.md adds a list of silent pitfalls and a "Can LiaScript do this?" table; examples/course-template.md is a complete, tested example course. Organized as a navigable set of reference/*.md files by topic rather than one long document.
Activates when: a user is writing, editing, reviewing, or debugging any LiaScript course (a README.md meant to be rendered by the LiaScript interpreter), or asks whether LiaScript can do something — also in German ("LiaScript-Kurs schreiben", "Rückmeldung beim Quiz ändern", "Antworten vorlesen lassen").
Expert guidance for building LiaScript templates — standard README.md courses whose header comment defines reusable macros via import:. Covers single-line and block macro syntax, integrating external JavaScript libraries, handling async execution, template hooks (narrator avatars), collaborative templates on the classroom API (LIA.classroom: own layers per participant, publish/subscribe, peers, shared Yjs types), and the established conventions from the LiaTemplates ecosystem. Includes a catalog of ~75 existing templates (GitHub topic liascript-template), so the agent recommends or extends one before building a new one.
Activates when: a user wants to build, modify, or debug a LiaScript template; create reusable macros; or integrate a JavaScript library into a LiaScript course; asks whether a template for something already exists; or build something participants share in a classroom (drawing together, votes, markers) — also in German ("gibt es schon ein Template für …", "gemeinsam zeichnen im Klassenraum", "kollaboratives Template").
Turns any design source into one tested header block (link: + @style + @custom) that restyles a whole LiaScript course: colors, fonts, font sizes, corner radius, borders, shadows, surfaces, light and dark mode — while LiaScript's built-in color themes stay selectable. The agent extracts design tokens into a small theme.json (from a textual mood description, a PowerPoint/.potx, an image or photo, a PDF brand guide or a website); bundled scripts build the CSS, derive a dark palette, check WCAG contrast and inject the block idempotently. Includes pptx_theme.py (theme + actually used colors, fonts, sizes, shapes from a deck, stdlib only), image_palette.sh (dominant colors via ImageMagick), preview.py (light and dark screenshots of every slide in the real LiaScript, needs chromium), a showcase course for previews, seven ready-made designs that can be applied by name (incl. artistic ones: chalkboard, watercolor, medieval manuscript), tested recipes for layout, motion, textures and artistic effects, and a reference of LiaScript's CSS variables, classes, specificity traps and known theming gaps.
Activates when: a user wants to change, customize, brand or theme the look of a LiaScript course, match a corporate design, recreate the style of slides or a picture, add a dark mode, or asks about LiaScript's CSS variables, the custom: macro or @style — also in German ("Design des Kurses ändern", "Stil aus dem Bild übernehmen"), or names one of the bundled designs (paper-ink, sunset-lake, candy-pptx, beehive-pptx, chalkboard / Tafel & Heft, watercolor / Aquarell, manuscript / Codex) to apply it in one step.
Draws, reviews and debugs diagrams in LiaScript's ```ascii / ```art blocks, which elm-svgbob renders to SVG. Explains the 8 × 16 px cell grid and which ASCII characters become strokes, corners, arrowheads and dots depending on their neighbours, when to use ASCII lines vs. Unicode box drawing vs. emoji vs. "…" verbatim Markdown (math, links, quiz gaps, images), the <!-- style / class / stroke --> parameters and @style for colors and width, and a table of common traps (src/, ..., -> in labels, emoji widths). Includes a catalogue of verified templates (flowcharts, architecture, sequence, state machines, data structures, circuits, timing, git graphs, UI mockups, tables, charts), check.py (cell count per row, wide-character and tab warnings) render.py (renders the blocks to a PNG with LiaScript's settings, light/dark; needs elm and chromium) and preview.py (screenshots a drawing in the real LiaScript, so "…" math, links and quizzes can be checked; needs liascript-devserver and chromium).
Activates when: a user wants to draw, edit, review or fix an ASCII-art, box-drawing or emoji diagram in a LiaScript course — also in German ("ASCII-Art", "Flussdiagramm", "Skizze in LiaScript", "Rahmenzeichen"). Not for Mermaid, PlantUML or ASCII art that stays an unrendered code block.
npx skills is the open CLI for the Agent Skills ecosystem. It auto-detects installed agents and places skills in the correct directories.
# Preview skills in this repo before installing
npx skills add LiaScript/skills --list
# Install all skills (interactive — detects your agents)
npx skills add LiaScript/skills
# Install a specific skill
npx skills add LiaScript/skills --skill oersi-metadata
npx skills add LiaScript/skills --skill reference-checker
npx skills add LiaScript/skills --skill liascript-exporter
npx skills add LiaScript/skills --skill liascript-syntax
npx skills add LiaScript/skills --skill liascript-templates
npx skills add LiaScript/skills --skill liascript-theming
npx skills add LiaScript/skills --skill liascript-asciiart
# Install to all agents without prompts
npx skills add LiaScript/skills --all
# Install as personal skills (available across all projects)
npx skills add LiaScript/skills --global
# Install for a specific agent
npx skills add LiaScript/skills -a claude-code
npx skills add LiaScript/skills -a github-copilot
npx skills add LiaScript/skills -a cursornpx skills list # List all installed skills
npx skills update # Update installed skills
npx skills remove oersi-metadata # Remove a skillCopy the skill directory into the skills folder for your agent:
Project scope (skills available only in the current project):
| Agent | Directory |
|---|---|
| GitHub Copilot, Cursor, Gemini CLI, Codex | .agents/skills/ |
| Claude Code | .claude/skills/ |
| Roo Code | .roo/skills/ |
| Windsurf | .windsurf/skills/ |
# Example: install for Claude Code (project scope)
cp -r skills/oersi-metadata .claude/skills/
cp -r skills/reference-checker .claude/skills/
# Example: install for any agent that uses .agents/skills/
cp -r skills/oersi-metadata .agents/skills/
cp -r skills/reference-checker .agents/skills/Personal scope (skills available across all projects):
| Agent | Directory |
|---|---|
| GitHub Copilot | ~/.copilot/skills/ |
| Claude Code | ~/.claude/skills/ |
| Any agent | ~/.agents/skills/ |
# Example: personal install for GitHub Copilot
cp -r skills/oersi-metadata ~/.copilot/skills/
cp -r skills/reference-checker ~/.copilot/skills/