Back and Forth

đź”— **Source:** [Back and Forth](https://nomad.blog/2026/06/26/back-and-forth/)
A big part of using AI is knowing when and how to. Increasingly I have read about and I hear from engineers how horrible it is to review AI generated code and just how much of it there is to review. As I mull that over and take it to heart, I’ve found myself drawn to returning to using AI more as a communication device when going back and forth with developers and designers working on a feature. I can take their PR, use AI to make the changes I want to see, tweak things based on how the iteration feels, and then share a video to communicate what I think might work better. I’m finding this is helping move work much faster than my creating a competing PR, especially when a feature is already underway. The devs who know the code best and have more time to follow up can then run with an idea after design has given things a pass. This is especially helpful as the release lead when I both want to test literally everything and need to be careful with how much time I’m spending on each thing. I don’t want to start a PR that creates more work for someone else and/or that I can’t follow up on properly for a feature in progress.
In many ways, this feels like a return to what I was doing 9-10 months ago with AI and it feels… right. I’m sure I’ll still contribute PRs here and there but it feels important to think about how best I can sustainably contribute in a way that’s best for the project. For this release cycle and my role in it, this has felt like the best use of time for all involved.
With that in mind, I wanted to share a few examples of what that collaboration has looked like, mainly to serve as inspiration after meeting with the [recent AI Leaders graduates this week in Chicago](https://automattic.com/2026/06/23/congrats-university-illinois-chicago-ai-leaders/). Bear with me as this is going to be deeply nerdy and detailed–happy to explain anything in the comments below. I am also going to skip over all of the wonderful contributions from everyone on the threads. Please go look into them! I mainly want to focus on how I’m approaching this to show how others might think to contribute.
My process is very simple. I’m using Claude both in terminal and in CraftAgents to work with the PR locally. I make it clear that I am just wanting to work locally and I have no intentions of pushing any updates to it or creating a PR. I previously set up a dev environment so, if you haven’t done that, ask Claude to do it for you and point it at documentation, [like wp-env](https://developer.wordpress.org/block-editor/reference-guides/packages/packages-env/).
#### Applying changes globally
[One of the features for 7.1](https://make.wordpress.org/core/2026/06/19/roadmap-to-7-1/) shows inherited styles so it’s easy to see when a global setting is impacting the part of your site you’re working on. As part of being able to override those styles, an option was added to push an individual change to a block to the entire site. For example, you could change the font size of a paragraph and push just that font size change to all paragraphs on your site. The approach in progress showed two options every single time you made a local change to a block:

This means that every single time you make a local change and you go to reset it to the global option, you’d be presented with an option to also push the styles globally, separate from the overall “apply globally” option available under Advanced in block settings. In testing the PR, I couldn’t shake that this felt off and initially [flagged it for design in this follow up comment](https://github.com/WordPress/gutenberg/issues/49278#issuecomment-4781680850). More time passed though and I kept thinking about it before deciding to [try something different out that you’ll see below](https://github.com/WordPress/gutenberg/issues/49278#issuecomment-4806213008).
Play VideoShare ButtonPlayMuteCurrent Time 0:00/Duration 0:00Stream Type ChaptersSettings Menu* Speed1x
+ 2x
+ 1.75x
+ 1.5x
+ 1.25x
+ 1x, selected
+ 0.75x
+ 0.5x
+ 0.25x
* QualityAuto
+ 1080p
+ 720p
+ 480p
+ 240p
+ Auto
* CaptionsOff
+ Off, selected
+ Auto-Generated
Picture-in-PictureFullscreenLoaded: 0%This is a modal window.
Beginning of dialog window. Escape will cancel and close the window.
ColorWhiteBlackRedGreenBlueYellowMagentaCyanOpacityOpaqueSemi-TransparentColorBlackWhiteRedGreenBlueYellowMagentaCyanOpacityOpaqueSemi-TransparentTransparentColorBlackWhiteRedGreenBlueYellowMagentaCyanOpacityTransparentSemi-TransparentOpaqueClose Modal DialogEnd of dialog window.
Close Modal DialogThis is a modal window. This modal can be closed by pressing the Escape key or activating the close button.
Design later reviewed it, said it looked good, and the dev working on the feature is in the process of adjusting the approach. Mind you there are loads of details to work out but this just saved likely hours of back and forth as well as waiting for design to review when I had an idea in mind that just might work.
Despite the concept of attached images existing for a long time, there hasn’t been an easy way to find them from the Inserter. To zoom out, adding seeing attached images is meant to help with two main flows: allow folks see what images are attached to a post and prioritize those for ease & allow folks to attach images to a post for use in the post itself (more newsroom style flow where someone uploads from a media library for someone else to then use that image in content). [7.1 has a dedicated area of work](https://github.com/WordPress/gutenberg/issues/77117) to improve this and a discussion broke out around how best to approach it. Here’s what the initial PR was looking like:

When I first saw this, the attached images section immediately overwhelmed everything else, including seeing the button for the broader media library. At the same time, there are real concerns that most folks may not quite understand the terminology. To try to address this, I offered an alternative UX approach using AI that simplifies things (and makes the images themselves bigger and easier to review): it takes the same approach the other options uses and just adds at the top an “attached images” option. See below:
Play VideoPlayMuteCurrent Time 0:00/Duration 0:00Stream Type ChaptersSettings Menu* Speed1x
+ 2x
+ 1.75x
+ 1.5x
+ 1.25x
+ 1x, selected
+ 0.75x
+ 0.5x
+ 0.25x
* Quality
* CaptionsOff
+ Off, selected
Picture-in-PictureFullscreenLoaded: 0%This is a modal window.
Beginning of dialog window. Escape will cancel and close the window.
ColorWhiteBlackRedGreenBlueYellowMagentaCyanOpacityOpaqueSemi-TransparentColorBlackWhiteRedGreenBlueYellowMagentaCyanOpacityOpaqueSemi-TransparentTransparentColorBlackWhiteRedGreenBlueYellowMagentaCyanOpacityTransparentSemi-TransparentOpaqueClose Modal DialogEnd of dialog window.
Close Modal DialogThis is a modal window. This modal can be closed by pressing the Escape key or activating the close button.
This is a modal window.
You’ll notice there’s some jankiness but that’s by design. I’m not trying to have a code ready PR. I’m trying to communicate a way forward and this was a very fast way to do so. Amazingly, the same developer working on this feature [already had a PR in that direction](https://github.com/WordPress/gutenberg/pull/79336) and this discussion helped us move towards it.
A call for testing went out for [Media Editor Modal: call for testing](https://make.wordpress.org/core/2026/05/21/media-editor-modal-call-for-testing/) that adds a free-form image cropper in the Block Editor along with other goodies. I regularly use our image tools to manage my photos so I am keen to see this land and to have it land in a way that feels delightful to use. In testing this out, I found myself again wanting to communicate not just in words what I want to see but in code. [I left a comment](https://make.wordpress.org/core/2026/05/21/media-editor-modal-call-for-testing/#comment-48819) and shared some still images (after I struggled to get this video to upload to Cloudup) of what I thought might work:
Play VideoPlayMuteCurrent Time 0:00/Duration 0:00Stream Type ChaptersSettings Menu* Speed1x
+ 2x
+ 1.75x
+ 1.5x
+ 1.25x
+ 1x, selected
+ 0.75x
+ 0.5x
+ 0.25x
* Quality
* CaptionsOff
+ Off, selected
Picture-in-PictureFullscreenLoaded: 0%This is a modal window.
Beginning of dialog window. Escape will cancel and close the window.
ColorWhiteBlackRedGreenBlueYellowMagentaCyanOpacityOpaqueSemi-TransparentColorBlackWhiteRedGreenBlueYellowMagentaCyanOpacityOpaqueSemi-TransparentTransparentColorBlackWhiteRedGreenBlueYellowMagentaCyanOpacityTransparentSemi-TransparentOpaqueClose Modal DialogEnd of dialog window.
Close Modal DialogThis is a modal window. This modal can be closed by pressing the Escape key or activating the close button.
This is a modal window.
This has evolved *so much* since this comment over a month ago and [I highly recommend folks go check it out/try it out](https://github.com/WordPress/gutenberg/issues/73771)., Back and Forth, nomad.blog, 01kw3d5m3td2p2yf6c1cf3w6jv.