This is a guest post by Move Work Forward, an Atlassian Marketplace Partner.

We recently moved five of our Atlassian Marketplace apps from Connect to Forge in two months. If you want the full migration story, you can read it in our other blog post here. This post is about one piece of it: how we used AI to get through the migrations of apps two to five times faster than the first.

As AI tools become a standard part of how developers write, review, and ship code, it made sense to ask whether they could also help with a task like platform migration. Migrating from Connect to Forge means translating existing patterns from one framework to another, often across an entire app portfolio. AI is great at that kind of structured, repetitive work.

In our case, the fit was even stronger because our apps are built alike. Most of them have configuration pages that look and behave in similar ways, plus smaller modules unique to each app. Once we’d migrated the first app to Forge, we’d need to do the same thing four more times.

The approach: patterns first, AI second

The first app we moved was Azure DevOps for Confluence. We migrated most of it by hand, module by module, learning everything Forge has to offer – and of course we leaned on AI for research along the way. Forge also offers a really handy Forge developer MCP that you can install into your favorite AI environment to find the right information faster. This gave us a much better picture of which modules to use, what each one is good for, how to work with Custom UI, how to talk to our backend via Forge Remote, and so on. Here we learned what worked, what didn’t, and established clear patterns for all our other migrations.

When the first migration was done, we now had a template, a solid set of patterns for the work all our apps share, and that’s what we handed to AI.

Delegating work to AI

Once the pattern existed, most of the remaining work was replication. Here’s most of what we handed to AI:

  • Reworking the React frontend: Since we’d already worked out how to build within the Forge environment with React once, AI could use that as an example and follow the same steps for the other apps. It was smart enough to rewrite entire configuration pages (sometimes with a bit of help).
  • Permission mapping: Cross-referencing our Connect scopes against Atlassian’s fine-grained scope table to find the Forge equivalents.
  • Deployment and checking logs: Simple instructions like “deploy to Leo’s personal environment” or “I just reproduced the issue – check the logs and tell me my options” were enough to hand off routine deploy-and-diagnose work.
  • Building Storybook components first: AI is good at producing UI from existing designs and components, but it’s still better to have a Storybook to play with and confirm things before it goes off and implements the rest. So we had it build the components in Storybook first, then implement.
  • Do the smoke testing: Claude Code writes the instructions on what was implemented, how to test it and how to report the findings. The prompt is given to the Claude Cowork to do the manual ad-hoc testing. It is not the fastest, but works well for ad-hoc testing.

None of this was glamorous – it was the same work we’d already figured out, but now AI let us move through it faster.

How we set AI up to succeed

Handing work to AI well takes a bit of setup and getting used to. A few things that mattered:

  • Document the pattern and decisions in the repository. Write down the reasoning behind your patterns: when to use which module, why module X over Y, why a given approach. It helps AI reason about what to do. This usually goes in the CLAUDE.md or agents.md file – just don’t overload it, since it’s read on every session. Keep it to the essentials, and put patterns that aren’t always needed into separate skill files.
  • Feed it current Forge docs and use the Forge MCP. Forge moves fast and model knowledge of it lags behind. Point AI to the documentation during planning to get up-to-date information, or use the Forge MCP to make it easier.
  • Plan first, execute second. Create a plan with AI before it writes any code. This makes sure you’re both on the same page about what you’re trying to achieve and removes ambiguity up front. We recommend adding the grill-me skill to your agent and using it every time you plan – it helps a lot with improving the plan.
  • Small, reviewable diffs. We had AI migrate module by module, not whole apps at once – smaller context means better output and easier reviews. We split each app’s migration into the same steps, one PR per step, so for the next app we could point AI at the previous app’s branch for that step – it reads the git changes and works out the equivalent scope.
  • Tell it to use only Forge UI components. Add “use only Atlassian Forge UI components” to your instructions – otherwise AI may reach for a non-standard components or try to create its own.

The payoff

The first app took about three weeks, and we completed the migrations of all five apps in two months. Frontend work shrank the most – that’s where the pattern was strongest and the work most mechanical. The apps also came out more consistent, since all four were replicating the same template.

Advice we’d give other teams

If you’re starting your own Connect-to-Forge migration and want to boost your speed with AI, here are a few takeaways:

  • Explore Forge capabilities and establish patterns. Learn Forge’s modules and lock in the patterns you want to standardize on before scaling anything. Resist the urge to point AI at everything on day one.
  • Then let AI replicate. The shared, repetitive work – config pages, frontend rework, client changes, permission mapping is where it pays off.
  • Give it current docs and small tasks, and review everything. Especially important parts.
  • Keep the genuinely new problems for yourself. That’s where your time is actually worth spending.

The pattern that worked for us was doing it once by hand, validating the result, and then letting AI replicate it across the portfolio. The sequencing is important: AI can help you scale, but it’s important to establish the right migration template first.