Agent skill

Team Coordination

by alinaqi in alinaqi/maggy

Multi-person projects - shared state, todo claiming, handoffs

MITAuto-check passed

Install Team Coordination

skills CLI
$ npx skills add alinaqi/maggy --skill team-coordination -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install alinaqi/maggy team-coordination --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/alinaqi/maggy.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/team-coordination .claude/skills/team-coordination && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
team-coordination
GitHub stars
707
Token cost
~2.9k tokens
SKILL.md length
467 words
Files
1
Skills in repo
71
Repo updated
First seen
Licence
MIT

At a glance

Multi-person projects - shared state, todo claiming, handoffs

  • Works in 3 steps: Check if it's truly conflicting (same… → Coordinate via Slack before proceeding → Add a note to "Conflicts to Watch" section
  • SKILL.md covers Core Philosophy, Team State Structure, Team State File and Contributors File, plus 8 more sections
  • Calls git; needs STRIPE_WEBHOOK_SECRET

What it does

Team Coordination is an agent skill from alinaqi/maggy. Multi-person projects - shared state, todo claiming, handoffs

Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The repository describes itself as: What started as an opinionated Claude Code setup kit is now an autonomous AI engineering command center. The licence is MIT.

Example prompts

  • “/team-coordination”

Requirements

  • A credential in STRIPE_WEBHOOK_SECRET

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Check if it's truly conflicting (same file? same functions?)
  2. Coordinate via Slack before proceeding
  3. Add a note to "Conflicts to Watch" section

What it can do on your machine

Read from SKILL.md and the folder at commit 72a456e. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • STRIPE_WEBHOOK_SECRET

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Team Coordination loads about 2.9k tokens when it runs. Until then it costs about 20 tokens; SKILL.md has 467 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~20
When it runs · the whole SKILL.md, loaded when a task matches
~2.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from alinaqi/maggy at commit 72a456e, republished under its MIT licence (© alinaqi). 467 words, ~2,941 tokens.

Download SKILL.mdSave it as .claude/skills/team-coordination/SKILL.md (or your agent's skills folder).
name
team-coordination
description
Multi-person projects - shared state, todo claiming, handoffs
when-to-use
When multiple developers are working on the same repo
user-invocable
false
effort
low

Team Coordination Skill

Purpose: Enable multiple Claude Code sessions across a team to coordinate and work together without conflicts. Manages shared state, todo claiming, decision syncing, and session awareness.


Core Philosophy

┌─────────────────────────────────────────────────────────────────┐
│  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.                          │
└─────────────────────────────────────────────────────────────────┘

Team State Structure

When a project becomes multi-person, create this structure:

_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

Team State File

_project_specs/team/state.md:

markdown
# 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

Contributors File

_project_specs/team/contributors.md:

markdown
# 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

Best overlap: 9am-12pm EST (all three)


Workflow

Starting a Session
┌─────────────────────────────────────────────────────────────────┐
│  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                                               │
└─────────────────────────────────────────────────────────────────┘
Claiming a Todo

In active.md, add claim annotation:

markdown
## [TODO-042] Add email validation

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

...
During Work
  • Update state.md if you touch new files
  • Check decisions.md before making architectural choices
  • If you make a decision, add it to decisions.md immediately
  • Push state updates every 1-2 hours (keeps team in sync)
Ending a Session
┌─────────────────────────────────────────────────────────────────┐
│  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                                             │
└─────────────────────────────────────────────────────────────────┘
Creating a Handoff

When passing work to another team member, create:

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

markdown
# 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

Conflict Prevention

File-Level Awareness

Before modifying a file, check state.md for who's touching what:

markdown
## Active Sessions

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

If you need to touch src/auth/* and Alice is working there:

  1. Check if it's truly conflicting (same file? same functions?)
  2. Coordinate via Slack before proceeding
  3. Add a note to "Conflicts to Watch" section
Pre-Push Check

Before pushing, always:

bash
git pull origin main
# Resolve any conflicts
git push
PR Tagging

Always tag area owners in PRs:

markdown
## 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

Decision Syncing

Before Making a Decision
  1. Pull latest decisions.md
  2. Check if decision already exists
  3. If similar decision exists, follow it (consistency > preference)
  4. If new decision needed, add it and push immediately
Decision Format
markdown
## [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

Commands

Check Team State
bash
# See who's working on what
cat _project_specs/team/state.md

# Quick active sessions check
grep "🟢 Active" _project_specs/team/state.md
Claim a Todo
  1. Edit _project_specs/todos/active.md
  2. Add claim annotation to todo
  3. Update _project_specs/team/state.md
  4. Commit and push
Release a Claim
  1. Remove claim annotation from todo
  2. Update state.md (remove from Claimed Todos)
  3. Commit and push

Git Hooks for Teams

Pre-Push Hook Addition

Add team state sync check to pre-push:

bash
# 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

Show full SKILL.md (185 more words)Show less

Claude Instructions

At Session Start

When user starts a session in a team project:

  1. Check for _project_specs/team/state.md

  2. If exists, read it and report:

    • Who's currently active
    • What todos are claimed
    • Any conflicts to watch
    • Recent announcements
  3. Ask what they want to work on

  4. Check if it's already claimed

  5. Help them claim and update state

During Session
  • Before touching files, check if someone else is working there
  • Before making decisions, check decisions.md
  • Remind user to update state periodically
At Session End
  • Prompt user to update state.md
  • Ask if they need to create a handoff
  • Remind them to push state changes

Single → Multi-Person Conversion

When a project needs team coordination:

  1. Run /check-contributors
  2. Create _project_specs/team/ structure
  3. Initialize state.md and contributors.md
  4. Add claim annotations to active todos
  5. Update CLAUDE.md to reference team-coordination.md skill

Quick Reference

Status Icons
🟢 Active - Currently working
🟡 Paused - Stepped away, will return
🔴 Blocked - Needs help/waiting on something
⚪ Offline - Not working today
Claim Format
markdown
**Claimed:** @handle (YYYY-MM-DD HH:MM TZ)
Daily Standup Template
markdown
## 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

Checklist

Starting Work
  • git pull origin main
  • Read team/state.md
  • Check todo not claimed
  • Claim todo in active.md
  • Update state.md
  • Push state changes
Ending Work
  • Commit all changes
  • Update current-state.md
  • Update team/state.md
  • Create handoff if needed
  • Push everything

© alinaqi, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/team-coordination of alinaqi/maggy.

Open the folder on GitHubat commit 72a456e

Compare with similar skills

Team Coordination next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Team Coordination compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Team Coordination this skillalinaqi/maggy707—~2.9kAutomated safety check: PassMIT
Session Handoff Documentthedotmack/claude-mem99k—~1.4kAutomated safety check: PassApache-2.0
Handoffnexu-io/open-design100k—~547Automated safety check: PassApache-2.0
Claimsruvnet/ruflo74k2 repos~1.1kAutomated safety check: PassMIT
Handoffalirezarezvani/claude-skills28k—~2.5kAutomated safety check: NotesMIT
Handoffalirezarezvani/claude-skills28k—~532Automated safety check: PassMIT

Similar skills

  • Session Handoff Document

    thedotmack/claude-mem

    Writes a HANDOFF.md capturing goal, state, files, failed attempts and next steps so a fresh agent session can continue exactly where this one stopped.

    99k GitHub stars~1.4k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Handoff

    nexu-io/open-design

    Push the run's accepted artifact to a downstream collaboration surface (cli, other code agents, cloud, desktop) and stamp the artifact manifest with the export target.

    100k GitHub stars~547 tokensUpdated today
    Frontend & DesignAuto-check passed
  • Claims

    ruvnet/ruflo

    Claims-based authorization for agents and operations. An agent skill from ruvnet/ruflo.

    74k GitHub starsUsed in 2 repos~1.1k tokens
    Backend & APIsAuto-check passed
  • Handoff

    alirezarezvani/claude-skills

    Compact the current conversation into a handoff document for another agent to pick up.

    28k GitHub stars~2.5k tokensUpdated 1 mo ago
    Agent WorkflowsAuto-check: notes
  • Handoff

    alirezarezvani/claude-skills

    Compact the current conversation into a handoff document for another agent to pick up.

    28k GitHub stars~532 tokensUpdated 1 mo ago
    Product & Project ManagementAuto-check passed
  • Session Handoff Writer

    codewhale-hq/Codewhale

    Writes a compact handoff note from real git and CI state so the next session or a teammate can pick up the work without rebuilding the context.

    41k GitHub stars~1.2k tokensUpdated today
    Agent WorkflowsAuto-check passed

More from alinaqi/maggy

All 71 skills in this repo
  • Aeo Optimization

    alinaqi/maggy

    AI Engine Optimization - semantic triples, page templates, content clusters for AI citations

    707 GitHub stars~3.7k tokensUpdated 15 days ago
    Auto-check passed
  • Agent Teams

    alinaqi/maggy

    Claude Code Agent Teams - default team-based development with strict TDD pipeline enforcement

    707 GitHub stars~5k tokensUpdated 15 days ago
    Auto-check: notes
  • AI Models

    alinaqi/maggy

    Latest AI models reference - Claude, OpenAI, Gemini, Eleven Labs, Replicate

    707 GitHub stars~4.1k tokensUpdated 15 days ago
    Auto-check passed
  • Android Java

    alinaqi/maggy

    Android Java development with MVVM, ViewBinding, and Espresso testing

    707 GitHub stars~3.9k tokensUpdated 15 days ago
    Auto-check: notes
  • Android Kotlin

    alinaqi/maggy

    Android Kotlin development with Coroutines, Jetpack Compose, Hilt, and MockK testing

    707 GitHub stars~3k tokensUpdated 15 days ago
    Auto-check passed
  • Autonomous Testing

    alinaqi/maggy

    AI-driven testing agent that auto-discovers, generates, executes, evaluates, and fixes tests for any project type

    707 GitHub stars~1.1k tokensUpdated 15 days ago
    Auto-check passed

Questions about Team Coordination

What does Team Coordination do?

Multi-person projects - shared state, todo claiming, handoffs. Team Coordination is an agent skill from alinaqi/maggy.

How do I install Team Coordination in Claude Code?

Run `npx skills add alinaqi/maggy --skill team-coordination -a claude-code`. Or copy the skill folder (skills/team-coordination in alinaqi/maggy) into .claude/skills/team-coordination in your project. Claude Code loads it when a task matches its description.

How do I install Team Coordination in Codex?

Run `npx skills add alinaqi/maggy --skill team-coordination -a codex`. Or copy the skill folder (skills/team-coordination in alinaqi/maggy) into .agents/skills/team-coordination in your project. Codex loads it when a task matches its description.

Can I use Team Coordination in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add alinaqi/maggy --skill team-coordination -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/team-coordination, .gemini/skills/team-coordination, .github/skills/team-coordination and .opencode/skills/team-coordination in your project.

What does Team Coordination need to run?

Going by SKILL.md and its folder, Team Coordination needs the command-line tools its instructions call (git) and credentials named STRIPE_WEBHOOK_SECRET. Our summary lists: A credential in STRIPE_WEBHOOK_SECRET.

Does Team Coordination access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Team Coordination safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Team Coordination use?

Team Coordination is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Team Coordination use?

About 2.9k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Team Coordination?

Skills that share tags, products or a category with Team Coordination: Session Handoff Document (thedotmack/claude-mem, 99k stars), Handoff (nexu-io/open-design, 100k stars), Claims (ruvnet/ruflo, 74k stars) and Handoff (alirezarezvani/claude-skills, 28k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Team Coordination?

alinaqi (a GitHub user) maintains it in alinaqi/maggy, which has 707 GitHub stars. The repository holds 71 skills in this directory. The repository was last updated on September 24, 2026.

Source: alinaqi/maggy on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.