Docsbook
← Back to catalog
creation

docs-from-docs

Import existing documentation from Mintlify, GitBook, Docusaurus, Nextra, or VitePress into a clean docs-output/<name>/ folder ready for Docsbook. Preserves structure and content; normalises platform-specific syntax to plain Markdown. Use when migrating away from another docs platform.

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

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-docs"

docs-from-docs — Import from another docs platform

The actual work is done by the docs-platform-importer subagent (Haiku, pinned model) shipped in docs-claude-plugins. This skill is the knowledge base — the subagent is the executor.

Workflow#

  1. Name the project — don't invent it. Take the name from the source repo name, the existing docs site's brand (<title> / og:site_name), or the platform config's title field. Use it for the docs-output/<name>/ folder and the workspace display name. If none is readable, ask the user — never use a placeholder.

  2. Identify the platform. Read the repo root for the marker file:

    Marker Platform
    mint.json / docs.json Mintlify
    SUMMARY.md at root GitBook
    docusaurus.config.js / .ts Docusaurus
    theme.config.tsx + Next.js Nextra
    .vitepress/config.* VitePress
    astro.config.* + @astrojs/starlight Starlight
  3. Read the navigation. Each platform stores nav differently — mint.json#navigation, SUMMARY.md, docusaurus.config.js#sidebars, .vitepress/config.ts#themeConfig.sidebar. Build a flat list of {label, sourcePath} entries in display order.

  4. Copy and normalise pages. For every entry, read the source .md / .mdx and write to docs-output/<name>/<derived-path>.md. Drop platform-specific frontmatter keys that don't translate; keep title, description, slug. Convert:

    • Mintlify <Card>, <CardGroup>, <Accordion>, <Note> → plain Markdown headings + lists, callouts as > **Note:** ...
    • Docusaurus <Tabs>, <TabItem> → headings (### Tab name) with content underneath
    • GitBook {% hint %}> **Hint:** ...; {% tabs %} → headings
    • Nextra <Callout>> **Note:** ...
    • Strip every import line at the top of .mdx files; Docsbook renders plain Markdown.
  5. Rewrite internal links. Replace platform-specific paths (e.g. Docusaurus /docs/intro) with relative paths between output files. Leave external https:// links untouched.

  6. Carry over assets. Copy any static/, public/, or images/ directories referenced by the imported pages into docs-output/<name>/_assets/ and update image src accordingly.

  7. Write _branding.json. Pull colors.primary / theme.accent from the platform config. If absent, leave accentColor out so the workspace configurator skips update_branding.

Guardrails#

Acceptance Criteria#

View source on GitHub →Browse full catalog repo →
Keywords
importmigratemintlifygitbookdocusaurusnextravitepressplatform