Claude Code plugin · for Optimizely teams

Ship Optimizely features like a team.

One agent holding a whole feature reviews its own work. crew splits the job the way your team does: a lead that plans and delegates, specialists that know the CMS they work in, and guardrails in code on git and the shell until one review gate says go.

$ claude plugin marketplace add johantor/plugins
$ claude plugin install crew@johantor
Built for Optimizely

Knows the CMS you are on.

One skill per product. The backend specialist reads your EPiServer.CMS version and loads the matching skill: content model rules, rendering, jobs, caching, security and DXP deploys.

CMS 12ASP.NET Core PaaS: content types and GUIDs, IContentLoader, rendering, jobs, DXP.
CMS 13.NET 10: applications, Graph registration, Visual Builder, [ScheduledJob].
12 → 13 upgradeThe breaking changes, the API replacement map and the ordered upgrade steps.
GraphSync, the per-type and unified schemas, keys, preview, caching, search and facets.
SaaS CMSContent types in code, Visual Builder, live preview and webhooks.
Search & NavigationFind on CMS 12: indexing, typed and unified search, facets, and the move to Graph.
CommerceCustomized Commerce on CMS, and Configured Commerce: catalog, orders, payments, extension points.
Data PlatformODP events and profiles, identity resolution, and real-time audiences.
OpalCustom tools in .NET, Node and Python: the discovery contract, registries, auth.
ExperimentationFeature and Web Experimentation: SDK setup, decisions, flicker, QA and flag cleanup.
Connect PlatformOCP apps in TypeScript: functions, jobs, lifecycle hooks, settings and the CLI.
.NETNodePythonshellReactNext.js
Left: one agent juggling backend, frontend, tests and review at once. Right: the crew, with a lead planning lanes, specialists working in parallel, a review gate, and then a pull request.
A solo agent juggling every concern, against planned lanes, one review gate, then a PR.
The crew

A lead, and a specialist per lane.

Fourteen specialists, each in its own lane, and one lead that writes no production code.

The lead plans, delegates, commits.

It writes a plan with acceptance criteria, waits for your go-ahead, dispatches each step to a specialist, and commits the step once it passes. It is the only agent that touches git.

Plan

  • analystAcceptance criteria, content needs, a tracking plan.
  • architectContent models, Graph schemas, catalogs, integrations.
  • designerThe tokens and component specs the frontend builds to.

Build

  • backendServer code, with the Optimizely skill for your version.
  • frontendViews and components, Razor included.
  • copywriterUI and editor copy, resource and locale files.
  • generalistSmall, low-risk changes across lanes.

Test and review

  • unit-testsBackend tests, plus component tests when configured.
  • e2eBrowser tests with Playwright or Cypress.
  • visual-reviewThe build against the design, by token.
  • security-reviewThe security part of the review gate.
  • web-reviewSEO, accessibility and performance.

After merge

  • incident-triageA production signal to the code and the suspect commits.
  • debt-scoutReady-to-paste debt pointers for a scope you name.

Commands

Or open a claude --agent crew:lead session and just describe the work.

Guardrails

Hooks, not promises.

A prompt is a suggestion to a model. These run in the harness before each tool call, so a worker cannot talk its way past them.

  • One pair of hands on git. Only the lead runs git, on a feature branch.
  • Writes go through Edit. Shell writes that would route around the hooks are refused.
  • Destructive commands refused. Force-push and writes into .git/ are blocked.
  • Nothing leaves on its own. No push and no pull request until you run /crew:pr.
# backend tries to commit
$ git commit -m wip
Blocked: backend runs no git but a plain `git mv`. Return your result; lead commits verified steps.

# frontend edits through the shell
$ sed -i s/a/b/ src/app.ts
Blocked: sed writes a file from Bash, which reaches no Edit|Write hook. Use Edit/Write.

# a worker starts a dev server
$ npm run dev
Blocked: watch/dev/serve commands never terminate. Use the one-shot build/test command.
Requirements

Bring a repo. That's it.

  1. Claude CodeCLI, desktop or IDE extension, with plugin support.
  2. A git repositorycrew branches and commits its work there.
  3. Optional MCP serversPlaywright, Figma, and GitHub or Azure DevOps unlock visual review and PR workflows. Everything else works without them.

See every session on one board.

board, from the same marketplace, is a local kanban of every Claude Code session. A crew run shows its subagents on the session's card.

Meet board