os-taxonomy

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

The taxonomy as a rotating 3D graph: every dot a micro-topic, colored by subject, wired by prerequisites

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:

Subjects

Subject Topics
Science 547
Mathematics 503
English 286
History 90
Personal & Social Development 88
Life Skills 37
Computing 21
Learning to Learn 18

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 summaries.
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 to make sentences — a sentence expresses a complete thought…",
  "ageRangeStart": 4,
  "ageRangeEnd": 6,
  "centrality": 0.257,
  "evidence": [
    "Distinguish between complete sentences and fragments",
    "Compose a complete sentence with a subject and verb"
  ],
  "assessmentPrompt": "If  says something like \"The dog\", can they tell you that's not a complete sentence…?",
  "standards": ["ccss-ela:L.K.1f", "uk-nc-2013:Eng.App2.Y1.Sent.1"]
}

A dependency

{ "topicId": "mt__00ZSLnB7p", "prerequisiteId": "mt_VBl1T1sFCM", "strength": "hard",
  "reason": "Must understand vibrations make sound before finding volume patterns" }

topicId depends on prerequisiteId. Reverse the edge to get “unlocks”.

Using it

Pure data — no runtime, no dependencies. Load the JSON and go.

import topics from './data/topics.json' with { type: 'json' };
import deps from './data/dependencies.json' with { type: 'json' };

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

Learning Map explorer

This repository includes a dependency-free browser explorer that can track learning progress privately on one device. It supports multiple child profiles, learning and known states, evidence-based assessments, subject/age/search filters, and dimming or hiding concepts a child already knows.

Two complementary views share the same local profile:

npm run serve

Then open http://localhost:4173/explorer/. A child’s name is requested once and substituted automatically into every assessment prompt. Profiles, progress, and the most recent 500 logbook activities are versioned and stored only in the browser’s localStorage; the explorer makes no network requests after loading the taxonomy JSON. Use Manage beside the profile picker to explicitly edit a name, delete a profile, or reset its progress and activity trail.

The explorer is intentionally a static ES-module application with no build step. Its persistence layer lives in explorer/src/profile-store.js, independently of the graph renderer, so a server-backed profile adapter can replace it later without changing the taxonomy data or graph interaction.

License

This dataset is multi-licensed — read this before you use or redistribute it.

Layer License
The database — the collection, structure, IDs, topic↔topic and topic↔standard relationships ODbL 1.0 — free for research and commercial use, attribution required, share-alike (derivative databases must stay open under ODbL).
The textual content Marble authored — topic description/name/evidence/assessmentPrompt, dependency reasons, cluster summarys CC BY-SA 4.0 — same spirit: attribution + share-alike.
curriculum-standards.json — extracted from third-party frameworks Not Marble’s to relicense. Each source is under its own upstream license — see PROVENANCE.md.

Why share-alike + still commercial-friendly: ODbL distinguishes a derivative database (extend/modify the taxonomy → must stay open) from a produced work (use it inside a product, model, or app → stays yours). So you can build a commercial product on this without open-sourcing your product; you only owe back improvements to the taxonomy itself.

Attribution

Any use must credit:

Marble Skill Taxonomy (v1) · © Generative Spark, Inc. (Marble) · https://withmarble.com · licensed under ODbL 1.0 (database) and CC BY-SA 4.0 (content).

Plus the upstream notices in PROVENANCE.md for any curriculum standards you use. See CITATION.cff for a formal citation.

What’s not here

Deliberately excluded from this release: semantic embeddings (derived, recomputable) and any per-child / user data (never published). See CHANGELOG.md.