Post project updates to team chat, gather feedback, triage responses, and plan next steps. Adapts to available tools (chat, git, issues, tasks). First run discovers tools and saves a playbook; subsequent runs execute from the playbook. Trigger with 'team update', 'post update', 'sync with team', 'standup', 'check team chat', 'feedback loop', 'project update', 'what did the team say'.
Post project updates to team chat, read and triage feedback, and plan next steps. Adapts to whatever communication and project tools are available.
This skill uses a playbook file at .claude/team-update-playbook.md in the project root.
The playbook is plain markdown the user can edit. It captures tool configuration, channel preferences, message style, triage rules, and last-run metadata.
Check if .claude/team-update-playbook.md exists in the project root.
If it exists: Read it. All tool configuration, channel info, message style, and triage rules are in there. Jump to Phase 1 with known config.
: Run Phase 0b (Discovery) first.
Detect available capabilities by checking what MCP tools are connected and what local tools exist.
Read references/discovery-patterns.md for detection patterns.
Check for each capability category:
| Capability | How to detect | Fallback if missing |
|---|---|---|
| Chat | MCP tools matching chat, slack, discord, teams | Output formatted text for manual posting |
| Git | git rev-parse --is-inside-work-tree | Skip commit summaries |
| Issues | MCP tools matching github, linear, jira | Skip or output text list |
| Tasks | MCP tools matching tasks, todos, asana | Skip or output text list |
| Knowledge | Basalt Cortex (~/Documents/basalt-cortex/) | Search for related knowledge notes |
After discovery, ask the user to confirm:
After discovery + user preferences, save the playbook to .claude/team-update-playbook.md.
Read references/playbook-format.md for the full template. Fill in all sections with discovered tools and user preferences. If a capability was not found, note it as "Not available" in the playbook.
Ensure .claude/ is in .gitignore (the playbook contains space IDs and preferences that shouldn't be committed).
Collect information from all available sources. Use the playbook's "Data Sources" section to know which tools to call.
Check the playbook's "Last Run" section for the last update timestamp. If no previous run, ask the user how far back to go (default: 24 hours).
Gather from each available source:
| Source | What to collect | Tool |
|---|---|---|
| Git commits | git log --oneline --since=<last-update> | Bash |
| Chat messages | Messages in the configured channel since last update | Chat MCP tool from playbook |
| Open issues/PRs | Recently updated or newly created items | Issue tracker from playbook |
| Active tasks | In-progress or recently completed tasks | Task tracker from playbook |
Group commits by theme (not individual hashes). Note any issues closed, PRs merged, or tasks completed. Flag any team messages that need response.
Read references/message-composition.md for message patterns.
Follow the playbook's "Message Style" section. General principles:
Show the draft to the user. Include:
APPROVAL REQUIRED: Never post to external channels without explicit user approval.
Post the approved message using the chat tool from the playbook. If no chat tool is available, output the formatted message for the user to post manually.
After posting, update the "Last Run" section of the playbook with:
Read messages from the configured channel since the update was posted. Look for:
Read references/feedback-triage.md for classification patterns.
Use the playbook's "Triage Rules" section. Default classification:
| Type | Action |
|---|---|
| Bug report | Create issue (label: bug) |
| Feature request | Create issue (label: enhancement) |
| Question | Draft reply for user approval |
| Blocker | Flag immediately, suggest resolution |
| Acknowledgement | Note, no action needed |
| Off-topic | Ignore |
Present a summary of feedback with proposed actions:
## Feedback Summary
- Daniel: "Can we add dark mode?" -> Create issue (enhancement)
- Rabin: "Auth is broken on staging" -> Create issue (bug, priority)
- Karen: "Looks good!" -> No action
Proceed with these actions?
APPROVAL REQUIRED: Never create issues, post replies, or take external actions without explicit user approval.
From all gathered context (commits, issues, tasks, feedback), identify:
Show the prioritised list to the user. This is for the user's planning only -- do NOT post it to any channel.
## Suggested Priorities
1. [BLOCKER] Fix auth on staging (from Rabin's feedback)
2. [HIGH] Complete API endpoint for user profiles (current sprint)
3. [NEXT] Dark mode support (from Daniel's request)
4. [BACKLOG] Refactor database queries
| Action | Level |
|---|---|
| Read/create playbook | Just do it |
| Discover tools (first run) | Just do it, confirm preferences with user |
| Gather context (git, chat, issues) | Just do it |
| Draft update message | Just do it, show preview |
| Post to external channel | Approval required |
| Create issues/tasks | Approval required |
| Post replies to team | Approval required |
| Update playbook "Last Run" | Just do it |
| Present plan/priorities | Just do it |
The skill works at any level of tool availability:
| Available tools | Experience |
|---|---|
| Git only | Summarise commits, output text for manual posting |
| Git + Chat | Full post/read cycle, manual issue creation |
| Git + Chat + Issues | Full cycle with automated issue creation |
| Git + Chat + Issues + Tasks + Knowledge | Full cycle with persistent tracking |
The skill responds to different trigger phrases:
| Trigger | Behaviour |
|---|---|
| "team update" / "post update" | Full cycle: gather, draft, post, read feedback |
| "check team chat" / "what did the team say" | Phase 3 only: read and triage feedback |
| "standup" / "sync with team" | Phase 1 + 2: gather and post, skip feedback |
| "project update" | Phase 1 + 2 + 4: gather, post, plan (skip feedback triage) |
| "feedback loop" | Phase 3 + 4: read feedback and plan |
| When | Read |
|---|---|
| First run — saving playbook | references/playbook-format.md |
| First run — detecting tools | references/discovery-patterns.md |
| Composing update messages | references/message-composition.md |
| Classifying team feedback | references/feedback-triage.md |