building-blog
Opinionated, batteries-included spec for adding an SEO-first, i18n-ready blog to a Next.js + Sanity site. Walks 40 intake questions, scans the project, drafts a one-page plan for approval, then implements against a 20-section technical spec with pass/fail checklist. Includes a working generator for AI hero images via Gemini 3 Pro Image (Nano Banana Pro).
pinned to #1f5e1dbupdated 2 weeks ago
Ask your AI client: “install plugins/building-blog”.
Requires the metahub MCP server installed in your client. Set up MCP.
mh install plugins/building-blogmetahub onboarded this repo on the author's behalf.
If you own github.com/BuildShipGrowRepeat/nextjs-sanity-blog-skill on GitHub, claim the listing to take over publishing. Your claim preserves the existing eval history and badges; only the curator label is replaced with verified-publisher on your next publish.
Stars
5
Last commit
2 weeks ago
Latest release
published
- #ai-blog
- #blog
- #blogposting
- #claude-code
- #claude-plugin
- #claude-skills
- #gemini-3-pro
- #hreflang
- #i18n
- #nano-banana
- #next-intl
- #next-js
- #nextjs
- #sanity
- #sanity-cms
- #sanity-studio
- #seo
- #seo-checklist
What's bundled
Items extracted from this plugin's manifest + directory tree.
Skills (1)
skills/building-blogUse when adding a blog to a Next.js + Sanity site, building a blog section from scratch, integrating Sanity CMS for editorial content, or setting up an SEO-optimized article surface. Triggers on ph…
Evaluation report
WarningsAutomated checks the publisher passed at publish time — structure, docs, safety, and whether the artifact behaves as claimed.1f5e1db· 2 weeks ago
Maintenance
12Recent activity
last push 7 weeks ago
Tests detectedwarn
no test/tests/__tests__/spec/t/ dirs, no JVM src/test/, and no JS/TS/Python/Go/Ruby/Elixir test files
Add tests (even a smoke test). Consumers gauge maintenance quality by their presence.
CI configuration detectedwarn
no CI config found (looked for GitHub Actions, CircleCI, GitLab CI, etc.)
Add a simple workflow (lint + test on PR) — it tells consumers the artifact is built reproducibly.
Release history
1- releasecurrent1f5e1dbwarn2 weeks ago
Contents
Next.js + Sanity Blog (Claude Code skill)
An opinionated, batteries-included spec for adding a blog to a Next.js website backed by Sanity CMS. Built as a Claude Code skill: install it, say "add a blog", and the agent walks 40 intake questions, scans your project, drafts a one-page plan for your approval, and then implements against a ~1100-line technical spec that already covers SEO, i18n, performance, accessibility, AI hero image generation, and a pass/fail checklist.
Aimed at corporate blogs. Organic-search-first. Optional AI authoring with human review inside Sanity Studio.
What you actually get
- A 40-question intake that covers every fork that meaningfully changes the spec: locales, author model, category count, CMS workflow, analytics, consent, AI imagery, comments, search, sharing, dark mode, scheduled publishing, and the rest.
- A one-page plan template the agent fills from your answers and stops at, waiting for explicit sign-off before any code change.
- A 20-section technical spec to implement against: Sanity schema, URL structure, smart 404 for missing-locale slugs, hreflang rules, BlogPosting and FAQPage JSON-LD, OG, Atom feeds, sitemap, performance budgets tighter than Google's "good" baseline, WCAG 2.2 AA targets, font and motion rules, deletion webhook handling.
- A working TypeScript generator for AI hero images via Gemini 3 Pro Image (Nano Banana Pro), with locale-keyed slugs, idempotent re-runs, and a per-project style guide template.
- A pass/fail checklist that is the definition of done.
Install
Two ways.
As a Claude Code plugin (recommended):
/plugin marketplace add BuildShipGrowRepeat/nextjs-sanity-blog-skill
/plugin install building-blog@nextjs-sanity-blog
Manual:
Clone the repo and drop the skill folder into your local Claude skills directory.
git clone https://github.com/BuildShipGrowRepeat/nextjs-sanity-blog-skill.git
cp -R nextjs-sanity-blog-skill/skills/building-blog ~/.claude/skills/
How to use it
Once installed, say one of:
- "add a blog to this project"
- "set up a blog with Sanity"
- "build the blog section"
Claude will:
- Scan your project (
package.json,next.config.*, message files, design tokens,CLAUDE.md, existing Sanity studio folder if any) and pre-fill anything it can detect. - Walk the 40 intake questions, showing recommended defaults so you can move quickly. The agent groups related questions and uses interactive picks where the host environment supports them.
- Hand you a one-page implementation plan and wait for your sign-off.
- Build against the spec, phase by phase, finishing on the pass/fail checklist.
What's in the spec
Three files, each readable on its own:
skills/building-blog/SKILL.md— the orchestrator. Workflow, scan checklist, fallbacks for non-interactive environments.skills/building-blog/blog-technical-requirements.md— the engineering spec. §0 holds the intake questionnaire, §1 is the per-project profile filled from the answers, §2 to §20 is the universal spec that reads from §1, §21 is the pass/fail checklist.skills/building-blog/blog-image-style-guide.md— a brand-tailorable template for AI-generated hero images. The intake sits on top, and the agent helps you populate the topic table and worked examples for your domain.
Stack assumptions
- Next.js, App Router. Tested against 14 and 15; Next.js 16 gotchas are documented inline (async
params, uncachedfetch, Turbopack,stegaoutside draft mode). - Sanity v3. Studio either hosted at
*.sanity.studioor embedded under/studio. next-intlfor i18n on multilingual projects. Single-locale projects skip the i18n section entirely.- Tailwind is assumed but not strictly required. The spec locks Tailwind-style classes in a handful of typography rules only.
If your stack is meaningfully different (Contentful, Payload, MDX-only, Astro, Remix), this skill is the wrong tool for direct execution. The questionnaire structure and the SEO section still work as a checklist. The rest does not transfer cleanly.
What this is not
- Not a docs site generator. Use Nextra, Docusaurus, or Starlight.
- Not for high-velocity news publishers, where sitemap chunking and editorial workflow become primary concerns and this spec gets thin.
- Not a marketing landing page builder dressed up as a blog.
- Not a UI library or design system. It assumes you already have one.
Why this exists
Every time you ask an AI to "add a blog to my Next.js site", you get a slightly different answer. Some answers ship without alt text on hero images. Some include tags by default even though tags will fragment a small archive into thin pages Google ignores. Some forget hreflang on listing pages. Some over-engineer with @sanity/document-internationalization when the site's articles don't even share topics across locales.
This skill is what a careful, opinionated implementation looks like, written down once so you don't relitigate it on every project. The opinions have rationale inline. Where you disagree, override via the §0 intake. That is exactly what §0 is for.
Roadmap (loose)
- Stack adapters as sibling skills: Payload, Contentful, MDX-only.
- Better recommended defaults for FR / DE / ES / IT / PT locale combinations.
- A small examples folder showing the spec applied to a real project (sanitized).
- A short walkthrough video.
Contributing
Issues and PRs welcome. The spec is opinionated on purpose. Specifically interested in:
- Real-world results: "I shipped a blog with this and here is what broke or what I had to change."
- Counter-examples where a default in §2 to §20 is provably wrong for a common case.
- Translations of the questionnaire to other languages so non-English-speaking teams can use it natively.
See CONTRIBUTING.md once added; in the meantime, open an issue first to discuss.
License
MIT. See LICENSE.
Author
Vladimir Terekhov · BuildShipGrowRepeat · attractgroup.com · [email protected]
Keywords for search: next.js sanity blog, claude code skill, claude skill, nextjs sanity cms, blog seo checklist, next-intl blog, nano banana blog images, gemini 3 pro image blog, sanity studio blog, hreflang next.js, blog jsonld blogposting, ai blog generator, opinionated blog spec.
Reviews
No reviews yet. Be the first.
Related
claude-magic-compact
Lossless context compression for Claude Code.
youtube-transcribe-skill
Extract subtitles/transcripts from YouTube videos via CLI or browser automation
agents-research
Agents for academic, market, and technical research, synthesis, and reporting
mh install plugins/building-blog