跳到正文
cccskills
免费在 GitHub 公开

collab-surface-core

Use when adding collaborative markdown, notes, or descriptions to a feature with collab surfaces. Covers parent entities, service entry points, authorization, content storage, and lifecycle.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(2)

  • SKILL.md2.5 KB
  • agents/openai.yaml118 B

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Collab surface core

Use collab surfaces for collaborative markdown within a feature. Each surface has its own Loro session in sync-service and can exist without a Document row. The surface is a child resource of an app entity: product names, owners, sharing, and discovery belong to the parent.

Choose the entry point

  • A field managed by its parent domain, such as an initiative description: use OwnedSurfaceService through the feature's domain port. The owning domain authorizes callers and chooses the surface id before calling ensure_owned_surface, owned_surface_markdown, or retire_surface.
  • A surface managed through the public API, such as a channel's shared input: use CollabSurfaceService with an access receipt for the parent. Surface reads, connection tokens, and deletion derive their permissions from that parent.

Check surface_ownership and the parent's access resolution when adding a new parent type. Parents marked ParentDomain use their domain's creation and retirement paths; the public API still provides connection tokens. Keep the trusted OwnedSurfaceService behind domain authorization, with adapters supplied by the composition root.

Keep content and lifecycle with their owners

  • The Loro session is the source of truth for content. collab_surfaces records the id, parent, initialization state, timestamps, and soft deletion.
  • Use application-generated UUIDv7 ids and the service's ensure operation. It handles namespace collisions and retries initialization from pending to ready. The id also names the sync session and must never be recycled.
  • Initial markdown seeds a new session. Ensuring an existing surface preserves its content; subsequent edits go through the collaborative session.
  • Wire retirement into the owning feature's cleanup. The parent reference is polymorphic and has no foreign-key cascade. Retirement blocks new connection tokens; it does not reclaim the sync-service session.

Read the domain ports and parent policy before wiring a consumer. The initiative adapter shows how a feature reuses the service through its own domain port.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Wrap a new backend endpoint in the TypeScript SDK (packages/sdk), or record it as skipped. Use when `just coverage` fails, or after adding an endpoint to a Rust service.

中文简介正在准备中。当前显示原文说明。

macro-inc/macro47432026年10月19日 更新

add-tour

免费

Add or change an in-app feature tour (a view's guided flyover) in the web app. Use when adding a tour to a view, adding or editing tour steps, pointing a step at a new control, or when a step's target needs something opened first.

中文简介正在准备中。当前显示原文说明。

macro-inc/macro47432026年10月19日 更新

audit

免费

Post-change checks before handing off. Works out which checks apply from the files changed (directory AGENTS.md Checks sections and matching .agents/rules), runs or verifies each, and reports pass/fail/skipped. Use before saying work is done, before pushing, or when asked to audit or verify a change.

中文简介正在准备中。当前显示原文说明。

macro-inc/macro47432026年10月19日 更新

Enforce hexagonal architecture in the Rust backend. Use before modifying crates/ or Rust services, especially inbound axum/tool/listener adapters, domain services/ports, outbound adapters, authorization, permissions, database access, or external clients.

中文简介正在准备中。当前显示原文说明。

macro-inc/macro47432026年10月19日 更新

Build a new AI tool end-to-end — Rust implementation, toolset wiring, infra, schema generation, and frontend UI.

中文简介正在准备中。当前显示原文说明。

macro-inc/macro47432026年10月19日 更新

Use when building a feature on reusable database storage or UI, such as CRM, or deciding whether it needs a Macro database entity. Covers shared storage, a host-independent database UI and API contract, ownership, authorization, and the _entities naming convention.

中文简介正在准备中。当前显示原文说明。

macro-inc/macro47432026年10月19日 更新

查看 macro-inc 的全部技能

报告此技能的问题