An opinionated, batteries-included spec for adding a blog to a Next.js website backed by Sanity CMS.
FAQ
building-blog is a Claude Code plugin with 1 hand-picked skill for content work, indexed on Flowy. Install it with the command on its page. It includes building-blog. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
> /plugin marketplace add BuildShipGrowRepeat/nextjs-sanity-blog-skill> /plugin install building-blog@nextjs-sanity-blog
Repo: BuildShipGrowRepeat/nextjs-sanity-blog-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.
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/
Once installed, say one of:
Claude will:
package.json, next.config.*, message files, design tokens, CLAUDE.md, existing Sanity studio folder if any) and pre-fill anything it can detect.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.params, uncached fetch, Turbopack, stega outside draft mode).*.sanity.studio or embedded under /studio.next-intl for i18n on multilingual projects. Single-locale projects skip the i18n section entirely.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.
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.
Issues and PRs welcome. The spec is opinionated on purpose. Specifically interested in:
See CONTRIBUTING.md once added; in the meantime, open an issue first to discuss.
MIT. See LICENSE.
Vladimir Terekhov · BuildShipGrowRepeat · attractgroup.com · vv@attractgroup.com
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.
.claude-plugin/
marketplace.json
plugin.json
.gitignore
LICENSE
README.md
skills/
building-blog/
blog-image-style-guide.md
blog-technical-requirements.md
SKILL.md© 2026 Flowy · Free and open source
Built for Claude Code · Not affiliated with Anthropic