PluginBench
Skill
Pass
Audit score 90

mintlify

codewithshreyans/skills

Comprehensive reference for building and configuring Mintlify documentation sites.

What is mintlify?

Mintlify is a documentation platform for creating professional docs sites with MDX, components, and API references. Use this skill when creating pages, configuring docs.json, adding components, setting up navigation, or working with API documentation.

  • Create and format MDX documentation pages with YAML frontmatter
  • Configure site structure, theme, colors, and appearance via docs.json
  • Add interactive components (callouts, tabs, cards, accordions, code groups, steps)
  • Set up navigation including groups, tabs, products, versions, and API references
  • Build API documentation from OpenAPI/AsyncAPI specifications
  • Validate links, accessibility, and documentation builds

How to install mintlify

npx skills add https://github.com/codewithshreyans/skills --skill mintlify
Prerequisites
  • Mintlify CLI installed (npm i -g mint)
  • Existing Mintlify project with docs.json configuration file
  • Basic familiarity with MDX and YAML syntax
Claude Code
Cursor
Windsurf
Cline

How to use mintlify

  1. 1.Read the project's docs.json file to understand current site configuration
  2. 2.Search for existing similar pages to match voice and structure
  3. 3.Create or edit .mdx files in the appropriate directory with required title frontmatter
  4. 4.Use root-relative paths for internal links (e.g., /section/page without .mdx extension)
  5. 5.Add new pages to docs.json navigation so they appear in the sidebar
  6. 6.Run mint dev to preview changes locally at localhost:3000
  7. 7.Use mint broken-links to validate internal links before publishing

Use cases

Good for
  • Creating a new documentation site from scratch with custom branding and navigation
  • Adding interactive code examples and multi-language tabs to API documentation
  • Configuring site-wide settings like theme colors, fonts, and navbar/footer
  • Setting up versioned or multi-product documentation with language support
  • Converting OpenAPI specifications into interactive API reference pages
Who it's for
  • Documentation engineers and technical writers
  • API documentation maintainers
  • Product teams building developer-facing docs
  • Open source project maintainers

mintlify FAQ

What file format does Mintlify use?

Mintlify uses MDX files (.mdx or .md) with YAML frontmatter. The project structure requires a docs.json configuration file, optional openapi.yml for API specs, and an images/ directory for static assets.

How do I add a new page to my documentation?

Create a new .mdx file in the appropriate directory with required title frontmatter, then add it to the navigation section in docs.json. Use kebab-case for file names and root-relative paths for internal links.

What components are available for documentation?

Mintlify provides 24+ components including callouts (Note, Info, Tip, Warning, Check, Danger), Steps, Tabs, CodeGroup, Cards, Columns, Accordions, and specialized components like Frames, Tooltips, Badges, Trees, and Mermaid diagrams.

How do I set up API documentation?

Use the reference/api-docs.md file for detailed guidance. You can reference OpenAPI or AsyncAPI specifications in docs.json, create interactive API pages with the api frontmatter field, or write manual MDX API documentation.

What CLI commands are available?

Key commands include: mint dev (local preview), mint broken-links (validate links), mint a11y (check accessibility), mint validate (verify build), and mint upgrade (convert from mint.json to docs.json).

Full instructions (SKILL.md)

Source of truth, from codewithshreyans/skills.


name: mintlify description: Comprehensive reference for building Mintlify documentation sites. Use when creating pages, configuring docs.json, adding components, setting up navigation, or working with API references. Routes to detailed reference files for all components and configuration options. license: MIT compatibility: Works with any Mintlify documentation project. Requires docs.json configuration file. metadata: author: Mintlify url: https://mintlify.com version: "0.2"

Mintlify reference

Reference for building documentation with Mintlify. This file covers essentials that apply to every task. For detailed reference on specific topics, read the files listed in the reference index below.

Reference index

Read these files only when your task requires them. They are in the reference/ directory next to this file. To find them, look in the same directory as this skill file (e.g., .claude/skills/mintlify/reference/).

FileWhen to read
reference/components.mdAdding or modifying components (callouts, cards, steps, tabs, accordions, code groups, fields, frames, icons, tooltips, badges, trees, mermaid, panels, prompts, colors, tiles, updates, views).
reference/configuration.mdChanging docs.json settings (theme, colors, logo, fonts, appearance, navbar, footer, banner, redirects, SEO, integrations, API config). Also covers snippets, hidden pages, .mintignore, custom CSS/JS, and the complete frontmatter fields table.
reference/navigation.mdModifying site navigation structure (groups, tabs, anchors, dropdowns, products, versions, languages, OpenAPI in nav).
reference/api-docs.mdSetting up API documentation (OpenAPI, AsyncAPI, MDX manual API pages, extensions, playground config).

Before you start

Read the project's docs.json file first. It defines the site's navigation, theme, colors, and configuration.

Search for existing content before creating new pages. You may need to update an existing page, add a section, or link to existing content rather than duplicating.

Read 2-3 similar pages to match the site's voice, structure, and formatting.

File format

Mintlify uses MDX files (.mdx or .md) with YAML frontmatter.

project/
├── docs.json           # Site configuration (required)
├── index.mdx
├── quickstart.mdx
├── guides/
│   └── example.mdx
├── openapi.yml         # API specification (optional)
├── images/             # Static assets
│   └── example.png
└── snippets/           # Reusable components
    └── component.jsx

File naming

  • Match existing patterns in the directory
  • If no existing files or mixed file naming patterns, use kebab-case: getting-started.mdx
  • Add new pages to docs.json navigation or they won't appear in the sidebar

Internal links

  • Use root-relative paths without file extensions: /getting-started/quickstart
  • Do not use relative paths (../) or absolute URLs for internal pages

Images

Store images in an images/ directory. Reference with root-relative paths. All images require descriptive alt text.

![Dashboard showing analytics overview](/images/dashboard.png)

Page frontmatter

Every page requires title in its frontmatter. Include description and keywords for SEO.

---
title: "Clear, descriptive title"
description: "Concise summary for SEO and navigation."
keywords: ["relevant", "search", "terms"]
---

Common frontmatter fields

FieldTypeRequiredDescription
titlestringYesPage title in navigation and browser tabs.
descriptionstringNoBrief description for SEO. Displays under the title.
sidebarTitlestringNoShort title for sidebar navigation.
iconstringNoLucide, Font Awesome, or Tabler icon name. Also accepts a URL or file path.
tagstringNoLabel next to page title in sidebar (e.g., "NEW").
hiddenbooleanNoRemove from sidebar. Page still accessible by URL.
modestringNoPage layout: default, wide, custom, frame, center.
keywordsarrayNoSearch terms for internal search and SEO.
apistringNoAPI endpoint for interactive playground (e.g., "POST /users").
openapistringNoOpenAPI endpoint reference (e.g., "GET /endpoint").

Quick component reference

Below are the most commonly used components. For full props and all 24 components, read reference/components.md.

Callouts

<Note>Supplementary information, safe to skip.</Note>
<Info>Helpful context such as permissions or prerequisites.</Info>
<Tip>Recommendations or best practices.</Tip>
<Warning>Potentially destructive actions or important caveats.</Warning>
<Check>Success confirmation or completed status.</Check>
<Danger>Critical warnings about data loss or breaking changes.</Danger>

Steps

<Steps>
  <Step title="First step">
    Instructions for step one.
  </Step>
  <Step title="Second step">
    Instructions for step two.
  </Step>
</Steps>

Tabs and code groups

<Tabs>
  <Tab title="npm">
    ```bash
    npm install package-name
    ```
  </Tab>
  <Tab title="yarn">
    ```bash
    yarn add package-name
    ```
  </Tab>
</Tabs>
<CodeGroup>

```javascript example.js
const greeting = "Hello, world!";
greeting = "Hello, world!"
</CodeGroup> ```

Cards and columns

<Columns cols={2}>
  <Card title="First card" icon="rocket" href="/quickstart">
    Card description text.
  </Card>
  <Card title="Second card" icon="book" href="/guides">
    Card description text.
  </Card>
</Columns>

Use <Columns> to arrange cards (or other content) in a grid. cols accepts 1-4.

Accordions

<AccordionGroup>
  <Accordion title="First section">Content one.</Accordion>
  <Accordion title="Second section">Content two.</Accordion>
</AccordionGroup>

CLI commands

  • npm i -g mint — Install the Mintlify CLI.
  • mint dev — Local preview at localhost:3000.
  • mint broken-links — Check internal links.
  • mint a11y — Check for accessibility issues.
  • mint validate — Validate documentation builds.
  • mint upgrade — Upgrade from mint.json to docs.json.

Writing standards

  • Second-person voice ("you").
  • Active voice, direct language.
  • Sentence case for headings ("Getting started", not "Getting Started").
  • Sentence case for code block titles.
  • All code blocks must have language tags.
  • All images must have descriptive alt text.
  • No marketing language, filler phrases, or emoji.
  • Keep code examples simple, practical, and tested.

Common mistakes

  • Missing language tag on a code block (use ```python, not ```).
  • Using relative paths (../page) instead of root-relative (/section/page).
  • Forgetting to add new pages to docs.json navigation.
  • Images without alt text.
  • Adding file extensions to internal links (/page.mdx instead of /page).