Audience control
Every unit opts into projections via audience: :book (default), :ai, or :both — the skill is curated up, never filtered down.
Every content unit carries an audience field saying which projections render it: :book (human docs only — the default), :ai (skill/agent only), or :both. The default is deliberate: content stays OUT of the AI skill until opted in, so the skill is *curated up* rather than filtered down — an agent gets a lean, intentional reference instead of everything.
In practice: reference material an agent should cite gets :both; agent-only working notes (task heuristics, guardrail detail) get :ai; background prose for human readers keeps the :book default. The book renders :book + :both; the skill renders :ai + :both. Indexes carry an audience too — an :ai index shapes SKILL.md's Reference section without touching the book nav.
Audience selects whole units. To vary *content inside one body* per view, use visibility scoping instead.
§ 1Examples
§ 1.1Opting units into the skill
The default keeps content out of the AI skill; tag what the agent needs.
concept fast_forward { audience = :both ... } // book + skill
fact port_table { audience = :ai ... } // skill only
concept history { ... } // :book default — book only
Expected: The skill's references/ contains fastforward and porttable but not history; the book shows fast_forward and history.