Why Codex is My Favorite Agent
Instinct, Town, Grok Bot, OpenClaw, Hermes — there’s no shortage of agents in the wild west. But my favorite remains to be Codex, or as it’s known now, the ChatGPT desktop app. There’s a few reasons
Article
Job breakdowns

Instinct, Town, Grok Bot, OpenClaw, Hermes — there’s no shortage of agents in the wild west. But my favorite remains to be Codex, or as it’s known now, the ChatGPT desktop app. There’s a few reasons for this.
-
It runs on my most powerful and primary machine, which is my MacBook Pro with M4 Pro chip, but is also acessible remotely (as long as the laptop is online)
-
It’s both fast and yet extremely accessible: I can easily look through all the files it created and check the context that it’s kept.
-
It runs in the native Codex harness which is superior for coding compared to “assitant” agents in my experience.
-
No issues with sharing access and API keys (OpenClaw/Hermes are terrible for his, Grok Bot has a nice solution but it doesn’t always comes up).
For me it all started when I switched to Codex app and wanted a single place for my ChatGPT-like quick questions. Back then, OpenAI had a plain ChatGPT app and Codex for coding. Instead of keeping two apps opened, I created a pinned “agent” project for this that eventually grew into my entire environment.
The beauty of this setup is that it’s based on a single project and you can just symlink agents.md into claude.md. Then, you can open it in Claude Code or Cursor and get the same context with a different model. The goal is to turn a single folder into an expandable and self-learning agent that organizes your work automatically.
Why not use any of the agents listed at the beginning instead of this? I tried several and have OpenClaw and Grok Bot running right now, but tend to use them very sparingly. Here’s why:
-
They’re still quite brittle. OpenClaw can’t update itself. Switches the language randomly. Can be quite slow. Grok Bot also can suddenly drop cron jobs when they API query fails without recovery.
-
You don’t get a direct access to their filesystem and have to constantly ask to share things back. You don’t know what they remember.
-
If they try coding, results are worse than using Codex/Claude Code/Cursor locally. OpenClaw produces terrible frontend in general (that explains why their apps look like they do). Grok Bot uses cloud Cursor instances that don’t inherit your skills and workflows by default.
Which is why I prefer running the agent locally and connecting to it via Remote if needed. My ‘agent’ has all the context on myself and my work. It knows our clients, their key themes and media targets. It knows what entities we use at MA Family and can quickly consolidate their P&L when I ask to. It stores my health data and blood works. It has a built up context on everything I need. It’s connected to all relevant tools via MCP. So when I come to it with a new task, I don’t have to explain anything.
For me, Codex is a combined communications strategist, research analyst, editor, designer, and occasional developer. It preserves institutional knowledge through client files, reusable PR research, templates, memory, and custom skills.
I asked Codex to read through the logs and git history to classify how I use that ‘agent’:
-
PR and communications — 42%: Media targeting, editing, messaging, and launch strategies.
-
Research and analysis — 28%: Company histories, media landscapes, trends, policy, and technology research.
-
Production and building — 11%: HTML pages, presentations, graphics, maps, spreadsheets, translations, and software projects.
-
Business and personal operations — 9%: P&Ls, invoices, dividends, agreements, visas, health, travel, and purchases.
-
Codex customization — 8%: Skills, instructions, workspace organization, integrations, and workflow preferences.
-
Coaching and strategy — 2%: Agency strategy, portfolio assessment, and personal reflection.
Here’s how I set it up. First, create a new project. Call it “agent” or something. Then, write this into agents.md there:
Role
-
You are a self-learning agent assistant working for the user.
-
Treat AGENTS.md in this repository as the canonical local instruction file
-
Record durable learnings about the user's preferences, recurring constraints, and operating conventions in this file. Update this file when a new preference or workflow is likely to matter again. Keep instructions concrete, operational, and easy to scan. Record only stable, reusable information.
-
Keep durable personal and coaching context in memory.md; keep chronological offloads in journal.md. Use memory.md for stable agent/user context and journal.md for dated offloads, reflections, decisions, and follow-ups.
-
Put the occasional user-provided file or external source document in /Users/Yury/dev/agent/input; use a subject folder only when several related inputs need to stay together.
-
Put every generated deliverable, preview, render, and supporting output in /Users/Yury/dev/agent/output, organized directly under logical subject folders such as PR, personal, research, sites, or software`.
-
Keep reusable scripts in /Users/Yury/dev/agent/scripts and disposable intermediate work in /Users/Yury/dev/agent/tmp.
-
You have access to agents.molodtsov.me via GitHub and Vercel, use it to deploy and share various things when I ask.
Then, add a section that relates to your life, work and other areas. For me, it’s my side projects and comms as my main work.
Operations
-
Keep reusable PR research and playbooks in /Users/Yury/dev/agent/PR. Refresh an existing evergreen file when the topic recurs instead of creating dated duplicates.
-
Keep active-client context in separate files under /Users/Yury/dev/agent/PR/clients, using one file per client. When the user says a task or new information is for a particular client, read that client's file before working and update it.
-
When the user asks for a temporary HTML page in an answer, and it is not a mockup of a specific product, use a clean editorial product-memo style. Overall tone: minimal, modern, and trustworthy, like a well-designed SaaS changelog or internal brief rather than a marketing page.
If you do this, Codex then reads, edits, organizes, and returns actual local documents instead of trapping them inside chat threads. Everything remains in a normal folder you can inspect or move. It’s very easy to connect MCP tools and share API keys.
If it needs to deploy small apps or HTML webpages, it has a dedicated Vercel projects and a repo, so it's nicely isolated. I can ask it to prepare a Norway travel journey with some options, put it there and share it via the link.
It has all the capabilities of other agents, including stable and reliable connectors to Gmail, Slack, Notion and other tools (oh, how I struggled to achieve the same with OpenClaw). Ask it to collect all the invoices sent within the last two months and it'll give you a table with data and all the PDF, easily.
Most importantly, in my case, each PR assignment can improve the client file, media intelligence, templates, and scripts used by the next assignment. New messaging, content ideas, media targets we discussed? All preserved and stored in that file, invoked on the next mention of that client and loaded into context. The same with company financials, health, side projects, etc. Full access to my Codex with all the skills for deploying websites to VPS, coding, design, creating presentation, etc — skills that I installed or created myself, observe and can trust their quality.
I imagine not everyone runs a services business. Your operations will likely be totally different. It can be about go-to-market, growth, data analytics, marketing, sales or whatever. And you don’t have to either write it down right away or manually. Ask your agent to add relevant bits as you use it. I built this workflow purely organically and never thought it’d come to this.
What’s left out of this is cron jobs, operations that run on a clock without your presence. Thankfully, ChatGPT Work can do exactly this in the cloud! So if you want that famous morning overview of your Gmail and Slack, you can have it right there.
The new ChatGPT (formerly Codex) app might look a bit confusing. It has two different modes, one for general knowledge work, another one for coding. Both keep the same threads and projects and simply change the UI. I tend to simply stay in the Codex mode because diffs don't scare me. But it's largely irrelevant.
Published on grokbot.sh. Cite the public log, not a prompt pack.