SemText

Showcase

Onboarding: a checklist that reads and tracks

Onboarding material decays fastest when it lives in three places: the checklist in a doc, the facts in a wiki, the quiz in a form. In one SemText document the procedure carries its statuses, the meter carries the score, and the facts double as flashcards — the same file the new contributor reads is the one a model can quiz them from.

The document

Render it and flip the flashcards: front is the statement, back the conclusion, and the incorrect statement on ob-main joins the quiz options when the deck is switched to quiz view.

onboarding.md
onboarding.md
source
1 <sem-enhanced-document>
2 <h1 data-kind="title">First week</h1>
3
4 <sem-progress value="0.4" label="checklist" role="meter" aria-valuemin="0" aria-valuemax="1" aria-valuenow="0.4"></sem-progress>
5
6 <sem-procedure kind="checklist" role="list">
7 <sem-step role="listitem" status="done">Read the contributor guide</sem-step>
8 <sem-step role="listitem" status="done">Get repository access</sem-step>
9 <sem-step role="listitem" status="current">Ship a first change behind a feature branch</sem-step>
10 <sem-step role="listitem">Pair on a review</sem-step>
11 <sem-step role="listitem" status="blocked">Deploy shadowing — waits on the access audit</sem-step>
12 </sem-procedure>
13
14 <h2>Facts worth keeping</h2>
15 <sem-facts view-as="flashcards">
16 <sem-fact id="ob-branch">
17 <statement>Where does feature work live?</statement>
18 <conclusion>In a worktree under .claude/worktrees/, forked from develop.</conclusion>
19 </sem-fact>
20 <sem-fact id="ob-main">
21 <statement>Who merges to main?</statement>
22 <conclusion>CI only — the release path is automated.</conclusion>
23 <incorrect-statement>The latest reviewer merges it by hand.</incorrect-statement>
24 </sem-fact>
25 </sem-facts>
26 </sem-enhanced-document>
27
render

Live render boots with JavaScript — the authored source is alongside.

Elements used: sem-progress, sem-procedure, sem-facts. Their contracts live on the reference pages .