create-docs
This skill automates the configuration and generation of project documentation structures.
Install
mkdir -p .claude/skills/create-docs && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/1561" && unzip -o skill.zip -d .claude/skills/create-docs && rm skill.zipInstalls to .claude/skills/create-docs
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Create complete documentation sites for projects. Use when asked to: "create docs", "add documentation", "setup docs site", "generate docs", "document my project", "write docs", "initialize documentation", "add a docs folder", "create a docs website". Generates Docus-based sites with search, dark mode, MCP server, and llms.txt integration.Key capabilities
- →Initialize documentation sites with Docus
- →Configure folder structure for standard or monorepo projects
- →Set up i18n support for multi-language documentation
- →Integrate MCP server and llms.txt generation
- →Customize themes using app.config.ts and Tailwind
How it works
The skill analyzes the project structure to determine the appropriate documentation location and initializes a Docus-based site with pre-configured templates and AI integration.
Inputs & outputs
When to use create-docs
- →Add a documentation folder to a repository
- →Generate a docs site from existing code
- →Initialize standard project documentation
- →Structure developer-facing documentation
About this skill
Create 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 pack
Content truncated.
When not to use it
- →When the project is a simple script not requiring documentation
- →When the project requires a static site generator other than Docus
Limitations
- →Requires Nuxt-based documentation framework
- →MDC components must use the u- prefix to resolve correctly
How it compares
It automates the entire setup process, including monorepo configuration and AI-ready features like llms.txt, rather than just providing a documentation template.
Compared to similar skills
create-docs side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| create-docs (this skill) | 4 | 4mo | No flags | Beginner |
| ml-paper-writing | 48 | 6mo | Review | Advanced |
| docs-review | 10 | 7mo | No flags | Beginner |
| claude-md-improver | 21 | 6mo | Review | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
ml-paper-writing
davila7
Write publication-ready ML/AI papers for NeurIPS, ICML, ICLR, ACL, AAAI, COLM. Use when drafting papers from research repos, structuring arguments, verifying citations, or preparing camera-ready submissions. Includes LaTeX templates, reviewer guidelines, and citation verification workflows.
docs-review
metabase
Review documentation changes for compliance with the Metabase writing style guide. Use when reviewing pull requests, files, or diffs containing documentation markdown files.
claude-md-improver
anthropics
Audit and improve CLAUDE.md files in repositories. Use when user asks to check, audit, update, improve, or fix CLAUDE.md files. Scans for all CLAUDE.md files, evaluates quality against templates, outputs quality report, then makes targeted updates. Also use when the user mentions "CLAUDE.md maintenance" or "project memory optimization".
write-docs
tldraw
Writing SDK documentation for tldraw. Use when creating new documentation articles, updating existing docs, or when documentation writing guidance is needed. Applies to docs in apps/docs/content/.
update-docs
vercel
This skill should be used when the user asks to "update documentation for my changes", "check docs for this PR", "what docs need updating", "sync docs with code", "scaffold docs for this feature", "document this feature", "review docs completeness", "add docs for this change", "what documentation is affected", "docs impact", or mentions "docs/", "docs/01-app", "docs/02-pages", "MDX", "documentation update", "API reference", ".mdx files". Provides guided workflow for updating Next.js documentation based on code changes.
wiki-architect
microsoft
Analyzes code repositories and generates hierarchical documentation structures with onboarding guides. Use when the user wants to create a wiki, generate documentation, map a codebase structure, or understand a project's architecture at a high level.