用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/dipro-vn/dipro-ai-boost --skill nextjs-app-router命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
Use when a task that changed backend code is finishing, before reporting it done. Symptoms — a migration was added, a request or response shape changed, a new route exists, a cache key was added, something could not be verified, a problem was found and deliberately left alone.
Use when adding or changing a protected route, a guard, a role check, or any query that reads or writes records belonging to a user or tenant. Symptoms — a findById that takes only an id, a route with no guard, a role checked in the controller but not the query, an ID read straight from params, a new public endpoint, a service method reachable from more than one caller.
Use when choosing which exception to throw, shaping an error response, or deciding what to log. Symptoms — a caught error that returns 200, a try/catch that swallows the cause, a 500 where the client should see 400, an error message exposing a stack trace or SQL, a log line with no request context, the same failure logged at every layer.
| name | nextjs-app-router |
| description | null |
Category: nextjs · Status: 🟢 Active
Khi tổ chức route trong thư mục app/ với layout, page, loading, error.
page.tsx render UI, layout.tsx bọc layout dùng chung.loading.tsx cho Suspense fallback, error.tsx ('use client') cho error boundary.(group) để gom route mà không ảnh hưởng URL.not-found.tsx cho 404; template.tsx khi cần remount mỗi navigation.// app/(dashboard)/users/layout.tsx
export default function Layout({ children }: { children: React.ReactNode }) {
return <section className="users">{children}</section>;
}
// app/(dashboard)/users/page.tsx
export default async function Page() {
const users = await getUsers();
return <UserList users={users} />;
}
Good: Tách loading/error riêng từng segment, route group gom layout.
Avoid: Nhồi mọi UI vào 1 page, bỏ error boundary, dùng pages/ lẫn app/.
基于 SOC 职业分类