dbt-labs/create-docs-skeleton
Scaffold a new skeleton markdown doc for docs.getdbt.com — standard guide, reference page, feature/product page, or release note entry. Use when asked to create a new doc page, scaffold a doc, start a new page, or add a page to the sidebar.
npx skills add https://github.com/dbt-labs/docs.getdbt.com --skill create-docs-skeleton
Scaffold a new docs.getdbt.com markdown page with correct frontmatter and section
structure, then optionally wire it into sidebars.js. All paths below are relative
to the website/ directory (repo root for this project).
docs/docs/dbt-ai/new-feature.md.The user always specifies this — don't infer it.
title, id, description, sidebar_label. Then ask ONLY about the
SEO fields (meta_description / keywords) — don't ask about the rest,
don't skip the defaults.
body): dbt always lowercase, dbt Labs capital L, job titles lowercase,
sentence case headings, "dbt platform" not "dbt Cloud", <Constant> for
product names where one exists in constants.js.
sidebars.js (see below) — ask wherein the tree it belongs (which category), don't guess.
| Type | Frontmatter extras | Body skeleton |
|---|---|---|
| Standard guide | none beyond defaults | ## sections for the task, no special components |
| Reference page | keywords (list) | Property/config table, links to related build docs |
| New feature/product page | tags, availability block | <IntroText>, <Lifecycle status="...">, "Where to access", "Considerations"/FAQ |
| Release note entry | none — appended to existing file, no new frontmatter | Bullet under the current month's ## heading, using New:/Enhancement:/Fix:/Behavior change: prefix |
Verified against real pages in this repo:
docs/docs/dbt-ai/copilot-overview.md (feature page),
docs/reference/semantic-model-properties.md (reference page),
docs/docs/dbt-versions/release-notes.md (release notes).
---
title: "<Title>"
id: "<slug>"
description: "<One-sentence description of what this page covers.>"
sidebar_label: "<Short nav label>"
---
# <Title>
<One-paragraph intro: what this is, who it's for.>
## <First task heading>
<Steps or explanation.>
## <Next task heading>
<Steps or explanation.>
## Related docs
- [<Related page>](<relative-link>)
---
title: "<Title>"
id: "<slug>"
sidebar_label: "<Short nav label>"
description: "<One-sentence description of what this reference covers.>"
keywords:
- <keyword one>
- <keyword two>
---
<One-paragraph intro: what this configures/defines and where it's used, with a
link to the conceptual doc it supports.>
## <Property/section name>
| Field | Type | Required | Description |
|---|---|---|---|
| `field_name` | string | Yes | <what it does> |
## Related docs
- [<Related page>](<relative-link>)
---
title: "<Product/feature name>"
id: "<slug>"
description: "<One-sentence description of what this feature does.>"
sidebar_label: "<Short nav label>"
tags: [<Tag>]
availability:
surface: platform
access: paid_plan
minPlan: <plan>
---
# <Product/feature name>
<IntroText>
<One or two sentences: what it is, the core value.>
</IntroText>
<Lifecycle status="preview" />
## Where to access <feature name>
<Bulleted list of surfaces/entry points, each linking to its own doc.>
## Considerations
- <Prerequisite or limitation.>
- <Prerequisite or limitation.>
Drop <Lifecycle> if the feature is already generally available. Drop the
availability frontmatter block if the feature isn't platform/plan-gated.
Don't create a new file — append to the current month's section in
docs/docs/dbt-versions/release-notes.md. If the current month has no ##
heading yet, add one (## <Month> <Year>) above the previous month's.
- **New:** <What shipped and why it matters. Link to the full doc.>
Use Enhancement:, Fix:, or Behavior change: instead of New:
as appropriate — see the categories defined at the top of that file.
sidebars.js at the repo root nests doc IDs (without .md) inside
items: [...] arrays under type: "category" blocks. Example, from the
"dbt Wizard" category (sidebars.js:392-401):
{
type: "category",
label: "dbt Wizard",
collapsed: true,
link: { type: "doc", id: "docs/platform/wizard-overview" },
items: [
"docs/platform/wizard-overview",
"docs/dbt-ai/wizard-quickstart",
// ... add the new doc id here, e.g.:
"docs/dbt-ai/new-feature",
],
},
To wire in a new page:
"<same path as the file, without .md extension>" to that category'sitems array, in the position the user specifies (or logically, near
related pages).
id in frontmatter should match the filename (without .md) — Docusaurusdoesn't require this, but every real example in this repo does it, and
drift confuses cross-references.
— don't scaffold a standalone file for a release note by mistake.
pagination_next: null / pagination_prev: null only appears onstandalone/landing-style pages (e.g. release-notes.md) — don't add it by
default to a normal guide or reference page; it suppresses the
next/previous nav links.
Take dbt-labs/create-docs-skeleton from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.