og

Generates share-card images, favicons, and PWA icons for apps deployed on grok.me.

Updated Sep 17, 2026
One-click install
npx skills add https://github.com/scomofo/midi-stage2 --skill og-scomofo
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: og
Source: https://github.com/scomofo/midi-stage2/tree/main/.grok/skills/og
Command: npx skills add https://github.com/scomofo/midi-stage2 --skill og-scomofo

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Apps deployed on *.grok.me need correct Open Graph share cards, favicons, and PWA icons so links unfurl properly on social platforms, but the meta tags are injector-owned and easy to misconfigure. ## Core Features & Use Cases - Custom share cards: Generates a 1200×630 public/og.jpg card from the app's own art, with baked-in title lockup and JPEG size discipline for reliable unfurling. - Game identity contract: Writes og:type as x:game in src/lib/og/site.json and produces the 50:11 public/x-banner.jpg feed card for games. - Favicon and PWA icons: Hand-authors a crisp public/favicon.svg and derives 192/512 raster icons only when the app ships a web manifest. - Use Case: After scaffolding a browser game, dispatch the brand-asset pass as a non-blocking subagent so the share card, favicon, and X banner land without blocking the main build. ## Quick Start Ask the agent to set up the share card and favicon for your app, and it will dispatch the brand-asset pass as a background subagent while it keeps building.

Frequently Asked Questions about og

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add an og:image share card to my app?▼

Generate a 1200×630 JPEG at public/og.jpg and set "card": "custom" in src/lib/og/site.json. The platform injector emits the og:image meta tags automatically, so never add them to __root.tsx yourself.

What og:type should a game use for X cards?▼

Games use the namespaced value x:game, written as "type": "x:game" in src/lib/og/site.json. X's card pipeline keys off that exact string, so do not shorten it to bare game or correct it to website.

Should I generate the favicon with an image model?▼

No. Hand-author public/favicon.svg so it stays crisp at 16px, using one bold glyph or shape with flat fills from the app's design tokens. Wire it in the root head() links array.

Why does my share card not update after publishing?▼

Card pixels and site.json are baked into the build, so a card that lands after a publish never reaches the live app on its own. Publish again so the new public/og.jpg ships with the deploy.

When should an app keep the placeholder og card?▼

Plain utility apps such as converters, CRUD trackers, and dashboards keep the hosted og.grok.me placeholder and ship no public/og.jpg. Games, whimsical apps, and brand-forward pages get a custom card by default.

Can I add per-route share cards or a runtime OG image API?▼

No. The card is one static site-wide image, either public/og.jpg or the placeholder service. There is no /api/og route, runtime renderer, or per-route card support.