Docsbook
← Back to catalog
creation

docs-from-site

Spin up Markdown docs from any product website URL or live site. Crawls the site, extracts content, and produces a clean docs-output/<name>/ folder — then publishes to GitHub and configures the Docsbook workspace automatically. Use when the user provides a website URL, site URL, or pastes a link and says "from website", "import site", "from URL", "from a live site", "recreate this site's docs", "copy this link", "повтори документацию по ссылке", or "сделай доки по этому сайту".

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-from-site -a claude-code
2. Use
/docs-from-site

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-from-site"

docs-from-site — Build docs from a product website

The actual work is done by the docs-site-crawler subagent (Haiku, pinned model).

Workflow#

  1. Fetch the sitemap first (/sitemap.xml). Fall back to crawling <a href> links from the homepage only if the sitemap is missing.
    • Take the project name from the site's brand — its <title> or og:site_name, normalized (drop taglines like " — Docs"). Use that for the docs-output/<name>/ folder and the workspace display name. Never invent a name; if the brand is unreadable, ask the user.
  2. Prioritize documentation-relevant paths (/docs, /help, /guides, /features) and cap the crawl at ~50 pages.
  3. For each page: strip navigation chrome (<header>, <footer>, <nav>, <aside>) before converting HTML to Markdown.
  4. Extract branding tokens from inline <style> or :root CSS variables (accent color, background, foreground). Detect the color scheme from background luminance. Look for a theme toggle element to decide between pinning the scheme or setting system.
  5. Organize output into a structured folder: intro README, getting-started section, per-feature pages, guides, API reference, and FAQ — only if that content was found.
  6. Write a _branding.json alongside the docs folder.
  7. Preview. Print the folder tree and excerpts from up to 3 representative pages. Ask the user to confirm before publishing: "Does this look right? Type yes to publish, or describe what to change."
  8. Publish. Apply /docs-publish logic — if gh is authenticated and the user confirmed, push to GitHub. If gh is NOT authenticated, stop cleanly with status: crawl_only, print the local path and the command /docs-publish <path> to run after gh auth login. Do not error.
  9. Configure the workspace. Apply /docs-setup-workspace unconditionally after a successful publish — wire branding, UI, navigation, and plan-gated settings via Docsbook MCP. If the MCP transport is unreachable, print the connection command and exit cleanly; the local folder and GitHub URL are already delivered.
  10. Final report. Print the local path, GitHub URL (if published), and Docsbook site URL (if workspace configured).

Guardrails#

Acceptance Criteria#

View source on GitHub →Browse full catalog repo →
Keywords
crawlwebsitesiteextractmarkdowngeneratewebsite-urlfrom-websitesite-urlurlimport-siteproduct-sitelive-siterecreate-site-docscopy-linkповтори-документацию-по-ссылкеfrom-link