Skills for setting up and customizing Astro Starlight documentation sites, covering project setup, custom theming, and component overrides.
100
100%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Prompt: "How do I replace the Starlight footer with my own custom footer?"
Expected outputs:
src/components/CustomFooter.astro with custom markupFooter: './src/components/CustomFooter.astro' in components: {} in astro.config.mjsSuccess criteria:
'./src/...' not '/src/...')Footer as key in components: {}astro.config.mjs shows full integration registrationPrompt: "I want to add an announcement banner above the Starlight header without replacing it."
Expected outputs:
Default from @astrojs/starlight/components/Header.astro<Default><slot /></Default><slot /> inside <Default>Success criteria:
<slot /> present inside <Default><Default> callPrompt: "How do I access the current page's title inside a custom Starlight component?"
Expected outputs:
Astro.locals.starlightRoute.entry.data.titleAstro.props.titleSuccess criteria:
Astro.locals.starlightRoute path usedAstro.props approach not suggestedPrompt: "How do I show an upgrade notice banner on all pages under /guides/ but not elsewhere?"
Expected outputs:
Astro.locals.starlightRoute.id.startsWith('guides/')<Default><slot /></Default>Success criteria:
starlightRoute.id used for condition check<slot /> included in <Default>TwoColumnContent without losing the right sidebarPrompt: "I need to wrap TwoColumnContent but the right sidebar disappeared. What did I do wrong?"
Expected outputs:
<slot name="right-sidebar" slot="right-sidebar" />Success criteria:
<slot name="right-sidebar" slot="right-sidebar" /><slot /> and named slot includedPrompt: "I have a custom PageTitle component but Astro.props.title is undefined. Why?"
Expected outputs:
Astro.locals.starlightRoute.entry.data.titleSuccess criteria:
Astro.locals.starlightRoute.entry.data path shownPrompt: "I created Footer.astro and put it in src/components/ but the default footer still shows. I didn't register anything in config. Is naming it Footer.astro enough?"
Expected outputs:
Footer: './src/components/Footer.astro' in components: {} in astro.config.mjsSuccess criteria:
components: {} registration shown