The @document roots that gather every block, and the shared types they use.
§ 1.1Attr
Key/value attribute row — used by entity.attributes and custom.attrs. Authorable with WCL pipe-table syntax: attributes: | "flag" | "-l" | | "name" | "long format" |
| Property | Type | Required | Description |
|---|---|---|---|
| key | utf8 | yes | |
| value | utf8 | yes |
§ 1.2WSkillDoc
Merges with wdoc's library @document (so site / page template blocks are legal alongside content) and with any @document declared in extensions.wcl.
| Property | Type | Required | Description |
|---|---|---|---|
| schema_version | utf8 | yes |
Child blocks
| Slot | Accepts | Multiple | Description |
|---|---|---|---|
| topics | topic | yes | |
| skills | skill | yes | |
| sources | source | yes | |
| research_units | research | yes | |
| questions | question | yes | |
| refs | wskill_ref | yes | |
| artifacts | artifact | yes | |
| concepts | concept | yes | |
| entities | entity | yes | |
| facts | fact | yes | |
| terms | term | yes | |
| examples | example | yes | |
| indexes | index | yes | |
| procedures | procedure | yes |
§ 1.3PresSlide
One slide. Content comes from unit (the projection pulls the named concept/entity/fact/procedure's headline + summary onto the slide), from the wdoc body, or both (pulled headline first). speaker_notes lands in the deck's notes overlay (toggle with s while presenting); use a fragment { … } inside body for step-reveals.
| Property | Type | Required | Description |
|---|---|---|---|
| id | identifier | yes | |
| title | utf8 | no | |
| unit | identifier | no | |
| speaker_notes | utf8 | no | |
| tags | list<utf8> | no |
Child blocks
| Slot | Accepts | Multiple | Description |
|---|---|---|---|
| body | body | no |
§ 1.4PresentationDoc
Merges with the base @document — presentations gathered only when this module is imported.
| Property | Type | Required | Description |
|---|
Child blocks
| Slot | Accepts | Multiple | Description |
|---|---|---|---|
| presentations | presentation | yes |
§ 1.5TrainingDoc
Merges with the base @document — gathered only when this module is imported. Document-level @children gathers direct children only, so a module-nested lesson is not also listed in lessons.
| Property | Type | Required | Description |
|---|
Child blocks
| Slot | Accepts | Multiple | Description |
|---|---|---|---|
| modules | module | yes | |
| lessons | lesson | yes |
§ 1.6ResearchStatus
A symbol_set — one of: current, stale, superseded.
§ 1.7QuestionStatus
A symbol_set — one of: open, answered, dropped.
§ 1.8QuestionKind
A symbol_set — one of: single_select, multi_select, free_text.
§ 1.9Audience
A symbol_set — one of: book, ai, both.
§ 1.10StepShape
A symbol_set — one of: process, decision, terminator.
§ 1.11StepFlowKind
A symbol_set — one of: default, yes, no.
§ 1.12EntityKind
A symbol_set — one of: person, #, a, human, (maintainer,, author,, researcher), organization, #, a, company,, team,, standards, body, software, #, an, application,, language,, or, product, tool, #, a, CLI, tool, or, utility, command, #, a, single, command, of, a, CLI, library, #, a, code, library, or, framework, service, #, a, hosted, service, /, API, hardware, #, a, physical, device, file_format, #, a, file, type, or, on-disk, format, standard, #, a, specification, or, protocol, place, #, a, physical, or, virtual, location, document, #, a, named, external, document, dataset, #, a, named, data, collection.
§ 1.13ArtifactKind
A symbol_set — one of: book, #, the, human-readable, reference, book, (wdoc/book), ai_skill, #, the, Claude, Code, skill, folder, (wdoc/skill), presentation, #, the, topic-overview, slide, deck, (wdoc/presentation), training, #, the, hands-on, tutorial, book, (wdoc/training).