en un clic
add-documentation
// Add or update documentation in content/docs/ for features, APIs, or tools
// Add or update documentation in content/docs/ for features, APIs, or tools
This skill should be used when the user asks to "optimize", "improve performance", "add caching", "use TanStack Query", "add state management", "use cache", "add URL state", or mentions Zustand, TanStack Form, nuqs, client-side fetching, optimistic updates, React Query, cacheTag, or revalidateTag. Provides best practices for state management, URL state, data fetching, forms, caching, and Next.js optimization.
This skill should be used when the user asks to "create tests", "write tests", "add unit tests", "add e2e tests", "test this component", or mentions testing, Vitest, Playwright, or test coverage. Covers unit tests with Vitest and e2e tests with Playwright including organization logic.
This skill should be used when reviewing server actions, API routes, or pages for security. Use when the user asks to "security check", "review security", "audit code", or mentions authentication, authorization, permissions, or access control validation.
Initialize NowTS project with app name, purpose, theme, and landing page content
| name | add-documentation |
| description | Add or update documentation in content/docs/ for features, APIs, or tools |
<quick_start> MANDATORY: Use the script to create new documentation files:
.claude/skills/add-documentation/scripts/create-doc.sh <filename> "<title>" "<description>"
# Example
.claude/skills/add-documentation/scripts/create-doc.sh dialog-system "Dialog System" "Global dialog system for modals"
This creates content/docs/<filename>.mdx with proper structure.
Template structure (auto-generated by script):
---
title: "Feature Name"
description: "Brief description of what this feature does"
keywords: ["keyword1", "keyword2", "feature"]
tags: ["developer", "components"]
order: 10
subcategory: "Components"
---
Brief introduction explaining what this feature does and why it's useful.
## Installation
How to set up or enable this feature (if needed).
## Import
\`\`\`tsx
import { Component } from "@/features/feature-name";
\`\`\`
## Usage
### Basic Example
\`\`\`tsx
<Component prop="value" />
\`\`\`
### Advanced Example
\`\`\`tsx
<Component
prop="value"
onAction={async () => {
await doSomething();
}}
/>
\`\`\`
## API Reference
| Option | Type | Description |
|--------|------|-------------|
| `prop` | `string` | Description of the prop |
## Best Practices
- Tip 1
- Tip 2
Run to verify: pnpm dev and check /docs/[slug]
</quick_start>
<before_writing> CRITICAL: Think before documenting
Ask yourself these questions:
<frontmatter_reference>
| Field | Type | Required | Description |
|---|---|---|---|
title | string | Yes | Display title for the doc |
description | string | Yes | Brief description (shown in search, SEO) |
keywords | string[] | Yes | Search keywords |
tags | string[] | Yes | Categories: developer, guide, api, components |
order | number | Yes | Sort order in navigation (lower = first) |
subcategory | string | Yes | Grouping: Guide, Components, API, Tools |
| </frontmatter_reference> |
<structure_guidelines> <section_order>
<code_examples>
<anti_patterns> Documentation without context:
## Usage
Use `dialogManager.confirm()` to show a dialog.
Documentation with context and example:
```mdx
## Usage
The Dialog Manager handles confirmation dialogs with automatic loading states.
```tsx dialogManager.confirm({ title: "Delete Item", description: "This cannot be undone.", action: { label: "Delete", onClick: async () => { await deleteItem(); }, }, }); ```
</right>
<wrong>
Overly complex first example:
```mdx
## Basic Usage
\`\`\`tsx
<Component
prop1="value"
prop2={42}
prop3={{ nested: true }}
onAction={handleAction}
variant="complex"
/>
\`\`\`
Start with minimal example:
```mdx
## Basic Usage
\`\`\`tsx
\`\`\`
```tsx ```
</right>
</anti_patterns>
<existing_docs>
Current documentation files in `content/docs/`:
- `getting-started.mdx` - Project setup guide
- `auth-components.mdx` - Authentication components
- `contact-components.mdx` - Contact form components
- `dialog-manager.mdx` - Dialog system documentation
- `layout-components.mdx` - Layout components
- `markdown-components.mdx` - Markdown rendering
- `safe-actions.mdx` - Server actions patterns
- `zod-route.mdx` - API route validation
- `embedding.mdx` - Testimonial embedding
- `file-adapters.mdx` - File storage adapters
- `api-testimonials-*.mdx` - API documentation
</existing_docs>
<reference_guides>
For detailed documentation patterns and complete examples:
- **`references/documentation-format.md`** - Complete frontmatter reference and structure guidelines
- **`templates/doc-template.mdx`** - Base template used by the script
</reference_guides>
<critical_rules>
**NEVER create documentation files manually. ALWAYS use the script:**
```bash
.claude/skills/add-documentation/scripts/create-doc.sh <filename> "<title>" "<description>"
Then edit the generated file to add content. </critical_rules>
<success_criteria>
content/docs/ with .mdx extension