llms.txt Content
# alexop.dev
> A Personal Blog from a simple web developer
## Full Documentation
- [Full Blog Content](https://alexop.dev/llms-full.txt): Complete blog posts with full content for deep context.
## Blog
- [How to Use Claude Code as an AI QA Tester with Agent Browser](https://alexop.dev/posts/automated-qa-claude-code-agent-browser-cli-github-actions): Claude Code and Agent Browser let you test your web app in a real browser without hardcoded selectors. Manual browser control, AI-driven exploration, and structured JSON output.
- [How to Catch Hydration Errors in Playwright Tests (Astro, Nuxt, React SSR)](https://alexop.dev/posts/catch-hydration-errors-playwright-tests): A Playwright fixture that listens to the browser console for hydration mismatch warnings and fails your E2E tests when server and client HTML disagree.
- [App Screenshots: An AI Coding Agent Skill for Visual Documentation](https://alexop.dev/posts/app-screenshots-claude-code-skill): Automate annotated screenshot documentation for any web app or live website using an AI coding agent skill. Works with Claude Code, Cursor, Windsurf, or any agent that supports custom skills.
- [The Software Factory: Why Your Team Will Never Work the Same Again](https://alexop.dev/posts/the-software-factory): We already have everything we need to build software factories. Teams will change. The only variable is speed.
- [Building a Real-Time Todo App with Jazz and Vue 3](https://alexop.dev/posts/building-real-time-todo-app-jazz-vue): Build a real-time, offline-capable todo app with Jazz and Vue 3. Learn CoValues, drag-and-drop with fractional indexing, and shareable URLs. No backend needed.
- [How I Turned Claude Code's Thinking Indicator into a One Piece Adventure](https://alexop.dev/posts/claude-code-spinner-verbs-one-piece): Replace Claude Code's default spinner verbs with custom One Piece references using the spinnerVerbs config in settings.json.
- [How I Added Sound Effects to Claude Code with Hooks](https://alexop