[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M7CTWFB6CND22PBY4GRA6KTA":3,"skill-same:01M7CTWFB6CND22PBY4GRA6KTA":60},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":24,"commitSha":25,"skillDirectory":26,"forksCount":27,"repositoryHtmlUrl":28,"repositoryHomepageUrl":29,"ownerHtmlUrl":30,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":31,"install":32,"resources":45},"01M7CTWFB6CND22PBY4GRA6KTA","openbot",null,"Use when assessing optional OpenBot external browser\u002Fcomputer actions for MDE brokers: API-or-MCP-first feasibility, pinned-version proof, AG-UI\u002FMastra transport, trusted targets, audited policies, tenant isolation, ambiguous external retries, rollback and kill-switch checks.","amoai-tech\u002Fmdeai","amoai-tech","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F320616881?v=4","01M7CTJYGWP82J2HHMQC5NN9JP","amo","01M7CTJYHE5YQRGQSDJES3Z0QE",2,"MIT","https:\u002F\u002Fgithub.com\u002Famoai-tech\u002Fmdeai\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fopenbot\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: openbot\ndescription: >-\n  Use when assessing optional OpenBot external browser\u002Fcomputer actions for\n  MDE brokers: API-or-MCP-first feasibility, pinned-version proof, AG-UI\u002FMastra\n  transport, trusted targets, audited policies, tenant isolation, ambiguous\n  external retries, rollback and kill-switch checks.\n---\n\n# OpenBot — optional external coworker behind one Concierge\n\n## Owner and boundaries\n\nOpenBot is **not installed** and is unnecessary for ordinary MDE rentals,\nleads, viewings or chat. [real-estate](..\u002Freal-estate\u002FSKILL.md) owns rental\nflows, [copilotkit](..\u002Fcopilotkit\u002FSKILL.md) the runtime,\n[mastra](..\u002Fmastra\u002FSKILL.md) tools, and\n[supabase](..\u002Fsupabase\u002FSKILL.md) private data\u002FRLS. No second agent\u002Fsearch\u002F\nbooking engine, client service keys, or external-browser review as a Phase A\nbusiness ownership\u002Fapproval requirement.\n\n## Adopt or defer — SAN-1324 first\n\n1. **Find a real gap.** Name signed-in broker, third-party website and action.\n   If an authorized MDE API, MCP or Mastra tool can do it, **DEFER OpenBot**.\n   A broker's normal lead or viewing action is not justification.\n2. **Verify the pinned candidate.** Compare historical v0.0.14 source to\n   official candidate release v0.2.0; neither is deployed MDE proof.\n   Inspect [source map](references\u002Fsource-map.md); pin SHA, required\n   dependencies, authentication, isolated computer, supervisor, signed\n   handoffs, AG-UI\u002FMastra transport and infrastructure.\n3. **Prove migration and rollback.** Release migration\n   0052_shared_brokered_accounts changes Composio connections. Reverting to\n   0.1.2 can hide accounts connected after upgrade. Older remote signed\n   handoffs can be temporarily refused during transition. Test upgrade,\n   downgraded account visibility, startup, isolation, recovery and real\n   rollback in a separate authorized environment, without production data.\n4. **Conditional adapter only.** SAN-1325 adds minimal optional delegation\n   behind the existing Concierge only if SAN-1324 proves ADOPT. Propagate\n   server-verified actor, tenant, run\u002Fthread ID and actual outcome, without\n   mounting another CopilotKit runtime or copy of OpenBot's app.\n5. **Authorize every external action.** Resolve target references on the\n   server from trusted browser snapshots; apply deny-over-allow and deny on\n   policy errors; record audit **before** acting. Reject forged references,\n   injected page instructions, unauthorized brokers, private-network targets\n   and client-provided service credentials (SAN-1326\u002F1327).\n6. **Never mistake Stop for rollback.** Distinguish requested, running,\n   submitted, confirmed, failed and unknown external status. A chat Stop\n   cannot undo Submit already sent to the website. A timeout after Submit\n   is **outcome unknown**, not permission to re-submit; reconcile evidence.\n   Test retry\u002Fidempotency, audit failure, tenant spoofing and off-switch.\n7. **Keep native MDE working.** SAN-1328\u002F1329 may surface broker results in\n   the same Concierge only after adoption. With OpenBot disabled, rentals,\n   viewing and chat work unchanged. Record exact version, logs\u002Fevidence and\n   ADOPT\u002FDEFER; do not invent external action success.\n\n## Examples and references\n\n\"Show my leads\" → existing MDE tool; not OpenBot.\n\"Update external listing portal without an API\" → SAN-1324 isolated proof\n→ conditional SAN-1325 adapter only if needed.\n\n- [Source-to-destination map](references\u002Fsource-map.md).\n- [Behavior probes](evals\u002Fevals.json) and\n  [Trigger\u002Fnear-miss probes](evals\u002Ftrigger-evals.json).\n- No separate updater, scheduler, or vendor skill copied into MDE.\n","# OpenBot — optional external coworker behind one Concierge\n\n## Owner and boundaries\n\nOpenBot is **not installed** and is unnecessary for ordinary MDE rentals,\nleads, viewings or chat. [real-estate](..\u002Freal-estate\u002FSKILL.md) owns rental\nflows, [copilotkit](..\u002Fcopilotkit\u002FSKILL.md) the runtime,\n[mastra](..\u002Fmastra\u002FSKILL.md) tools, and\n[supabase](..\u002Fsupabase\u002FSKILL.md) private data\u002FRLS. No second agent\u002Fsearch\u002F\nbooking engine, client service keys, or external-browser review as a Phase A\nbusiness ownership\u002Fapproval requirement.\n\n## Adopt or defer — SAN-1324 first\n\n1. **Find a real gap.** Name signed-in broker, third-party website and action.\n   If an authorized MDE API, MCP or Mastra tool can do it, **DEFER OpenBot**.\n   A broker's normal lead or viewing action is not justification.\n2. **Verify the pinned candidate.** Compare historical v0.0.14 source to\n   official candidate release v0.2.0; neither is deployed MDE proof.\n   Inspect [source map](references\u002Fsource-map.md); pin SHA, required\n   dependencies, authentication, isolated computer, supervisor, signed\n   handoffs, AG-UI\u002FMastra transport and infrastructure.\n3. **Prove migration and rollback.** Release migration\n   0052_shared_brokered_accounts changes Composio connections. Reverting to\n   0.1.2 can hide accounts connected after upgrade. Older remote signed\n   handoffs can be temporarily refused during transition. Test upgrade,\n   downgraded account visibility, startup, isolation, recovery and real\n   rollback in a separate authorized environment, without production data.\n4. **Conditional adapter only.** SAN-1325 adds minimal optional delegation\n   behind the existing Concierge only if SAN-1324 proves ADOPT. Propagate\n   server-verified actor, tenant, run\u002Fthread ID and actual outcome, without\n   mounting another CopilotKit runtime or copy of OpenBot's app.\n5. **Authorize every external action.** Resolve target references on the\n   server from trusted browser snapshots; apply deny-over-allow and deny on\n   policy errors; record audit **before** acting. Reject forged references,\n   injected page instructions, unauthorized brokers, private-network targets\n   and client-provided service credentials (SAN-1326\u002F1327).\n6. **Never mistake Stop for rollback.** Distinguish requested, running,\n   submitted, confirmed, failed and unknown external status. A chat Stop\n   cannot undo Submit already sent to the website. A timeout after Submit\n   is **outcome unknown**, not permission to re-submit; reconcile evidence.\n   Test retry\u002Fidempotency, audit failure, tenant spoofing and off-switch.\n7. **Keep native MDE working.** SAN-1328\u002F1329 may surface broker results in\n   the same Concierge only after adoption. With OpenBot disabled, rentals,\n   viewing and chat work unchanged. Record exact version, logs\u002Fevidence and\n   ADOPT\u002FDEFER; do not invent external action success.\n\n## Examples and references\n\n\"Show my leads\" → existing MDE tool; not OpenBot.\n\"Update external listing portal without an API\" → SAN-1324 isolated proof\n→ conditional SAN-1325 adapter only if needed.\n\n- [Source-to-destination map](references\u002Fsource-map.md).\n- [Behavior probes](evals\u002Fevals.json) and\n  [Trigger\u002Fnear-miss probes](evals\u002Ftrigger-evals.json).\n- No separate updater, scheduler, or vendor skill copied into MDE.\n",{"name":5,"description":7},"main","9955f6a8aa5de3c14fea562c7e6b72973366ba3c",".claude\u002Fskills\u002Fopenbot",1,"https:\u002F\u002Fgithub.com\u002Famoai-tech\u002Fmdeai","https:\u002F\u002Fmdeai-psi.vercel.app","https:\u002F\u002Fgithub.com\u002Famoai-tech","2026-11-13 03:54:16",{"source":8,"skillName":5,"commands":33,"prompt":43,"zipAvailable":44},[34,37,40],{"tool":35,"command":36},"npx","npx skills add amoai-tech\u002Fmdeai --skill openbot",{"tool":38,"command":39},"bunx","bunx skills add amoai-tech\u002Fmdeai --skill openbot",{"tool":41,"command":42},"pnpm","pnpm dlx skills add amoai-tech\u002Fmdeai --skill openbot","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Famoai-tech\u002Fmdeai\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fopenbot\u002FSKILL.md",true,[46,52,56],{"path":47,"resourceType":48,"resourceTypeDesc":49,"sizeBytes":50,"sourceHtmlUrl":51},"evals\u002Fevals.json","REFERENCE","参考文档",7114,"https:\u002F\u002Fgithub.com\u002Famoai-tech\u002Fmdeai\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fopenbot\u002Fevals\u002Fevals.json",{"path":53,"resourceType":48,"resourceTypeDesc":49,"sizeBytes":54,"sourceHtmlUrl":55},"evals\u002Ftrigger-evals.json",1898,"https:\u002F\u002Fgithub.com\u002Famoai-tech\u002Fmdeai\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fopenbot\u002Fevals\u002Ftrigger-evals.json",{"path":57,"resourceType":48,"resourceTypeDesc":49,"sizeBytes":58,"sourceHtmlUrl":59},"references\u002Fsource-map.md",3721,"https:\u002F\u002Fgithub.com\u002Famoai-tech\u002Fmdeai\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fopenbot\u002Freferences\u002Fsource-map.md",[61,68,75,82,89,96],{"skillNo":62,"name":63,"nameZh":6,"description":64,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":65,"categories":66,"keywords":67,"publishedAt":19},"01M7CV3D59CQX8N178NN3W5DEQ","mde-pr-review-supabase","Use when reviewing MDE Supabase SQL, Auth and RLS changes in a pull request.","https:\u002F\u002Fgithub.com\u002Famoai-tech\u002Fmdeai\u002Fblob\u002Fmain\u002Fscripts\u002Fpr-agent\u002Fskills\u002Fsupabase\u002FSKILL.md",[],[],{"skillNo":69,"name":70,"nameZh":6,"description":71,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":72,"categories":73,"keywords":74,"publishedAt":19},"01M7CV39XR1SPH7C4FNXAXMM36","mde-pr-review-stripe","Use when reviewing MDE Stripe payments and webhooks changes in a pull request.","https:\u002F\u002Fgithub.com\u002Famoai-tech\u002Fmdeai\u002Fblob\u002Fmain\u002Fscripts\u002Fpr-agent\u002Fskills\u002Fstripe\u002FSKILL.md",[],[],{"skillNo":76,"name":77,"nameZh":6,"description":78,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":79,"categories":80,"keywords":81,"publishedAt":19},"01M7CV37HHNM5A144SEX2VE05N","mde-pr-review-nextjs","Use when reviewing MDE Next.js App Router changes in a pull request.","https:\u002F\u002Fgithub.com\u002Famoai-tech\u002Fmdeai\u002Fblob\u002Fmain\u002Fscripts\u002Fpr-agent\u002Fskills\u002Fnextjs\u002FSKILL.md",[],[],{"skillNo":83,"name":84,"nameZh":6,"description":85,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":88,"publishedAt":19},"01M7CV34C1M5STTKHX5CGVN3VS","mde-pr-review-mastra","Use when reviewing MDE Mastra agent, tool and workflow changes in a pull request.","https:\u002F\u002Fgithub.com\u002Famoai-tech\u002Fmdeai\u002Fblob\u002Fmain\u002Fscripts\u002Fpr-agent\u002Fskills\u002Fmastra\u002FSKILL.md",[],[],{"skillNo":90,"name":91,"nameZh":6,"description":92,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":93,"categories":94,"keywords":95,"publishedAt":19},"01M7CV31A37VPRRASAVGE8K8SN","mde-pr-review-maps","Use when reviewing MDE Google Maps and Places changes in a pull request.","https:\u002F\u002Fgithub.com\u002Famoai-tech\u002Fmdeai\u002Fblob\u002Fmain\u002Fscripts\u002Fpr-agent\u002Fskills\u002Fmaps\u002FSKILL.md",[],[],{"skillNo":97,"name":98,"nameZh":6,"description":99,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":100,"categories":101,"keywords":102,"publishedAt":19},"01M7CV2Y70DQJ1VXFHS732CSQ4","mde-pr-review-copilotkit","Use when reviewing MDE CopilotKit and AG-UI changes in a pull request.","https:\u002F\u002Fgithub.com\u002Famoai-tech\u002Fmdeai\u002Fblob\u002Fmain\u002Fscripts\u002Fpr-agent\u002Fskills\u002Fcopilotkit\u002FSKILL.md",[],[]]