building-blog — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited building-blog (Plugin) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
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-blogManual:
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 · [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.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.