lesson-validation

lesson-validation is a skill for Kiro from smileynet/teach-me. It costs 55 tokens per session (1,602 once invoked), scanned A, original, MIT.

A lesson-quality checker for HTML teaching pages. It checks both the page structure and supporting learning materials such as code files, downloads, accessibility details, and glossary terms.

In plain words
What is it for?
Use it after creating lessons, before publishing them, or to audit every lesson in a workspace.
Why use it?
It finds missing files, broken pages, and quality issues before a lesson is marked complete.

Skill for Kiro

Written for Kiro: installed under .kiro/. Also seen: mentions subagents.

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/smileynet/teach-me/lesson-validation
Any agent
npx skills add smileynet/teach-me --skill lesson-validation
Clone the repo
git clone --depth 1 https://github.com/smileynet/teach-me

Made for: Kiro.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for lesson-validation

README.md
[![agentmods](https://agentmods.dev/badge/skills/smileynet/teach-me/lesson-validation.svg)](https://agentmods.dev/skills/smileynet/teach-me/lesson-validation)
Your own site
<a href="https://agentmods.dev/skills/smileynet/teach-me/lesson-validation"><img src="https://agentmods.dev/badge/skills/smileynet/teach-me/lesson-validation.svg" alt="Measured on agentmods" height="20"></a>
Per session 55 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,602 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00055 $0.01602
Opus 5 $0.00028 $0.00801
Sonnet 5 $0.00011 $0.00320
Haiku 4.5 $0.00006 $0.00160

Measured 6d ago against content hash 90e97625b7b5, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

lesson-validation scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.kiro/skills/lesson-validation/SKILL.md · 123 lines

How it starts

The opening of the file, as written. The whole thing — 123 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Lesson Validation

Run a comprehensive compliance check on one or more lesson pages against all teach-me quality guidelines. Designed to be dispatched as a subagent for independent review — no context from the generation session needed.

When to use

  • After generating a lesson (Phase 4 verify in generate-topic)
  • Before marking a topic complete
  • Periodic audits of existing lessons
  • When reviewing adopted/imported lessons (like proto lessons from other projects)
  • When guidance changes and existing lessons need re-validation

Input

  • A lesson HTML file path (or --all for every lesson in a workspace)
  • The workspace path (for locating reference/code directories, MAP.md, glossary)

Checks (ordered by severity)

Gate checks (MUST pass — blocks completion)

# Check What to verify How
G1 Page renders HTTP 200, no failed resource loads (CSS, JS) Playwright: load page, check requestfailed events
G2 Template compliance Has DOCTYPE, style.css link, page-shell.js, breadcrumb nav, import map Parse HTML for required elements
G3 Code files exist Every <pre data-file="X"> has a corresponding reference/code/{slug}/X Scan data-file attrs, check filesystem
G4 SVG uses CSS vars No hardcoded hex in inline SVGs tools/check-svg-vars.py or regex scan for #[0-9a-f]{3,6} inside <svg>
G5 Links valid Internal links resolve, external links return 2xx mise run verify or manual link check

Quality checks (SHOULD pass — report but don't block)

# Check What to verify How
Q1 Narrative framing No <pre> immediately after an <h2>/<h3> with no prose between Scan DOM: if a code block's previous sibling is a heading, flag it
Q2 Code block metadata <pre> blocks that look like named files have data-file attr Heuristic: contains shader_type, extends, import, or fn main → should have data-file
Q3 Diff blocks marked Blocks with <span style="color:var(--error)"> or var(--success) have data-mode="diff" Scan for colored spans inside <pre> without data-mode
Q4 Fragment blocks marked One-liner code blocks or blocks without file headers have data-mode="fragment" Heuristic: <3 lines + no file-type header → likely fragment
Q5 Glossary coverage Domain terms in the lesson text are in the glossary-data island Compare technical terms against glossary JSON
Q6 Key concept block Lesson has .key-concept div DOM check
Q7 Exercise tests core concept Exercise exists with hint+answer AND tests the lesson's Win statement (not a peripheral gotcha) Check for details/summary + compare exercise topic to lesson Win/key-concept
Q8 Read more links New concepts introduced have links to official docs Scan .note blocks with "New concept" for presence of <a href>
Q9 Accessibility SVGs have role="img" + <title>, images have alt text DOM scan
Q10 Dark/light rendering Page renders correctly in both themes Playwright: toggle theme, check body BG + text color are distinct
Q11 Navigation links Previous lesson's "What's Next" links to this lesson; this lesson links back to previous Check prereq lesson file for <a href="this-lesson"> in next-steps section
Q12 Decision callouts complete Any <strong>Alternative:</strong> note includes decision criteria (when-to-use, default) Scan note divs: if contains "Alternative" but missing "when to use"/"prefer"/"default" → warn (implemented as Q14 in check-lesson.py)

Read the full file on GitHub · 123 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 6d ago First seen · 123 lines · 55 tokens per session scan A 90e97625b7b5

Subscribe to this mod's changes

lesson-validation is a skill published in the GitHub repository smileynet/teach-me (3 stars, last pushed 2d ago), licensed MIT. It adds 55 tokens to every session and 1,602 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

anki

Anki spaced repetition learning system reference. Covers the science of SRS and SM-2 algorithm, card design principles, optimal deck settings, FSRS scheduler, study workflow, essential add-ons, custom templates, filtered decks, and AnkiConnect API.

bytesagain/ai-skills · 53 tokens

reading-metaskill

当用户想养成阅读习惯、问「读什么书/怎么读」「如何学习新领域/怎么入门某学科」时调用。 核心理念: 阅读是终极元技能; 读你所爱直到爱上阅读, 没有读完义务; 读原著与经典优先; 以教促学; 每天1-2小时即可进入极少数人行列。 不适用于: 具体某本书的书评、考试备考资料选择。 Triggers: 阅读/读书/怎么学习/入门/原著/书单/reading/how to learn.

kangarooking/cangjie-skill · 139 tokens

textbook-distillation

Turn a textbook or long-form source into a self-paced learning track: chapter map, lesson plan, then self-contained HTML lecture notes (styled as the human specifies) with worked examples, exercises, and checkpoint questions. Read this for "lecture notes" / "study notes" / "course" / "syllabus" requests from a…

Lingtai-AI/lingtai · 116 tokens

learning-notes-automation

学习笔记自动化:视频/播客转录 → 知识点提取 → 闪卡生成 → 知识图谱更新。触发词:学习笔记、闪卡、Anki、知识提取、视频学习.

chubbyguan/chubbyskills · 58 tokens

antivibe

Code learning and audit framework. Analyze any codebase — new, legacy, or AI-generated — and produce educational explanations or architectural audits. Use when the user wants to understand WHAT and WHY behind any code, not just accept it.

mohi-devhub/antivibe · 50 tokens

baiyueguang-learning

Transform knowledge points into an investigable information network using the Baiyueguang Learning Method.

zhiliscope/baiyueguang-learning-skill · 27 tokens