Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Writing and maintaining the Sidecar Docusaurus documentation site, including page structure, doc authoring, blog posts, styling, images, and deployment workflow. Use when writing documentation, updating the docs site, adding pages or blog posts, or working with Docusaurus configuration.
.claude/skills/marcus-sidecar-website/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 71% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 81% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 42% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 272% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 24% | 0% |
The documentation site lives in website/. It uses Docusaurus with Node.js >= 20.
bashcd website npm install # First time only npm start # Dev server at http://localhost:3000
website/
├── docs/ # Markdown documentation pages
├── blog/ # Blog posts (date-prefixed markdown)
│ ├── authors.yml # Blog author definitions
│ └── tags.yml # Blog tag definitions
├── src/
│ ├── pages/ # Custom React pages (non-docs)
│ │ ├── index.js # Front page (/)
│ │ └── index.module.css
│ ├── components/ # Reusable React components
│ └── css/
│ └── custom.css # Global style overrides
├── static/ # Static assets (copied as-is to build)
│ └── img/ # Images
├── docusaurus.config.js # Main site configuration
├── sidebars.js # Docs sidebar structure
└── package.json... placeholdersAdd a Markdown file in website/docs/ with YAML frontmatter:
markdown--- sidebar_position: 2 title: My New Page --- # My New Page Content here. Supports **Markdown** and MDX.
Frontmatter options:
sidebar_position: Order in sidebar (lower = higher)sidebar_label: Override sidebar texttitle: Page titledescription: Meta description for SEOslug: Custom URL pathmarkdown# Plugin Name One-line description.  ## Overview Brief explanation of UI layout and core purpose. ## Feature Section Description with keyboard shortcut table: | Key | Action | |-----|--------| | `s` | Stage file | | `d` | View diff | ## Navigation How to move around. ## Command Reference Complete shortcut list by context.
docs/
├── intro.md
├── guides/
│ ├── _category_.json # Folder metadata
│ ├── installation.md
│ └── configuration.md_category_.json controls folder appearance:
json{ "label": "Guides", "position": 2, "collapsible": true, "collapsed": false }
Auto-generates from docs/ folder structure. To customize, edit sidebars.js:
javascriptconst sidebars = { tutorialSidebar: [ 'intro', { type: 'category', label: 'Guides', items: ['guides/installation', 'guides/usage'], }, ], };
Docs support MDX (Markdown + JSX):
mdximport Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; <Tabs> <TabItem value="npm">npm install</TabItem> <TabItem value="yarn">yarn add</TabItem> </Tabs>
The front page is at website/src/pages/index.js -- a React component using Docusaurus Layout and theming.
jsxexport default function Home() { return ( <Layout title="Home" description="..."> <HomepageHeader /> <main className="container"> {/* Add content here */} </main> </Layout> ); }
Styling: index.module.css for page-specific, src/css/custom.css for global overrides.
Website doc screenshots (for pages in website/docs/):
docs/screenshots/ (project root)README / repo doc screenshots:
docs/screenshots/ (project root) (from repo root)General website images (logos, icons):
website/static/img/In JSX:
jsximport screenshot from '@site/static/img/logo.png'; <img src={screenshot} alt="Logo" />
Date-prefixed Markdown files in blog/:
markdown--- slug: my-post title: Post Title authors: [default] tags: [announcement, release] --- Preview text shown in list. <!-- truncate --> Full content below the fold.
Never use emoji in site content, components, or documentation. Use Lucide icons instead.
The site uses Lucide icon font (CDN import in docusaurus.config.js).
jsx<i className="icon-terminal" /> <i className="icon-check" /> <i className="icon-git-branch" />
Common icons: icon-eye, icon-terminal, icon-rocket, icon-check, icon-copy, icon-external-link, icon-git-branch, icon-zap, icon-keyboard, icon-layers, icon-code.
Browse all: https://lucide.dev/icons
JetBrains Mono, Google Sans Code)bashcd website npm run build # Outputs to website/build/ npm run serve # Preview built site locally
Deploys automatically via GitHub Actions when changes to website/ merge to main.
.github/workflows/deploy-docs.yml -- Deploys to GitHub Pages.github/workflows/test-docs.yml -- Validates PR builds| Task | Steps | |------|-------| | Add docs section | Create folder in website/docs/, add _category_.json, add Markdown files | | Change theme colors | Edit src/css/custom.css (:root and [data-theme='dark'] variables) | | Add custom component | Create in src/components/MyComponent/index.js, import with @site/src/components/MyComponent |
onBrokenLinks: 'throw'. Temporarily change to 'warn' for local dev.npm run clear && npm startbaseUrl matches repo name (/sidecar/).For detailed site configuration (navbar, footer, theme config, future compatibility), see references/site-configuration.md.
Other measured skills in the registry, with their headline benchmark lift.