AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
This skill provides a structured reference for developing documentation sites with Mintlify. It covers the essential workflow for creating pages, configuring site settings via docs.json, managing navigation, and implementing API documentation. It includes guidelines for file organization, frontmatter usage, and writing standards, alongside a complete reference for CLI commands and MDX components.
What it does
- Provides guidance on configuring site settings, themes, and navigation structures.
- Details the use of MDX components like callouts, tabs, cards, and code groups.
- Outlines standards for page frontmatter, internal linking, and image accessibility.
- Lists CLI commands for local development, site validation, and content quality checks.
- Explains how to integrate API documentation using OpenAPI specifications.
- Offers instructions for accessing site analytics and managing authentication.
When to use it
- When initializing a new Mintlify documentation project.
- When adding new pages or restructuring existing site navigation.
- When implementing or updating API reference documentation.
- When troubleshooting site configuration or build errors.
- When performing quality assurance checks like link validation or accessibility audits.
Advantages
- Centralizes configuration and component syntax for consistent documentation.
- Provides clear standards for maintaining documentation quality and structure.
- Facilitates efficient site management through integrated CLI command references.
- Ensures proper integration of interactive API playgrounds and documentation.
Usage examples
- “How do I add a new page to my Mintlify site?”
- The agent explains creating an MDX file, adding the required frontmatter, and updating the docs.json navigation file to ensure the page appears in the sidebar.
- “Show me how to use a tabbed code block.”
- The agent provides the correct Tabs and Tab component syntax to display multiple code snippets in a single block.
- “How can I check my documentation for broken links?”
- The agent provides the mint broken-links command and explains the available flags for checking anchors and external URLs.
- “What are the required fields for page frontmatter?”
- The agent lists the required title field and optional fields like description, icon, and hidden status for SEO and navigation control.
Install
Download the skill as a ZIP:
https://mp-staging.autogineer.com/agent-skills/cline/mintlify/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip mintlify.zip -d .agents/skills
Documentation by Cline
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.
| File | When to read |
|---|---|
reference/components.md | Adding 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.md | Changing 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.md | Modifying site navigation structure (groups, tabs, anchors, dropdowns, products, versions, languages, OpenAPI in nav). |
reference/api-docs.md | Setting 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.jsxFile naming
Match existing patterns in the directory
If no existing files or mixed file naming patterns, use kebab-case:
getting-started.mdxAdd new pages to
docs.jsonnavigation or they won't appear in the sidebar
Internal links
Use root-relative paths without file extensions:
/getting-started/quickstartDo 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.
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
| Field | Type | Required | Description |
|---|---|---|---|
title | string | Yes | Page title in navigation and browser tabs. |
description | string | No | Brief description for SEO. Displays under the title. |
sidebarTitle | string | No | Short title for sidebar navigation. |
icon | string | No | Lucide, Font Awesome, or Tabler icon name. Also accepts a URL or file path. |
tag | string | No | Label next to page title in sidebar (e.g., "NEW"). |
hidden | boolean | No | Remove from sidebar. Page still accessible by URL. |
mode | string | No | Page layout: default, wide, custom, frame, center. |
keywords | array | No | Search terms for internal search and SEO. |
api | string | No | API endpoint for interactive playground (e.g., "POST /users"). |
openapi | string | No | OpenAPI 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
Install the CLI with npm i -g mint.
Local development
mint dev— Start local preview at localhost:3000.--no-openskips browser launch.--groups <names>mocks user groups.mint validate— Strict build validation; exits non-zero on warnings or errors.mint export— Export a static site zip for air-gapped deployment.--output <file>sets the output path (default:export.zip).
Content quality
mint broken-links— Check for broken internal links.--check-anchorsvalidates#anchors.--check-externalchecks external URLs.--check-snippetschecks links inside<Snippet>components.mint a11y— Accessibility checks (alt text, color contrast).--skip-contrastor--skip-alt-textto narrow scope.
Analytics
mint analytics stats— KPI numbers (views, visitors, searches). Options:--subdomain,--from,--to,--format(table/plain/json/graph),--agents/--humansto filter traffic,--pageto filter to one path.mint analytics search— Search analytics.--queryfilters by search term substring.mint analytics feedback— Feedback analytics.--type(code or page).mint analytics conversation list— List assistant conversations.mint analytics conversation view <id>— View a single conversation.mint analytics conversation buckets list— List conversation category buckets.mint analytics conversation buckets view <id>— View conversations in a bucket.
Authentication
mint login— Authenticate your Mintlify account.mint logout— Log out of your account.mint status— Show current authentication status.
Configuration
mint config set <key> <value>— Persist a config value. Valid keys:subdomain,dateFrom,dateTo.mint config get <key>— Read a stored config value.mint config clear <key>— Remove a stored config value.
Project setup
mint new [directory]— Scaffold a new Mintlify docs site.--themeand--nameset initial config.mint workflow— Add a workflow to the docs repository.
Maintenance
mint update— Update the CLI to the latest version.mint version— Show installed CLI and client versions.
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.jsonnavigation.Images without alt text.
Adding file extensions to internal links (
/page.mdxinstead of/page).
Files
- ATTRIBUTION.mdAdded by AutoGineer822 B
- LICENSELicence file added by AutoGineer10.5 KiB
- SKILL.md8.5 KiB
- reference/api-docs.md2.0 KiB
- reference/components.md10.6 KiB
- reference/configuration.md10.9 KiB
- reference/navigation.md5.6 KiB
reference/configuration.md
Configuration reference
Full docs.json settings, snippets, hidden pages, and custom CSS/JS.
docs.json
The docs.json file controls the entire site. Required fields: theme, name, colors.primary, and navigation.
{
"$schema": "https://mintlify.com/docs.json",
"theme": "mint",
"name": "Your Docs",
"colors": {
"primary": "#3B82F6"
},
"navigation": {
"groups": [
{
"group": "Getting started",
"pages": ["index", "quickstart"]
}
]
}
}Complete frontmatter fields
The SKILL.md file lists common frontmatter fields. Here is the complete set:
| Field | Type | Required | Description |
|---|---|---|---|
title | string | Yes | Page title in navigation and browser tabs. |
description | string | No | Brief description for SEO. Displays under the title. |
sidebarTitle | string | No | Short title for sidebar navigation. |
icon | string | No | Lucide, Font Awesome, or Tabler icon name. Also accepts a URL or file path. |
iconType | string | No | Font Awesome icon style: regular, solid, light, thin, sharp-solid, duotone, brands. |
tag | string | No | Label next to page title in sidebar (e.g., "NEW"). |
hidden | boolean | No | Remove from sidebar. Page still accessible by URL. |
noindex | boolean | No | Prevent search engine indexing. |
mode | string | No | Page layout: default, wide, custom, frame, center. |
keywords | array | No | Search terms for internal search and SEO. |
api | string | No | API endpoint for interactive playground (e.g., "POST /users"). |
openapi | string | No | OpenAPI endpoint reference (e.g., "GET /endpoint"). |
url | string | No | External URL. Makes the nav entry link externally. |
timestamp | boolean | No | Override global timestamp setting for this page. |
Page modes
Control page layout with the mode frontmatter field.
# Default: standard layout with sidebar and table of contents
---
title: "Page title"
---
# Wide: hides table of contents for extra horizontal space
---
title: "Page title"
mode: "wide"
---
# Custom: blank canvas, only top navbar visible
---
title: "Page title"
mode: "custom"
---
# Frame: like custom but keeps sidebar (Aspen, Almond, and Luma themes only)
---
title: "Page title"
mode: "frame"
---
# Center: removes sidebar and TOC, centers content (Mint and Linden themes only)
---
title: "Page title"
mode: "center"
---Theme
One of: mint, maple, palm, willow, linden, almond, aspen, sequoia, luma.
| Theme | Character |
|---|---|
mint | Classic, time-tested |
maple | Modern, clean, good for AI/SaaS |
palm | Sophisticated, fintech-focused |
willow | Stripped-back, minimal |
linden | Retro terminal, monospace |
almond | Card-based, minimalist |
aspen | Modern, supports complex navigation |
sequoia | Minimal, elegant, large-scale content |
Colors
"colors": {
"primary": "#3B82F6",
"light": "#F8FAFC",
"dark": "#0F172A"
}primary(required): Main color, generally for emphasis in light mode.light: Color for emphasis in dark mode.dark: Color for buttons and hover states.
All values must be hex codes starting with #.
Logo
"logo": {
"light": "/logo/light.svg",
"dark": "/logo/dark.svg",
"href": "https://example.com"
}Favicon
Single file or light/dark variants:
"favicon": "/favicon.ico""favicon": {
"light": "/favicon.png",
"dark": "/favicon-dark.png"
}Icons
"icons": {
"library": "lucide"
}Options: lucide or fontawesome. You can only use one library per project. Individual icons can still use URLs or file paths regardless of this setting.
Fonts
"fonts": {
"family": "Inter"
}Google Fonts load automatically by family name. For custom fonts:
"fonts": {
"family": "CustomFont",
"source": "/fonts/CustomFont.woff2",
"format": "woff2",
"weight": 400,
"heading": {
"family": "HeadingFont",
"weight": 700
},
"body": {
"family": "BodyFont",
"weight": 400
}
}Appearance
"appearance": {
"default": "system",
"strict": false
}default:"system","light", or"dark".strict: Settrueto hide the light/dark mode toggle.
Background
"background": {
"image": {
"light": "/bg-light.svg",
"dark": "/bg-dark.svg"
},
"decoration": "gradient",
"color": {
"light": "#FFFFFF",
"dark": "#000000"
}
}decoration:"gradient","grid", or"windows".
Styling
"styling": {
"eyebrows": "breadcrumbs",
"latex": true,
"codeblocks": {
"theme": {
"light": "github-light",
"dark": "github-dark"
}
}
}eyebrows:"section"(default) or"breadcrumbs".latex: Override automatic LaTeX detection.codeblocks:"system"(default),"dark", a Shiki theme name, or an object withlight/darkthemes.
Navbar
"navbar": {
"links": [
{
"label": "Community",
"href": "https://example.com/community"
},
{
"type": "github",
"href": "https://github.com/example/repo"
}
],
"primary": {
"type": "button",
"label": "Get Started",
"href": "https://example.com/start"
}
}Link types: omit type for standard text link, "github" for repo with star count, "discord" for server with online count.
Primary button types: "button", "github", "discord".
Footer
"footer": {
"socials": {
"x": "https://x.com/example",
"github": "https://github.com/example",
"linkedin": "https://linkedin.com/company/example"
},
"links": [
{
"header": "Resources",
"items": [
{ "label": "Blog", "href": "https://example.com/blog" }
]
}
]
}Valid social keys: x, website, facebook, youtube, discord, slack, github, linkedin, instagram, hacker-news, medium, telegram, bluesky, threads, reddit, podcast.
Banner
"banner": {
"content": "Version 2.0 is live! [Learn more](/changelog)",
"dismissible": true
}Supports basic Markdown in content (links, bold, italic). Language-specific banners can be set inside the navigation.languages entries.
Redirects
"redirects": [
{
"source": "/old-page",
"destination": "/new-page",
"permanent": true
}
]Metadata
"metadata": {
"timestamp": true
}Shows "Last modified on [date]" on all pages. Override per-page with timestamp frontmatter.
Interaction
"interaction": {
"drilldown": false
}Controls whether clicking a navigation group navigates to its first page (true) or only expands/collapses (false).
SEO
"seo": {
"metatags": {
"canonical": "https://docs.example.com",
"og:locale": "en_US"
},
"indexing": "navigable"
}indexing:"navigable"(only nav pages) or"all"(every page including hidden).
Search
"search": {
"prompt": "Search documentation..."
}Contextual menu
"contextual": {
"options": ["copy", "chatgpt", "claude", "cursor", "vscode"]
}Options: copy, view, chatgpt, claude, perplexity, mcp, cursor, vscode, or custom objects.
Thumbnails
"thumbnails": {
"appearance": "light",
"background": "/images/thumbnail-bg.svg",
"fonts": {
"family": "Inter"
}
}Error handling
"errors": {
"404": {
"redirect": true,
"title": "Page not found",
"description": "This page doesn't exist."
}
}API configuration
"api": {
"openapi": "openapi.json",
"playground": {
"display": "interactive",
"proxy": true
},
"examples": {
"languages": ["bash", "javascript", "python"],
"defaults": "all",
"prefill": false,
"autogenerate": true
},
"mdx": {
"server": "https://api.example.com",
"auth": {
"method": "bearer"
}
}
}openapi: Single file, array, or object withsourceanddirectory.asyncapi: Same format asopenapifor AsyncAPI specs.playground.display:"interactive","simple", or"none".examples.languages:bash,go,java,javascript,node,php,powershell,python,ruby,swift.examples.defaults:"required"or"all"(include optional params).mdx.auth.method:"bearer","basic","key","cobo".
Integrations
"integrations": {
"ga4": { "measurementId": "G-XXXXXXXXXX" },
"gtm": { "tagId": "GTM-XXXXX" },
"posthog": { "apiKey": "phc_xxx", "apiHost": "https://app.posthog.com" },
"amplitude": { "apiKey": "xxx" },
"mixpanel": { "projectToken": "xxx" },
"segment": { "key": "xxx" },
"clarity": { "projectId": "xxx" },
"fathom": { "siteId": "xxx" },
"hotjar": { "hjid": "xxx", "hjsv": "xxx" },
"logrocket": { "appId": "xxx" },
"heap": { "appId": "xxx" },
"pirsch": { "id": "xxx" },
"plausible": { "domain": "xxx", "server": "optional" },
"hightouch": { "writeKey": "xxx", "apiHost": "optional" },
"clearbit": { "publicApiKey": "xxx" },
"intercom": { "appId": "xxx" },
"frontchat": { "snippetId": "xxx" },
"telemetry": { "enabled": true },
"cookies": { "key": "consent_key", "value": "accepted" }
}Reusable snippets
Store reusable content in the /snippets/ directory.
MDX snippets
<!-- snippets/prerequisites.mdx -->
Before you begin, make sure you have:
- Node.js 18+
- A Mintlify accountImport in any page:
import Prerequisites from "/snippets/prerequisites.mdx";
<Prerequisites />JSX components
// snippets/counter.jsx
export const Counter = () => {
const [count, setCount] = useState(0);
return (
<div>
<button onClick={() => setCount(count - 1)}>-</button>
<span>{count}</span>
<button onClick={() => setCount(count + 1)}>+</button>
</div>
);
};Import in any page:
import { Counter } from "/snippets/counter.jsx";
<Counter />JSX components must be in /snippets/. Nested imports between snippets are not supported.
Hidden pages
Set hidden: true in frontmatter to remove from sidebar. Page remains accessible by URL.
---
title: "Internal reference"
hidden: true
---Or omit the page from docs.json navigation entirely.
.mintignore
Exclude files completely from the published docs. Place .mintignore in the docs root. Uses .gitignore syntax.
drafts/
*.draft.mdx
private-notes.md
**/internal/**
!important.mdxFiles in .mintignore are not published, not indexed, and not accessible by URL.
Custom CSS and JavaScript
CSS
Add .css files to your repository. Class names become available in all MDX files.
/* styles.css */
#navbar {
background: #fffff2;
}Built-in Tailwind CSS v3 classes are available. Arbitrary values (e.g., w-[350px]) are not supported — use inline style instead.
JavaScript
Any .js file in the content directory is included globally on all pages.
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Needs Python, Needs Node.js
Security
What our scanner noticed· Low risk
- Instructions that use the network
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Published by
- Cline
- Publisher
- Cline (Official)
- Source
- cline/skills · skills/mintlify · commit 2637846
- Licence
- Apache License 2.0 (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Cline.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download mintlify.zip