Token导航 LogoToken导航

Agent Skill · 研究检索

team-projects(团队项目)

team-projects 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

team-projects 是研究检索类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为操作浏览器;许可证为 MIT-0,第三方扫描有提醒项,按安装量在研究检索类的 73,675 个 Skill 里排第 10,972。

总安装 11,873周安装 485GitHub Stars 公开资料未说明下载 3,802核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT-0
版本
1.3.0

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:team-projects(团队项目)
来源仓库:https://github.com/maverick-software/team-projects
安装命令:
openclaw skills install team-projects
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install team-projects

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

提供多代理项目管理看板与 WBS 分解视图。支持 @提及路由与跨代理任务依赖管理。适用宿主包括 OpenClaw,接入前应确认版本、权限和运行环境要求。集成控制 UI 插件便于实时监控项目进展。适用于 OpenClaw 平台内的团队协作场景。需授予读写本地数据库或配置文件权限。

team-projects 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 OpenClaw;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 openclaw skills install team-projects;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要操作浏览器,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

team-projects 怎么安装?

在终端执行 openclaw skills install team-projects。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

team-projects 支持哪些 AI 工具?

公开资料标注支持 OpenClaw。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

team-projects 需要什么权限?

权限级别是操作浏览器。该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

team-projects 是免费的吗?

来源标注的许可证是 MIT-0。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

team-projects 用的人多吗?

公开数据是累计安装 11,873 次,近一周安装 485 次,下载 3,802 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

team-projects 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。

先想清楚的地方

  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
team-projects

团队项目 · 本页

11,873—操作浏览器MIT-0有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

name
team-projects
description
Multi-agent project management with task boards, @-mention routing, WBS, and orchestrated team collaboration. Includes a Control UI plugin tab with project dashboard and a right-edge Team Chat drawer for live activity. Enables a coordinator agent to plan projects, break down work into phases and tasks, assign to specialist agents, dispatch via sessions_spawn, and track progress to completion. Use when: (1) managing work across multiple OpenClaw agents, (2) creating project plans with work breakdown structures, (3) assigning and tracking tasks across agents, (4) coordinating multi-agent workflows with dependencies, (5) running team-based projects with progress tracking.
metadata

Team Projects 📋

Multi-agent project management for OpenClaw. Run agent teams that plan, assign, execute, and track work together. Includes a Control UI plugin tab for visual project tracking and a right-edge Team Chat drawer for live agent activity.

Overview

This skill enables a coordinator agent to manage projects across multiple specialist agents:

User → Coordinator (Koda) → dispatches tasks via sessions_spawn
                            ├── @researcher → web research, data analysis
                            ├── @coder → writing code, building features
                            ├── @writer → copy, documentation, content
                            └── ... any configured agent

Each agent works independently with their own tools and workspace. The coordinator tracks progress, manages dependencies, and advances the project.

UI Components

1. Projects Tab (sidebar)

A full project dashboard registered as a plugin tab in the Control sidebar under the "Control" group. Shows project cards, task boards with phase sections, team overview, and progress stats.

2. Team Chat Drawer (right edge)

A slide-out panel accessible from a vertical "Team" tab fixed to the right edge of the screen. Shows:

  • Live agent activity feed (sub-agent sessions, messages)
  • Project progress bar
  • Task overview (collapsible)
  • Quick message input to send commands

Installation

Step 1: Config Prerequisites

Add to openclaw.json:

{
  "tools": {
    "agentToAgent": {
      "enabled": true,
      "allow": ["*"]
    }
  }
}

Add subagents.allowAgents to the coordinator agent's list entry (NOT on agents.defaults):

{
  "agents": {
    "list": [
      {
        "id": "main",
        "default": true,
        "name": "Koda",
        "subagents": {
          "allowAgents": ["*"]
        }
      }
    ]
  }
}
⚠️ Critical: allowAgents must be on the agent's own entry in agents.list. Setting it on agents.defaults.subagents does NOT work. The code reads resolveAgentConfig(cfg, requesterAgentId)?.subagents?.allowAgents which resolves the per-agent config, not defaults.

Step 2: Gateway Plugin Installation (for Projects tab)

The Projects tab requires installing a gateway plugin. This involves 4 registration points in the OpenClaw source:

2a. Plugin SDK entry

Create src/plugin-sdk/team-projects.ts:

export { emptyPluginConfigSchema } from "../plugins/config-schema.js";
export type {
  OpenClawPluginApi,
  PluginViewRegistration,
} from "../plugins/types.js";
2b. Plugin extension

Create extensions/team-projects/openclaw.plugin.json:

{
  "id": "team-projects",
  "configSchema": {
    "type": "object",
    "additionalProperties": false,
    "properties": {}
  }
}

Create extensions/team-projects/index.ts — see gateway-plugin/index.ts.

2c. Register in build pipeline (4 files)

tsdown.config.ts — Add "team-projects" to the pluginSdkEntrypoints array.

src/plugins/loader.ts — Add to the pluginSdkScopedAliasEntries array:

{
  subpath: "team-projects",
  srcFile: "team-projects.ts",
  distFile: "team-projects.js",
},

scripts/write-plugin-sdk-entry-dts.ts — Add "team-projects" to the entrypoints array.

package.json — Add to the exports map:

"./plugin-sdk/team-projects": {
  "types": "./dist/plugin-sdk/team-projects.d.ts",
  "default": "./dist/plugin-sdk/team-projects.js"
},
2d. Enable in config
{
  "plugins": {
    "allow": ["telegram", "discord", "team-projects"],
    "entries": {
      "team-projects": {
        "enabled": true
      }
    }
  }
}

Step 3: UI View Installation

3a. Team Projects view

Copy gateway-plugin/team-projects-view.ts to ui/src/ui/views/team-projects.ts.

3b. Team Chat Drawer

Copy gateway-plugin/team-chat-drawer.ts to ui/src/ui/views/team-chat-drawer.ts.

⚠️ Critical: No Shadow DOM — The OpenClaw app uses createRenderRoot() { return this; }, so Lit css tagged templates are NOT applied. All styles must be embedded as inline <style> tags in the rendered HTML. The team-chat-drawer uses an inline <style> block inside renderTeamChatEdgeTab() so styles are present even when the drawer is closed.
3c. Wire into app-render.ts

See gateway-plugin/app-render-patch.ts for the integration points:

  1. Import renderTeamChatDrawer and renderTeamChatEdgeTab from ./views/team-chat-drawer.ts
  2. Before </main>, add ${renderPluginTabContent(state)}
  3. After </main>, add the edge tab and drawer renders
  4. Add the renderPluginTabContent() function
3d. Wire into app-gateway.ts

See gateway-plugin/app-gateway-patch.ts for the integration points:

  1. Import uiPluginRegistry from ./plugins/registry.ts
  2. Import renderTeamProjects from ./views/team-projects.ts
  3. In onHello, after applySnapshot(), call registerTeamProjectsPlugin()
  4. Add the registerTeamProjectsPlugin() function
3e. Add view state fields

In ui/src/ui/app-view-state.ts, add to AppViewState:

teamChatOpen: boolean;
teamChatProject: unknown;
teamChatSessions: unknown[];
teamChatActivity: unknown[];
teamChatLoading: boolean;
teamChatInput: string;
teamChatTasksCollapsed: boolean;

In ui/src/ui/app-settings.ts, add teamChatOpen?: boolean to SettingsHost type, and add defensive cleanup in applyTabSelection():

} else if (host.teamChatOpen) {
  host.teamChatOpen = false;
}

Step 4: Build & Restart

cd ~/openclaw
pnpm build        # Backend (gateway + plugin SDK)
pnpm ui:build     # Control UI
openclaw gateway restart

Hard-refresh the browser (Ctrl+Shift+R) to load the new UI assets.

Usage

Creating a Project

Tell the coordinator agent what you want to build. It will:

  1. Create the project with appropriate phases
  2. Break down work into tasks
  3. Assign tasks to agents based on capabilities
  4. Dispatch ready tasks

Example prompt:

"Create a team project to redesign our company website. @researcher should analyze competitors, @writer should draft copy, and @coder should build it in React. Priority: launch in 2 weeks."

The Coordinator's Workflow

The coordinator uses CLI tools to manage the project board:

# Create a project
node {{SKILL_DIR}}/scripts/project-store.js create-project \
  --name "Website Redesign" \
  --description "Full redesign of company website" \
  --coordinator main \
  --agents "researcher,writer,coder"

# Add phases (ordered)
node {{SKILL_DIR}}/scripts/project-store.js add-phase \
  --project PROJECT_ID --name "Research" --description "Competitive analysis"

# Add tasks with assignments and dependencies
node {{SKILL_DIR}}/scripts/project-store.js add-task \
  --project PROJECT_ID --phase PHASE_ID \
  --title "Analyze top 5 competitors" \
  --description "Research competitor websites..." \
  --assignee researcher --priority high

node {{SKILL_DIR}}/scripts/project-store.js add-task \
  --project PROJECT_ID --phase PHASE_ID \
  --title "Write homepage hero copy" \
  --assignee writer --priority high \
  --dependsOn "task_abc123"

Dispatching Tasks

The orchestrator identifies ready tasks (dependencies met, not yet dispatched):

# See what's ready to dispatch
node {{SKILL_DIR}}/scripts/orchestrator.js plan PROJECT_ID

Then dispatch via OpenClaw's native sessions_spawn:

sessions_spawn(
  agentId: "researcher",
  task: "Research the top 5 competitors in the AI SaaS space...",
  label: "task_abc123"
)

Agent Communication

Agents can communicate using @-mentions:

  • @agentId — Direct message to an agent (routed via sessions_send)
  • @all / @team — Broadcast to all project agents
  • #task_id — Reference a task
  • TASK_COMPLETE: #task_id — Signal task completion
  • TASK_BLOCKED: #task_id — Signal a blocker

Tracking Progress

# View project stats
node {{SKILL_DIR}}/scripts/project-store.js stats --id PROJECT_ID

# View work breakdown structure
node {{SKILL_DIR}}/scripts/project-store.js wbs --id PROJECT_ID

# Check and advance completed phases
node {{SKILL_DIR}}/scripts/orchestrator.js advance PROJECT_ID

Updating Tasks

# Mark task in progress
node {{SKILL_DIR}}/scripts/project-store.js update-task \
  --project PROJECT_ID --id TASK_ID --status in_progress

# Mark task done
node {{SKILL_DIR}}/scripts/project-store.js update-task \
  --project PROJECT_ID --id TASK_ID --status done

# Add a comment
node {{SKILL_DIR}}/scripts/project-store.js add-comment \
  --project PROJECT_ID --task TASK_ID \
  --author main --text "Looks good, merging now"

Data Model

Project

project
├── id, name, slug, description
├── status: planning | active | paused | completed | archived
├── coordinator: agentId
├── agents: [agentId, ...]
└── phases[]
    ├── id, name, description, order
    ├── status: pending | active | completed
    └── tasks[]
        ├── id, title, description
        ├── assignee: agentId
        ├── priority: critical | high | medium | low
        ├── status: todo | in_progress | blocked | review | done
        ├── dependsOn: [taskId, ...]
        ├── sessionKey: (set when dispatched)
        ├── artifacts: [paths/URLs]
        └── comments[]

Storage

  • Projects: ~/.openclaw/workspace/team-projects/projects.json
  • Chat logs: ~/.openclaw/workspace/team-projects/chat_PROJECT_ID.jsonl
  • Orchestrator state: ~/.openclaw/workspace/team-projects/orchestrator-state.json

Architecture

How It Works

┌─────────────┐     sessions_spawn      ┌──────────────┐
│ Coordinator  │ ──────────────────────→ │  Worker Agent │
│   (Koda)     │                         │  (researcher) │
│              │ ←── push completion ──── │              │
│  project-    │                         └──────────────┘
│  store.js    │     sessions_spawn      ┌──────────────┐
│              │ ──────────────────────→ │  Worker Agent │
│  orchestr-   │                         │   (coder)     │
│  ator.js     │ ←── push completion ──── │              │
│              │                         └──────────────┘
│  UI plugin   │     sessions_send       ┌──────────────┐
│  tab         │ ←────────────────────── │  Worker Agent │
└─────────────┘     (inter-agent msg)    │   (writer)    │
                                         └──────────────┘

Key Design Decisions

  1. Push-based completion — No polling. OpenClaw's subagent-announce system delivers completion events automatically.
  2. Dependency gates — The orchestrator only dispatches tasks whose dependsOn are all done.
  3. Tool isolation — Each agent gets only the tools they need. A researcher can't exec arbitrary code; a coder can't send messages to external channels.
  4. File-based persistence — Simple JSON storage. No database required. Works on any OpenClaw instance.
  5. CLI-first — All operations available via CLI. The UI is optional.
  6. Agent-native — Uses OpenClaw's existing sessions_spawn, sessions_send, and agents_list tools. No custom transport.
  7. Plugin architecture — Projects tab registered via OpenClaw's uiPluginRegistry (client-side). Team Chat drawer uses inline <style> tags for CSS (no Shadow DOM).
  8. Client-side plugin registration — Since the gateway plugin view registration pipeline isn't fully wired end-to-end, the Projects tab is registered client-side in app-gateway.ts during onHello. This is reliable and avoids depending on gateway-side plugin infrastructure.

Plugin Registration Points (4 required for gateway plugin)

When adding a new gateway plugin to OpenClaw, you must register it in 4 places:

FileWhat to add
src/plugin-sdk/<id>.tsSDK type entry (exports OpenClawPluginApi etc.)
src/plugins/loader.ts → pluginSdkScopedAliasEntriesJiti alias so runtime can resolve openclaw/plugin-sdk/<id>
tsdown.config.ts → pluginSdkEntrypointsBuild entry so dist/plugin-sdk/<id>.js gets generated
scripts/write-plugin-sdk-entry-dts.tsDTS entry generator
package.json → exports → ./plugin-sdk/<id>Package subpath export

Missing any one of these causes Cannot find module errors at runtime.

CSS Gotcha: No Shadow DOM

OpenClaw's OpenClawApp uses createRenderRoot() { return this; } — it renders directly to the DOM without Shadow DOM. This means:

  • Lit css tagged templates (used with static styles) are never applied
  • All styles must be embedded as <style> tags in the HTML returned by render functions
  • The teamChatDrawerStyles export was originally dead code until fixed to use inline styles

Coordinator Prompt Template

The coordinator agent should include templates/coordinator-prompt.md in its system prompt (or SOUL.md). This gives it the commands and workflow for managing projects.

Worker agents should include templates/worker-prompt.md for task completion protocols.

Known Issues & Gotchas

allowAgents must be per-agent

Setting agents.defaults.subagents.allowAgents: ["*"] does NOT work. The code at agents-list-tool.ts:49 reads:

const allowAgents = resolveAgentConfig(cfg, requesterAgentId)?.subagents?.allowAgents ?? [];

This resolves the per-agent config entry, not defaults. You must add it to the agent's entry in agents.list.

dependsOn normalization

The CLI passes --dependsOn task_abc as a string, not an array. The project store and orchestrator both normalize with Array.isArray() checks. If you create tasks programmatically, always pass an array.

UI requires hard refresh

After rebuilding the UI (pnpm ui:build) and restarting the gateway, browsers may cache the old JS bundle. Always hard-refresh (Ctrl+Shift+R) after UI changes.

Icon availability

The icon used for the Projects tab must exist in ui/src/ui/icons.ts. Available icons include: fileText, folder, barChart, zap, brain, settings, plug, etc. Custom icon names like clipboard-list won't work — use fileText instead.

Limitations

  • No real-time UI sync — The UI reads from JSON files; updates appear on refresh, not live push.
  • No native gateway RPC — The project board is managed via CLI tools, not gateway RPC methods (yet).
  • Single coordinator — One agent coordinates per project (though you could have different coordinators for different projects).
  • No cost tracking — Task cost/token tracking depends on OpenClaw's session usage system.
  • Client-side plugin registration — The gateway-side plugin view registration pipeline (registerView → hello snapshot → loadFromGateway) is scaffolded but not fully wired. Plugin tabs are registered client-side instead.

Future Enhancements

  • [ ] Gateway RPC plugin for live UI updates via WebSocket
  • [ ] Kanban drag-and-drop in the sidebar
  • [ ] Gantt chart / timeline view
  • [ ] Automated task creation from GitHub issues
  • [ ] Cost/token budget per task
  • [ ] Agent capability auto-detection from tools config
  • [ ] Cron-based project health checks
  • [ ] Gateway-side plugin view registration (when pipeline is complete)

Files

team-projects/
├── SKILL.md                              # This file
├── scripts/
│   ├── project-store.js                  # CRUD for projects, phases, tasks, comments
│   ├── orchestrator.js                   # Dispatch planning, dependency gates, phase advancement
│   ├── task-router.js                    # @-mention parsing and dispatch planning
│   └── gateway-handlers.js              # HTTP API adapter (optional)
├── ui/
│   ├── project-sidebar.js               # Sidebar panel component (standalone)
│   └── team-chat.js                     # Multi-agent chat component (standalone)
├── gateway-plugin/
│   ├── index.ts                         # Gateway plugin source (extensions/team-projects/)
│   ├── openclaw.plugin.json             # Plugin manifest
│   ├── plugin-sdk-entry.ts              # SDK type entry (src/plugin-sdk/team-projects.ts)
│   ├── team-projects-view.ts            # UI view renderer (ui/src/ui/views/team-projects.ts)
│   ├── team-chat-drawer.ts              # Team Chat drawer + edge tab (ui/src/ui/views/team-chat-drawer.ts)
│   ├── app-render-patch.ts              # Patch for app-render.ts (plugin tab catch-all + drawer)
│   ├── app-gateway-patch.ts             # Patch for app-gateway.ts (renderer registration)
│   └── BUILD_REGISTRATION.md            # Build pipeline registration checklist
├── templates/
│   ├── coordinator-prompt.md            # System prompt for coordinator agent
│   └── worker-prompt.md                 # System prompt fragment for worker agents
└── references/
    ├── example-config.json              # Example openclaw.json for team setup
    └── walkthrough.md                   # Step-by-step usage guide

平台分布

OpenClaw

93.28%
按下载量换算3,547

安全审计

VirusTotal

可疑

ClawScan

可疑

Static analysis

通过

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills