Read a text file; each line returned as HASH│content with a 3-char alphanumeric hash. No line numbers — use the HASH as the anchor in edit calls. Images → visual attachments; Binary/directory → rejected; UTF-16/UTF-32 (BOM) → rejected; empty → HASH│ (edit to insert); pageable with offset/limit, or several disjoint ranges in one call with `windows: [{offset, limit}, ...]` (every listed window is served there, so anchors from all of them work in one edit); BOM stripped; non-UTF-8 shown as U+FFFD. To load skill content as plain text, use `read_skill`. Hashes are file-scoped: a 3-char anchor is bound to the file it was served from, so copy anchors only from the file you are editing.
