{
 "schema": "aiblocks-page/1",
 "id": "agency-engineering-realtime-collaboration-engineer",
 "type": "agent",
 "name": "Real-time collaboration engineer",
 "summary": "Plan live editing, shared cursors and offline sync for your app, with merge rules and network tests that prove no edit is lost.",
 "headline": "Real-time collaboration engineer",
 "subhead": "Give it your app, what people edit together and how many users you expect. It sorts your data by how it should merge, then plans reconnects, live cursors and scaling. You get a design plus tests that try to break it.",
 "job": {
  "id": "build-software",
  "name": "Build and ship software"
 },
 "level": "intermediate",
 "thinking": "high",
 "tested": true,
 "updated": "2026-11-03",
 "first_published": "2026-10-26",
 "inputs": [
  {
   "type": "question",
   "required": true,
   "label": "Question",
   "what": "the problem, decision or piece of work you want help with, and what a good outcome looks like"
  },
  {
   "type": "codebase",
   "required": false,
   "label": "Codebase",
   "what": "a project's code, in a folder or repo the AI can open"
  }
 ],
 "outputs": [
  {
   "type": "document",
   "required": true,
   "label": "Document",
   "what": "a finished document, such as a Word file, a PDF or a page of notes"
  }
 ],
 "you_give": [
  "What people edit together, such as documents, a task board or a form",
  "The tech you use today, such as your web framework, database and hosting",
  "How many people share one room or document, and how many rooms you expect",
  "Whether it must work offline, and on which devices",
  "Your current sync code or data model (optional)",
  "Reports of lost or doubled edits, with what the user did (optional)"
 ],
 "you_get": [
  "A table that sorts each piece of data by how it merges",
  "A plain statement of what users see when the connection drops",
  "A reconnect plan so no edit is lost or applied twice",
  "A plan for live cursors and who is online, kept apart from saved data",
  "A scaling plan for one busy room and for many small rooms",
  "A test list that attacks the design with bad networks"
 ],
 "use_when": [
  "You are adding shared documents, a task board or live cursors to your app, like Google Docs does.",
  "Two people edited the same record and one change vanished.",
  "Your app has to work offline on a phone and sync when the signal returns.",
  "Live updates work in your demo but you fear what happens at ten times the users."
 ],
 "skip_when": [
  "You only need a page that refreshes every few seconds or a notification. A simple refresh plan is enough, and the Backend Architect agent can size it.",
  "Your app is down right now. Use the Incident response coordinator.",
  "You want the full system layout or a database choice. Use the Backend Architect agent or the Software architect."
 ],
 "output_sample": {
  "input": [
   "What people edit together in your app",
   "Your tech, user counts and devices",
   "Whether it must work offline",
   "Your data model or sync code (optional)"
  ],
  "prerequisites": [
   "An AI chat such as Claude, ChatGPT or Gemini"
  ],
  "output": [
   {
    "name": "Data map",
    "contains": "Each field marked saved or live-only, with its merge rule and the reason for it."
   },
   {
    "name": "Promise to users",
    "contains": "What users see offline, what saved means, and which clashes show on screen."
   },
   {
    "name": "Reconnect plan",
    "contains": "How edits resume after a drop, how repeats are ignored and how order is kept."
   },
   {
    "name": "Live presence",
    "contains": "What is shared, such as cursors, how long it lasts and how often it updates."
   },
   {
    "name": "Scaling plan",
    "contains": "Separate plans for one busy room, many small rooms and deploys."
   },
   {
    "name": "Tests to run",
    "contains": "Bad-network scenarios, each with what must be true afterwards."
   },
   {
    "name": "Assumptions and open questions",
    "contains": "What the agent had to guess and what you still need to answer."
   }
  ]
 },
 "output_shape": "COLLABORATION DESIGN: <app name>\n\nDATA MAP\n  <field or object> | <saved or live-only> | <how it merges> | <why>\n\nPROMISE TO USERS\n  Offline: <what they see> | \"Saved\" means: <rule> | Clashes shown on screen: <which>\n\nRECONNECT PLAN\n  Resume rule: <rule> | Repeat protection: <rule> | Order rule: <rule>\n\nLIVE PRESENCE\n  <what is shared> | <how long it lasts> | <how often it updates>\n\nSCALING\n  Busy room: <plan> | Many rooms: <plan> | Deploys: <plan>\n\nTESTS TO RUN\n  <scenario> | <what must be true afterwards>\n\nASSUMPTIONS AND OPEN QUESTIONS\n  <item> | <how to settle it>",
 "how_to_use": [
  "Download the pack from this page and add it to your AI as a skill. If you cannot, paste SKILL.md into a new chat, then references/source-agent.md.",
  "List what people edit together and paste your data model or sync code if you have one.",
  "Add your user counts, devices and whether offline use matters. Say \"Write the collaboration design. Ask me once if anything is missing.\"",
  "Check the data table first. Each row should name one merge rule, and each rule should make sense to your users.",
  "Run the tests it lists on a real slow or broken connection. The agent cannot run them for you.",
  "Take the design to your developers. Ask the agent to rewrite any part you do not follow in plain words."
 ],
 "checks": [
  "The result addresses your actual task and cites the evidence used.",
  "Examples, role-play experience and targets are kept separate from verified results.",
  "Claims of tests, memory, tool access or completed actions match what actually happened."
 ],
 "next": [
  {
   "name": "MATLAB training experiment planner",
   "url": "https://useaiblocks.com/skills/training-experiment-setup-helper",
   "why": "Build it"
  }
 ],
 "source": {
  "by": "Michael Sitarzewski and Agency Agents contributors",
  "repo": "msitarzewski/agency-agents",
  "url": "https://github.com/msitarzewski/agency-agents/blob/b37b5bb33b78f2c1d6567d98e25ca818e3259219/engineering/engineering-realtime-collaboration-engineer.md",
  "licence": "MIT",
  "original_name": "Realtime Collaboration Engineer",
  "commit": "b37b5bb33b78f2c1d6567d98e25ca818e3259219"
 },
 "credits": [
  {
   "title": "Realtime Collaboration Engineer",
   "by": "Michael Sitarzewski and Agency Agents contributors",
   "url": "https://github.com/msitarzewski/agency-agents/blob/b37b5bb33b78f2c1d6567d98e25ca818e3259219/engineering/engineering-realtime-collaboration-engineer.md",
   "used": "Original agent profile, preserved in references/source-agent.md; AI Blocks adds setup and review instructions."
  }
 ],
 "files": [
  "LICENSE",
  "references/source-agent.md",
  "SETUP.md",
  "source.json"
 ],
 "links": {
  "page": "https://useaiblocks.com/agents/agency-engineering-realtime-collaboration-engineer",
  "markdown": "https://useaiblocks.com/agents/agency-engineering-realtime-collaboration-engineer.md",
  "json": "https://useaiblocks.com/agents/agency-engineering-realtime-collaboration-engineer.json",
  "instructions": "https://useaiblocks.com/skills/agency-engineering-realtime-collaboration-engineer/SKILL.md",
  "download": "https://useaiblocks.com/skills/agency-engineering-realtime-collaboration-engineer.zip",
  "api_item": "https://useaiblocks.com/api/v1/items/agency-engineering-realtime-collaboration-engineer",
  "api_document": "https://useaiblocks.com/api/v1/documents/agent/agency-engineering-realtime-collaboration-engineer",
  "mcp": "https://useaiblocks.com/mcp"
 }
}
