mcpField
T
team-coordination

team-coordination

github.com/alinaqiAgent 工作流711313 次安装2 周前更新
代码仓库

关于 team-coordination

team-coordination 是协调多个 Claude Code 会话及团队成员协作开发的技能,通过项目文件和流程管理共享状态、任务认领、决策与交接。

主要功能

  1. 01共享会话与成员状态
  2. 02任务认领与释放
  3. 03文件级冲突提示
  4. 04同步决策记录
  5. 05会话交接说明

适用场景

  1. 01领取任务前查看当前工作
  2. 02协调对共享文件的修改
  3. 03为团队记录决策
  4. 04将未完成工作交接给其他成员

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/alinaqi/maggy --skill team-coordination

安装后在 Claude Code 中输入/team-coordination确认已加载。

详细介绍

团队协作技能

用途: 让团队中的多个 Claude Code 会话能够协调合作,避免冲突。管理共享状态、待办认领、决策同步和会话动态。


核心理念

┌─────────────────────────────────────────────────────────────────┐
│  TEAM CLAUDE CODE                                               │
│  ─────────────────────────────────────────────────────────────  │
│  Multiple devs, multiple Claude sessions, one codebase.         │
│  Coordination > Speed. Communication > Assumptions.             │
│                                                                 │
│  Before you start: Check who's working on what.                 │
│  Before you claim: Make sure nobody else has it.                │
│  Before you decide: Check if it's already decided.              │
│  Before you push: Pull and sync state.                          │
└─────────────────────────────────────────────────────────────────┘

团队状态结构

当项目转为多人协作时,创建以下结构:

_project_specs/
├── team/
│   ├── state.md              # Who's working on what right now
│   ├── contributors.md       # Team members and their focus areas
│   └── handoffs/             # Notes when passing work to others
│       └── [feature]-handoff.md
├── session/
│   ├── current-state.md      # YOUR session state (personal)
│   ├── decisions.md          # SHARED - architectural decisions
│   └── code-landmarks.md     # SHARED - important code locations
└── todos/
    ├── active.md             # SHARED - with claim annotations
    ├── backlog.md            # SHARED
    └── completed.md          # SHARED

团队状态文件

_project_specs/team/state.md:

# Team State

*Last synced: [timestamp]*

## Active Sessions

| Contributor | Working On | Started | Files Touched | Status |
|-------------|------------|---------|---------------|--------|
| @alice | TODO-042: Add auth | 2024-01-15 10:30 | src/auth/* | 🟢 Active |
| @bob | TODO-038: Fix checkout | 2024-01-15 09:00 | src/cart/* | 🟡 Paused |
| - | - | - | - | - |

## Claimed Todos

| Todo | Claimed By | Since | ETA |
|------|------------|-------|-----|
| TODO-042 | @alice | 2024-01-15 | Today |
| TODO-038 | @bob | 2024-01-14 | Tomorrow |

## Recently Completed (Last 48h)

| Todo | Completed By | When | PR |
|------|--------------|------|-----|
| TODO-037 | @alice | 2024-01-14 | #123 |

## Conflicts to Watch

| Area | Contributors | Notes |
|------|--------------|-------|
| src/auth/* | @alice, @carol | Carol needs auth for TODO-045, coordinate |

## Announcements

- [2024-01-15] @alice: Refactoring auth module, avoid touching until EOD
- [2024-01-14] @bob: New env var required: STRIPE_WEBHOOK_SECRET

贡献者文件

_project_specs/team/contributors.md:

# Contributors

## Team Members

| Handle | Name | Focus Areas | Timezone | Status |
|--------|------|-------------|----------|--------|
| @alice | Alice Smith | Backend, Auth | EST | Active |
| @bob | Bob Jones | Frontend, Payments | PST | Active |
| @carol | Carol White | DevOps, Infra | GMT | Part-time |

## Ownership

| Area | Primary | Backup | Notes |
|------|---------|--------|-------|
| Authentication | @alice | @bob | All auth changes need @alice review |
| Payments | @bob | @alice | Stripe integration |
| Infrastructure | @carol | @alice | Deploy scripts, CI/CD |
| Database | @alice | @carol | Migrations need sign-off |

## Communication

- Slack: #project-name
- PRs: Always tag area owner for review
- Urgent: DM on Slack

## Working Hours Overlap

EST: |████████████████████| PST: | ████████████████████| GMT: |████████████| 6am 12pm 6pm 12am EST

最佳重叠时段:EST 上午 9 点至中午 12 点(三人都在线)


工作流

开始会话
┌─────────────────────────────────────────────────────────────────┐
│  START SESSION CHECKLIST                                        │
│  ─────────────────────────────────────────────────────────────  │
│  1. git pull origin main                                        │
│  2. Read _project_specs/team/state.md                           │
│  3. Check claimed todos - don't take what's claimed             │
│  4. Claim your todo in active.md                                │
│  5. Update state.md with your session                           │
│  6. Push state changes before starting work                     │
│  7. Start working                                               │
└─────────────────────────────────────────────────────────────────┘
认领待办

在 active.md 中添加认领标注:

## [TODO-042] Add email validation

**Status:** in-progress
**Claimed:** @alice (2024-01-15 10:30 EST)
**ETA:** Today

...
工作期间
  • 如果接触了新文件,更新 state.md
  • 做出架构决策前,先检查 decisions.md
  • 如果做出决策,立即将其添加到 decisions.md
  • 每隔 1~2 小时推送一次状态更新(让团队保持同步)
结束会话
┌─────────────────────────────────────────────────────────────────┐
│  END SESSION CHECKLIST                                          │
│  ─────────────────────────────────────────────────────────────  │
│  1. Commit your work (even if WIP)                              │
│  2. Update your current-state.md                                │
│  3. Update team state.md (status → Paused or Done)              │
│  4. If passing to someone: create handoff note                  │
│  5. Unclaim todo if abandoning                                  │
│  6. Push everything                                             │
└─────────────────────────────────────────────────────────────────┘
创建交接说明

将工作移交给其他团队成员时,创建:

_project_specs/team/handoffs/auth-feature-handoff.md:

# Handoff: Auth Feature (TODO-042)

**From:** @alice
**To:** @bob
**Date:** 2024-01-15

## Status

70% complete. Core auth flow works, need to add:
- [ ] Password reset flow
- [ ] Email verification

## What's Done

- Login/logout working
- JWT tokens implemented
- Session management done

## What's Left

1. Password reset - see src/auth/reset.ts (skeleton exists)
2. Email verification - need to integrate SendGrid

## Key Decisions Made

- Using JWT not sessions (see decisions.md)
- Tokens expire in 7 days
- Refresh tokens stored in httpOnly cookies

## Watch Out For

- The `validateToken` function has a weird edge case with expired tokens
- Don't touch `authMiddleware.ts` - it's fragile rn

## Files to Start With

1. src/auth/reset.ts - password reset
2. src/email/verification.ts - email flow
3. tests/auth.test.ts - add tests here

## Questions?

Slack me @alice if stuck

避免冲突

文件级动态

修改文件前,查看 state.md,了解谁在处理哪些内容:

## Active Sessions

| Contributor | Working On | Started | Files Touched | Status |
|-------------|------------|---------|---------------|--------|
| @alice | TODO-042 | ... | src/auth/*, src/middleware/* | 🟢 Active |

如果你需要处理 src/auth/*,而 Alice 正在处理这部分:

  1. 确认是否真的会冲突(同一个文件?同一组函数?)
  2. 继续之前先通过 Slack 协调
  3. 在“需留意的冲突”部分添加备注
推送前检查

推送前,务必:

git pull origin main
# Resolve any conflicts
git push
PR 标记

在 PR 中务必标记相关领域负责人:

## PR: Add password reset flow

Implements TODO-042

cc: @alice (auth owner), @bob (reviewer)

### Changes
- Added password reset endpoint
- Added email templates

### Testing
- [ ] Unit tests pass
- [ ] Manual testing done

决策同步

做出决策前
  1. 拉取最新的 decisions.md
  2. 检查是否已有相关决策
  3. 如果有类似决策,遵循该决策(一致性优先于个人偏好)
  4. 如果需要做出新决策,立即添加并推送
决策格式
## [2024-01-15] JWT vs Sessions for Auth (@alice)

**Decision:** Use JWT tokens
**Context:** Need auth for API and mobile app
**Options:**
1. Sessions - simpler, server-side state
2. JWT - stateless, works for mobile
**Choice:** JWT
**Reasoning:** Mobile app needs stateless auth, JWT works across platforms
**Trade-offs:** Token revocation is harder, need refresh token strategy
**Approved by:** @bob, @carol

命令

查看团队状态
# See who's working on what
cat _project_specs/team/state.md

# Quick active sessions check
grep "🟢 Active" _project_specs/team/state.md
认领待办
  1. 编辑 _project_specs/todos/active.md
  2. 为待办添加认领标注
  3. 更新 _project_specs/team/state.md
  4. 提交并推送
释放认领
  1. 从待办中移除认领标注
  2. 更新 state.md(从已认领待办中移除)
  3. 提交并推送

团队 Git 钩子

添加推送前钩子

在推送前钩子中添加团队状态同步检查:

# In .git/hooks/pre-push (add to existing)

# Check if team state is current
echo "🔄 Checking team state..."
git fetch origin main --quiet

LOCAL_STATE=$(git show HEAD:_project_specs/team/state.md 2>/dev/null | md5)
REMOTE_STATE=$(git show origin/main:_project_specs/team/state.md 2>/dev/null | md5)

if [ "$LOCAL_STATE" != "$REMOTE_STATE" ]; then
    echo "⚠️  Team state has changed on remote!"
    echo "   Run: git pull origin main"
    echo "   Then check _project_specs/team/state.md for updates"
    # Warning only, don't block
fi

Claude 指令

会话开始时

用户在团队项目中开始会话时:

  1. 检查是否存在 _project_specs/team/state.md

  2. 如果存在,读取并报告:

    • 当前活跃成员
    • 已认领的待办
    • 需要留意的冲突
    • 最近的公告
  3. 询问他们想处理什么

  4. 检查该事项是否已被认领

  5. 协助他们认领并更新状态

会话期间
  • 处理文件前,检查是否有其他人在处理
  • 做出决策前,检查 decisions.md
  • 提醒用户定期更新状态
会话结束时
  • 提示用户更新 state.md
  • 询问是否需要创建交接说明
  • 提醒他们推送状态变更

从单人项目转为多人协作

项目需要团队协作时:

  1. 运行 /check-contributors
  2. 创建 _project_specs/team/ 结构
  3. 初始化 state.md 和 contributors.md
  4. 为活跃待办添加认领标注
  5. 更新 CLAUDE.md,引用 team-coordination.md 技能

快速参考

状态图标
🟢 Active - Currently working
🟡 Paused - Stepped away, will return
🔴 Blocked - Needs help/waiting on something
⚪ Offline - Not working today
认领格式
**Claimed:** @handle (YYYY-MM-DD HH:MM TZ)
每日站会模板
## Standup [DATE]

### @alice
- Yesterday: Finished TODO-042 auth flow
- Today: Starting TODO-045 password reset
- Blockers: None

### @bob
- Yesterday: Fixed checkout bug
- Today: Payment webhook integration
- Blockers: Need STRIPE_WEBHOOK_SECRET from @carol

检查清单

开始工作
  • git pull origin main
  • 阅读 team/state.md
  • 检查待办是否尚未被认领
  • 在 active.md 中认领待办
  • 更新 state.md
  • 推送状态变更
结束工作
  • 提交所有变更
  • 更新 current-state.md
  • 更新 team/state.md
  • 如有需要,创建交接说明
  • 推送所有内容

评论

支持 Markdown