Building a Personal AI Agent System

2026-02-26 · Jazz Lien

The Problem: Too Many Projects, One Brain

I'm building 6 products simultaneously:

Each has its own tech stack, deployment target, and context. Switching between them was killing my productivity. I'd forget where I left off, duplicate work, or worse — break things because I mixed up patterns from different projects.

The Solution: Treat Claude Code Like a Team

I stopped treating Claude Code as a single assistant and started treating it as a team of specialists. Each project gets its own session with its own context.

Port Allocation

First problem: every dev server defaults to port 3000 or 8000. Running multiple projects means port conflicts.

Solution: PORT_ALLOCATION.md at the root:

Project Frontend Backend
Jazz Gallery 3100 3101
Glimmer 3200 3201
Articulate 3300
Portfolio Manager 3400 8001
Podsight 3500 3501
Personal Website 3600 3601

Each project's CLAUDE.md includes its assigned ports. New sessions see this immediately and use the right ports.

Project-Level CLAUDE.md

Every project has its own CLAUDE.md with:

When I start a session in /glimmer, Claude reads glimmer/CLAUDE.md and knows:

No re-explaining every session.

Skills: Decision Frameworks

Some decisions come up repeatedly across projects:

I created .claude/skills/ with reusable frameworks:

should-i-build-this.md

Before building anything, run through:

  1. Does a tool/service already solve this? (Auth → Clerk, Payments → Stripe, Files → R2)
  2. Is this core value prop or infrastructure?
  3. Can this wait until after launch?

If the answer isn't "build it myself," don't.

ship-or-iterate.md

Checklist before launching:

If all yes, ship. Stop polishing.

revenue-potential.md

Score projects by cash flow potential. Helps prioritize when everything feels urgent.

Knowledge: Technical Learnings

.claude/knowledge/ stores patterns I've figured out:

When I start a new project, Claude can reference these instead of me re-discovering the same lessons.

PM Handbook: Keeping Honest

.claude/pm-handbook.md is my operating manual. Key sections:

Chapter 7: New Projects

Before writing code:

  1. Challenge the Problem — Is this worth solving?
  2. Discovery Questions — Who's the user? What's the competition?
  3. Master Plan — Scope, non-goals, success metrics

Prevents building solutions to problems nobody has.

Chapter 8: Session Handover

When context window fills up, write HANDOVER.md:

New sessions read this first. No lost context.

Chapter 10: Production Safety

6-layer defense before deploying:

  1. Type checking passes
  2. Tests pass
  3. Build succeeds
  4. Manual smoke test
  5. Feature flags for risky changes
  6. Rollback plan ready

The Meta-Lesson

The best builders aren't better at coding. They're better at knowing what NOT to build.

Every hour on commodity infrastructure is an hour NOT spent on:

The agent system enforces this. Skills say "don't build auth." Knowledge says "use ECPay not Stripe in Taiwan." The PM handbook says "challenge the problem before writing code."

It's not about having AI write more code. It's about having AI help me write less code — and the right code.


My skills, knowledge, and PM handbook are in the ultimate_Claude repo if you want to adapt them.