We've been running Claude Code as part of our daily workflow for months now. The feature that's had the biggest impact isn't MCP servers or fancy agent loops. It's skills: small markdown files that tell Claude exactly how we do things.
A skill is a set of instructions that Claude loads before doing a task. You write them once, and every future conversation gets the benefit of that context. No more re-explaining your conventions, your file structure, or your preferences every time you open a new session. If you've read how we use .mdc rules, skills are a similar concept but for Claude Code instead of Cursor.
We've built enough of these that we've started open-sourcing the ones that are useful to other teams.
What a skill looks like
The format is straightforward. A markdown file with some frontmatter:
Drop it in your .claude/skills/ or .agents/skills/ directory and it's available. The trick is being specific. "Create good content" is useless. "Create an MDX file with this exact frontmatter schema, run the image generator, place the file in this directory, and open it for review" is useful.
Claude follows instructions well when the instructions are actually clear.
The blog writing skill
This is the one we use most. One command kicks off the entire blog post workflow:
- Topic and brief: Claude asks what you want to write about, generates a working title, slug, and description
- Author and category: Pulls from our existing authors and categories, lets you pick
- Hero image: Calls our image generation API, which wraps DALL-E 3 with our house style baked in
- Writing: Produces the full MDX file with proper frontmatter, content structure, and internal links
- Review: Opens the file so you can edit before publishing
The whole thing takes about two minutes from prompt to draft. The mental barrier of "starting a blog post" basically disappeared.
The Victorian cat situation
Every blog post needs a hero image. We wanted visual consistency without spending time on each one, so we built an image generation endpoint that only produces Victorian cat inventors.
One API call with a topic, and we get back an enormously round cat in period-appropriate attire doing something related to the subject matter. Monocles, brass gears, ink-stained paws. The blog skill calls this automatically and uploads the result to blob storage.
The chonky lad at the top of this post? Generated by that exact system. We asked for "an absolute unit of a cat inventor" and delivered it did.
Why Victorian cats? Honestly, a monocled tabby surrounded by brass gears says "we don't take ourselves too seriously" better than any about page ever could. And once you've committed to the bit, you have to see it through.
No spam, only good stuff
Subscribe, for more hot takes
The JSON-LD skill
We ran an SEO audit on our site and found that our structured data was inconsistent. Some pages had it, some didn't. Some had broken @context values or missing required fields.
So we built a skill that teaches Claude how to write type-safe JSON-LD for Next.js using schema-dts. It covers the common schema types we use: Article, Organization, FAQPage, Service, JobPosting, BreadcrumbList. The skill knows our component structure and where structured data lives in our codebase.
Now whenever we add a new page type or content section, Claude generates the structured data correctly the first time. No more manually cross-referencing Schema.org docs.
This is the first skill we published to our public skills repo. Install it with:
We're continuing to add skills to the repo as we find patterns worth sharing.
Other skills we run
Beyond the blog and JSON-LD skills, we've got a handful of others that handle recurring tasks:
- SEO strategy: Pulls data from Ahrefs and Google Search Console, compares against our target keywords, flags what's worth going after
- Slug redirect management: We rename pages fairly often. This skill creates redirects automatically so nothing breaks
- Web design guidelines: Reviews UI code for accessibility and design issues before they ship
- Vercel/React best practices: Performance patterns from the Vercel engineering team, loaded whenever we're writing or reviewing components
- CMS fact-checker: We publish comparison pages for different CMSs. This skill checks our claims against official docs so we're not accidentally lying about someone else's pricing
None of these are complex. They're just specific enough that Claude does the right thing without being asked twice.
What we've learned
Skills compound. The first one takes effort to write. After that, each new skill gets easier because you start recognizing which patterns are worth encoding. Six months in, we've got a library of them and every new project starts faster.
Vague instructions produce vague output. The skills that work best read like internal documentation: explicit file paths, exact field names, validation rules that leave no room for interpretation.
Publishing forces quality. When we started putting skills in a public repo, the quality of our internal skills went up too. Writing for an audience makes you think harder about edge cases and assumptions.
One less decision per post adds up. Having a locked-in image style means we never think about hero images. And the cats are genuinely delightful.
We build this kind of automation for clients too, and we've taken it even further by building our own background agent that picks up tickets autonomously. If you've got repeatable content operations that shouldn't need a human, that's what our agentic workflows service does.
If you want to try our skills in your own project:
Your gloriously round cat overlords await.

