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