{"slug":"docs-3","title":"docs","summary":"The mounted Cerb documentation -- what lives where, how to find a page without reading it, and when the docs are the authority versus this install. Load it before your first search of `cerb-docs`.","platform":"Claude","tags":[],"authorName":"LLM Mart","authorSlug":"llm-mart","score":0,"source":"github","price":null,"verified":false,"createdAt":"2026-10-16T16:27:57.128874Z","repo":{"url":"https://github.com/jstanden/cerb","stars":84,"forks":38,"license":null,"updatedAt":"2026-10-16T15:09:59Z"},"bodyHtml":"<hr>\n<h2>name: docs\ndescription: The mounted Cerb documentation -- what lives where, how to find a page without reading it, and when the docs are the authority versus this install. Load it before your first search of <code>cerb-docs</code>.</h2>\n<h1>The Cerb documentation</h1>\n<p><code>cerb-docs</code> is a read-only volume holding the complete Cerb documentation as Markdown -- the same pages published at <code>https://cerb.ai/docs/</code>, mirrored for the release you are running on. It is the authority for <strong>how Cerb behaves and what its syntax is</strong>.</p>\n<h2>What it is NOT the authority for</h2>\n<p><strong>This install's keys.</strong> Record types, searchable filters, writable fields, and custom fieldsets are per-installation, and the docs describe the generic baseline. <code>cerb records</code> reflects what is actually here. When the two disagree about a name, <code>cerb records</code> wins; see the <code>records</code> skill.</p>\n<p>The docs still win over your own recall, always. A syntax you are confident about is exactly the kind of thing that is subtly wrong.</p>\n<h2>Where things live</h2>\n<p>Seven directories under <code>references/</code>, and knowing which one you want saves a search:</p>\n<table>\n<thead>\n<tr>\n<th>Path</th>\n<th>What</th>\n<th>Pages</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>references/docs/</code></td>\n<td>The reference manual -- syntax, commands, record types, API, setup. The default place to look.</td>\n<td>581</td>\n</tr>\n<tr>\n<td><code>references/guides/</code></td>\n<td>Task-oriented walkthroughs, including integrations (<code>guides/integrations/&lt;vendor&gt;/</code>).</td>\n<td>66</td>\n</tr>\n<tr>\n<td><code>references/solutions/</code></td>\n<td>Worked, copy-pasteable answers to specific problems -- <code>solutions/automations/</code> especially. Adapt one before writing from scratch.</td>\n<td>107</td>\n</tr>\n<tr>\n<td><code>references/tips/</code></td>\n<td>Short single-idea notes.</td>\n<td>23</td>\n</tr>\n<tr>\n<td><code>references/workflows/</code></td>\n<td>Workflow packages and what they do.</td>\n<td>29</td>\n</tr>\n<tr>\n<td><code>references/releases/</code></td>\n<td>Per-version release notes. Where a feature's first appearance is recorded.</td>\n<td>227</td>\n</tr>\n<tr>\n<td><code>references/resources/</code></td>\n<td>Assets and downloads.</td>\n<td>4</td>\n</tr>\n</tbody>\n</table>\n<p>Paths worth going to DIRECTLY rather than searching for, because the name is predictable:</p>\n<ul>\n<li><code>references/docs/automations/commands/&lt;command&gt;.md</code> -- one page per automation command (<code>set.md</code>, <code>record.search.md</code>, ...)</li>\n<li><code>references/docs/scripting/filters.md</code> and <code>functions.md</code> -- indexes, with <code>filters/&lt;name&gt;.md</code> and <code>functions/&lt;name&gt;.md</code> per entry</li>\n<li><code>references/docs/records/types/&lt;type&gt;.md</code> -- one page per record type, listing its API fields, placeholders, search filters, and worklist columns</li>\n<li><code>references/docs/search.md</code> -- the whole search query grammar</li>\n<li><code>references/docs/data-queries/&lt;type&gt;/&lt;name&gt;.md</code> -- one page per data query type</li>\n<li><code>references/docs/kata.md</code> -- the KATA language</li>\n</ul>\n<h2>Every page carries frontmatter, and it is worth using</h2>\n<pre><code>id, title, url, summary, tags\n</code></pre>\n<p>Two things follow from that.</p>\n<p><strong>Survey without opening anything.</strong> <code>find</code> carries frontmatter on every row, so you can read titles and summaries across a whole subtree in one call rather than opening files to find out what they are:</p>\n<pre><code>find references/docs/automations --fields title | files|column(\"meta.title\")\n</code></pre>\n<p><strong><code>url</code> is the public page.</strong> When you tell a worker where something is documented, cite that URL -- it is a link they can open -- rather than a path inside a volume only you can see.</p>\n<p>The <code>summary</code> field is a full abstract, not a sentence fragment. Reading summaries is often enough to pick the right page, and always cheaper than reading the pages.</p>\n<h2>Finding a page</h2>\n<p>The mechanics of <code>search</code>, <code>--terms</code>, <code>find</code> and <code>read --offset/--limit</code> are the <code>terminal</code> skill; read that one if a search comes back empty. Two things specific to this corpus:</p>\n<ul>\n<li>It is over a thousand files, so <strong>search it, do not browse it</strong>. <code>ls</code> on <code>references/docs/</code> tells you almost nothing.</li>\n<li>Search matches with AND. Cerb's documentation is dense with shared vocabulary, so two distinctive words beat five ordinary ones. <code>--terms</code> is how you find out which words this corpus actually uses.</li>\n</ul>\n<p>Then read only what you need: jump to the section, not the whole page.</p>\n<h2>It is read-only, and that is deliberate</h2>\n<p>The volume mirrors what shipped. Do not try to write to it, and do not treat a gap as something to patch locally -- there is nothing here that would survive the next release.</p>\n<p>If the documentation is genuinely missing or wrong, say so to the worker, with the nearest page's <code>url</code> and what you expected to find. Filing it is their call, not yours.</p>\n","files":[{"path":"SKILL.md","sizeBytes":4273,"isText":true}],"reviewScore":null,"reviewSummary":null,"trust":{"provenance":"trusted-source-unreviewed","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow.","bodySource":null},"bodyLocked":false,"purchaseUrl":null,"sourceUrl":null,"report":{"provenance":"trusted-source-unreviewed","screen":{"ran":true,"outcome":"clean","suspicious":0,"notes":0,"hiddenCharacters":false},"virusScan":{"engine":"clamav","status":"clean","scannedAt":"2026-10-16T16:28:14.213461Z","sha256":"94DB82362033D76E1EF4821BDEE26666B184220695D9B832727171A26BB92A19","sizeBytes":2071},"review":null,"source":{"repositoryUrl":"https://github.com/jstanden/cerb","path":"features/cerberusweb.core/assets/agent_filesystems/cerb-agents/skills/docs","license":null,"commit":"cf28b62ee0f67ff993645931568a4e4bbad074f0","subtreeSha":"FECADEC756859DC844485235E050B66C1B971D2DC6F7A1E5AF6097DB109AD05B","lastSyncedAt":"2026-10-16T16:27:56.786317Z"},"reviewedAt":"2026-10-16T16:28:23.724605Z","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow."},"install":[{"target":"skills-cli","command":"npx skills add https://github.com/jstanden/cerb/tree/12.0.x/features/cerberusweb.core/assets/agent_filesystems/cerb-agents/skills/docs"},{"target":"claude-code","command":"claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install jstanden-cerb@llmmart"},{"target":"git","command":"git clone https://github.com/jstanden/cerb.git"}]}