100 Tips for Building a Personal AI Agent: From Cloud Prototype to Production

A developer spent six weeks building a personal AI agent from scratch — not a chatbot wrapper, but a persistent assistant that manages tasks, tracks deals, reads emails, analyzes business data, and proactively surfaces missed items. The project started in the cloud (Claude Projects with shared memory files, rich context windows, custom skills) then migrated to Claude Code inside VS Code, which unlocked local file access, git tracking, shell hooks, and scheduled headless tasks. The migration forced solving problems they didn't know existed. These 100 tips are the distilled result, with Claude 20x max usage shifting from 100% development / 0% real-world initially to 20% / 80% after six weeks.
Foundation & Identity (1–8)
- Write a Constitution, not a system prompt. A system prompt lists commands; a Constitution explains rules. When the agent hits an edge case no rule covers, it reasons from the Constitution instead of guessing. This separates agents that degrade gracefully from those that hallucinate confidently.
- Give your agent a name, voice, and role. Example: "Always first person. Direct. Data before emotion. No filler phrases. No trailing summaries." This eliminates hundreds of micro-decisions per session and creates consistency for audit.
- Separate hard rules from behavioral guidelines. Hard rules in a dedicated section — never overridden. Behavioral guidelines adapt. Mixing them makes both meaningless.
- Define your principal deeply. Who does the agent serve? What frustrates them? How do they decide? Example: "Decides with data, not gut feel. Wants alternatives with scoring, not a single recommendation. Hates vague answers."
- Build a Capability Map and a Component Map separately. Capability Map: what the agent can do (skills, integrations, automations). Component Map: how it's built (files, connections). Conflating them creates a useless document after month three.
- Define what the agent is NOT. "Not a summarizer. Not a yes-machine. Not a search engine. Does not wait to be asked." Negative definitions prevent drift toward generic helpfulness.
- Build a THINK vs. DO mental model. When uncertain → THINK (analyze, draft, prepare). When clear → DO (execute, write, dispatch). Never freeze. Default to action at the lowest stakes level, surface the result.
- Version your identity file in git.
git blameon configuration helps debug behavioral regressions that trace to specific edits.
Memory System (9–18)
- Use flat markdown files for memory — not a database. Readable, greppable, git-trackable, directly loadable by the agent. No infrastructure layer.
- Separate memory by domain, not by date. Files like
entities_people.md,entities_companies.md,entities_deals.md,hypotheses.md,task_queue.md. One file = one domain. Chronological dumps become unsearchable after week two. - Build a
MEMORY.mdindex file. Single index listing every memory file with a one-line description. Agent loads index first, pulls specific files on demand. Keeps context window usage predictable. - Distinguish "cache" from "source of truth" — explicitly. Mark every cache file with
last_sync:timestamp. For example, localdeals.mdis a cache of the CRM; the CRM is the SSOT.
📖 Read the full source: r/ClaudeAI
👀 See Also

OpenClaw 4.1 with Gemma 4 Stack: Hybrid Architecture and Setup Fixes
A Reddit post details an optimized local agent stack combining OpenClaw 4.1 with Google's Gemma 4 model, featuring a hybrid architecture, specific configuration fixes for Ollama tool calling, and context window adjustments.

Practical OpenClaw Setup Insights from Docker/Windows Experience
A developer shares specific lessons from running OpenClaw on Docker with Windows 11/WSL2, covering persistence issues, Discord bot configuration, memory management approaches, and browser automation workarounds.

Using AI to Write Better Code More Slowly: A Bug-Finding Workflow
Nolan Lawson describes a workflow using multiple AI agents (Claude, Codex, Cursor Bugbot) to find and prioritize bugs in PRs, improving code quality over raw velocity.

Guide to Setting Up Safety Layers for Coding with Claude Code
A step-by-step guide shows how to implement defense-in-depth safety layers for coding with Claude Code, covering pre-commit hooks, CLAUDE.md files, local review agents, GitHub Actions CI, and branch protection.