Skip to main content

Command Palette

Search for a command to run...

How I’m Getting More Out of Codex

Updated
10 min read
How I’m Getting More Out of Codex
R

I am a Developer Evangelist at Twilio, co-author of Learn to Cloud, co-host of Random Cloud Chats podcast, AWS Community Builder, and YouTuber. Passionate about helping people get into cloud and sharing my learnings in cloud, DevOps and now DevRel.

I started using Codex the obvious way: point it at a repo, ask it to make a change, run the tests, and help me clean up the diff.

That is still useful.

But lately, I’ve been using Codex for a lot more than just code. I use it to help with blog posts, talks, docs, Azure demos, browser testing, research, and random follow-ups that would otherwise sit in my head for too long.

That’s when Codex started to feel different for me.

Not just a coding assistant, but a place where I can keep work moving.

Table of Contents

Durable Threads

One of the biggest changes for me has been using long-running threads.

Most AI chats feel temporary. You ask something, get an answer, and move on. But a lot of real work does not happen in one prompt.

A blog post might start as a rough idea, turn into an outline, then a draft, then a LinkedIn post, then maybe a talk. A demo might start with a repo, then become a browser app, then a deck, then a recording script.

That is where durable threads are useful.

I can keep a thread around for a specific kind of work:

  • content ideas

  • docs review

  • Azure demos

  • conference talks

  • personal productivity

  • long-running research

The benefit is simple: I do not have to restart the context every time.

If I have already explained the project, the audience, the tone, or the goal, I want Codex to keep using that context instead of making me repeat myself.

Pinned threads make this easier because I can keep important workstreams close and jump back into them quickly.

Tip: If you do the same kind of work more than once, give it its own thread. The value comes from not having to rebuild the context every time.

Voice Helps Me Think Out Loud

Voice input has also changed how I use Codex.

Sometimes I do not have a clean prompt yet. I just have a rough thought.

Something like:

I think someone mentioned this in Slack. I do not remember the details. Can you help me find it and figure out what they were asking?

That is not a polished task, but it is a real task.

Voice is useful because it lets me dump the messy version of the thought before I over-edit it. This is especially helpful for content work. I can talk through an idea for two or three minutes and then ask Codex to turn it into an outline, a blog draft, or a few angles.

Same thing with transcripts.

A raw transcript from a meeting, podcast, or planning note can have a lot of useful signal. It captures the uncertainty, the unfinished thoughts, and the parts I might accidentally remove if I summarized it too early.

Tip: Use voice when the thought is still messy. Codex can help shape the idea after you get it out of your head.

Steering While Codex Works

Another useful pattern is steering.

Sometimes Codex is working on something, and I realize it is going in the wrong direction. I do not want to wait until the end to correct it.

I might say:

  • make this more practical

  • this sounds too formal

  • add an example from DevRel

  • check the browser before changing more code

  • this section should be shorter

  • keep the technical details, but explain them more simply

That back-and-forth matters.

It makes Codex feel less like a tool where I submit a request and wait for an answer, and more like something I can work with while the task is still happening.

There is also queuing.

Sometimes I do not want to interrupt the current task. I just want to add the next thing:

After you finish the blog draft, turn the strongest section into a LinkedIn post.

Steering changes what Codex is doing now.

Queuing changes what it should do next.

Both are useful because they keep me in the loop without forcing me to micromanage every step.

Tip: Interrupt Codex when the direction is wrong, but queue the next task when the current one is still useful.

The Browser Makes a Big Difference

For anything visual, the browser matters.

A website can look fine in code and still feel wrong when it is rendered. The spacing might be off. The copy might feel too long. A button might wrap weirdly. The layout might technically work but still look bad.

This is where the side panel and browser tools are useful.

Codex can build something, open it, inspect it, and keep improving it. I can review the actual page instead of only reading the code.

This is especially helpful for:

  • landing pages

  • small static tools

  • docs sites

  • UI prototypes

  • browser-based demos

  • slide decks

  • data apps

The rendered output is the truth.

If the page looks wrong, the code is not done.

Tip: For visual work, always check the rendered output. The browser is where the real review happens.

Tools Make Codex More Than a Repo Assistant

A lot of my work starts outside a repo.

It might start in Slack, Gmail, Calendar, a GitHub issue, a browser tab, or some notes I forgot I wrote.

That is why tools and connectors matter.

When Codex can use the browser, call APIs, inspect files, work with documents, or interact with other systems, it becomes much more useful.

For example, I might want it to:

  • check a repo and summarize what changed

  • review a blog post draft

  • turn a transcript into content ideas

  • inspect an Azure deployment plan

  • create a deck from an outline

  • look at a local web app and fix visual issues

  • draft a response to feedback

The code is still important, but the work around the code is usually bigger than the code itself.

Tip: Think beyond the repo. The best Codex workflows usually connect code, docs, browser pages, notes, and communication tools.

Skills Are for Repeated Work

If I do something once, a prompt is fine.

If I do something repeatedly, I want to turn it into a skill.

This is something I have been thinking about more. A skill is useful when there is a workflow I do often and I do not want Codex to relearn it every time.

For example:

  • generating a CFP

  • turning a talk into blog posts

  • creating a speaker bio

  • reviewing Azure infrastructure

  • preparing a migration report

  • building a slide deck

  • checking a document for tone

The useful part is not just saving a prompt. It is capturing the process.

What should Codex inspect first?
What output should it create?
What quality bar matters?
What should it avoid changing?
When should it ask me before continuing?

That turns a repeated task into something more reliable.

Tip: When a prompt becomes a routine, turn it into a skill. That is how you make repeated work more reliable.

Automations Are for Open Loops

Pinned threads are useful, but they still wait for me to come back.

Automations are interesting because they can keep a thread moving on a schedule.

This is useful for open loops. Things like:

  • checking for unanswered Slack messages

  • watching for PR comments

  • looking for feedback on a doc

  • refreshing a status summary

  • preparing a draft reply

  • checking whether something changed

The important part for me is that Codex can do the context-gathering before I return.

I do not necessarily want it to send messages for me. But I do want it to say:

Here is what changed.
Here is what needs your attention.
Here is a draft response.
Here are the decisions you need to make.

That saves a lot of time.

The human still decides what gets sent or approved, but Codex can do the boring part of gathering the details.

Tip: Use automations for open loops, not final decisions. Let Codex gather context and draft options, then keep yourself in the approval seat.

Goals Need a Finish Line

Long-running work only makes sense if Codex knows what done looks like.

“Improve this” is too vague.

A better goal has a clear signal:

  • tests pass

  • the bug no longer reproduces

  • the benchmark improves

  • the deployment validates

  • the page renders correctly

  • the deck has no layout issues

  • the document matches the review checklist

This applies to code, but also to content and demos.

If I ask Codex to migrate something, the finish line might be passing tests. If I ask it to build a demo, the finish line might be a working local app and a clean README. If I ask it to create a deck, the finish line might be rendered slides that I can actually present.

Ambition is useful, but without a verifier, it is just a wish.

Tip: Give Codex a finish line. Tests, rendered previews, checklists, and validation steps make long-running work much easier to trust.

Shared Memory Outside the Thread

Threads are useful, but I do not want important context to live only inside a chat.

For longer-running work, plain files are still great.

A folder of notes can hold things like:

  • project summaries

  • decisions

  • blockers

  • people

  • links

  • TODOs

  • recurring workflows

This could be an Obsidian vault, a Git repo, or just a folder that is easy to inspect and sync.

The point is to give Codex a place to write durable context.

Repos hold code.

Notes hold the rolling context around the work: what changed, who is blocked, what needs follow-up, and what decisions were made.

That context should be easy for me to read and easy for Codex to update without creating a mess.

Tip: Keep important context somewhere outside the chat. Plain files make memory easier to review, edit, and reuse.

Codex Is Becoming a Work Surface

Codex still starts with code for me.

But the boundary is moving outward.

It can help with the repo, then inspect the browser, then update the docs, then draft a post, then create a deck, then check for feedback later.

That is the real shift.

The most useful version of Codex is not just a coding assistant. It is a place where work can continue across tools, files, browser pages, documents, and conversations.

For me, getting more out of Codex means using it less like a one-off chat and more like a durable work loop.

Some loops are for code.

Some are for content.

Some are for demos, docs, talks, or follow-up.

The trick is to stop resetting the loop every time.

Tip: The more useful pattern is not one perfect prompt. It is a durable loop that keeps moving across tools, files, and feedback.