Team Update logo

Team Update

CommunityPopular
jezweb
team-update

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'.

Overview

Publisherjezweb
Repositoryclaude-skills
Skill nameteam-update
Stars
1K
Forks
102
Bundled files
4
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 4 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by jezweb on GitHub. Read the source before you install it.

Installation

Install the Team Update AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/jezweb/claude-skills.git /tmp/claude-skills
mkdir -p .claude/skills
cp -r /tmp/claude-skills/plugins/dev-tools/skills/team-update .claude/skills/team-update
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Team Update in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Team Update on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Team Update is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Team Update

Post project updates to team chat, read and triage feedback, and plan next steps. Adapts to whatever communication and project tools are available.

The Playbook Pattern

This skill uses a playbook file at .claude/team-update-playbook.md in the project root.

  • First run: Discover available tools, ask the user for preferences, execute, save a playbook
  • Subsequent runs: Read the playbook, skip discovery, execute directly
  • User edits playbook: Changes take effect immediately (channel, style, triage rules)

The playbook is plain markdown the user can edit. It captures tool configuration, channel preferences, message style, triage rules, and last-run metadata.


Phase 0: Playbook Check

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.

If it does not exist: Run Phase 0b (Discovery) first.


Phase 0b: Discovery (First Run Only)

Detect available capabilities by checking what MCP tools are connected and what local tools exist.

Read references/discovery-patterns.md for detection patterns.

Capability Detection

Check for each capability category:

CapabilityHow to detectFallback if missing
ChatMCP tools matching chat, slack, discord, teamsOutput formatted text for manual posting
Gitgit rev-parse --is-inside-work-treeSkip commit summaries
IssuesMCP tools matching github, linear, jiraSkip or output text list
TasksMCP tools matching tasks, todos, asanaSkip or output text list
KnowledgeBasalt Cortex (~/Documents/basalt-cortex/)Search for related knowledge notes

User Preferences (Ask)

After discovery, ask the user to confirm:

  1. Channel: Which chat space/channel to post updates to? (List discovered options)
  2. Identity: Post as yourself or a bot identity? (e.g. Anthro Morphic)
  3. Repo scope: Which repo(s) to track? (Default: current repo)
  4. Message style: Brief standup, detailed changelog, or conversational update?
  5. Team context: Any team members to be aware of? (Names, roles)
  6. Triage rules: Any custom rules for handling feedback? (Or use defaults)

Save Playbook

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).


Phase 1: Gather Context

Collect information from all available sources. Use the playbook's "Data Sources" section to know which tools to call.

1a. Determine Time Window

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).

1b. Collect Data

Gather from each available source:

SourceWhat to collectTool
Git commitsgit log --oneline --since=<last-update>Bash
Chat messagesMessages in the configured channel since last updateChat MCP tool from playbook
Open issues/PRsRecently updated or newly created itemsIssue tracker from playbook
Active tasksIn-progress or recently completed tasksTask tracker from playbook

1c. Summarise for Drafting

Group commits by theme (not individual hashes). Note any issues closed, PRs merged, or tasks completed. Flag any team messages that need response.


Phase 2: Draft and Post Update

2a. Compose Message

Read references/message-composition.md for message patterns.

Follow the playbook's "Message Style" section. General principles:

  • Lead with what shipped or changed, not process
  • Group related commits into themes
  • Mention specific people only when relevant
  • Keep it scannable (short paragraphs, bullet points)
  • Write like a teammate, not an AI — no emoji spam, no hedging, no over-explaining context the team already has. See the Communication Style section in references/message-composition.md.

2b. Preview and Approval

Show the draft to the user. Include:

  • The composed message
  • Which channel it will be posted to
  • Whether it's a new message or thread reply

APPROVAL REQUIRED: Never post to external channels without explicit user approval.

2c. Post

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.

2d. Update Playbook

After posting, update the "Last Run" section of the playbook with:

  • Current timestamp
  • Thread key (if applicable)
  • Brief summary of what was posted

Phase 3: Read and Triage Feedback

3a. Read Responses

Read messages from the configured channel since the update was posted. Look for:

  • Direct replies to the update
  • New messages in the channel that reference the project
  • Reactions or acknowledgements

3b. Classify Feedback

Read references/feedback-triage.md for classification patterns.

Use the playbook's "Triage Rules" section. Default classification:

TypeAction
Bug reportCreate issue (label: bug)
Feature requestCreate issue (label: enhancement)
QuestionDraft reply for user approval
BlockerFlag immediately, suggest resolution
AcknowledgementNote, no action needed
Off-topicIgnore

3c. Present and Act

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.


Phase 4: Plan Next Steps

4a. Prioritise

From all gathered context (commits, issues, tasks, feedback), identify:

  1. Blockers: Things preventing progress
  2. High-priority: Bugs, urgent requests, deadlines
  3. Next up: Planned work, feature requests
  4. Backlog: Nice-to-haves, low-priority items

4b. Present (Not Posted)

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

Autonomy Rules

ActionLevel
Read/create playbookJust do it
Discover tools (first run)Just do it, confirm preferences with user
Gather context (git, chat, issues)Just do it
Draft update messageJust do it, show preview
Post to external channelApproval required
Create issues/tasksApproval required
Post replies to teamApproval required
Update playbook "Last Run"Just do it
Present plan/prioritiesJust do it

Graceful Degradation

The skill works at any level of tool availability:

Available toolsExperience
Git onlySummarise commits, output text for manual posting
Git + ChatFull post/read cycle, manual issue creation
Git + Chat + IssuesFull cycle with automated issue creation
Git + Chat + Issues + Tasks + KnowledgeFull cycle with persistent tracking

Operating Modes

The skill responds to different trigger phrases:

TriggerBehaviour
"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

Reference Files

WhenRead
First run — saving playbookreferences/playbook-format.md
First run — detecting toolsreferences/discovery-patterns.md
Composing update messagesreferences/message-composition.md
Classifying team feedbackreferences/feedback-triage.md

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Team Update AI skill do?

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'.

Why use Team Update on TypingMind?

Because you install it once and use it with any model. Team Update is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Team Update in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/jezweb/claude-skills/tree/main/plugins/dev-tools/skills/team-update. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Team Update?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Team Update?

As many as you like. As long as a model supports skills, you can use Team Update with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Team Update AI skill free?

Yes. It is published on GitHub by jezweb under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇