Library Entities Specification v1

This specification stabilizes how we talk about concepts, data files, modules, skills, agents, curricula, and lessons. It also ties discipline routing to tags.

Core entities

Concept

A concept is a unit of meaning tracked as a module. Concepts can be abstract (“power”) or concrete (“biopower”). A concept module may include theory, practices, and tools.

Module

A module is the directory container for a concept. It groups files for theory, practices, tools, and optional submodules. Modules define the top-level context for a concept.

Data file

A data file is a single Markdown document with frontmatter. It is the smallest unit of recorded knowledge and must specify its kind and authors.

Curriculum

A curriculum is a structured sequence of lessons for a concept. It lives in the module’s theory/ area and lists ordered dependencies.

Lesson

A lesson is a single instructional document. It declares prerequisites and is written for an explicit audience and learning goal.

Skill

A skill is a procedural or automatable unit of work. Skills live under the module’s tools/ directory and expose inputs/outputs when applicable.

Agent

An agent is a profile describing a role-bearing actor. Agent frontmatter may include roles to inherit skills from other agents.

Plan and idea

Plans and ideas are standalone documents that describe future work. They can be attached to a concept module under plans/ or ideas/.

Discipline routing

A data file is routed by tags. The first discipline tag in tags determines the discipline. Subdiscipline routing is derived by tag ancestry through encyclopedia entries (e.g., critical-theory philosophy humanities).

Module layout

<concept>/
  theory/      # definitions, glossaries, histories, curricula, lessons
  practices/   # procedures, workflows, how-to guides
  tools/       # skills, scripts, templates
  modules/     # sub-concepts (optional)
  ideas/
  plans/