Blog
Using MCP to Bulk Upload Blog Posts: The Final Step
The final piece of the puzzle: using Claude Code and the Agility CMS MCP server to bulk upload 18 blog posts documenting this entire journey. What took minutes would have taken hours manually - and it demonstrates the power of AI-assisted content management.
Read more→Switching from Cursor to Claude Code: A New Development Partner
I started building this personal website using Cursor as my primary AI coding assistant. But here's the thing about AI development tools - they're evolving rapidly, and it's worth experimenting. Today I switched to Claude Code to see how it handles project handoff and continuation.
Read more→Refactoring Markdown Gallery Processing: A Deep Dive
The blog system supports seven different gallery types that can be embedded in markdown. We refactored the gallery processing into a proper Remark plugin that follows the unified/remark ecosystem patterns.
Read more→Series Feature Implementation
The Series feature allows grouping blog posts into series with dedicated landing pages. Each series has a title and slug, a markdown summary that displays at the top of the landing page, and a filtered list of blog posts that belong to the series.
Read more→Upgrading the Career Timeline with 8star Labs
I decided to upgrade the career timeline component to use a more polished, professional timeline from 8star Labs. The original custom timeline was functional, but I wanted something with better visual hierarchy and a more refined look.
Read more→Blog Details Component: The dynamicPageItem Discovery
After fixing the content loading issue in all Agility components, I was still getting 'Page Not Found' errors on blog post detail pages. The issue was in the BlogDetails component - it was trying to find the blog post using complex logic when Agility CMS was already providing the blog post directly.
Read more→The Agility Component Content Loading Mistake
When building the Agility CMS components for this site, I ran into a consistent issue where components weren't loading their content properly. The problem? The AI agent was trying to access module.fields directly, assuming the fields would be available on the module object passed to the component.
Read more→Sample Content Creation for Testing
The agent created sample content so we can test everything. Some things worked, some didn't - that's the reality of working with APIs and content management systems.
Read more→Phase 9: Testing & QA Setup
I've set up the testing infrastructure, but we can't do full testing until we have content in the CMS. The agent created Playwright tests, Lighthouse CI configuration, and GitHub Actions workflows.
Read more→Testing Content Requirements
To properly test the site, we need actual content in Agility CMS. I've specified what content we need to create so we can test all the features properly.
Read more→