Playbook
0 / 9 complete0%
  1. 01
  2. 02
  3. 03
  4. 04
  5. 05
  6. 06
  7. 07
  8. 08
  9. 09
Step 05 of 9 2-3 weeks· advanced

Step 5: Build the Coexistence Layer

Stand up the routing, auth, and observability infrastructure that lets old and new run side-by-side. Every later slice depends on this.

What you're doing in this step

Set up the routing layer (App Gateway / Front Door / etc.), an authentication shim so users signed into legacy stay signed into new, shared session handling, and centralized observability across both systems.

Recommended prompts

Use one of these to do the work in your IDE

Open the template to read it in full. Click Copy prompt to grab it (with your stack values pre-filled where they apply) — then paste into Claude Code, Cursor, or wherever you build.

Primary recommendation 1 day

Coexistence Architecture ADR

Document the architecture decisions for running legacy and new systems in parallel during migration: routing, auth, data, and sessions.

View template
Template· Template 1 day

Authentication Migration Strategy (.NET Forms Auth → JWT/OAuth)

Migrate from legacy .NET authentication (Forms Auth, Windows Auth, custom) to modern JWT/OAuth without breaking existing users.

Use this when: The auth shim is the hardest part of coexistence in your case

dotnet
View template
Template· Template 0.5 day

Feature Flag Rollout Strategy for Migrations

Use feature flags to safely route traffic between legacy and new systems during migration with controlled rollout and instant rollback.

Use this when: You want to use feature flags for the routing decisions, not gateway rules

View template
Recommended skills

Drop these into Claude Code for this phase

Skills auto-trigger on the right kind of request. Install once; they apply to every prompt that fits.

Skill· Skill 5 min setup

Compatibility Layer Generator Skill

Claude Code skill that generates adapters, shims, and proxies for incremental coexistence between legacy and new systems.

claude-codedotnet
Skill· Skill 5 min setup

Migration Planner Skill

Flagship migration skill that walks Claude Code through audit → strategy → slicing → cutover for any legacy system migration.

claude-code
Recommended MCP configs

Wire these tools into Claude Code first

MCP servers give Claude Code direct access to external systems (Jira, browsers, databases). Configure once.

MCP config· MCP config 10 min setup

Azure DevOps MCP for Evoke

Pre-configured Azure DevOps MCP server for Claude Code — work items, repos, PRs, and pipelines from chat.

claude-codemcp
MCP config· MCP config 5 min setup

Filesystem MCP for Evoke

Pre-configured filesystem MCP server for Claude Code — safe, scoped read/write access to project files.

claude-codemcp
When you're done

Verify these in your own work before moving on

This is a checklist for you to mentally tick off in your repo and IDE — the site doesn't track it, you do.

  • Routing layer deployed (Azure App Gateway / Front Door / NGINX / etc.)
  • Feature flag system in place (routes can flip at runtime)
  • Auth shim works: a user signed into legacy can call new APIs
  • Session continuity works: bouncing between old and new doesn't drop session
  • Centralized observability: logs / traces / metrics from both systems land in one place
  • "Hello world" slice deployed through the new system to prove the pipes work
Common pitfalls

What goes wrong at this step

  • Skipping the hello-world slice — proves the infrastructure works before you bet a real feature on it
  • Auth shim too simple — must handle session refresh, MFA, logout across both systems
  • No observability — debugging coexistence issues without distributed tracing is painful
  • Routing layer at the wrong level — DNS-based routing seems simple but breaks session affinity
← Previous step

Command Palette

Search for a command to run...