Token导航 LogoToken导航

Agent Skill · 运维

build-dev-team(建立开发团队)

build-dev-team 用于辅助前端页面、组件、样式和交互逻辑开发,适合在 OpenClaw 中需要维护前端项目、生成组件或检查界面实现时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

build-dev-team 是运维类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为执行命令;许可证为 MIT-0,第三方扫描已通过,按安装量在运维类的 954 个 Skill 里排第 754。

总安装 3,192周安装 133GitHub Stars 公开资料未说明下载 1,064核验 2026-05-01

安装说明

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

安装方式

通过对话安装

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

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

命令行安装

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

ClawHubOpenClaw
openclaw skills install build-dev-team

这个 Skill 是做什么的

运维类 Skill 处理部署、监控、日志和云资源,多数需要较高的执行权限。

构建完整的 AI 软件开发团队协作框架。提供项目结构和代理协调工作流程模板。支持多角色分工和任务分派机制。build-dev-team 属于运维类 Skill,可作为该场景下的辅助能力补充。需自定义团队规模与职责分配规则。适用宿主包括 OpenClaw,接入前应确认版本、权限和运行环境要求。

适用于复杂项目的分布式开发管理。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

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

  2. 2

    拿到安装命令

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

  3. 3

    安装后重启宿主

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

  4. 4

    按最小权限试用

    它需要执行命令,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

build-dev-team 怎么安装?

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

build-dev-team 支持哪些 AI 工具?

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

build-dev-team 需要什么权限?

权限级别是执行命令。安装流程涉及命令执行,可能通过 openclaw skills install build-dev-team 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

build-dev-team 是免费的吗?

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

build-dev-team 用的人多吗?

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

build-dev-team 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

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

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 需要执行命令,装到常用环境前要先评估影响面。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理运维类任务、又不想每次都手写提示词的人。
  • 需要许可证清楚、并且有第三方扫描结果的团队项目。

不太适合

  • 不能接受 Skill 在你机器上执行命令的人。
  • 需要厂商级技术支持和 SLA 的生产系统。

运维类 Skill 对比

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

Docker 基础 · OpenClaw

1,005,15130接触敏感数据MIT-0通过
playwright-scraper-skill

Playwright scraper 技能 · OpenClaw

923,55754接触敏感数据MIT-0有提醒
moltguard

moltguard 搜索 · OpenClaw

825,096110接触敏感数据MIT-0通过
finance-news

财经新闻 · OpenClaw

275,51210需要联网MIT-0有提醒
security-monitor

安全监视器 · OpenClaw

224,1695需要联网MIT-0有提醒
build-dev-team

建立开发团队 · 本页

3,192—执行命令MIT-0通过

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

SKILL.md 原文

name
build_development_team
description
>

Build a Software Development Team

This skill sets up a complete AI-powered software development team inside your OpenClaw instance. It covers two layers:

  1. Agent setup — creating and configuring each agent (models, skills, routing, workspace files)
  2. Project setup — creating the project folder structure that coordinates agents across sprints

Both layers are required for a fully working team. Use the table of contents below to jump to the relevant section.


Contents

Reference files (read when needed):

  • references/project-files.md — Full specification of every project folder file, its format, and its content rules
  • references/workflow.md — Complete agent workflow: all phases, escalation rules, queue formats, git conventions

Credential and Security Model

This skill does not read, store, request, or transmit any credentials or secret values.

All credential handling is performed by:

  • The openclaw-administrator skill, which uses OpenClaw's own config management to wire agent settings
  • The Asana dependency skill installed on each agent, which holds and uses the Asana PAT
  • The Git dependency skill installed on each agent, which holds and uses the GitHub PAT
  • The Email dependency skill installed on the PM agent, which holds and uses email credentials

This skill collects only the *names* of env vars (e.g., TA_ASANA_PAT) — never their values. Those env var names are passed to the dependency skills so they know which credential to pull from the agent runtime environment.

Credentials must be stored in your secret management system (Kubernetes ConfigMap/Secret, .env file, or equivalent) before setup begins.


Heartbeat Scheduling

The 30-minute agent heartbeats configured in this setup are scheduled and triggered by the OpenClaw platform, not by this skill. This skill instructs the openclaw-administrator skill to set the heartbeat interval in each agent's OpenClaw config. This skill does not self-invoke, set timers, or persist between sessions.

Heartbeat Model Selection

Heartbeat runs must use the cheapest available model, not the agent's primary model. The selection priority is:

  1. If OpenRouter is configured → use openrouter/minimax/minimax-m2.7 (cheapest viable heartbeat model)
  2. If OpenRouter is NOT configured → use the cheapest model defined in that agent's config — this must be identified during Step 4 and recorded in HEARTBEAT.md
Why this matters: Running a heartbeat on a primary model (e.g. Gemini 3.1 Pro or GLM-5.1) every 30 minutes burns significant credits for what is designed to be a near-stateless, fast check. The heartbeat model must be set independently of the agent's active/fallback models.

Heartbeat Reasoning Level

Heartbeat reasoning must be kept minimal. Do not add a reasoning/thinking config key to openclaw.json — that is not a supported heartbeat field. Instead, control reasoning level through the heartbeat prompt. Every HEARTBEAT.md must begin with:

/think:minimal

This forces the lightest reasoning path the model supports and prevents the agent from treating heartbeat like an active work session.

Heartbeat Failure — Fail Cheap, Never Escalate to Primary

If a heartbeat check fails (Asana unreachable, bad model config, tool error, etc.), the heartbeat must stop immediately and fail cheaply. It must NOT:

  • Retry using the agent's primary model
  • Spawn a troubleshooting loop
  • Use sessions_send to self
  • Continue reasoning about what might have gone wrong

The correct behavior on heartbeat failure: log the failure (if logging is available), reply with a failure notice, and stop. The next scheduled heartbeat will try again. Do not spend primary model credits diagnosing heartbeat problems — those failures are almost always config issues (bad model path, credential not set, Asana connection error) that the operator must fix, not the agent.

This must be documented in each agent's HEARTBEAT.md explicitly.


Agent Workspace Files

This setup process creates and populates the following operator-managed workspace files for each agent:

  • USER.md — project list, Asana GIDs, repo URLs, team roster. No secret values.
  • TOOLS.md — available dependency skills and env var name labels each one uses.
  • HEARTBEAT.md — what to check on each heartbeat run. No secret values.
  • AGENTS.md — role instructions including active project references and queue check rules.

These are plain text files in each agent's workspace directory. Created once during setup; updated by the operator when projects change.


Before You Start — Required Skills

Required (install before running this skill):

  • openclaw-administrator (EncryptShawn) — performs all agent creation, model assignment, routing config, and workspace file writes.

Strongly recommended:

  • openclaw-recovery-manager (EncryptShawn) — provides config snapshots and emergency rollback.

Step 0 — Safety First

Before touching any configuration:

  1. Check if openclaw-recovery-manager is installed. If yes, take a snapshot:

> "Taking a pre-setup configuration snapshot before we begin." Label it: pre-dev-team-setup-[today's date]

  1. If NOT installed, ask:

> "I recommend installing openclaw-recovery-manager (EncryptShawn on ClawHub) before we proceed. Want to install it first, or proceed without it?"


Step 1 — Gather Project Information

Ask the user for the following. Collect all answers before configuring anything:

I need a few details to set up the team correctly.

1. Project name?
   (e.g., talent_avatar — used as the project identifier throughout)

2. Asana workspace GID?
   (Found in your Asana workspace settings or URL)

3. Does an Asana project board already exist for this project?
   - Yes → What is the Asana project GID? (from the board URL)
   - No → I'll guide you through creating one

4. GitHub repository SSH URLs (private repos, SSH access only):
   - Frontend repo: (e.g., git@github.com:org/repo-fe.git)
   - Backend repo: (e.g., git@github.com:org/repo-be.git)
   - Any additional repos?

5. Credential env var names only — do not share token values here.
   What are the names of the env vars in your secret store for:
   - Asana PAT: (e.g., TA_ASANA_PAT)
   - GitHub PAT: (e.g., TA_GITHUB_PAT)
   - Dev Manager email address: (e.g., TA_DEV_MANAGER_EMAIL)

6. PM agent ID for this project?
   (Convention: project_manager_[project_name])
   Press enter to accept the suggested convention.

After collecting answers, confirm back with the user before doing anything.


Step 2 — Model Selection

Present model recommendations. Tell the user they can accept or change any agent's model.

Note: OpenRouter is strongly recommended for access to the full model range.

Heartbeat model rule: If OpenRouter is configured, all agents use openrouter/minimax/minimax-m2.7 for heartbeat regardless of their primary model. If OpenRouter is NOT available, use the cheapest model in the agent's config — confirm this during agent setup and record it explicitly in HEARTBEAT.md.

RECOMMENDED MODEL ASSIGNMENTS
Based on April 2026 SWE-bench Pro and AA-Omniscience hallucination data:

Agent          | Primary                  | Fallback         | Heartbeat            | Vision
---------------|--------------------------|------------------|----------------------|------------------
project_manager| GLM-5.1                  | MiniMax M2.7     | MiniMax M2.7         | —
               | $1.00/$3.20 per 1M       |                  | (OpenRouter)         |
               | 34% H% — lowest of all   |                  | or cheapest avail.   |
engineer       | Gemini 3.1 Pro           | Claude Opus 4.7  | MiniMax M2.7         | Native (primary)
               | $2/$12 per 1M            | (escalation)     | (OpenRouter)         |
dev-fe         | GLM-5.1                  | Qwen 3.6 Plus    | MiniMax M2.7         | Gemini 3.1 Pro
               | $1/$3.20 per 1M          |                  | (OpenRouter)         | (mockup tasks)
dev-be         | GLM-5.1                  | Qwen 3.6 Plus    | MiniMax M2.7         | —
qa             | Gemini 3.1 Pro           | GPT-5.5          | MiniMax M2.7         | Native (primary)
n8n_engineer   | GLM-5.1 (active)         | Qwen 3.6 Plus    | MiniMax M2.7         | —
               | MiniMax M2.7 (heartbeat) |                  | (OpenRouter)         |

Heartbeat model rule:
- All agents use openrouter/minimax/minimax-m2.7 for heartbeat IF OpenRouter is configured.
- If OpenRouter is NOT configured, use the cheapest model in that agent's config.
  Confirm which model that is during agent setup and record it in HEARTBEAT.md.
- Heartbeat reasoning is controlled via /think:minimal at the top of HEARTBEAT.md —
  not via any openclaw.json config key.

Why these picks:
- PM: GLM-5.1 has the lowest hallucination rate (34%) of all 10 frontier models.
  A PM that confidently misrepresents client or engineer statements is dangerous.
  MiniMax M2.7 (39% H%, $0.30/$1.20) is the cheap heartbeat/fallback model.
- Engineer + QA: Gemini 3.1 Pro has native vision — critical for reading mockups,
  rendered UI screenshots, and HTML/CSS visual diffs.
- FE Dev: GLM-5.1 is the default coding model, but switches to Gemini 3.1 Pro
  when a task involves a mockup. See "Vision Tasks" below.
- DeepSeek V4 Pro excluded despite strong benchmarks — 94% hallucination rate
  makes it unsuitable for any agent in this team.

Accept these recommendations? Or tell me which to change.

Vision Tasks (FE Dev and QA)

The FE dev and QA agent both need vision capability for tasks that involve visual references — mockups, design comps, rendered UI comparisons. Configure them so Gemini 3.1 Pro is used only when the task requires vision, not as the primary default (which would be more expensive than necessary for non-visual work).

Configuration approach (via openclaw-administrator):

  • FE dev primary model: GLM-5.1
  • FE dev vision model: Gemini 3.1 Pro
  • QA primary model: Gemini 3.1 Pro (already vision-capable)
  • QA fallback non-vision: GPT-5.5

The FE dev should switch to vision mode when the Asana task description references a mockup or attached image. The PROJECT.md instructs the FE dev to do this. QA should use vision mode whenever a PR includes UI changes that need to be compared against the mockup.

Mockup Storage

Mockups must be accessible to the engineer (during planning), FE dev (during implementation), and QA (during review). Two storage paths, in priority order:

  1. Asana attachments (preferred) — if the Asana skill supports attachment

upload/retrieval, mockups attach directly to the relevant Asana task. Each agent retrieves them via the Asana skill.

  1. Project workspace fallback — ~/.openclaw/projects/[project_name]/workspace/mockups/

- File naming: [task-id]-[short-description].[ext] (e.g. 1234-navbar-redesign.png) - The Asana task description must reference the filename so devs and QA can find it - This path is pre-created by this skill during Step 7

This mockup convention is documented in PROJECT.md so all agents know the rule.

Wait for confirmation. Record final selections.


Step 3 — Skills Selection Per Agent

Check what's already installed using the openclaw-administrator skill.

Dependency Skills (Required — Install First)

DEPENDENCY SKILLS — install these first on each agent:

All agents:
  - Asana skill (for Asana task management)

Agents that touch code (engineer, dev-fe, dev-be, qa, n8n_engineer):
  - Git skill (for repository operations)

PM agent only:
  - Email skill (for Dev Manager completion alerts)

Search ClawHub for the best-rated version of each if not already installed.

EncryptShawn Workflow Skills (All Agents)

- openclaw-administrator
- openclaw-recovery-manager
- approved-self-improver

Role-Specific Workflow Skills

project_manager_[project]: dev-project-manager (EncryptShawn)
engineer:                  dev-project-engineer (EncryptShawn)
dev-fe, dev-be, n8n:       project-dev (EncryptShawn)

Tech Stack Skills

Tech stack questions:

1. Frontend: Next.js / Nuxt / React / Vue / Astro / Flutter / other?
2. Backend: NestJS / Node.js / Python / Golang / other?
3. Database: MySQL / PostgreSQL / MongoDB / ClickHouse / Redis / other?
4. Using Directus as CMS or API layer? Yes / No
5. Using AWS Cognito for auth? Yes / No
6. Using N8N for automation? Yes / No
7. Using Qdrant for vector search? Yes / No

Based on answers, recommend and install appropriate ClawHub skills per agent.


Step 4 — Agent Configuration

Using the openclaw-administrator skill, configure each agent:

project_manager_[project]

  • Model (active): GLM-5.1 (or user choice from Step 2)
  • Model (heartbeat): MiniMax M2.7 (cheap heartbeat loop)
  • Fallback: MiniMax M2.7
  • Heartbeat: every 30 minutes, isolated session, light context
  • Repos: read-only access to all repos
  • Agent-to-agent allow list: engineer, dev-fe, dev-be, qa, n8n_engineer (if applicable)
  • Chat completions: ENABLED

engineer

  • Model (active): Gemini 3.1 Pro (native vision — required for mockup review)
  • Fallback: Claude Opus 4.7 (escalation only)
  • Heartbeat model: MiniMax M2.7 via OpenRouter (or cheapest available if no OpenRouter)
  • Heartbeat: every 30 minutes
  • Repos: read-only access to all repos (read/write only when explicitly helping a dev)
  • Agent-to-agent allow list: [PM agent ID], dev-fe, dev-be, qa, n8n_engineer
  • Chat completions: disabled

dev-fe

  • Model (primary): GLM-5.1
  • Model (vision): Gemini 3.1 Pro — used when task involves mockup/image references
  • Fallback: Qwen 3.6 Plus
  • Heartbeat model: MiniMax M2.7 via OpenRouter (or cheapest available if no OpenRouter)
  • Heartbeat: every 30 minutes
  • Repos: frontend repo (read/write)
  • Agent-to-agent allow list: [PM agent ID], engineer, qa
  • Chat completions: disabled

dev-be

  • Model (primary): GLM-5.1
  • Fallback: Qwen 3.6 Plus
  • Heartbeat model: MiniMax M2.7 via OpenRouter (or cheapest available if no OpenRouter)
  • Heartbeat: every 30 minutes
  • Repos: backend repo (read/write)
  • Agent-to-agent allow list: [PM agent ID], engineer, qa
  • Chat completions: disabled

qa

  • Model (primary): Gemini 3.1 Pro (native vision — required for UI/mockup comparison)
  • Fallback (non-vision): GPT-5.5
  • Heartbeat model: MiniMax M2.7 via OpenRouter (or cheapest available if no OpenRouter)
  • Repos: all repos (read-only, plus merge authority on operator instruction)
  • Agent-to-agent allow list: [PM agent ID], engineer, dev-fe, dev-be
  • Chat completions: disabled

n8n_engineer (only if N8N confirmed in Step 3)

  • Model (active): GLM-5.1
  • Model (heartbeat): MiniMax M2.7
  • Fallback: Qwen 3.6 Plus
  • Repos: backend repo
  • Agent-to-agent allow list: [PM agent ID], engineer, qa
  • Chat completions: disabled

After all agents configured, verify:

openclaw agents list
Confirm all agents show configured status with correct models.

Step 5 — Asana Project Setup

If board does NOT exist yet

Create the Asana board manually:

1. Log into Asana → + New Project → name it: [project_name] → Board view
2. Create these columns in this exact order:
   - Backlog
   - PM Queue
   - Engineer Queue
   - Frontend Dev Queue
   - Backend Dev Queue
   - QA Queue
   [- N8N Engineer Queue — only if using N8N]
   - In Progress
   - QA Review
   - Complete
   - Blocked
3. Invite all agent Asana accounts as Members
4. Copy the project GID from the board URL
5. Share the GID here when ready

Once GID is confirmed

Using the Asana dependency skill, add project description to the board:

Project: [project_name]
PM Agent: [pm_agent_id]
Repos: FE: [fe_repo] | BE: [be_repo]
Asana Project GID: [GID]
Dev Manager Email env var: [env_var_name — label only]

Step 6 — Write Agent Workspace Files

Using the openclaw-administrator skill, write the following files for each agent.

HEARTBEAT.md (per agent — under 200 tokens):

Every HEARTBEAT.md must follow this exact template. Fill in the agent's specific project GID and queue/section GID during setup. The heartbeat must read these values directly — it must not perform Asana project discovery on every run.

/think:minimal

# HEARTBEAT

## Asana Queue (read this, do not rediscover)
- Project: [project_name]
- Project GID: [asana_project_gid]
- Queue/Section: [Agent Role] Queue
- Queue/Section GID: [section_gid_if_known]

## On each heartbeat
1. Read the project GID and queue/section above — do not browse Asana to find your queue.
2. Query only that exact project + section.
3. Filter for tasks assigned to you only.
4. If no actionable task is assigned → reply HEARTBEAT_OK and stop.
5. If a task is assigned → report it and proceed per your role workflow.
6. If queue metadata above is missing or invalid → do one-time discovery, record the
   project GID and section GID here, then use that direct path from then on.

## Hard rules
- Never use sessions_send to message yourself.
- Never browse other projects, sections, or columns unless queue metadata is missing.
- Never reason about missed or old heartbeats.
- If this heartbeat fails (tool error, bad model config, Asana unreachable):
  log the failure and STOP. Do not retry. Do not escalate to your primary model.
  Do not troubleshoot. The next scheduled heartbeat will try again.
Note on section GID: Retrieve the section GID during Step 5 when the Asana board is confirmed. Add it to HEARTBEAT.md at write time so the agent never has to discover it. If the GID isn't available at setup time, leave the field blank — the agent will do a one-time discovery on first heartbeat and write it in.

USER.md (per agent):

  • Role and scope
  • Active Projects table: project name, PM agent ID, Asana GID, repo URLs
  • Repo access scope for this agent
  • Env var name labels for credential references (not values)
  • Team agent roster with agent IDs

TOOLS.md (per agent):

  • Available dependency skills
  • Env var name label each skill uses for its credential
  • sessions_send allowed targets

AGENTS.md (per agent) — must include an Active Projects section:

## Active Projects
- [project_name] — I am the [role] on this project.
  - Full rules: ~/.openclaw/projects/[project_name]/PROJECT.md
  - My queue: ~/.openclaw/projects/[project_name]/queues/to-[role].md
  - Shared workspace: ~/.openclaw/projects/[project_name]/workspace/
  - Check my queue at the start of every session before doing anything else.
  - Check project-lock.json to understand what phase we are in before acting.

Step 7 — Create Project Folder Structure

This is the coordination layer that makes agents work together across sprints. Read references/project-files.md for the full specification of each file's content and format.

Create the following structure for each project:

~/.openclaw/projects/[project_name]/
├── PROJECT.md                    ← Full team rulebook — every agent reads this
├── project.json                  ← Machine-readable config (agents, Asana, paths)
├── project-lock.json             ← Current phase and ownership
├── STATE.md                      ← Human-readable status at a glance
├── SHARED_MEMORY.md              ← Cross-agent knowledge not suited for Asana
├── DECISIONS.md                  ← Immutable log of all requirement decisions
├── KNOWN_ISSUES.md               ← Accepted technical debt and limitations
├── RUNBOOK.md                    ← How to run the project; branch and PR conventions
├── workspace/
│   ├── repo/                     ← The git repository (cloned here)
│   ├── mockups/                  ← Design mockups (fallback if Asana attachments unavailable)
│   ├── SPEC-CURRENT.md           ← Points to the active accepted spec
│   └── IMPLEMENTATION_GUIDE.md   ← Engineer's task-oriented implementation plan
└── queues/
    ├── to-pm.md
    ├── to-engineer.md
    ├── to-engineer-feasibility.md ← Requirements phase only — kept separate
    ├── to-qa.md
    └── to-operator.md

Creating Each File

project.json — fill in from the details collected in Step 1:

{
  "id": "[project_name]",
  "name": "[Project Display Name]",
  "asana": {
    "project_id": "[asana_project_gid]",
    "workspace_id": "[asana_workspace_gid]",
    "columns": {
      "backlog":     { "id": "[col_gid]", "purpose": "Work not yet started. PM creates tasks here." },
      "in_progress": { "id": "[col_gid]", "purpose": "Dev actively working on this." },
      "in_review":   { "id": "[col_gid]", "purpose": "PR submitted. QA should pick this up." },
      "qa":          { "id": "[col_gid]", "purpose": "QA is actively testing." },
      "completed":   { "id": "[col_gid]", "purpose": "QA passed. Awaiting operator merge and sign-off." },
      "blocked":     { "id": "[col_gid]", "purpose": "Waiting on client or external input. PM owns." }
    }
  },
  "participants": [
    { "agentId": "[pm_agent_id]", "workspace": "../../workspace-pm",     "role": "Project Manager" },
    { "agentId": "engineer",      "workspace": "../../workspace-main",   "role": "Lead Engineer" },
    { "agentId": "dev-fe",        "workspace": "../../workspace-dev0fe", "role": "Front-end Developer" },
    { "agentId": "dev-be",        "workspace": "../../workspace-dev0be", "role": "Back-end Developer" },
    { "agentId": "qa",            "workspace": "../../workspace-qa",     "role": "QA Engineer" }
  ],
  "shared_workspace": "./workspace",
  "repo_path": "./workspace/repo",
  "mockups_path": "./workspace/mockups",
  "shared_memory": "./SHARED_MEMORY.md",
  "decisions_log": "./DECISIONS.md",
  "known_issues": "./KNOWN_ISSUES.md",
  "runbook": "./RUNBOOK.md",
  "queues": {
    "pm":                   "./queues/to-pm.md",
    "engineer":             "./queues/to-engineer.md",
    "engineer_feasibility": "./queues/to-engineer-feasibility.md",
    "qa":                   "./queues/to-qa.md",
    "operator":             "./queues/to-operator.md"
  },
  "visual_assets": {
    "primary_storage": "asana_attachments",
    "fallback_storage": "./workspace/mockups",
    "naming_convention": "[task-id]-[short-description].[ext]",
    "vision_required_agents": ["engineer", "dev-fe", "qa"]
  },
  "escalation_rules": {
    "client_no_response_hours": 48,
    "dev_stuck_same_issue_escalations": 2,
    "dev_stuck_same_issue_hours": 24,
    "blocked_task_operator_escalation_hours": 48
  }
}

project-lock.json — initialize to idle:

{
  "phase": "idle",
  "sprint_id": null,
  "sprint_opened": null,
  "waiting_on": null,
  "last_updated": "[today's date]",
  "last_updated_by": "operator",
  "context": "Project initialized. Ready to receive first requirements.",
  "blocked_tasks": []
}

Initialize all queue files as empty with a header comment:

# Queue: to-[role]
# Format: [YYYY-MM-DD HH:MM] [FROM: agent-id] [TO: agent-id] [TASK: task-id or N/A]
# Queues are append-only. Archive at sprint close. Never delete entries.

Initialize STATE.md:

# [Project Display Name] — Current State
**Phase:** Idle — Ready for first requirements
**Last updated:** [today's date] by operator

Initialize SHARED_MEMORY.md, DECISIONS.md, KNOWN_ISSUES.md with a header and empty body.

Clone the repo and create mockups dir in ./workspace/:

cd ~/.openclaw/projects/[project_name]/workspace
git clone [repo_ssh_url] repo
mkdir -p mockups

Write PROJECT.md — read references/project-files.md for the full template and content rules. This is the most important file. Fill it in completely using the project details from Step 1 and the Asana column GIDs from Step 5.

Write RUNBOOK.md — stub it out now; the engineer fills in codebase details after their first session with the repo.


Step 8 — Credential Verification

Credential check — confirm in your secret management system:

- [ASANA_PAT_ENV_VAR_NAME] — Asana personal access token
- [GITHUB_PAT_ENV_VAR_NAME] — GitHub personal access token
- [DEV_MANAGER_EMAIL_ENV_VAR_NAME] — Dev Manager email address

Confirm they exist before continuing. (yes / one or more missing)

Step 9 — Enable Chat Completions

Using the openclaw-administrator skill, enable chat completions for the PM agent.


Step 10 — Smoke Test

SMOKE TEST

Step 1: Create a test task in the Asana PM Queue:
  Title: [TEST] Smoke test — verify agent pickup
  Description: Test task. Agent should acknowledge and move task or add a comment.

Step 2: Wait up to 30 minutes for the PM agent's next heartbeat.
  Watch for: task gaining a comment, or task moving to another column.

Step 3: Once PM confirmed working, send via chat completions:
  "Bug report for [project_name]: Login throws a 500 error when
   email field is left blank. Expected: show a validation error."

Step 4: Watch for task creation in the Engineer Queue on the Asana board.

Step 5: Confirm engineer picks up the task and produces an assessment.

Step 6: Verify the project folder exists and queue files are accessible by agents.

Heartbeat confirmed working? (yes / no — describe what happened)

Step 11 — Post-Setup Snapshot

If openclaw-recovery-manager is installed:

Taking post-setup snapshot.
Label: post-dev-team-setup-[today's date]-confirmed

Step 12 — Handoff Summary

TEAM SETUP COMPLETE

Project: [project_name]
Asana Project GID: [GID]
PM Agent: [pm_agent_id] — chat completions ENABLED
Project folder: ~/.openclaw/projects/[project_name]/

AGENTS:
Agent            | Primary Model         | Fallback         | Heartbeat            | Vision
[pm_agent_id]    | GLM-5.1               | MiniMax M2.7     | MiniMax M2.7*        | —
engineer         | Gemini 3.1 Pro        | Claude Opus 4.7  | MiniMax M2.7*        | Native
dev-fe           | GLM-5.1               | Qwen 3.6 Plus    | MiniMax M2.7*        | Gemini 3.1 Pro
dev-be           | GLM-5.1               | Qwen 3.6 Plus    | MiniMax M2.7*        | —
qa               | Gemini 3.1 Pro        | GPT-5.5          | MiniMax M2.7*        | Native
[n8n_engineer]   | GLM-5.1               | Qwen 3.6 Plus    | MiniMax M2.7*        | —

* via OpenRouter. If OpenRouter not configured, cheapest available model as recorded in each agent's HEARTBEAT.md.

REPOS (SSH):
Frontend: [fe_repo]
Backend:  [be_repo]
Cloned to: ~/.openclaw/projects/[project_name]/workspace/repo/

HOW PROJECTS WORK:
- All agents read ~/.openclaw/projects/[project_name]/PROJECT.md for workflow rules
- Each agent checks their queue file at every session start
- Asana is the source of truth for task ownership and status
- project-lock.json tracks which phase the sprint is in
- One sprint at a time — PM does not accept new requirements until sprint is closed

TO START THE FIRST SPRINT:
  Send requirements to [pm_agent_id] via chat completions.
  The PM will open a feasibility discussion with the engineer,
  negotiate with the client, and open the sprint once requirements are accepted.

ADDING A NEW PROJECT:
- Run this skill again for the new project
- Add the new project to each shared agent's AGENTS.md Active Projects section
- Add the new PM to agent-to-agent allow lists
- Shared agents pick up new projects automatically on next heartbeat

RECOVERY:
Pre-setup:  pre-dev-team-setup-[date]
Post-setup: post-dev-team-setup-[date]-confirmed

Project Workflow Reference

For the complete workflow that agents follow after setup, see:

  • references/workflow.md — All phases (requirements through sprint close), escalation rules, queue message format, git and branch conventions, QA process, operator merge procedure

Read this file when:

  • Troubleshooting agent behavior during a sprint
  • Answering operator questions about how the team works
  • Explaining why an agent stopped work or escalated

Sprint Management

Opening a Sprint

The PM opens a sprint automatically when requirements are accepted by both the engineer and client. The PM updates project-lock.json phase to implementation and creates Asana tasks from the implementation guide.

During a Sprint

  • Agents check project-lock.json phase before acting
  • Devs work one branch per sprint, pushing updates — PR auto-updates each time
  • QA re-reviews after each dev push
  • Operator is notified via to-operator.md when QA passes all tasks

Closing a Sprint (Operator-Led)

When to-operator.md shows all tasks QA-passed:

  1. Operator reviews and pulls the branch locally
  2. Operator tells QA agent: "Merge to main"
  3. QA merges the PR to main
  4. All affected repos rebase to main
  5. Operator confirms rebase is clean
  6. Operator tells PM: "Sprint closed — ready for next requirements"
  7. PM clears Asana, archives queue entries, updates STATE.md to idle
  8. project-lock.json resets to idle

One sprint at a time. PM does not accept new requirements until project-lock.json is idle.


If Anything Goes Wrong

Option 1 — Recover using openclaw-recovery-manager:
  Restore: pre-dev-team-setup-[date]

Option 2 — Diagnose with openclaw-administrator:
  Run diagnostics and retry the failed step.

Option 3 — Describe what step failed and what error appeared.
  I can walk through the failed step again.

适合场景

01

调用多模型

02

代码和文本生成

03

Agent 推理流程

04

OpenRouter 模型接入

能力概览

能力 1

统一调用多种 LLM

能力 2

支持 Claude、Gemini、Kimi 等模型

能力 3

适合聊天、代码和推理任务

能力 4

可作为 Agent 模型调用入口

平台分布

OpenClaw

88.19%
按下载量换算938

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

执行命令

安装流程涉及命令执行,可能通过 openclaw skills install build-dev-team 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

安装前确认

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

继续浏览同类 Skills