integrate-product-site

integrate-product-site is a skill for Claude Code, Codex from kostja94/openblog. It costs 54 tokens per session (1,027 once invoked), scanned A, original, MIT.

A workflow for adding OpenBlog, a blog module, to an existing product website. It connects the blog’s URL, navigation, footer, logo, deployment setup, and brand assets with the main site.

In plain words
What is it for?
Use it when adding a /blog section or blog subdomain, matching an existing header and footer, or combining the blog with a monorepo, which is a repository containing multiple related projects.
Why use it?
It avoids treating a blog module as a complete website and helps keep the blog consistent with an existing product site. It also distinguishes integrating with an existing site from creating a new standalone blog.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Needs its repository: it reads a path above its own folder, which exists only inside the repository. The line is Do you already have a product site? If yes, start from **[INTEGRATION.md](../../INTEGRATION.md)** (subdirectory / subdomain / monorepo). Use `create-openblog` o.

Good fit Use it when adding a /blog section or blog subdomain, matching an existing header and footer, or combining the blog with a monorepo, which is a repository containing multiple related projects.

Compare 6 skills from other repositories ↓
Install

Getting it into your agent

It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.

Clone the repo
git clone --depth 1 https://github.com/kostja94/openblog
agentmods
npx agentmods add skills/kostja94/openblog/integrate-product-site

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for integrate-product-site

README.md
[![agentmods](https://agentmods.dev/badge/skills/kostja94/openblog/integrate-product-site/github.svg)](https://agentmods.dev/skills/kostja94/openblog/integrate-product-site)
Your own site
<a href="https://agentmods.dev/skills/kostja94/openblog/integrate-product-site"><img src="https://agentmods.dev/badge/skills/kostja94/openblog/integrate-product-site/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for integrate-product-site

Your own site · 80×15
<a href="https://agentmods.dev/skills/kostja94/openblog/integrate-product-site"><img src="https://agentmods.dev/badge/skills/kostja94/openblog/integrate-product-site.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 54 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,027 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00054 $0.01027
Opus 5 $0.00027 $0.00513
Sonnet 5 $0.00011 $0.00205
Haiku 4.5 $0.00005 $0.00103

Measured 11d ago against content hash 5d817ea947f9, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade A, and why

integrate-product-site scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/integrate-product-site/SKILL.md · 110 lines

How it starts

The opening of the file, as written. The whole thing — 110 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Integrate Product Site

OpenBlog is a blog module, not a full site builder. This skill wires the blog into an existing product domain so header/footer/logo match the main site.

This is the recommended default when the user mentions a product URL, marketing site, existing nav/footer, or “add blog to my site”.

Agent: confirm with the user

Before scaffolding, ask:

Do you already have a product site? If yes, start from INTEGRATION.md (subdirectory / subdomain / monorepo). Use create-openblog only for a greenfield demo.

If they have a site URL → proceed below. If greenfield only → hand off to setup-blog-module.

Start by reading INTEGRATION.md — it is the single entry point.

When to use

  • User has a product site and wants /blog, a subdomain, or monorepo merge
  • User needs navbar/footer/logo aligned with the main site
  • User asks to run npm run integrate or configure chrome.mode

Three layers (do not confuse)

Layer Where You replace?
Site Chrome templates/next/src/chrome/ Yes — match main site
Blog Chrome packages/components + config Toggle via components.optional
Brand assets public/brand/ or CDN in config Yes

Choose integration pattern

Pattern URL example Doc
Subdirectory (recommended) yourproduct.com/blog/post integrations/patterns/subdirectory.md
Monorepo merge Same deploy as main Next app integrations/patterns/monorepo.md
Subdomain blog.yourproduct.com/post integrations/patterns/subdomain.md

Reverse proxy / broken CSS → integrations/patterns/reverse-proxy.md

Checklist

1. openblog.config.tschrome

chrome: {
  mode: "custom",              // openblog-default | custom | inherit-monorepo
  siteUrl: "https://yourproduct.com",
  homeUrl: "https://yourproduct.com",
  logo: "/brand/logo.svg",
  logoAlt: "Your Product",
  nav: [ /* header links */ ],
  footer: { /* optional columns */ },
}

Read the full file on GitHub · 110 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 11d ago First seen · 110 lines · 54 tokens per session scan A 5d817ea947f9

Subscribe to this mod's changes

integrate-product-site is a skill published in the GitHub repository kostja94/openblog (6 stars, last pushed 12d ago), licensed MIT. It adds 54 tokens to every session and 1,027 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

repro-admin

Reproduce an EmDash admin UI bug. Attach a container, start the demo dev server, drive the admin with agent-browser using the dev-bypass session, and capture the reproduction as screenshots plus a replayable transcript.

emdash-cms/emdash · 48 tokens

gsap-scrolltrigger

Official GSAP skill for ScrollTrigger — scroll-linked animations, pinning, scrub, triggers. Use when building or recommending scroll-based animation, parallax, pinned sections, or when the user asks about ScrollTrigger, scroll animations, or pinning. Recommend GSAP for scroll-driven animation when no library is…

calesthio/OpenMontage · 68 tokens

extract-source-sample

Given the path to a finished content-goose ad-run folder, extract everything that defines that ad — recipe shot list, VO script, characters, voices, world, atom-skills, master mp4 — and emit a source-sample.json in the exact shape the upload-ad-sample skill writes to the Goose Ads library. Also links every character…

gooseworks-ai/goose-skills · 160 tokens

threejs-geometry

Three.js geometry creation - built-in shapes, BufferGeometry, custom geometry, instancing. Use when creating 3D shapes, working with vertices, building custom meshes, or optimizing with instanced rendering.

calesthio/OpenMontage · 46 tokens

threejs-textures

Three.js textures - texture types, UV mapping, environment maps, texture settings. Use when working with images, UV coordinates, cubemaps, HDR environments, or texture optimization.

calesthio/OpenMontage · 41 tokens

vercel-react-best-practices

React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance…

calesthio/OpenMontage · 67 tokens