---
name: teamharness-roomflow
description: "Use for TeamHarness room classification and Matrix task-room setup: roomflow describe_room, roomflow create_task_room, source/requester room vs task room detection, project-scoped task-room reuse, and invite handling. Do not use for projectflow, taskflow, or message delivery."
---

# Roomflow

Use this skill when a Leader needs to identify the current Matrix room or
prepare the Matrix task room before Quick Task or Project Work state exists.

## Describe Room

Call `roomflow describe_room` when a Matrix room's purpose is unclear.

Classify from Matrix state:

- Source channel / requester room: external channel, or Matrix room whose name
  indicates DM or Team room.
- Task room: Matrix room whose name starts with `TASK：<projectId>`, or
  whose topic/tags carry a Project/Task marker.

Do not infer room purpose from joined-room IDs alone.

## Create Or Reuse Task Room

From a Source channel / requester room, call `roomflow create_task_room` before
creating project or task state.

Pass a stable `projectId`. The tool normalizes the Matrix room name to
`TASK：<projectId>` and reuses task rooms only by that project id.

Pass the current source metadata exactly as received, such as DingTalk
`sourceRoomId` and `sender`, so project state can keep the requester route.
Do not use source room or sender identity to decide task-room reuse. Different
projects from the same DingTalk group or same person still get different task
rooms.

Pass the complete Matrix user IDs for Workers who must receive or observe work
in the task room through `invite`. This field is mandatory for Quick Task and
Project Work: select the Worker owners first, then call `create_task_room`.
Never rely on the Team Admin default invite. As a last-resort safety net, the
tool invites all current Team Workers when `invite` is omitted, but an explicit
participant list is the authoritative choice. Use the returned Matrix room as
the task room for the handoff, project state, task delegation, and Worker
completion reports.
