Create DocsSAFE
Write beautiful documentations with Nuxt and Markdown.
Overview
Write beautiful documentations with Nuxt and Markdown.
533b950dff12OBSERVED · 2026-10-20Install
Commands as the repository documents them. They are shown, not run.
npm install [package-name]
npm install package-name
What it tells the agent
The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.
---
name: create-docs
description: |
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.
---
# Create Docs
Generate a complete, production-ready documentation site for any project.
## Workflow
1. **Analyze** - Detect package manager, monorepo structure, read context
2. **Initialize** - Create docs directory with correct setup
3. **Generate** - Write documentation pages using templates
4. **Configure** - Set up AI integration (MCP, llms.txt)
5. **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:**
```json
{
"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`):
```json
{
"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)
```ts [nuxt.config.ts]
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
1. Add docs to workspace and configure `onlyBuiltDependencies` (required for better-sqlite3):
```yaml [pnpm-workspace.yaml]
packages:
- 'apps/*'
- 'docs'
onlyBuiltDependencies:
- better-sqlite3
```
2. Add dev script to root package.json:
```json [package.json]
{
"scripts": {
"docs:dev": "pnpm run --filter [docs-package-name] dev"
}
}
```
Or with directory path:
```json [package.json]
{
"scripts": {
"docs:dev": "cd docs && pnpm dev"
}
}
```
#### npm/yarn Monorepo
```json [package.json]
{
"workspaces": ["apps/*", "docs"],
"scripts": {
"docs:dev": "npm run dev --workspace=docs"
}
}
```
---
## Step 3: Generate Documentation
Use templates from [references/templates.md](references/templates.md).
**CRITICAL: MDC Component Naming**
All Nuxt UI components in MDC must use the `u-` prefix:
| Correct | Wrong |
|---------|---Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | NA |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- none-observed
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (0)
No findings outside the package's declared scope.
Gates applied: no_behavioural_pass.
533b950dff12full audit observations/trust-audit/skill/nuxt-content__create-docs.json · Report an issue / request a re-scanAudit history
Every audit this skill has had.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-20 | 533b950dff12 | SAFE | B | 89 | first audit |
Questions
What does the create-docs — nuxt-content/docus skill do?
Write beautiful documentations with Nuxt and Markdown.
Is create-docs — nuxt-content/docus safe to install?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.
What can create-docs — nuxt-content/docus access on my machine?
The audit observed no filesystem, network or shell use at all in its source.
What do I need installed to use create-docs — nuxt-content/docus?
Its own instructions reference yarn. Dependencies are pinned to exact versions.
How current is this page?
The grade is for one exact copy of the source (533b950dff12), read on 2026-10-20. The repository is watched, and a new audit runs when it changes — this is the first audit.
Add this badge to your README
Shows this page's audit result and links back to it. It updates when the audit does.
[](https://modelsatlas.com/skills/nuxt-content/create-docs/)
Not your listing, or something out of date? Claim or update your listing.