Docsbook
← Back to catalog
creation

docs-first-run-enrichment

Make a freshly-generated docs site rich and on-brand instead of a bare skeleton. Bundles two passes in sequence — (1) auto-brand from the source project's real signals (README, website theme-color, og:image, logo/favicon, repo name), and (2) enriched-structure generation that produces a multi-section site (getting-started, concepts, guides, reference, hero/landing) from audience, style-tone, content-type, and navigation heuristics. Run during first-generation, before publishing. Pair with docs-create.

Install & use this skill

Pick your AI client — install this single skill and call it.

1. Install
npx skills add Docsbook-io/docs-skills --skill docs-first-run-enrichment -a claude-code
2. Use
/docs-first-run-enrichment

Invoke as a slash command in chat.

Or: runtime discovery via Docsbook MCP

Already connected to the Docsbook MCP server? Skip install — ask your agent to load this skill on demand.

@docsbook find_skill "docs-first-run-enrichment"

docs-first-run-enrichment — Rich + Auto-Branded First Generation

The problem this skill solves: a freshly-generated docs site produced by bare defaults looks like a skeleton — one or two thin pages, no visible brand, generic typography. This skill runs before the docs are published and wires two passes together so the first thing the user sees is a sellable site, not a stub.

Pass 1 — auto-brand from the source. Extract real brand signals from whatever the user gave as source (URL, GitHub repo, description). Apply the derived branding to the workspace if one is connected; otherwise write the values into the docs config / theme files. No invented colors.

Pass 2 — enriched structure generation. Decide on a multi-section outline derived from what the crawl found, then generate each section with the right content type (Diátaxis-aware), audience fit, style/tone, and navigation links wired between pages.


When to use this skill#

Load it automatically during first-time docs generation:

Skip it (or skip Pass 1 only) when:


Pass 1 — Auto-brand from the source#

1.1 Collect brand signals#

Gather these in order; stop once you have enough (anchor color + name):

Source What to pull How
Source website URL theme-color meta, og:image, <title> / og:site_name, favicon href Fetch the product's website and extract these branding signals
GitHub repo README brand mentions (hex codes, "our teal/blue/…"), package.json name + description, social preview image Read the repo's README and metadata for brand signals (file read / GitHub API)
Workspace current branding accent_color, logo_url, icon_url, custom_name — anything already set by a human Read current workspace branding, if a Docsbook workspace is connected
Logo/icon URL Dominant non-neutral color Describe by hex from the visible hue if the URL is an SVG/PNG you can read

Record every signal with its source string. A missing signal is noted as missing — never filled with a guess.

1.2 Derive the palette (one pass, no ask)#

On first-run, apply the best available palette silently (no ask_user). The user will see the result immediately; they can refine it after. Follow the methodology from docs-branding:

  1. Anchor color = site theme-color → logo dominant color → README hex → none (skip color update if no signal).
  2. Light-mode accent = anchor color, sanity-checked for WCAG 2.1 AA (≥ 4.5:1 against white). If it fails, lighten the lightness until it passes; keep the hue.
  3. Muted companion = same hue, saturation dropped to ~20 %, lightness pushed toward the background. Not a second accent.
  4. Dark-mode accent = anchor with lightness raised to stay legible on near-black (target 4.5:1 against #0b0d10).
  5. Foreground / background = #111827 / #ffffff light; #e5e7eb / #0b0d10 dark — unless the brand uses a tinted surface.
  6. Font = leave unchanged unless the repo README or website CSS explicitly names a Google Font.
  7. custom_name = site brand name → GitHub repo name (the part after /). Only set if not already set.

Apply the derived branding to the workspace (if a Docsbook workspace is connected); otherwise write the derived fields into the docs config / theme files. Echo what was set and from which signal.

1.3 Logo / favicon#

If og:image or a favicon URL was found during the crawl:

If neither is available, skip — do not fabricate URLs.


Pass 2 — Enriched multi-section structure#

2.1 Decide the section outline#

Before generating any pages, derive the structure from what the crawl returned:

Signal Sections to include
GitHub repo with README + source code Getting Started, Core Concepts, Guides (at least 2 topics), API Reference stub
Website with marketing copy Hero / Overview page, Getting Started, Core Concepts, one or two How-To guides
Plain description / idea only Hero / Overview, Getting Started, Core Concepts
Existing docs site (Mintlify, GitBook, etc.) Mirror the source structure; add any missing Diátaxis types

Minimum output for a "sellable" first generation:

Do NOT generate these sections if the crawl found no relevant content for them. A well-scoped 3-page site is better than 5 thin stubs.

2.2 Generate each section with Diátaxis discipline#

For every page, follow the content-type rule for that section:

Hero / index page (not a pure Diátaxis type — landing)

Getting Started (tutorial)

Concepts / Core Concepts (explanation)

Guide (how-to)

Reference (reference)

2.3 Style and tone pass (inline, not a separate step)#

Apply while writing each page:

Every page must:

The index / hero page links to every section. Every leaf page links back to the hero and to at least one sibling.


Guardrails#


Inputs#

Acceleration (optional). If a Docsbook workspace is connected, the derived branding can be applied to it directly. Without it, write the values into your docs config / theme files.


Output contract#

After running both passes, report in a single message:

Auto-brand applied:
  • custom_name: <value> (from <source>)
  • accent_color: <hex> (from <source>, WCAG ratio <n>:1 ✓)
  • muted_color: <hex>
  • icon_url: <url> (from <source>) [or: skipped — no favicon found]
  • logo_url: <url> [or: skipped]

Generated structure:
  • index.md — hero/overview
  • getting-started.md — tutorial (N steps)
  • concepts.md — explanation
  • guides/<topic>.md — how-to
  [list each page with type + line count]

Ready to commit. [If auto-mode OFF: approve or adjust before committing.]

View source on GitHub →Browse full catalog repo →
Keywords
first-runbrandingenrichmentmulti-sectionheroauto-brandgenerationsellable