[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6BXASB3F728EG6CQZDNTHQV":3,"skill-same:01M6BXASB3F728EG6CQZDNTHQV":52},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":25,"linkOnly":26,"markdownContent":27,"markdownBody":28,"frontMatter":29,"refName":30,"commitSha":31,"skillDirectory":32,"forksCount":33,"repositoryHtmlUrl":34,"repositoryHomepageUrl":35,"ownerHtmlUrl":36,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":37,"install":38,"resources":51},"01M6BXASB3F728EG6CQZDNTHQV","docs-site",null,"Write and edit the public website docs in site\u002Froutes\u002Fdocs (beet.org\u002Fdocs). Covers audience, diataxis mode per page, tone, routing conventions and the code-must-be-real rule. Use when touching site docs pages.","mrchantey\u002Fbeet","mrchantey","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F25616826?v=4","01M6BXAMJ2N7RBWM0HZ0R6QRTV","Pete Hayman","01M6BXAMPVSZ84Q545AHAMT9N8",134,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fmrchantey\u002Fbeet\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fdocs-site\u002FSKILL.md",[],[19,20,21,22,23,24],"docs","site","docs site","routing","code","website","2026-11-10 10:12:30",false,"---\nname: docs-site\ndescription: Write and edit the public website docs in site\u002Froutes\u002Fdocs (beet.org\u002Fdocs). Covers audience, diataxis mode per page, tone, routing conventions and the code-must-be-real rule. Use when touching site docs pages.\n---\n\n# Site docs\n\nHow to write and edit the public website docs in `site\u002Froutes\u002Fdocs`. These are the high-level docs at [beet.org](https:\u002F\u002Fbeet.org\u002Fdocs), distinct from the crate READMEs and the rustdoc API docs.\n\n## Audience\n\nREADMEs are for people already working with the API. The website is for people forming a mental model. Aim higher-level: explain the shape of things and why they fit together, link out to the READMEs and `docs.rs` for detail.\n\n## Diátaxis first\n\nLoad the `docs-diataxis` skill and pick one mode per page before writing. Mixing modes is the main cause of bad docs.\n\n- `docs\u002Findex.md`, `docs\u002Fcrates\u002F*` are **Explanation**: discuss the subject, make connections, give context. Do not instruct.\n- `docs\u002Ftutorials\u002F*` are **Tutorials**: a guided lesson with a visible result at every step. Do not explain, do not offer choices.\n\n## Tone\n\n- **Be cool, not boastful.** No \"beet's central trick\", \"the whole point\", \"that is deliberate\", \"the clearest demonstration\". State what it does and move on. Beet has many good ideas; none of them need a fanfare.\n- **Never neg other stacks.** Other approaches are valid in their own way. Sell beet on its own terms: malleability and the open Bevy world, not on someone else's expense.\n- No em dashes. No mid-sentence line breaks in markdown, only paragraph breaks.\n\n## Conventions\n\n- TOML frontmatter for the title: `+++\\ntitle = \"Foo\"\\n+++`.\n- Every docs page is unlisted until a human has reviewed it: `visibility = \"unlisted\"` in its frontmatter (a `.bsx` page spreads `{PageMeta{visibility: PageVisibility::Unlisted}}` on its root). It serves to whoever holds the url, and appears in no sidebar, sitemap, search index or feed. A new page starts unlisted; only the reviewer removes the line.\n- Routes mirror the file tree under `site\u002Froutes\u002Fdocs`. A new `foo.md` becomes `\u002Fdocs\u002Ffoo`; nested dirs need an `index.md`. The sidebar is auto-collected from the listed pages, no manual wiring.\n- Link internally with absolute paths, eg `\u002Fdocs\u002Fcrates\u002Fbeet_router`.\n- Use language fences (` ```rust `, ` ```sh `) so syntax highlighting works.\n- LLMs love writing text, humans hate reading it. Include exactly what must be there and nothing more. Short code snippets over prose where a snippet says it better.\n\n## Code must be real\n\nA tutorial's contract is that every step works for every reader. Ground all code in something verified:\n\n- Prefer non-`ignore` README doctests and files under `\u002Fexamples` as the basis.\n- Confirm symbols are in the prelude and check the exact feature flags in the root `Cargo.toml` before telling a reader to `cargo add beet --features X`. Default features are `std, ui` only, so most tutorials need to opt in (`action`, `http_server`, `thread`, ...).\n- State real prerequisites up front (eg an `OPENAI_API_KEY` for agent tutorials).\n","# Site docs\n\nHow to write and edit the public website docs in `site\u002Froutes\u002Fdocs`. These are the high-level docs at [beet.org](https:\u002F\u002Fbeet.org\u002Fdocs), distinct from the crate READMEs and the rustdoc API docs.\n\n## Audience\n\nREADMEs are for people already working with the API. The website is for people forming a mental model. Aim higher-level: explain the shape of things and why they fit together, link out to the READMEs and `docs.rs` for detail.\n\n## Diátaxis first\n\nLoad the `docs-diataxis` skill and pick one mode per page before writing. Mixing modes is the main cause of bad docs.\n\n- `docs\u002Findex.md`, `docs\u002Fcrates\u002F*` are **Explanation**: discuss the subject, make connections, give context. Do not instruct.\n- `docs\u002Ftutorials\u002F*` are **Tutorials**: a guided lesson with a visible result at every step. Do not explain, do not offer choices.\n\n## Tone\n\n- **Be cool, not boastful.** No \"beet's central trick\", \"the whole point\", \"that is deliberate\", \"the clearest demonstration\". State what it does and move on. Beet has many good ideas; none of them need a fanfare.\n- **Never neg other stacks.** Other approaches are valid in their own way. Sell beet on its own terms: malleability and the open Bevy world, not on someone else's expense.\n- No em dashes. No mid-sentence line breaks in markdown, only paragraph breaks.\n\n## Conventions\n\n- TOML frontmatter for the title: `+++\\ntitle = \"Foo\"\\n+++`.\n- Every docs page is unlisted until a human has reviewed it: `visibility = \"unlisted\"` in its frontmatter (a `.bsx` page spreads `{PageMeta{visibility: PageVisibility::Unlisted}}` on its root). It serves to whoever holds the url, and appears in no sidebar, sitemap, search index or feed. A new page starts unlisted; only the reviewer removes the line.\n- Routes mirror the file tree under `site\u002Froutes\u002Fdocs`. A new `foo.md` becomes `\u002Fdocs\u002Ffoo`; nested dirs need an `index.md`. The sidebar is auto-collected from the listed pages, no manual wiring.\n- Link internally with absolute paths, eg `\u002Fdocs\u002Fcrates\u002Fbeet_router`.\n- Use language fences (` ```rust `, ` ```sh `) so syntax highlighting works.\n- LLMs love writing text, humans hate reading it. Include exactly what must be there and nothing more. Short code snippets over prose where a snippet says it better.\n\n## Code must be real\n\nA tutorial's contract is that every step works for every reader. Ground all code in something verified:\n\n- Prefer non-`ignore` README doctests and files under `\u002Fexamples` as the basis.\n- Confirm symbols are in the prelude and check the exact feature flags in the root `Cargo.toml` before telling a reader to `cargo add beet --features X`. Default features are `std, ui` only, so most tutorials need to opt in (`action`, `http_server`, `thread`, ...).\n- State real prerequisites up front (eg an `OPENAI_API_KEY` for agent tutorials).\n",{"name":5,"description":7},"main","9b5840ae0d850b477ffc451d20edf49b65c6f6eb",".agents\u002Fskills\u002Fdocs-site",8,"https:\u002F\u002Fgithub.com\u002Fmrchantey\u002Fbeet","https:\u002F\u002Fbeet.org","https:\u002F\u002Fgithub.com\u002Fmrchantey","2026-10-23 10:06:21",{"source":8,"skillName":5,"commands":39,"prompt":49,"zipAvailable":50},[40,43,46],{"tool":41,"command":42},"npx","npx skills add mrchantey\u002Fbeet --skill docs-site",{"tool":44,"command":45},"bunx","bunx skills add mrchantey\u002Fbeet --skill docs-site",{"tool":47,"command":48},"pnpm","pnpm dlx skills add mrchantey\u002Fbeet --skill docs-site","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmrchantey\u002Fbeet\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fdocs-site\u002FSKILL.md",true,[],[53,68,76,96,105,116],{"skillNo":54,"name":55,"nameZh":6,"description":56,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":57,"categories":58,"keywords":59,"publishedAt":25},"01M6BXBJB92PMF5T0GB1GK8CMP","worktree-sync-upstream","Sync a detached-HEAD worktree with its upstream branch in the main repo in both directions, rebasing only owned commits and fast-forwarding upstream, with recovery steps for tangled history and helpers for prose and secrets.toml conflicts. Use from inside a worktree.","https:\u002F\u002Fgithub.com\u002Fmrchantey\u002Fbeet\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fworktree-sync-upstream\u002FSKILL.md",[],[60,61,62,63,64,65,66,67],"worktree sync upstream","worktree","sync","sync upstream","commits","secrets","recovery","fast",{"skillNo":69,"name":70,"nameZh":6,"description":71,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":72,"categories":73,"keywords":74,"publishedAt":25},"01M6BXBGPK0T0YWC85M5AZR59N","worktree-sync-all","Sync the main branch with every worktree in both directions, applying the worktree-sync-upstream skill to each in turn, then levelling them. Use when asked to sync all worktrees.","https:\u002F\u002Fgithub.com\u002Fmrchantey\u002Fbeet\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fworktree-sync-all\u002FSKILL.md",[],[75,61,62],"worktree sync all",{"skillNo":77,"name":78,"nameZh":6,"description":79,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":80,"categories":81,"keywords":87,"publishedAt":25},"01M6BXBE53M9HRGTWNB1W9VKAT","test-the-works","Maximal project health pass. Run core tests, all tests, the example smoke set, the rsx_site verification and every downstream repo in sequence, fixing every failure and warning surfaced along the way. Use when asked to run 'the works' or fully verify the project.","https:\u002F\u002Fgithub.com\u002Fmrchantey\u002Fbeet\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Ftest-the-works\u002FSKILL.md",[82],{"categoryNo":83,"categoryName":84,"taxonomyType":85,"taxonomyTypeDesc":86},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[88,89,90,91,20,92,93,94,95],"test the works","test","run","core","health","verify","SET","verification",{"skillNo":97,"name":98,"nameZh":6,"description":99,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":100,"categories":101,"keywords":103,"publishedAt":25},"01M6BXBBRK6XD63BKX60WKFDCW","test-run","Run the core test suite (just test-core) to a clean, warning-free pass, with recipes for hanging tests and mold linker flakes. Use when asked to run or fix the test suite.","https:\u002F\u002Fgithub.com\u002Fmrchantey\u002Fbeet\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Ftest-run\u002FSKILL.md",[102],{"categoryNo":83,"categoryName":84,"taxonomyType":85,"taxonomyTypeDesc":86},[104,90,89,91],"test run",{"skillNo":106,"name":107,"nameZh":6,"description":108,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":112,"publishedAt":25},"01M6BXB90ZEVHBM1R3C4Y95J3X","test-examples","Run the workspace example smoke set to catch regressions unit tests miss, covering every feature gate combination with self-terminating examples and curl-probed servers. Use when asked to run or verify the examples.","https:\u002F\u002Fgithub.com\u002Fmrchantey\u002Fbeet\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Ftest-examples\u002FSKILL.md",[111],{"categoryNo":83,"categoryName":84,"taxonomyType":85,"taxonomyTypeDesc":86},[113,89,114,94,93,115,90],"examples","test examples","unit tests",{"skillNo":117,"name":118,"nameZh":6,"description":119,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":120,"categories":121,"keywords":123,"publishedAt":25},"01M6BXB6QDY5NH0TMHWTCXX0C2","test-dependency-audit","Audit every crate's Cargo.toml for unused, duplicate or misplaced dependencies, moving shared deps to the workspace and feature-gating where sensible. Use when asked to audit or slim dependencies.","https:\u002F\u002Fgithub.com\u002Fmrchantey\u002Fbeet\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Ftest-dependency-audit\u002FSKILL.md",[122],{"categoryNo":83,"categoryName":84,"taxonomyType":85,"taxonomyTypeDesc":86},[124,89,125,126,127],"audit","dependency audit","test dependency audit","deps"]