Notes from the workshop
Practical write-ups on AI coding tools, prompt engineering, automation and the production patterns behind everything in the BuyCoded catalog.
Articles
What Is a Claude Code Skill? Skill vs Prompt Explained
Claude Code skills get confused with prompts constantly. Here is the actual mechanical difference, and the point where writing one starts paying off.
Claude Code Skills: How to Add Them to an Existing Project
Two ways to add the Claude Code Skills Pack to a project that already has its own skills, and how to avoid name and trigger collisions.
OG Image Generator Boilerplate: Build vs Buy Guide
Building a dynamic OG image generator from scratch means learning Satori's CSS subset, hosting fonts, and hand-building a preview UI. A ready-made boilerplate skips straight to 50 working templates.
v0 vs Bolt vs Lovable: Why One Prompt Gives Different UI
You paste the same prompt into v0, Bolt.new, and Lovable and get three different components. Here is why, and which prompts actually port between them.
AGENTS.md vs .cursorrules vs CLAUDE.md: What Reads What
AGENTS.md, .cursorrules, and CLAUDE.md are not interchangeable. Here is which AI coding tool reads which file, and how to stop your rules from drifting out of sync.
How to Migrate .cursorrules Files to Cursor's .mdc Format
Cursor's legacy .cursorrules file still works, but the newer .cursor/rules/*.mdc format scopes rules per file type instead of dumping everything into one prompt. Here's how to convert without losing coverage.
Why Claude Code Skills Don't Fire on the Right Request
You wrote the skill, it's in the right folder, and Claude still ignores it. The cause is almost always the frontmatter description, not the skill file itself.
How to Fix an OG Image That Won't Update on Social
Changed your og:image but the old preview keeps showing on Facebook or LinkedIn? Here's why that happens and the exact steps to force a fresh scrape.
Why Next.js OG Images Render Blank or Broken in Production
Your og:image endpoint returns a 200 and a valid PNG, just not the one you designed. The cause is almost always CSS that Satori does not implement.