.cursor/skills/nextjs-dev/SKILL.md
Next.js development conventions and patterns for kimmoihanus.com. Use when working on pages, components, or API routes in this project.
npx skillsauth add ihmissuti/kimmoihanus-nextjs-site nextjs-devInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Development conventions and patterns for the kimmoihanus.com Next.js site.
/
├── components/ # React components
├── css/ # Stylesheets (Tailwind, Prism)
├── graphics/ # Graphics markdown files
├── lib/ # Utility functions and hooks
├── pages/ # Next.js pages (file-based routing)
│ ├── api/ # API routes
│ ├── graphics/ # Dynamic graphics pages
│ └── posts/ # Dynamic post pages
├── posts/ # Blog post markdown files
├── prose/ # Static prose content
├── public/ # Static assets
└── tools/ # Additional tools and MCP servers
/pages/[slug].js format/pages/api//components//css/ directorygraphics.module.css)/posts/XXX-slug.md/graphics/slug.md/prose/slug.mdnext - Frameworknext-seo - SEO configurationnext-mdx-remote - MDX renderingtailwindcss - Stylinggray-matter - Frontmatter parsing# Start development server
npm run dev
# Build for production
npm run build
# Start production server
npm run start
# Generate sitemap
npm run postbuild
/pages/ directorygetStaticProps or getServerSidePropsExample:
import Layout from '../components/Layout';
import { NextSeo } from 'next-seo';
export default function MyPage() {
return (
<Layout>
<NextSeo title="My Page" />
<h1>My New Page</h1>
</Layout>
);
}
Add file to /pages/api/:
export default async function handler(req, res) {
if (req.method !== 'POST') {
return res.status(405).json({ error: 'Method not allowed' });
}
// Your logic here
res.status(200).json({ success: true });
}
Use the lib functions:
import { getPostBySlug, getAllPosts } from '../lib/posts';
import { serialize } from 'next-mdx-remote/serialize';
data-ai
Generate and optimize Schema.org structured data for AI/LLM visibility. Use when adding schema markup, improving structured data, or optimizing for rich results and AI search engines.
development
Audit websites for AI search visibility and Generative Engine Optimization (GEO). Use when auditing a website for LLM/AI search presence, checking how ChatGPT or Perplexity see a brand, or optimizing content for AI recommendations.
tools
Score developer tools and SaaS products for AI agent compatibility. Use when evaluating how well a devtool works with AI coding assistants, or when optimizing a product for the agent era.
documentation
Generate JSON-LD schema markup for GEO optimization. Use when creating structured data for articles, products, FAQs, how-to guides, organizations, and other content types to improve AI search visibility and rich results.