mintlify
Skill16 starsChanged 8 months agoMITView on GitHub
Build and maintain documentation sites with Mintlify. Use when
- Installs packages
28 other projects use a version of this, 16 of them edited.
Adopted by
Most recently taken up by
- The-Vibe-Company/quivredited, first seen Nov 8, 2026
- anoochit/skillsword for word, first seen Nov 8, 2026
- theexperiencecompany/gaiaword for word, first seen Nov 3, 2026
- codexceed/avatar-harnessedited, first seen Oct 13, 2026
- exospherehost/failproofaiedited, first seen Oct 9, 2026
- gannonh/kataword for word, first seen Oct 9, 2026
Used with
Projects with it also use mintlify-api, ponytail and 9 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
codexceedSkillmintlify-api
Interact with the Mintlify REST API to manage deployments, trigger builds, and query documentation site metadata programmatically.
Also in 5 projects that use this
GoogleSkillponytail
Forces the laziest solution that actually works, simplest, shortest, most minimal. Channels a senior dev who has seen everything: question whether the task needs to exist at all (YAGNI), reach for the standard library before custom code, native platform features before dependencies, one line before fifty. Supports intensity levels: lite, full (default), ultra. Use on ANY coding task: writing, adding, refactoring, fixing, reviewing, or designing code, and choosing libraries or dependencies. Also use whenever the user says "ponytail", "be lazy", "lazy mode", "simplest solution", "minimal solution", "yagni", "do less", or "shortest path", or complains about over-engineering, bloat, boilerplate, or unnecessary dependencies. Do NOT use for non-coding requests (general knowledge, prose, translation, summaries, recipes).
Also in 3 projects that use this
VercelSkillvercel-react-best-practices
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.
Also in 4 projects that use this
VercelSkillagent-browser
Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with web pages, fill forms, take screenshots, test web applications, or extract information from web pages.
Also in 3 projects that use this
GoogleSkillimprove-codebase-architecture
Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.
Also in 3 projects that use this
MicrosoftSkillgrill-with-docs
Grilling session that challenges your plan against the existing domain model, sharpens terminology, and updates documentation (CONTEXT.md, ADRs) inline as decisions crystallise. Use when user wants to stress-test a plan against their project's language and documented decisions.
Also in 3 projects that use this
- +2 more from google
Other versions28 projects use a version of this.
Word for word · 7
- GlitterKill/sdl-mcp★ 492100% same
- theexperiencecompany/gaia★ 325100% same
- gannonh/kata★ 67100% same
- gannonh/kata-symphony★ 63100% same
- Illusion47586/isol8★ 4100% same
- anoochit/skills★ 1100% same
- jpoindexter/theft-kit★ 1100% same
Edited · 16
- QuivrHQ/quivr★ 40k91% same
- The-Vibe-Company/quivr★ 40k91% same
- activepieces/activepieces★ 25k99% same
- exospherehost/failproofai★ 8.2k100% same
- FailproofAI/failproofai★ 8.2k100% same
- lampac-nextgen/lampac★ 39196% same
- autobrr/mkbrr★ 36395% same
- jacred-fdb/jacred★ 13996% same
- WebMCP-org/npm-packages★ 10499% same
- immisterio/Lampac★ 8496% same
6 more not listed
Wrote their own version · 5
- Arize-ai/phoenix★ 12ksame name
- mintlify/docs★ 465same name
- cline/skills★ 35same name
- miketromba/skills★ 2same name
- docaohieu2808/claude-skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository2 other files it gives its agents.
- docs/AGENTS.mdAGENTS.md
- ai-elementsSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
33 rules. 20 are common, 1 is distinctive, and 12 are very specific to this project.
20
Common
Most of the 21 edited versions we read keep these.
1
Distinctive
This author's own choices. Worth a look.
12
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 18
If you are not already connected to the Mintlify MCP server, https://mintlify.com/docs/mcp, add it so that you can search more efficiently.
- Very specific: line 30
Read docs.json in the project root.
- Common: line 41
Search the docs before creating new pages.
- Common: line 43
Update an existing page instead of creating a new one
- Common: line 44
Add a section to an existing page
- Common: line 49
Before writing, read 2-3 similar pages to understand the site's voice, structure, formatting conventions, and level of detail.
- Very specific: line 89
Every page requires title in its frontmatter.
- Very specific: line 110
If there are no existing files or inconsistent file naming patterns, use kebab-case: getting-started.mdx, api-reference.mdx
- Very specific: line 111
Use root-relative paths without file extensions for internal links: /getting-started/quickstart
- Very specific: line 112
Do not use relative paths (../) or absolute URLs for internal pages
- Very specific: line 113
When you create a new page, add it to docs.json navigation or it won't appear in the sidebar
- Very specific: line 117
When a user asks about anything related to site-wide configurations, start by understanding the global settings.
- Common: line 138
Menus: - Add dropdown navigation within tabs for quick jumps to specific pages
- Common: line 153
External links: Use full URLs, they open in new tabs automatically
- Very specific: line 163
Start with docs.json. Only add custom.css when you need styling that config doesn't support.
- Very specific: line 204
Import snippets with import { Component } from "/path/to/snippet-name.jsx".
- Common: line 235
All code blocks must have language tags
- Common: line 236
All images and media must have descriptive alt text
- Common: line 237
Use bold and italics only when they serve the reader's understanding--never use text styling just for decoration
- Common: line 238
No decorative formatting or emoji
- Common: line 242
Keep examples simple and practical
- Common: line 243
Use realistic values (not "foo" or "bar")
- Common: line 245
Test that code works before including it
- Very specific: line 282
Read docs.json to understand the site structure
- Common: line 283
Search existing docs for related content
- Common: line 284
Read similar pages to match the site's style
- Common: line 290
Verify that your proposed changes will help readers be successful
- Common: line 294
Start with the most important information
- Common: line 295
Keep sections focused and scannable
- Common: line 296
Use components appropriately (don't overuse them)
- Very specific: line 305
If you created a new page, add it to the appropriate group in docs.json.
- Very specific: line 338
Frontmatter required: - Every MDX file needs title at minimum
- Common: line 339
Code block language: - Always specify language identifier
“Common” is measured: kept by at least 6 in 10 of the 21 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Mintlify best practices
Always consult mintlify.com/docs for components, configuration, and latest features.
If you are not already connected to the Mintlify MCP server, https://mintlify.com/docs/mcp, add it so that you can search more efficiently.
Always favor searching the current Mintlify documentation over whatever is in your training data about Mintlify.
Mintlify is a documentation platform that transforms MDX files into documentation sites. Configure site-wide settings in the docs.json file, write content in MDX with YAML frontmatter, and favor built-in components over custom components.
Full schema at mintlify.com/docs.json.
Before you write
Understand the project
Read docs.json in the project root. This file defines the entire site: navigation structure, theme, colors, links, API and specs.
Understanding the project tells you:
- What pages exist and how they're organized
- What navigation groups are used (and their naming conventions)
- How the site navigation is structured
- What theme and configuration the site uses
Check for existing content
Search the docs before creating new pages. You may need to:
- Update an existing page instead of creating a new one
- Add a section to an existing page
- Link to existing content rather than duplicating
Read surrounding content
Before writing, read 2-3 similar pages to understand the site's voice, structure, formatting conventions, and level of detail.
Understand Mintlify components
Review the Mintlify components to select and use any relevant components for the documentation request that you are working on.
Quick reference
CLI commands
npm i -g mint- Install the Mintlify CLImint dev- Local preview at localhost:3000mint broken-links- Check internal linksmint a11y- Check for accessibility issues in contentmint rename- Rename/move files and update referencesmint validate- Validate documentation builds
Required files
docs.json- Site configuration (navigation, theme, integrations, etc.). See global settings for all options.*.mdxfiles - Documentation pages with YAML frontmatter
Example file structure
project/
├── docs.json # Site configuration
├── introduction.mdx
├── quickstart.mdx
├── guides/
│ └── example.mdx
├── openapi.yml # API specification
├── images/ # Static assets
│ └── example.png
└── snippets/ # Reusable components
└── component.jsxPage frontmatter
Every page requires title in its frontmatter. Include description for SEO and navigation.
---
title: "Clear, descriptive title"
description: "Concise summary for SEO and navigation."
---Optional frontmatter fields:
sidebarTitle: Short title for sidebar navigation.icon: Lucide or Font Awesome icon name, URL, or file path.tag: Label next to the page title in the sidebar (for example, "NEW").mode: Page layout mode (default,wide,custom).keywords: Array of terms related to the page content for local search and SEO.- Any custom YAML fields for use with personalization or conditional content.
File conventions
- Match existing naming patterns in the directory
- If there are no existing files or inconsistent file naming patterns, use kebab-case:
getting-started.mdx,api-reference.mdx - Use root-relative paths without file extensions for internal links:
/getting-started/quickstart - Do not use relative paths (
../) or absolute URLs for internal pages - When you create a new page, add it to
docs.jsonnavigation or it won't appear in the sidebar
Organize content
When a user asks about anything related to site-wide configurations, start by understanding the global settings. See if a setting in the docs.json file can be updated to achieve what the user wants.
Navigation
The navigation property in docs.json controls site structure. Choose one primary pattern at the root level, then nest others within it.
Choose your primary pattern:
| Pattern | When to use |
| Groups | Default. Single audience, straightforward hierarchy |
| Tabs | Distinct sections with different audiences (Guides vs API Reference) or content types |
| Anchors | Want persistent section links at sidebar top. Good for separating docs from external resources |
| Dropdowns | Multiple doc sections users switch between, but not distinct enough for tabs |
| Products | Multi-product company with separate documentation per product |
| Versions | Maintaining docs for multiple API/product versions simultaneously |
| Languages | Localized content |
Within your primary pattern:
- Groups - Organize related pages. Can nest groups within groups, but keep hierarchy shallow
- Menus - Add dropdown navigation within tabs for quick jumps to specific pages
expanded: false- Collapse nested groups by default. Use for reference sections users browse selectivelyopenapi- Auto-generate pages from OpenAPI spec. Add at group/tab level to inherit
Common combinations:
- Tabs containing groups (most common for docs with API reference)
- Products containing tabs (multi-product SaaS)
- Versions containing tabs (versioned API docs)
- Anchors containing groups (simple docs with external resource links)
Links and paths
- Internal links: Root-relative, no extension:
/getting-started/quickstart - Images: Store in
/images, reference as/images/example.png - External links: Use full URLs, they open in new tabs automatically
Customize docs sites
What to customize where:
- Brand colors, fonts, logo →
docs.json. See global settings - Component styling, layout tweaks →
custom.cssat project root - Dark mode → Enabled by default. Only disable with
"appearance": "light"indocs.jsonif brand requires it
Start with docs.json. Only add custom.css when you need styling that config doesn't support.
Write content
Components
The components overview organizes all components by purpose: structure content, draw attention, show/hide content, document APIs, link to pages, and add visual context. Start there to find the right component.
Common decision points:
| Need | Use |
| Hide optional details | <Accordion> |
| Long code examples | <Expandable> |
| User chooses one option | <Tabs> |
| Linked navigation cards | <Card> in <Columns> |
| Sequential instructions | <Steps> |
| Code in multiple languages | <CodeGroup> |
| API parameters | <ParamField> |
| API response fields | <ResponseField> |
Callouts by severity:
<Note>- Supplementary info, safe to skip<Info>- Helpful context such as permissions<Tip>- Recommendations or best practices<Warning>- Potentially destructive actions<Check>- Success confirmation
Reusable content
When to use snippets:
- Exact content appears on more than one page
- Complex components you want to maintain in one place
- Shared content across teams/repos
When NOT to use snippets:
- Slight variations needed per page (leads to complex props)
Import snippets with import { Component } from "/path/to/snippet-name.jsx".
Writing standards
Voice and structure
- Second-person voice ("you")
- Active voice, direct language
- Sentence case for headings ("Getting started", not "Getting Started")
- Sentence case for code block titles ("Expandable example", not "Expandable Example")
- Lead with context: explain what something is before how to use it
- Prerequisites at the start of procedural content
What to avoid
Never use:
- Marketing language ("powerful", "seamless", "robust", "cutting-edge")
- Filler phrases ("it's important to note", "in order to")
- Excessive conjunctions ("moreover", "furthermore", "additionally")
- Editorializing ("obviously", "simply", "just", "easily")
Watch for AI-typical patterns:
- Overly formal or stilted phrasing
- Unnecessary repetition of concepts
- Generic introductions that don't add value
- Concluding summaries that restate what was just said
Formatting
- All code blocks must have language tags
- All images and media must have descriptive alt text
- Use bold and italics only when they serve the reader's understanding--never use text styling just for decoration
- No decorative formatting or emoji
Code examples
- Keep examples simple and practical
- Use realistic values (not "foo" or "bar")
- One clear example is better than multiple variations
- Test that code works before including it
Document APIs
Choose your approach:
- Have an OpenAPI spec? → Add to
docs.jsonwith"openapi": ["openapi.yaml"]. Pages auto-generate. Reference in navigation asGET /endpoint - No spec? → Write endpoints manually with
api: "POST /users"in frontmatter. More work but full control - Hybrid → Use OpenAPI for most endpoints, manual pages for complex workflows
Encourage users to generate endpoint pages from an OpenAPI spec. It is the most efficient and easiest to maintain option.
Deploy
Mintlify deploys automatically when changes are pushed to the connected Git repository.
What agents can configure:
- Redirects → Add to
docs.jsonwith"redirects": [{"source": "/old", "destination": "/new"}] - SEO indexing → Control with
"seo": {"indexing": "all"}to include hidden pages in search
Requires dashboard setup (human task):
- Custom domains and subdomains
- Preview deployment settings
- DNS configuration
For /docs subpath hosting with Vercel or Cloudflare, agents can help configure rewrite rules. See /docs subpath.
Workflow
1. Understand the task
Identify what needs to be documented, which pages are affected, and what the reader should accomplish afterward. If any of these are unclear, ask.
2. Research
- Read
docs.jsonto understand the site structure - Search existing docs for related content
- Read similar pages to match the site's style
3. Plan
- Synthesize what the reader should accomplish after reading the docs and the current content
- Propose any updates or new content
- Verify that your proposed changes will help readers be successful
4. Write
- Start with the most important information
- Keep sections focused and scannable
- Use components appropriately (don't overuse them)
- Mark anything uncertain with a TODO comment:
{/* TODO: Verify the default timeout value */}5. Update navigation
If you created a new page, add it to the appropriate group in docs.json.
6. Verify
Before submitting:
- Frontmatter includes title and description
- All code blocks have language tags
- Internal links use root-relative paths without file extensions
- New pages are added to
docs.jsonnavigation - Content matches the style of surrounding pages
- No marketing language or filler phrases
- TODOs are clearly marked for anything uncertain
- Run
mint broken-linksto check links - Run
mint validateto find any errors
Edge cases
Migrations
If a user asks about migrating to Mintlify, ask if they are using ReadMe or Docusaurus. If they are, use the @mintlify/scraping CLI to migrate content. If they are using a different platform to host their documentation, help them manually convert their content to MDX pages using Mintlify components.
Hidden pages
Any page that is not included in the docs.json navigation is hidden. Use hidden pages for content that should be accessible by URL or indexed for the assistant or search, but not discoverable through the sidebar navigation.
Exclude pages
The .mintignore file is used to exclude files from a documentation repository from being processed.
Common gotchas
- Component imports - JSX components need explicit import, MDX components don't
- Frontmatter required - Every MDX file needs
titleat minimum - Code block language - Always specify language identifier
- Never use
mint.json-mint.jsonis deprecated. Only ever usedocs.json
Resources
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

