On-screen text
Marble Skill Taxonomy
An open, structured taxonomy of what children learn across the primary/elementary years — decomposed into fine-grained "micro-topics", wired into a prerequisite graph, and aligned to national curriculum standards.
Produced by Marble.
Version: v1 Topics: 1,590 Prerequisite edges
3,221 Subjects: 8
See it
Everything a child learns.
Every dot is a micro-topic, colored by subject; height is age; each thread is a prerequisite (full-quality video).
Explore it interactively at withmarble.com/curriculum — tap any concept to trace everything a learner must master before it.
What this is
Most curriculum data is either a flat list of standards or locked inside a product. This dataset is a connected graph of learning:
• 1,590 micro-topics — a single, teachable idea (e.g. "Building sentences", "Apparent brightness of stars"), each with a plain-language description, mastery evidence criteria, a type (conceptual / procedural / representational / language / meta), a subject + domain, and an approximate age range.
• 3,221 prerequisite dependencies — a directed acyclic graph: "topic X depends on prerequisite Y", each edge tagged hard / soft and carrying a one-line reason.
• Curriculum alignment — each micro-topic links to the standards it was distilled from (NGSS, Common Core)
• Domain clusters — 183 parent-friendly one-paragraph summaries per (subject, domain, age band).
Subjects
Subject
Topics
Science
547
Mathematics
503
English
286
History
90
Files
All data lives in data/ as UTF-8 JSON. See schema/ for JSON Schemas and manifest.json for counts + SHA-256 checksums.
File
What it holds
data/topics.json
The micro-topics (graph nodes).
data/dependencies.json
Prerequisite edges (topicId depends on prerequisiteId).
data/curriculum-standards.json
The source curriculum standards, grouped by curriculum.
data/clusters.json
Parent-friendly domain
data/manifest.json
Counts, per-subject breakdown, per-file checksums.
A topic
{
"id": "mt_N8CpN1EjRP",
"type": "CONCEPTUAL",
"subject": "English",
"domain": "Grammar & Punctuation",
"name": "Building sentences",
"description": "Understand that words combine
Using it
Pure data — no runtime, no dependencies. Load the JSON and go.
import topics from './data/topics.json' with {
import deps from './data/dependencies.json' with
const byId = new Map(topics.topics.map(t => [t.id, t]))
const prereqs = deps.dependencies.filter(d => d.topicId === "mt_N8CpN1EjRP")
.map(d => byId.get(d.prerequisiteId).name)
Validate structure + referential integrity:
node scripts/validate.mjs
License
APPARENT BRIGHTNESS OF STARS
This dataset is multi-licensed — read this before you use or redistribute it.
Layer
The database — the collection, structure, IDs, topic->topic and topic->standard relationships