blog-post-publication
Complete workflow for publishing blog posts — image processing, SEO audit, schema verification, and Vercel deployment
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Complete workflow for publishing blog posts — image processing, SEO audit, schema verification, and Vercel deployment
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Run the full TechHive Labs blog post cycle: source brief → voice-matched draft → data charts → hero image → SEO-audited publish to production → distribution variants (LinkedIn, dev.to, X) with a branded stats card. Use whenever Tony wants to write and publish a new blog post, turn a brief/brain-dump into a post, "do the full cycle", "post like last time", cross-post an existing article, or produce any distribution deliverable (LinkedIn post, dev.to variant, tweet, stats image). Also consult it when doing just ONE phase — it maps each phase to the specialist skill and records the conventions and gotchas learned from real cycles.
Browser-test this site (techhivelabs.net portfolio) with playwright-cli — verify pages render, MDC components behave (modals, players), and interactions work in the real app. Use whenever a change needs visual or interactive verification in the browser: new/changed components, blog post layout checks, screenshot requests, or E2E flows like the contact form.
Build a branded LinkedIn document carousel (a multi-slide PDF) from a blog post, announcement, or set of findings, styled in the TechHive Labs identity and exported print-ready. Use this whenever Tony wants a "carousel", "document post", "PDF slides", "swipeable slides", "slide deck for LinkedIn", or wants to turn a blog post / set of stats into something visual to drive LinkedIn reach — even if he doesn't say the word "carousel". The output is a 4:5 (1080x1350) PDF rendered from an HTML template via headless Chrome.
Write or rewrite blog posts matching Tony's personal writing voice -- self-deprecating, conversational, narrative-driven technical storytelling
General-purpose X/Twitter research agent. Searches X for real-time perspectives, dev discussions, product feedback, cultural takes, breaking news, and expert opinions. Works like a web research agent but uses X as the source. Use when: (1) user says "x research", "search x for", "search twitter for", "what are people saying about", "what's twitter saying", "check x for", "x search", "/x-research", (2) user is working on something where recent X discourse would provide useful context (new library releases, API changes, product launches, cultural events, industry drama), (3) user wants to find what devs/experts/community thinks about a topic. NOT for: posting tweets or account management. Note: currently uses recent search (last 7 days). Full-archive search is available on the same pay-per-use X API plan but not yet implemented in this skill.
Generate AI image prompts for blog post hero images with a consistent TechHive Labs visual style
| name | blog-post-publication |
| description | Complete workflow for publishing blog posts — image processing, SEO audit, schema verification, and Vercel deployment |
| trigger | after writing and generating blog post hero images, before deploying to techhivelabs.net |
| source_sessions | ["tonycos92_tonycos92's Organization_default_9cef986b-8337-4166-bef3-be8e01a8c0c1"] |
| version | 1 |
| created_by_agent | claude_code |
| created_at | "2026-05-19T00:31:20.683Z" |
| updated_at | "2026-05-19T00:31:20.683Z" |
Complete workflow for publishing a blog post on techhivelabs.net with proper hero image processing, SEO audit, and Vercel deployment.
After writing a blog post and generating hero image(s):
content/blog/Convert, crop, and optimize for web:
convert input.png \
-crop 130x100+0+0 \
-resize 1920 \
-quality 88 \
public/images/blog/{slug}/hero.webp
Adjust crop dimensions based on watermark position (Gemini usually bottom-right). Target: 1920px wide, ~16:9 aspect, <150KB file size.
Update frontmatter:
image: /images/blog/{slug}/hero.webp
draft: false
For multiple blog post heroes (e.g., cropping out Gemini sparkles):
for file in public/images/blog/*/hero.webp; do
convert "$file" -crop 130x100+0+0 -resize 1920 -quality 88 "$file"
done
Verify results in a stats table before committing.
Check before pushing:
Canonical URLs
site.url: "https://www.techhivelabs.net" in nuxt.config.ts<link rel="canonical"> to blog post routeSchema Markup
Article with author, datePublished, description, imageBreadcrumbList for breadcrumb navigationImageObject for hero images with alt textPage Titles
Image Attributes
og:image:alt and twitter:image:alt descriptive textFont Loading
<link> blocks@nuxt/fonts module for self-hosted fonts (avoids render-blocking)git add content/blog/{slug}.md public/images/blog/{slug}/
git commit -m "blog: {short title}"
git push origin main
Vercel automatically builds. Verify:
Image Watermark Removal
Vercel Prerendering
routeRules and nitro.prerenderSchema Validation
draft: true