Blog

Claude Code in your workspace: how to roll it out without it collapsing

Claude Code scores 80.8% on SWE-bench and ships with a 1M token context window. Deploying it across a team requires CLAUDE.md per repo, agents.md standards, MCP wiring, a knowledge canon, and two written lists. Here is the rollout that works.

ai-infrastructureai-transformationclaude-codemcp

Claude Code

Claude Code scores 80.8% on SWE-bench and ships with a one-million-token context window. It reads entire codebases, runs shell commands, edits files in place, and chains multi-step tasks through an agent loop. The tool is production-ready. The org rollout is where teams stall.

I ran a Claude Code rollout across a ~50-person fintech earlier this year. Six stakeholders, eighteen repos, six MCP server integrations, role-specific workflows for engineering, marketing, BD, and DevRel. The rollout took three weeks. The structural work — CLAUDE.md files, agents.md standards, MCP wiring, a knowledge canon, two written lists — is what made it land. Without that structure, it would have been one engineer using Claude Code well and everyone else using ChatGPT for the same tasks they always used it for.

80.8%

Claude Code score on SWE-bench Verified

Anthropic, 2026

1M

token context window — reads entire codebases in a single session

Claude Code docs

6

MCP server integrations wired in the rollout (Figma, Google Workspace, Discord, Slack, Linear, RAG)

Internal

Three layers of a Claude Code deployment

A colleague on the engineering team described the architecture cleanly: model at the center, harness around it, business application context around that.

The architecture

Where each Claude Code rollout decision actually lives

MODELClaude Opus / SonnetHARNESSClaude Code (the CLI)APPLICATION CONTEXTWeeks of work · where every meaningful failure happens

MODEL

  • 80.8% SWE-bench
  • 1M token context
  • Tool use + agent loop

HARNESS

  • File read/write
  • Shell execution
  • Multi-step agent mode
  • MCP tool calls

APPLICATION CONTEXT

  • CLAUDE.md per repo
  • agents.md standard
  • .mcp.json wiring
  • Knowledge canon
  • Guardrails + approval gates

The model and the harness are already built. The application context is your job.

The model and the harness are already built by Anthropic. You install Claude Code with npm install -g @anthropic-ai/claude-code and it works immediately on any codebase. The part that takes weeks and determines whether the org-wide rollout succeeds is the outer ring — the business application context.

What Claude Code loads on every session start

4 context layers — repo, org, live data, persistent memory

CLAUDE.md

Repo-level context — architecture, build commands, module structure, design principles. Read automatically on session start.

Layer 1

agents.md + Canon

Org-level context — navigation instructions, data source index, shared behavioral contract across all repos.

Layer 2

MCP Servers

Live data — Figma, Google Workspace, Discord, Slack, Linear, RAG. Called during the session as external tools.

Layer 3

Auto-memory

Persistent cross-session memory — facts, decisions, user preferences carried forward automatically.

Layer 4

Every repo needs a CLAUDE.md. The team needs a shared agents.md standard. MCP servers need to be configured in .mcp.json. A knowledge canon needs to exist so the model has institutional memory. Two lists — what data can never go in a prompt, what actions always need human approval — need to be written down. None of that ships with the tool. All of it has to be built.

What a CLAUDE.md actually contains

Every repo in the rollout gets a CLAUDE.md at the root. Claude Code reads this file automatically on session start. It is the primary mechanism for giving the model context about your codebase.

The convention we established: every CLAUDE.md opens with a communication style directive (typically "be extremely concise and sacrifice grammar for concision"), then an architecture overview, then build/test commands for quick validation, then module structure and route patterns. The file replaces the first twenty minutes of every onboarding conversation where someone asks "how does this repo work?"

Here is what the actual structure looked like across eight repos:

File structure

What goes in every CLAUDE.md

CLAUDE.md

Communication Style

Be extremely concise. Sacrifice grammar for concision.

Architecture Overview

pnpm/Turborepo monorepo consolidating all TypeScript services. Go EVM indexer remains standalone.

Build / Test Commands

pnpm test pnpm build forge test --via-ir

Module Structure

src/routes/ → API endpoints (Express) src/services/ → Business logic src/prisma/ → Database schema + migrations

Deployment Notes

CI: Foundry v5, coverage > 80% Prereqs: Node 18+, pnpm, PostgreSQL 15

Design Principles

Simplicity first. No laziness. Find root causes. No temporary fixes. Senior developer standards.

The CLAUDE.md also enforces design principles across every agent session:

"State your assumptions explicitly. If uncertain, ask. If a simpler approach exists, say so. Push back when warranted."

"Enter plan mode for ANY non-trivial task (3+ steps or architectural decisions). If something goes sideways, STOP and re-plan immediately."

"Simplicity First. No Laziness. Find root causes. No temporary fixes. Senior developer standards. Minimal Impact — changes should only touch what's necessary."

These directives apply to every Claude Code session in every repo. Without them, the model defaults to verbose, over-engineered, under-tested output. With them, every session starts from the same baseline that a senior engineer would expect.

The agents.md standard

The agents.md file is the org-level context map. It lives in a central location (we used a shared Google Drive synced to a dedicated canon repo) and tells Claude Code where to find information across the organization.

The master agents.md indexes four data sources, all auto-synced:

SourceSync cadence
Google Shared Drive (docs, specs, PRDs)Real-time
GitHub (18 repos, CLAUDE.md + codebase summaries)Daily
Linear (full org — issues, cycles, projects)Every 2 hours
Fathom meeting transcripts (per-user)Every 6 hours
18

repos with CLAUDE.md seeded and synced daily to the central canon

Each repo's CLAUDE.md, README, and architecture docs are auto-extracted and pushed to the shared drive so any Claude Code session can reference any repo.

Internal

Auto-sync pipeline

How data flows from org sources into every Claude Code session

1

GitHub Repos

18 repos, daily sync

2

Google Drive

Docs, specs, PRDs, real-time

3

Linear

Issues, cycles, every 2h

4

Fathom

Meeting transcripts, 6h

5

Knowledge Canon

Central repo

6

Vector DB

Supabase pgvector

7

RAG MCP

Semantic search

8

Claude Code

Session context

The agents.md gives Claude Code navigation instructions for the whole org: "For codebase context, go to agent-config/codebase/_index.md. For work state, go to agent-config/linear/_index.md. For product specs, go to 50 Product/52 Specs & PRDs/." This transforms Claude Code from a tool that knows one repo into a tool that knows the company.

The canon repo itself is structured by domain:

Canon structure

One repo, six domains, every doc Claude Code needs

acme-canon/
company/

About, value prop, team bios, partners, glossary

product/

Architecture, quest engine, token design, studio, roadmap, API reference

marketing/

Brand voice, messaging pillars, copy guidelines, campaign history

operations/

OKRs, processes, Linear standards, legal and compliance

bd/

Partner playbook, pitch deck notes, integration guide, case studies

ai-playbook/

Tool setup, MCP catalog, workflows, prompt library, guardrails

MCP wiring: six servers in .mcp.json

Claude Code's MCP (Model Context Protocol) integration lets it call external tools during a session. Each tool is a server defined in .mcp.json at the project root. The rollout wired six servers, each serving a different surface of the org's data.

MCP server integrations

6 servers wired in .mcp.json across the org

Figma

Figma

HTTP server — reads frames, components, design tokens from any Figma URL.

Google Workspace

Google Workspace

Local Python MCP with OAuth — Gmail, Drive, Docs, Sheets, Calendar.

Discord

Discord

Bot token auth — search message history, monitor channels, manage community.

Slack

Slack

Internal comms — read threads, post updates, operate as a Slack bot.

Linear

Linear

Built-in — create/update issues, track sprints, search the full workspace.

Claude RAG

Claude RAG

Custom MCP server wrapping the knowledge canon + pgvector for semantic search.

Figma MCP

The Figma server connects via HTTP to mcp.figma.com. Claude Code calls get_design_context with a Figma URL and receives frame layouts, component hierarchies, and design token values. The design-to-code workflow: paste a Figma URL into the Claude Code session, Claude reads the component structure, then reads the existing codebase components, adapts the Figma output to the project's stack (React + Tailwind + shadcn/ui in this case), and implements the component. The Figma MCP eliminates the manual step of translating a design spec into a ticket description that an engineer then re-interprets. Claude reads the source directly.

Google Workspace MCP

This is a local Python MCP server running through uv with OAuth credentials scoped to the org's Google Workspace. It exposes five surfaces: Gmail (search, draft, send), Drive (search files, read documents, create files), Calendar (check schedule, create events), Docs (read and write directly), and Sheets (read data, modify values). For the BD lead, the workflow is: "Pull all email threads with Animoca from the last 30 days and summarize the open items." Claude searches Gmail, extracts the threads, reads any attached Drive documents referenced in the emails, and produces a one-page briefing with key facts, open items, and talking points. For the marketing lead: "Draft a campaign brief based on the brand voice doc in Drive and last quarter's campaign performance in Sheets." Claude reads both sources and generates a draft that follows the established voice guidelines with real performance numbers.

Discord + Slack MCPs

Discord runs via a bot token with read/write access to the org's server. Claude Code can search message history across channels, monitor community conversations for patterns, and post responses. The community management workflow: "What are the top three questions in #support this week?" Claude searches the channel, clusters the messages by topic, and drafts FAQ entries. Slack serves internal comms — Claude reads team threads, posts standup summaries, and operates as a bot that ingests Fathom meeting transcripts and makes them searchable within the team's Slack workspace.

Linear MCP

Linear is built into Claude Code's MCP ecosystem. Claude can create and update issues, track sprint progress, search the full workspace, and manage initiatives and milestones. The sprint management workflow: "What are my overdue tasks?" Claude lists issues, checks statuses, identifies blockers from linked issues, and optionally updates priorities or creates follow-up issues. For engineering leads, Claude reads the current cycle, identifies which PRs map to which Linear issues, and generates a sprint review summary with completion rates and carry-over items.

Internal RAG (the knowledge canon as an MCP server)

The custom RAG server wraps the knowledge canon and a Supabase pgvector instance. It runs as a local Python MCP server and exposes semantic search over the entire org's documentation. The embedding model is text-embedding-3-small (1536 dimensions). Chunks are 500 tokens with 50-token overlap. Retrieval pulls the top 10 from 30 candidates at a similarity threshold of 0.3. Each chunk carries a tier label:

Source confidence

Claude Code weights retrieved chunks by tier before generating

Tier 1 — Verified

Canonical docs, architecture decisions, approved specs. High confidence.

Tier 2 — Official

Internal docs, meeting notes, design reviews. Moderate confidence.

Tier 3 — Scraped

Community content, social posts. Tone reference only, low confidence.

The tier system means Claude Code weights sources appropriately when generating answers. A question about token economics pulls tier-1 verified specs first, then tier-2 internal analysis, and only references tier-3 community sentiment if the first two tiers have insufficient coverage.

Chained workflows: what this looks like in practice

The MCP servers are most powerful when chained together in a single Claude Code session. Each workflow touches 2-4 data sources in sequence without the user switching tools.

Workflow chains

Which MCP servers touch which workflow, in sequence

Research → Plan → Execute

Linear

Linear

Pull issue + spec

Claude Code

Claude Code

Read codebase

Claude Code

Claude Code

Implement + test

Linear

Linear

Update status

Design → Code

Figma

Figma

Read component design

Claude Code

Claude Code

Map to existing components

Claude Code

Claude Code

Implement + run dev server

Partner Briefing

Google

Google

Search Drive + Gmail

Linear

Linear

Check partner issues

Claude Code

Claude Code

Generate briefing doc

Content Generation

RAG

RAG

Search canon for facts

Google

Google

Read brand voice doc

Claude Code

Claude Code

Draft + publish

Sprint Review

Linear

Linear

Pull cycle issues + PRs

Claude Code

Claude Code

Generate review doc

Slack

Slack

Post summary

Research → Plan → Execute (engineering)

Linear MCP pulls the current issue and its linked spec. Claude reads the spec, reads the relevant codebase via CLAUDE.md context, generates a plan, asks for confirmation, implements the change, runs tests, and updates the Linear issue status. A ticket that previously required reading the spec in Google Docs, switching to the IDE, coding, running tests, and updating Linear manually now runs as a single Claude Code session.

Design → Code (frontend engineering)

Figma MCP reads the component design from a URL. Claude maps the Figma component structure to the project's existing component library. Claude generates the implementation, runs the dev server, and (if a screenshot MCP is wired) validates the output against the Figma frame. The handoff from design to implementation collapses from a multi-day ticket to a single session.

Partner briefing (BD/operations)

Google Workspace MCP searches Drive for partner proposals and agreements, searches Gmail for recent threads with the partner, and Linear MCP checks for partner-related issues and timelines. Claude synthesizes all three sources into a one-page briefing with key facts, open items, and talking points. The BD lead walks into a partner call with a briefing generated fifteen minutes before the meeting from live data across three systems.

Content generation (marketing)

The RAG MCP server searches the knowledge canon for the factual base. Claude reads the brand voice doc from Drive via Google Workspace MCP. Claude generates a draft that follows the voice guidelines and is grounded in verified tier-1 sources. The marketing lead reviews and publishes. Content that previously required a researcher, a writer, and a brand reviewer to touch the draft at three different stages now runs as a single workflow with one human review gate at the end.

Sprint review (engineering lead)

Linear MCP pulls all issues from the current cycle with their statuses and linked PRs. Claude calculates completion rates, identifies carry-over items, reads the Fathom meeting transcript from the last standup via the canon sync, and generates a sprint review document. The engineering lead reviews the generated summary and posts it to Slack via the Slack MCP. A weekly report that used to take 45 minutes of manual aggregation takes five minutes of review.

What the rollout delivered

18

repos with CLAUDE.md seeded and synced daily to the central canon

Internal

6

MCP server integrations wired — Figma, Google Workspace, Discord, Slack, Linear, RAG

Internal

4

role-specific workflow playbooks — Engineering, Marketing, BD/Ops, DevRel

Internal

5

chained multi-source workflows running in production across the team

Internal

The structural outcome: every Claude Code session across the org starts with full codebase context (CLAUDE.md), full org context (agents.md + canon), and access to the org's live data via MCP servers. The model produces output that is organizationally correct — right code patterns, right naming conventions, right architecture assumptions, right brand voice — because the application context layer gives it the institutional memory it needs.

Operational outcomes

What changed after the rollout landed

Sprint review

Before

45 min manual aggregation

After

5 min review of generated summary

Partner briefing

Before

Manually search Gmail + Drive + Linear

After

15 min auto-generated from live data

Content draft

Before

Researcher + writer + brand reviewer

After

Single Claude session with RAG + voice rules

Design → code handoff

Before

Multi-day ticket with spec translation

After

Single session: Figma URL → implemented component

Linear issue management

Before

Switch between IDE + Linear + Slack

After

Handled inside the same Claude Code session as the code

The five-phase rollout

Three weeks. Five phases. Each with a concrete output.

The order of operations

3 weeks → 5 phases → 5 concrete outputs

1

AUDIT

Week 1

Per-person AI usage survey + one reference implementation documented end-to-end

2

CANON

Week 2

Central knowledge repo with auto-sync to vector DB on PR merge

3

CLAUDE.MD

Week 2 / 3

CLAUDE.md seeded in every active repo + agents.md standard established

4

DECK

Week 3

Concrete sponsorship pitch to leadership — structure, 30-day deliverables, cost

5

ROLLOUT

Week 3+

Highest-leverage non-technical role onboarded first with MCP servers configured

Phase 1 — Audit. Survey every person for what AI tools they already use, what data they have pasted in, what their workflow looks like. You will discover ChatGPT accounts you did not know existed and prompts containing customer data you did not authorize. Build one reference implementation — your own Claude Code setup — and document it end-to-end as the template for everyone else.

Phase 2 — Knowledge canon. One repo holding the institutional memory Claude Code needs to be useful. Product docs, architecture decisions, voice guides, customer profiles, runbooks, the Slack threads where someone explained how the billing system works. Auto-sync to a vector DB on PR merge. Without this, Claude Code is generic. With this, it knows your company.

Phase 3 — CLAUDE.md seeding. Every active repo gets a CLAUDE.md. The shared agents.md goes into the canon. MCP servers are configured in .mcp.json for each role's setup. The org-level behavioral contract ("state assumptions, push back, enter plan mode for non-trivial tasks") gets written once and inherited by every repo.

Phase 4 — Leadership deck. Five slides: the gap, the architecture, the rollout, the budget, the ask. Sponsorship is the difference between a rollout that survives the next quarterly priority shuffle and one that does not.

Phase 5 — Rollout. Onboard the highest-leverage non-technical role first — typically the CMO or head of operations. Engineers will adopt Claude Code on their own once they see the CLAUDE.md convention and the MCP wiring. Non-technical teams require direct onboarding with their role-specific MCP configuration and a walkthrough of what the tool can do with their specific data sources.

What went wrong (and what to fix first)

The rollout surfaced five gaps that existed at the start and should have been closed before onboarding anyone:

Gaps found during the audit

These existed at day zero. Each one slows adoption until it's closed.

No agents.md in any repoCritical

Agents had no guardrails or org context

RAG not deployedHigh

Team couldn't access knowledge base via Claude

No auto-sync canon → vector DBHigh

Canon updates didn't propagate to Claude sessions

No model gatewayMedium

Each person picked their own model — no standardization

No cost trackingMedium

No visibility into org-wide Claude API spend

The agents.md gap is the most damaging. Without it, every Claude Code session starts with zero org context. The agent generates output that is technically correct and organizationally wrong — right code, wrong patterns, wrong naming conventions, wrong architecture assumptions. Seeding agents.md and the per-repo CLAUDE.md files is the single highest-ROI task in the rollout.

Guardrails: the two lists

Two lists need to exist on paper before anyone else opens Claude Code.

The two lists

Write these down before the rollout starts

CANNOT GO INTO PROMPTS

Data classification — hard line

  • Private keys, seed phrases, API keys
  • .env files in any form
  • PII, customer records
  • NDA-protected information
  • Financial data, internal numbers
  • Legal-privileged communications
  • Anything that would damage the company if it appeared in training data

ALWAYS REQUIRES HUMAN APPROVAL

Action gates — every Claude Code session

  • Push to main, deploy to production
  • Send external emails (Gmail MCP)
  • Post to public Discord channels
  • Modify production database
  • Merge PRs
  • Share Drive files externally
  • Delete anything
  • Create or modify smart contracts

Claude Code can execute shell commands, write files, and call MCP tools. The human-in-loop gates listed above are the places where the agent must stop and wait for explicit approval. Without these lists written down, every team member makes their own classification call every time they start a session. Writing the lists is what lets the team move fast on the 80% of work that is safe, because the 20% that requires human review is enumerated.

What I'd do if I were starting tomorrow

Install Claude Code. Write the CLAUDE.md for your most active repo. Seed the agents.md with your org's data sources. Wire one MCP server (Google Workspace is the highest-leverage starting point for non-engineers). Write the two lists. Run the audit. Get the deck in front of the founder. Onboard the CMO.

Three weeks. The structure determines whether Claude Code produces value across the org or stays one engineer's private tool. The tool is already built. The application context is your job.


If you are running this rollout and want someone who has done it before to skip you past the gaps listed above, book a call. First call is free.

Building something like this?

First call is free. 30 minutes, no pitch.

More writing