bookshelf
Traverse the unified paragraph-level index of the OKF reference books (Cutts Plain English, Seely A-Z of Grammar & Punctuation, Swan Practical English Usage, Black Written Pleading). Use when asked to look up, quote, cite, or cross-reference anything in these books, find where a rule is stated, or resolve a pb_id like PB28-068, AZ-2333, PEU-501 or PB1.1. Every row in the master index resolves to a stable pb_id, a page, and full text — never cite a page you have not resolved.
Source: .opencode/skills/bookshelf/SKILL.md — site rebuilt 2026-09-05.
bookshelf — unified reference-book traversal¶
One master index at .opencode/references/books/all.csv (~19,600 rows),
built from four paragraph-level indexes. Every row: pb_id | book |
printed page | pdf page | full text.
| book | pb_id form | pages | source |
|---|---|---|---|
| cutts — Cutts, Oxford Guide to Plain English, 5th edn 2020 | PB<ch>-<seq> |
printed (pdf−39) | cutts-plain-english skill index |
| az — Seely, Oxford A-Z of Grammar & Punctuation, 2013 | AZ-<seq> |
printed (pdf−26) | .opencode/references/books/az.csv |
| peu — Swan, Practical English Usage, 3rd edn 2005 | PEU-<seq> |
pdf page | .opencode/references/books/peu.csv |
| black — Black et al., Written Pleading, 2nd edn 2025 | PB<no>.<no> |
photo page | pleading skill index |
Lookup¶
python .opencode/references/tools/book_lookup.py search "<term>" # cross-book
python .opencode/references/tools/book_lookup.py --book az search "<t>" # one book
python .opencode/references/tools/book_lookup.py resolve <pb_id> # full text
python .opencode/references/tools/book_lookup.py --full search "<term>" # full text hits
python .opencode/references/tools/book_lookup.py list
Use the registered venv: C:\Users\antho\AppData\Local\Temp\opencode\bieber_venv\Scripts\python.exe.
Rules¶
- Resolve before citing. A pb_id is a claim: resolve it, read the row's
page, quote the text verbatim. Citation form:
(Cutts, Oxford Guide to Plain English, 5th edn, 2020, p 260)— book title, edition, printed page. For peu (no printed offset yet), cite the pdf page or the book's own section number found inside the text. - Page numbers are not interchangeable across books: cutts/az carry printed pages (offsets −39/−26 from the PDF), peu carries pdf pages.
- Never guess a pinpoint. If search/resolve returns nothing, say so; never invent a page or pb_id.
- Rebuild discipline:
book_lookup.py --buildregeneratesall.csvfrom the per-book CSVs and the two skill indexes. Run it after any of the skill indexes change. Rebuildaz.csv/peu.csvwith.opencode/references/tools/index_books.pyonly when the source PDFs change. - Context budget: the master index is ~5 MB; always search via the CLI (it caps output), never read the whole CSV into context.