glebis/agency-socials
Generate social media covers and assets for AGENCY Community events, meetups, and YouTube recordings. Use when creating event covers, YouTube thumbnails, or social posts for the AGENCY Community.
npx skills add https://github.com/glebis/claude-skills --skill agency-socials
Generate covers and visual assets for AGENCY Community events using the established design system.
#0f0f0f#2a2a2a#e85d04#f0f0f0#999#555 / #444rgba(42,42,42,0.12)<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&family=JetBrains+Mono:wght@300;400;500&display=swap&subset=cyrillic" rel="stylesheet">
<link rel="preload" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/fonts/geist-sans/Geist-Bold.woff2" as="font" type="font/woff2" crossorigin>
@font-face {
font-family: 'Geist';
src: url('https://cdn.jsdelivr.net/npm/[email protected]/dist/fonts/geist-sans/Geist-Bold.woff2') format('woff2');
font-weight: 700;
}
#2a2a2a border, inset 12px from edgesgrayscale(1) contrast(1.1) brightness(0.95)--viewport-size="800,800"--viewport-size="1280,720"lab-meeting.html template in youtube-uploader~/Desktop/agency-{type}-cover.htmlosascript -e 'set theFile to POSIX file "/path/to/photo.png"' -e 'set theImage to the clipboard as «class PNGf»' -e 'set fileRef to open for access theFile with write permission' -e 'write theImage to fileRef' -e 'close access fileRef'const { chromium } = require('playwright');
(async () => {
const browser = await chromium.launch();
const context = await browser.newContext({
viewport: { width: W, height: H },
deviceScaleFactor: 2
});
const page = await context.newPage();
await page.goto('file:///path/to/html');
await page.waitForTimeout(3000);
await page.screenshot({ path: '/output/path.png', fullPage: true });
await browser.close();
})();
<!-- Standard structure for all asset types -->
<body>
<div class="bg-grid"></div>
<div class="frame"></div>
<div class="top-bar">
<span class="top-left">{event type}</span>
<span class="top-right">{date · time}</span>
</div>
<div class="photo-area"><!-- speaker photo with effects --></div>
<div class="content">
<div class="title">{headline with .highlight spans}</div>
<div class="accent-line"></div>
<div class="speaker"><strong>{name}</strong> <span class="handle">@{handle}</span></div>
</div>
<div class="bottom-bar">
<span>{format · price}</span>
<span>agency · community</span>
</div>
</body>
linear-gradient(to right, #0f0f0f, transparent) width 200pxlinear-gradient(to top, #0f0f0f, transparent) height 250pxlinear-gradient(to bottom, #0f0f0f, transparent) height 80pxrepeating-linear-gradient(transparent, transparent 2px, rgba(0,0,0,0.05) 2px, rgba(0,0,0,0.05) 4px)linear-gradient(transparent, #e85d04, transparent) opacity 0.4grayscale(1) contrast(1.1) brightness(0.95) (fully B&W)Take glebis/agency-socials from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.