Adding content to a wskill
Generated Markdown for references/process_adding_content.md.
Open book page Back to the skill graph
# Adding content to a wskill
## Purpose
The core capture loop: decompose a piece of knowledge, classify it, write the unit, link it, pin it, render.
## Prerequisites
- An existing wskill folder that checks clean (`just wskill-check`).
## Flowchart

## Steps
### Step 1: Decompose to atomic notes
Break the knowledge into single-idea pieces — one idea, thing, value or task per note. If a draft note needs an "and" in its summary, split it. See [Decomposing information](../references/concept_decomposing_information.md).
### Step 2: Classify with the decision guide
Run each note through [the decision guide](../references/fact_unit_decision_guide.md): a dated finding from an investigation → `research` (see [Capturing research](../references/process_capturing_research.md)); a repeatable task → `procedure`; a concrete NAMED thing (person, software, place, …) → `entity` with a `kind` from `schema/kinds.wcl`; an indisputable value/table → `fact`; a word needing a definition → `term`; otherwise → `concept`. Never default to entity.
### Step 3: Write the unit file
```wcl
// data/reference/<id>.wcl (or the per-kind folder)
concept <id> {
name = "<Headline>"
summary = "<One-liner the indexes show.>"
audience = :both // opt into the skill when the agent needs it
related = [<other_ids>]
body { p "The substance — capture it here, never defer to an external source." }
}
```
Write the block instance in `data/` (one file per unit as the wskill grows; add the import line to the folder's `main.wcl`). Give it a stable `id`, a headline, a summary, and a self-contained body. Attach worked examples as `example` blocks with `unit = <id>`.
### Step 4: Link it into the web
Fill `related` with the ids of the units this one leans on or explains — links resolve both ways (each page also lists what references it). A unit with no links is usually either misfiled or not atomic.
### Step 5: Pin it into an index
Add the id to the `related` list of the `index` that owns its area (or create a new index branch — see [Building the wskill index](../references/process_building_the_index.md)). Unpinned units stay reachable via links but invisible in the nav.
### Step 6: Check and render
```console
$ just wskill-check && just render
```
`wcl check` catches schema violations (a wrong entity kind, a missing required field) with file/line errors; the render makes the new pages. Fix anything it reports before moving to the next note.
> [!TIP]
> **Verification**
> The new unit has its own page in the rendered book, appears under its index in the nav, and its related links resolve in both directions.
## Related
- [Decomposing information](../references/concept_decomposing_information.md)
- [Which unit kind? — the decision guide](../references/fact_unit_decision_guide.md)
- [Atomic Note](../references/concept_atomic_note.md)
- [Building the wskill index](../references/process_building_the_index.md)
- [Self-Contained Content](../references/concept_selfcontained.md)
[← Back to SKILL.md](../SKILL.md)