--- name: team-communication description: 团队沟通规范(问题冒泡)——定义团队角色、问题类型、冒泡路径,agent 有问题时据此处理(提问题/找自己要处理的/回答/转交)。角色用规范名:agent 角色 agent.{role},人角色 {orgtype}.{role}。产线默认规范,项目可同名覆盖。触发:agent 发现问题、角色缺信息、PM 退回、故障上报、客户提问、待处理问题>0。 --- # 团队沟通(问题冒泡)规范 本 skill 是**规范**(团队结构 + 问题类型 + 冒泡路径)。问题操作的工具由系统固化, agent 读本 skill 理解规范后,用工具执行。 ## 一、角色命名规范(重要) - **agent 角色**统一前缀 `agent.`:`agent.{role}`,如 `agent.main_agent`、`agent.pm`、`agent.develop`。 - **人角色**用 RBAC 的 `{orgtype}.{role}` 模式:如 `owner.superuser`、`org.admin`。 - 处理方 = 角色名 + agentid(多 agent 同角色须精确到 agentid;agentid 空 = 该角色任意 agent)。 ## 二、团队角色(SDLC 默认) | 角色 | 类型 | 职责 | |---|---|---| | agent.main_agent | agent | 用户面对话 agent,回答问题、路由到人 | | agent.pm | agent | 项目经理,审核交付件、退回意见 | | agent.requirement | agent | 需求分析师 | | agent.design | agent | 系统设计师 | | agent.develop | agent | 开发工程师 | | agent.test | agent | 测试工程师 | | agent.deploy | agent | 部署运维 | | owner.superuser | 人 | 客户/业主,最终兜底审批 | ## 三、问题类型与冒泡路径(SDLC 默认) | 问题类型 | 冒泡路径 | 说明 | |---|---|---| | need_info | agent.main_agent → owner.superuser | 角色缺信息向上提问 | | review_reject | 被退角色 → agent.pm | PM 退回,被退角色响应后复审 | | fault_report | agent.main_agent → owner.superuser | 任务失败报障,人兜底 | | approval | agent.main_agent → owner.superuser | 需人审批/确认(human gate) | 冒泡路径是**规范**,由 agent 读后决策「下一个转给谁」,系统不把路径存进数据。 ## 四、工具(系统固化,产线无关) | 工具 | 作用 | |---|---| | raise_problem(problem_type, question, from_role, first_handler_role, first_handler_agentid) | 提问题,显式指定首处理方 | | list_problems_for(role, agentid) | 查「当前该我处理」的问题(确定性过滤) | | resolve_problem(question_id, answer) | 解决 → 停止冒泡 | | escalate_problem(question_id, next_handler_role, next_handler_agentid) | 没解决 → 显式转给下一个处理方 | cockpit 侧包装:`list_questions`(查待我处理)、`answer_question`(回答)、`escalate_question`(转给人)。 ## 五、处理流程(agent 侧) 1. 我发现问题 → `raise_problem`,按问题类型 + 冒泡路径指定首处理方(规范名)。 2. 我可能被指派处理 → `list_problems_for(我的角色名, 我的 agentid)` 查待办,逐条读。 3. 我能解决 → `resolve_problem`(任务自动恢复,冒泡停止)。 4. 我答不了 → `escalate_problem`,沿冒泡路径转给下一个处理方(规范名)。 ## 六、分层与覆盖 - 本 skill 是**产线级默认规范**;项目可用**同名 team-communication skill** 覆盖。 - 加载顺序:项目级 → 产线级 → 全局兜底。 ## 七、状态与归属 - 状态只有 `pending`(冒泡中)/ `answered`(已解决)。 - 归属 = `current_handler_role` + `current_handler_agentid` 两列,由工具维护,查询走确定性 SQL。