SpecMem Team Member - Team Coordination Tools
Streamline team coordination with SpecMem's command-line tools.
REQUIRED: Check Arguments First
IF no arguments provided OR args is empty/whitespace/help/-h/--help:
OUTPUT THIS HELP AND STOP:
SpecMem Team Member - Team Coordination
USAGE:
/specmem-team-member <subcommand> [args]
SUBCOMMANDS:
status Show team status, active claims, help requests
messages Read recent team messages (last 10)
send <message> Send a message to the team
claim <description> Claim a task to prevent conflicts
release [claimId] Release task claims (default: all)
broadcast <message> Broadcast status update to all members
help-request <text> Request help from the team
help-respond <id> <response> Respond to a help request
clear Clear team messages (requires confirmation)
EXAMPLES:
/specmem-team-member status
/specmem-team-member messages
/specmem-team-member send Working on auth module
/specmem-team-member claim Implementing user login
/specmem-team-member release
/specmem-team-member broadcast API endpoints ready
/specmem-team-member help-request How does token refresh work?
/specmem-team-member help-respond abc-123 Try using JWT refresh tokens
/specmem-team-member clear
MCP TOOLS:
send_team_message, read_team_messages, broadcast_to_team,
claim_task, release_task, get_team_status,
request_help, respond_to_help, clear_team_messages
DO NOT PROCEED WITHOUT A SUBCOMMAND.
Has Subcommand - Parse and Execute
Parse the first word as the subcommand, rest as arguments.
SUBCOMMAND: status
VALIDATION:
- No arguments required
CALL THIS MCP TOOL NOW (do not just display it, actually invoke it):
Use mcp__specmem__get_team_status with parameters:
{}
Display results showing:
- Active task claims (who is working on what)
- Recent team activity (messages, claims)
- Open help requests count
SUBCOMMAND: messages (or read)
VALIDATION:
- No arguments required (uses defaults)
CALL THIS MCP TOOL NOW (do not just display it, actually invoke it):
Use mcp__specmem__read_team_messages with parameters:
{
"limit": 10,
"compress": true,
"include_broadcasts": true
}
Display: Recent team messages with sender, content, timestamp, and unread status.
NOTE:
- Use
mentions_only: trueto filter for @mentions - Use
unread_only: trueto show only unread messages - Use
since: "2025-01-21T10:00:00Z"to filter by time
SUBCOMMAND: send <message>
Extract everything after "send" as the message content.
VALIDATION:
- IF no message text provided: Output "Error: No message provided. Usage: /specmem-team-member send <message>" and STOP.
- Message must not be empty or only whitespace
CALL THIS MCP TOOL NOW (do not just display it, actually invoke it):
Use mcp__specmem__send_team_message with parameters:
{
"message": "<extracted message text>",
"type": "update",
"priority": "normal"
}
VALID VALUES:
type: "status" | "question" | "update" | "broadcast" | "help_request" | "help_response"priority: "low" | "normal" | "high" | "urgent"task_id: (optional) string - send to task-specific channelproject_id: (optional) string - send to project-specific channelthread_id: (optional) string - reply to a threadsender_name: (optional) string - display name for sender
Display: Confirmation that message was sent, including messageId and mentions found.
SUPPORTS @MENTIONS: Use @member-id in the message to notify specific team members.
SUBCOMMAND: claim <description>
Extract everything after "claim" as the task description.
VALIDATION:
- IF no description provided: Output "Error: No task description. Usage: /specmem-team-member claim <description>" and STOP.
- Description must not be empty or only whitespace
CALL THIS MCP TOOL NOW (do not just display it, actually invoke it):
Use mcp__specmem__claim_task with parameters:
{
"description": "<extracted description>",
"files": []
}
VALID VALUES:
description: string (required) - what you're working onfiles: string[] (optional) - array of file paths you'll be working on
Display:
- Claim ID (for use with release)
- Confirmation message
- Any warnings about conflicting file claims
NOTE: If files are already claimed by another member, you'll get a warning but the claim will still succeed.
SUBCOMMAND: release [claimId]
Extract claimId after "release" if provided, otherwise use "all".
VALIDATION:
- If claimId provided, it must be a valid UUID or "all"
- Default to "all" if no claimId specified
CALL THIS MCP TOOL NOW (do not just display it, actually invoke it):
Use mcp__specmem__release_task with parameters:
{
"claimId": "<claimId or 'all'>"
}
VALID VALUES:
claimId: string (required) - specific claim UUID or "all" to release all your claims
Display:
- Confirmation showing number of claims released
- List of released claim IDs
SUBCOMMAND: broadcast <message>
Extract everything after "broadcast" as the message content.
VALIDATION:
- IF no message text provided: Output "Error: No message provided. Usage: /specmem-team-member broadcast <message>" and STOP.
- Message must not be empty or only whitespace
CALL THIS MCP TOOL NOW (do not just display it, actually invoke it):
Use mcp__specmem__broadcast_to_team with parameters:
{
"message": "<extracted message text>",
"broadcast_type": "status",
"priority": "normal",
"cross_project": false
}
VALID VALUES:
message: string (required) - the broadcast messagebroadcast_type: "status" | "progress" | "announcement" (default: "status")priority: "low" | "normal" | "high" | "urgent" (default: "normal")metadata: object (optional) - e.g., { progress: 75 }cross_project: boolean (default: false) - if true, broadcast to ALL projects (use sparingly!)
Display: Confirmation that broadcast was sent with messageId.
NOTE: By default, broadcasts only reach team members in the SAME PROJECT. Use cross_project: true for system-wide announcements.
SUBCOMMAND: help-request <question>
Extract everything after "help-request" as the question.
VALIDATION:
- IF no question provided: Output "Error: No question provided. Usage: /specmem-team-member help-request <question>" and STOP.
- Question must not be empty or only whitespace
CALL THIS MCP TOOL NOW (do not just display it, actually invoke it):
Use mcp__specmem__request_help with parameters:
{
"question": "<extracted question>",
"context": null,
"skills_needed": []
}
VALID VALUES:
question: string (required) - the question or issue you need help withcontext: string (optional) - additional context about the problemskills_needed: string[] (optional) - e.g., ["database", "typescript"]
Display:
- Help request ID (save this for tracking responses!)
- Confirmation that broadcast was sent to team
- Reminder to check messages for responses
SUBCOMMAND: help-respond <requestId> <response>
Parse arguments: first word is requestId, rest is response text.
VALIDATION:
- IF no requestId provided: Output "Error: Missing request ID. Usage: /specmem-team-member help-respond <requestId> <response>" and STOP.
- IF no response text provided: Output "Error: No response provided. Usage: /specmem-team-member help-respond <requestId> <response>" and STOP.
- requestId must be a valid UUID format
- Response must not be empty or only whitespace
CALL THIS MCP TOOL NOW (do not just display it, actually invoke it):
Use mcp__specmem__respond_to_help with parameters:
{
"requestId": "<extracted requestId>",
"response": "<extracted response text>"
}
VALID VALUES:
requestId: string (required) - the ID of the help requestresponse: string (required) - your answer or guidance
Display:
- Confirmation that response was sent
- Who the response was sent to (the original requester)
- Response ID for tracking
SUBCOMMAND: clear
VALIDATION:
- Requires explicit confirmation for safety
ASK USER FOR CONFIRMATION:
Output this prompt:
⚠️ WARNING: This will delete team communication data!
This will clear:
- All team messages in this project
- All task claims in this project
- All help requests in this project
Confirm deletion? Type 'yes' to proceed.
IF user confirms with "yes":
CALL THIS MCP TOOL NOW (do not just display it, actually invoke it):
Use mcp__specmem__clear_team_messages with parameters:
{
"confirm": true,
"clear_claims": true,
"clear_help_requests": true
}
VALID VALUES:
confirm: boolean (required) - must be true to actually deleteolder_than_minutes: number (optional) - only delete older than N minutesclear_claims: boolean (default: true) - also clear task claimsclear_help_requests: boolean (default: true) - also clear help requests
IF user does NOT confirm:
Output: "Clear cancelled. No data was deleted."
Display:
- Number of messages deleted
- Number of claims cleared
- Number of help requests cleared
USE CASE: Call this BEFORE spawning new team members to ensure they start fresh without old context.
UNKNOWN SUBCOMMAND
If subcommand is not recognized, output:
Error: Unknown subcommand '<subcommand>'
Valid subcommands:
- status
- messages (or read)
- send
- claim
- release
- broadcast
- help-request
- help-respond
- clear
Run /specmem-team-member help for usage.
TOOL PARAMETER VALIDATION
Always validate tool parameters BEFORE calling MCP tools:
- String parameters: Must not be empty/null/undefined after trimming
- Enum parameters: Must match exact values from schema
- Array parameters: Can be empty array
[]but must be valid JSON array - Boolean parameters: Must be true/false, not string "true"/"false"
- UUID parameters: Should match UUID format (8-4-4-4-12 hex pattern)
If validation fails:
- Output clear error message explaining what's wrong
- Show correct usage example
- DO NOT call the MCP tool
BEST PRACTICES
Workflow:
- Start work:
claim→ prevents conflicts - Update team:
send→ share progress - Need help:
help-request→ broadcast to team - Help others:
help-respond→ answer questions - Finish work:
release→ free up files - Check status:
status+messages→ stay coordinated
Token Efficiency:
read_team_messagesuses Chinese compression by default (compress: true)get_team_statusreturns ultra-compact summaries- Use
limitparameter to control message count
Project Isolation:
- All tools are automatically scoped to current project
- Use
cross_project: truein broadcast for system-wide announcements - Messages from other projects are NOT visible (except global broadcasts)
ERROR HANDLING
Common Errors:
- "Claim not found" → Invalid claimId in release command
- "Help request not found" → Invalid requestId in help-respond
- "Message content cannot be empty" → Empty message in send/broadcast
- "Cannot release claim owned by another member" → Trying to release someone else's claim
Always:
- Show the error message to the user
- Explain what went wrong
- Provide the correct usage example