← Back to Skills Marketplace
ivangdavila

NextJS

by Iván · GitHub ↗ · v1.1.0
linuxdarwinwin32 ✓ Security Clean
3179
Downloads
4
Stars
27
Active Installs
4
Versions
Install in OpenClaw
/install nextjs
Description
Build Next.js 15 apps with App Router, server components, caching, auth, and production patterns.
README (SKILL.md)

Setup

On first use, read setup.md for project integration.

When to Use

User needs Next.js expertise — routing, data fetching, caching, authentication, or deployment. Agent handles App Router patterns, server/client boundaries, and production optimization.

Architecture

Project patterns stored in ~/nextjs/. See memory-template.md for setup.

~/nextjs/
├── memory.md          # Project conventions, patterns
└── projects/          # Per-project learnings

Quick Reference

Topic File
Setup setup.md
Memory template memory-template.md
Routing (parallel, intercepting) routing.md
Data fetching & streaming data-fetching.md
Caching & revalidation caching.md
Authentication auth.md
Deployment deployment.md

Core Rules

1. Server Components by Default

Everything is Server Component in App Router. Add 'use client' only for useState, useEffect, event handlers, or browser APIs. Server Components can't be imported into Client — pass as children.

2. Fetch Data on Server

Fetch in Server Components, not useEffect. Use Promise.all for parallel requests. See data-fetching.md for patterns.

3. Cache Intentionally

fetch is cached by default — use cache: 'no-store' for dynamic data. Set revalidate for ISR. See caching.md for strategies.

4. Server Actions for Mutations

Use 'use server' functions for form submissions and data mutations. Progressive enhancement — works without JS. See data-fetching.md.

5. Environment Security

NEXT_PUBLIC_ exposes to client bundle. Server Components access all env vars. Use .env.local for secrets.

6. Streaming for Large Data

Use \x3CSuspense> boundaries to stream content progressively. Wrap slow components individually. See data-fetching.md.

7. Auth at Middleware Level

Protect routes in middleware, not in pages. Middleware runs on Edge — lightweight auth checks only. See auth.md.

Server vs Client

Server Component Client Component
Default in App Router Requires 'use client'
Can be async Cannot be async
Access backend, env vars Access hooks, browser APIs
Zero JS shipped JS shipped to browser

Decision: Start Server. Add 'use client' only for: useState, useEffect, onClick, browser APIs.

Common Traps

Trap Fix
router.push in Server Use redirect()
\x3CLink> prefetches all prefetch={false}
next/image no size Add width/height or fill
Metadata in Client Move to Server or generateMetadata
useEffect for data Fetch in Server Component
Import Server→Client Pass as children/props
Middleware DB call Call API route instead
Missing await params (v15) Params are async in Next.js 15

Next.js 15 Changes

  • params and searchParams are now Promise — must await
  • fetch not cached by default — opt-in with cache: 'force-cache'
  • Use React 19 hooks: useActionState, useFormStatus

Related Skills

Install with clawhub install \x3Cslug> if user confirms:

  • react — React fundamentals and patterns
  • typescript — Type safety for better DX
  • prisma — Database ORM for Next.js apps
  • tailwindcss — Styling with utility classes
  • nodejs — Server runtime knowledge

Feedback

  • If useful: clawhub star nextjs
  • Stay updated: clawhub sync
Usage Guidance
This is an instruction-only Next.js guidance skill that appears to do what it says. Important things to consider before installing: - Persistence: the skill will save memory and project metadata to ~/nextjs/ (memory.md and per-project .md files). If you keep private data in your home directory, review what the agent writes there and remove it if undesired. - No credentials requested: the skill itself does not ask for API keys or environment variables. The documentation includes examples that reference common project secrets (DATABASE_URL, NEXTAUTH_SECRET, SENTRY_DSN, VERCEL_TOKEN) — those are examples for your Next.js projects and are not required by the skill. - Proactive behavior: setup.md encourages saving preferences and being proactive. Decide whether you want the agent to act proactively (flagging issues) or only on request, and adjust the skill's memory or activation settings accordingly. - Review created files: after enabling the skill, check ~/nextjs/ for stored memory files and project notes so you know what data the agent kept. If you want to limit persistence, either decline the memory/storage step, delete ~/nextjs/ after sessions, or run the skill in a profile/environment where home-directory writes are acceptable.
Capability Analysis
Type: OpenClaw Skill Name: nextjs Version: 1.1.0 The OpenClaw AgentSkills bundle for Next.js is benign. All files, including `SKILL.md` and `setup.md`, contain instructions and code examples strictly aligned with assisting a user in Next.js development. The agent's instructions for file system access (`~/nextjs/memory.md`, `~/nextjs/projects/{name}.md`) are for internal memory management, which is a core, transparent function of the skill. Code snippets for `npm install`, `vercel`, `docker`, and `pm2` are illustrative for a developer, not instructions for the agent to execute arbitrarily or maliciously. There is no evidence of data exfiltration, malicious execution, persistence mechanisms, obfuscation, or prompt injection designed to subvert the agent for harmful purposes.
Capability Assessment
Purpose & Capability
The name/description (Next.js guidance) matches the provided SKILL.md and topic files (routing, caching, auth, deployment). There are no unrelated required binaries, environment variables, or install steps that don't belong to a Next.js helper.
Instruction Scope
The runtime instructions and setup explicitly tell the agent to save project and user preferences to ~/nextjs/memory.md and per-project files. That is consistent with a persistent helper that remembers conventions, but it does mean the agent will read/write files under the user's home directory. The docs otherwise stay within Next.js-related activities and do not instruct reading unrelated system files or exfiltrating data.
Install Mechanism
No install spec or code files to execute; this is instruction-only, so nothing is downloaded or installed by the skill itself.
Credentials
The skill declares zero required env vars or credentials. Some included example docs reference typical Next.js project secrets (DATABASE_URL, NEXTAUTH_SECRET, SENTRY_DSN, VERCEL_TOKEN) as implementation examples — appropriate for a Next.js guide and not requested by the skill itself.
Persistence & Privilege
always:false (no forced global inclusion). The skill instructs the agent to create and maintain a persistent memory directory ~/nextjs/ to store project conventions and learned patterns. This is expected for a helper that maintains state, but users should be aware of that persistent storage and its contents.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install nextjs
  3. After installation, invoke the skill by name or use /nextjs
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.1.0
Initial release
v1.0.2
Initial release
v1.0.1
Upgrade: nueva estructura con archivos auxiliares de trampas
v1.0.0
Initial release
Metadata
Slug nextjs
Version 1.1.0
License
All-time Installs 27
Active Installs 27
Total Versions 4
Frequently Asked Questions

What is NextJS?

Build Next.js 15 apps with App Router, server components, caching, auth, and production patterns. It is an AI Agent Skill for Claude Code / OpenClaw, with 3179 downloads so far.

How do I install NextJS?

Run "/install nextjs" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is NextJS free?

Yes, NextJS is completely free (open-source). You can download, install and use it at no cost.

Which platforms does NextJS support?

NextJS is cross-platform and runs anywhere OpenClaw / Claude Code is available (linux, darwin, win32).

Who created NextJS?

It is built and maintained by Iván (@ivangdavila); the current version is v1.1.0.

💬 Comments