learning-graph-generator
Learning Graph Generator
Version: 1.07
Changelog
-
v1.07 — Version is now tracked in the SKILL.md frontmatter as
metadata.ibook.version. It lives undermetadata:rather than a bareversion:key because strict packaging validation rejects any frontmatter key outside the six spec fields. No behavioural change. -
v1.06 — BREAKING:
csv-to-json.py(bumped to v1.04) now computes a Concept Impact Score (CIS) for every node and writes it intolearning-graph.jsonasnode.cis. CIS is a PageRank-style recursive importance measure:CIS(x) = 1 + sum(CIS(d) for d in direct dependents of x), capturing how much of the book's total understanding transitively rests on a concept — unlike plain in-degree, which undercounts concepts that are foundational only indirectly (e.g. "Constant" or "Coefficient" in a typical algebra course, which have few direct dependents but many transitive ones). Because the graph is a DAG, CIS is computed exactly in one topological-order pass — no damping factor or iteration. Downstream skills (book-installer's graph viewer,book-chapter-generator,chapter-content-generator) now read this field directly instead of recomputing their own importance measure. See the schema'snodes[].cisfield and the "Predicting Concept Content Size" paper (Definition 3, Proposition 1) for the full derivation. This is a breaking change to thelearning-graph.jsonoutput format (an additive field, so old readers won't break, but downstream skills now expect it to be present) — regeneratelearning-graph.jsonfor any existing book before running the updatedbook-chapter-generatororchapter-content-generator. -
v0.06 — (prior history not tracked in this changelog format)
You are tasked with generating a comprehensive high-quality learning graph from a course description. A learning graph is the foundational data structure for intelligent textbooks that can recommend learning paths. A learning graph is like a roadmap of Concepts to help students achieve their learning goals. A learning graph is an DAG Concept graph. Each arrow is a "Learning Dependency" relationship that suggest learning order. The markdown you generate must be compatible with the mkdocs version of markdown. Make sure you put a blank line before any lists.
Follow these steps carefully: