
Create Docs
FreeGenerate complete documentation sites for your projects.
Free · Opens the source repo
What Create Docs does
Create Docs is a skill designed to streamline the process of generating documentation sites for various projects. It automates the creation of a complete, production-ready documentation structure using the Docus framework, making it suitable for developers and designers who need to document their work efficiently. The skill analyzes the project structure, detects the package manager, and initializes a documentation directory with the appropriate setup, ensuring that users can focus on content rather than configuration.
The workflow begins with an analysis phase where the skill detects the package manager and the structure of the project, whether it’s a standard project or a monorepo. It identifies existing documentation and avoids overwriting important files. Following this, it initializes the documentation directory, generates documentation pages using predefined templates, and configures AI integrations as needed. This comprehensive approach ensures that the final output is tailored to the specific requirements of the project.
Create Docs is particularly beneficial for teams working on complex projects or those using modern frameworks like Nuxt.js. By automating the setup and generation of documentation, it reduces the time and effort typically required to create and maintain documentation sites. This skill is ideal for developers who want to ensure their projects are well-documented and accessible to users, enhancing the overall user experience and project usability.
In summary, Create Docs simplifies the documentation process, allowing developers and designers to generate a fully functional docs site with minimal manual intervention. It’s a valuable tool for anyone looking to improve their project documentation workflow and ensure that their work is effectively communicated to users.
When to use it
Use Create Docs when you need to quickly generate a documentation site for a project, especially when starting a new project or adding documentation to an existing one.
When not to use it
This skill may not be suitable for projects that require highly customized documentation solutions or for those that do not use Docus framework.
What you can build with it
Setting Up Documentation for a New Project
When starting a new project, use Create Docs to quickly generate a complete documentation site with all necessary configurations.
Adding Documentation to an Existing Codebase
If you have an existing project without documentation, Create Docs can help you create a structured documentation site without losing any current files.
Supporting Multi-Language Documentation
For projects that require documentation in multiple languages, Create Docs can automatically generate the necessary structure based on detected requirements.
How to install Create Docs
View source1. Install with the skills CLI
npx skills add nuxt-content/docus/create-docs --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by nuxt-contentCreate Docs
Generate a complete, production-ready documentation site for any project.
Workflow
- Analyze - Detect package manager, monorepo structure, read context
- Initialize - Create docs directory with correct setup
- Generate - Write documentation pages using templates
- Configure - Set up AI integration (MCP, llms.txt)
- Finalize - Provide next steps with correct commands
Package Manager Reference
Detect from lock files, default to npm if none found:
| Lock File | PM | Install | Run | Add |
|---|---|---|---|---|
pnpm-lock.yaml | pnpm | pnpm install | pnpm run | pnpm add |
package-lock.json | npm | npm install | npm run | npm install |
yarn.lock | yarn | yarn install | yarn | yarn add |
bun.lockb | bun | bun install | bun run | bun add |
Use [pm] as placeholder in commands below.
Step 1: Analyze Project
Detect Project Structure
Check for:
├── pnpm-workspace.yaml → pnpm monorepo
├── turbo.json → Turborepo monorepo
├── lerna.json → Lerna monorepo
├── nx.json → Nx monorepo
├── apps/ → Apps directory (monorepo)
├── packages/ → Packages directory (monorepo)
├── docs/ → Existing docs (avoid overwriting)
├── README.md → Main documentation source
└── src/ or lib/ → Source code location
Determine Docs Location
| Project Type | Target Directory | Workspace Entry |
|---|---|---|
| Standard project | ./docs | N/A |
Monorepo with apps/ | ./apps/docs | apps/docs |
Monorepo with packages/ | ./docs | docs |
Existing docs/ folder | Ask user or ./documentation | — |
Read Context Files
| File | Extract |
|---|---|
README.md | Project name, description, features, usage examples |
package.json | Name, description, dependencies, repository URL |
src/ or lib/ | Exported functions, composables for API docs |
Detect i18n Requirement
Check if project needs multi-language docs:
| Indicator | Action |
|---|---|
@nuxtjs/i18n in dependencies | Use i18n template |
locales/ or i18n/ folder exists | Use i18n template |
| Multiple language README files | Use i18n template |
| User explicitly mentions multiple languages | Use i18n template |
| None of the above | Use default template |
Step 2: Initialize Docs
Create Directory Structure
Default template:
[docs-location]/
├── app/ # Optional: for customization
│ ├── app.config.ts
│ ├── components/
│ ├── layouts/
│ └── pages/
├── content/
│ ├── index.md
│ └── 1.getting-started/
│ ├── .navigation.yml
│ └── 1.introduction.md
├── public/
│ └── favicon.ico
├── package.json
└── .gitignore
i18n template (if multi-language detected):
[docs-location]/
├── app/
│ └── app.config.ts
├── content/
│ ├── en/
│ │ ├── index.md
│ │ └── 1.getting-started/
│ │ ├── .navigation.yml
│ │ └── 1.introduction.md
│ └── fr/ # Or other detected languages
│ ├── index.md
│ └── 1.getting-started/
│ ├── .navigation.yml
│ └── 1.introduction.md
├── nuxt.config.ts # Required for i18n config
├── public/
│ └── favicon.ico
├── package.json
└── .gitignore
Create package.json
Default:
{
"name": "[project-name]-docs",
"private": true,
"scripts": {
"dev": "nuxt dev --extends docus",
"build": "nuxt build --extends docus",
"generate": "nuxt generate --extends docus",
"preview": "nuxt preview --extends docus"
},
"dependencies": {
"docus": "latest",
"better-sqlite3": "^12.5.0",
"nuxt": "^4.2.2"
}
}
i18n (add @nuxtjs/i18n):
{
"name": "[project-name]-docs",
"private": true,
"scripts": {
"dev": "nuxt dev --extends docus",
"build": "nuxt build --extends docus",
"generate": "nuxt generate --extends docus",
"preview": "nuxt preview --extends docus"
},
"dependencies": {
"@nuxtjs/i18n": "^10.2.1",
"docus": "latest",
"better-sqlite3": "^12.5.0",
"nuxt": "^4.2.2"
}
}
Create nuxt.config.ts (i18n only)
export default defineNuxtConfig({
modules: ['@nuxtjs/i18n'],
i18n: {
locales: [
{ code: 'en', language: 'en-US', name: 'English' },
{ code: 'fr', language: 'fr-FR', name: 'Français' }
],
defaultLocale: 'en'
}
})
Create .gitignore
node_modules
.nuxt
.output
.data
dist
Update Monorepo Configuration (if applicable)
pnpm Monorepo
- Add docs to workspace and configure
onlyBuiltDependencies(required for better-sqlite3):
packages:
- 'apps/*'
- 'docs'
onlyBuiltDependencies:
- better-sqlite3
- Add dev script to root package.json:
{
"scripts": {
"docs:dev": "pnpm run --filter [docs-package-name] dev"
}
}
Or with directory path:
{
"scripts": {
"docs:dev": "cd docs && pnpm dev"
}
}
npm/yarn Monorepo
{
"workspaces": ["apps/*", "docs"],
"scripts": {
"docs:dev": "npm run dev --workspace=docs"
}
}
Step 3: Generate Documentation
Use templates from references/templates.md.
CRITICAL: MDC Component Naming
All Nuxt UI components in MDC must use the u- prefix:
| Correct | Wrong |
|---|---|
::u-page-hero | ::page-hero |
::u-page-section | ::page-section |
:::u-page-feature | :::page-feature |
:::u-button | :::button |
::::u-page-card | ::::page-card |
Without the u- prefix, Vue will fail to resolve the components.
Documentation Structure
content/
├── index.md # Landing page
├── 1.getting-started/
│ ├── .navigation.yml
│ ├── 1.introduction.md
│ └── 2.installation.md
├── 2.guide/
│ ├── .navigation.yml
│ ├── 1.configuration.md
│ ├── 2.authentication.md
│ └── 3.deployment.md
└── 3.api/ # If applicable
├── .navigation.yml
└── 1.reference.md
Generate Pages
- Landing page (
index.md) - Hero + features grid - Introduction - What & why, use cases
- Installation - Prerequisites, install commands
- Guide pages - Feature documentation with action-based H2 headings
For writing style, see references/writing-guide.md. For MDC components, see references/mdc-components.md.
Step 4: Configure AI Integration
Docus automatically includes MCP server (/mcp) and llms.txt generation. No configuration needed.
Do NOT add AI Integration sections to the landing page. These features work automatically.
Optionally mention in the introduction page:
::note
This documentation includes AI integration with MCP server and automatic `llms.txt` generation.
::
Optional: app.config.ts
export default defineAppConfig({
docus: {
name: '[Project Name]',
description: '[Project description]',
url: 'https://[docs-url]',
socials: {
github: '[org]/[repo]'
}
}
})
Optional: Theme Customization
If the project has a design system or brand colors, customize the docs theme.
Custom CSS
Create app/assets/css/main.css:
@import "tailwindcss";
@import "@nuxt/ui";
@theme {
/* Custom font */
--font-sans: 'Inter', sans-serif;
/* Custom container width */
--ui-container: 90rem;
/* Custom primary color (use project brand color) */
--color-primary-50: oklch(0.97 0.02 250);
--color-primary-500: oklch(0.55 0.2 250);
--color-primary-900: oklch(0.25 0.1 250);
}
Extended app.config.ts
export default defineAppConfig({
docus: {
name: '[Project Name]',
description: '[Project description]',
url: 'https://[docs-url]',
socials: {
github: '[org]/[repo]',
x: '@[handle]'
}
},
// Customize UI components
ui: {
colors: {
primary: 'emerald',
neutral: 'zinc',
},
pageHero: {
slots: {
title: 'font-semibold sm:text-6xl'
}
}
}
})
Step 5: Finalize
Provide instructions using detected package manager.
Standard Project
Documentation created in [docs-location]
To start:
cd [docs-location]
[pm] install
[pm] run dev
Available at http://localhost:3000
Monorepo
Documentation created in [docs-location]
To start from root:
[pm] install
[pm] run docs:dev
Or from docs directory:
cd [docs-location]
[pm] run dev
Available at http://localhost:3000
Features Included
- Full-text search
- Dark mode
- MCP server for AI tools (/mcp)
- LLM integration (/llms.txt)
- SEO optimized
Next Steps
- Review generated content
- Add more guides in
content/2.guide/ - Customize theme in
app.config.ts - Deploy to Vercel/Netlify/Cloudflare
Suggest Follow-ups
After documentation is created, suggest enhancements:
Your documentation is ready!
Would you like me to:
- **Customize the UI** - Match your brand colors and style
- **Enhance the landing page** - Add feature cards, code previews, visuals
- **Add i18n support** - Multi-language documentation
- **Set up deployment** - Deploy to Vercel, Netlify, or Cloudflare
Let me know what you'd like to improve!
Deployment
| Platform | Command | Output |
|---|---|---|
| Vercel | npx vercel --prod | Auto-detected |
| Netlify | [pm] run generate | .output/public |
| Cloudflare Pages | [pm] run generate | .output/public |
| GitHub Pages | [pm] run generate | .output/public |
Example: auth-utils
Detected: pnpm monorepo, package in packages/
Generated structure:
docs/
├── content/
│ ├── index.md
│ ├── 1.getting-started/
│ │ ├── .navigation.yml
│ │ ├── 1.introduction.md
│ │ └── 2.installation.md
│ ├── 2.guide/
│ │ ├── .navigation.yml
│ │ ├── 1.authentication.md
│ │ ├── 2.oauth-providers.md
│ │ └── 3.sessions.md
│ └── 3.api/
│ ├── .navigation.yml
│ └── 1.composables.md
├── public/
│ └── favicon.ico
├── package.json
└── .gitignore
Inside authentication.md (action-based H2 headings):
## Add basic authentication
## Protect your routes
## Handle login redirects
## Customize the session
Frequently asked questions about Create Docs
Similar skills
Markdown to HTML Conversion
Efficiently convert Markdown documents to HTML.
Code Tour
Create structured walkthroughs for codebases.
Acquire Codebase Knowledge
Streamline onboarding with comprehensive codebase documentation.
Documentation & Modernization
Streamline codebase documentation and modernization planning.
Azure Resource Visualizer
Generate architecture diagrams for Azure resources.
CLAUDE.md Improver
Optimize your CLAUDE.md files for better project context.
