Guide technical communication for software developers. Covers email structure, team messaging etiquette, meeting agendas, and adapting messages for technical vs non-technical audiences. Use when drafting professional messages, preparing meeting communications, or improving written communication.
npx skills add https://github.com/softaworks/agent-toolkit --skill professional-communication
This skill provides frameworks and guidance for effective professional communication in software development contexts. Whether you're writing an email to stakeholders, crafting a team chat message, or preparing meeting agendas, these principles help you communicate clearly and build professional credibility.
Core principle: Effective communication isn't about proving how much you know - it's about ensuring your message is received and understood.
Use this skill when:
Keywords: email, chat, teams, slack, discord, message, writing, communication, meeting, agenda, status update, report
Use this universal framework to organize any professional message:
| Component | Purpose | Example |
| --- | --- | --- |
| What | State the topic/request clearly | "We need to delay the release by one week" |
| Why | Explain the reasoning | "Critical bug found in payment processing" |
| How | Outline next steps/action items | "QA will retest by Thursday; I'll update stakeholders Friday" |
Apply to: Emails, status updates, meeting talking points, technical explanations
Before communicating, ask yourself:
| Instead of | Try |
| --- | --- |
| "Project updates" | "Project X: Status Update and Next Steps" |
| "Question" | "Quick question: API rate limiting approach" |
| "FYI" | "FYI: Deployment scheduled for Tuesday 3pm" |
**Subject:** [Project/Topic]: [Specific Purpose]
Hi [Name],
[1-2 sentences stating the key point or request upfront]
**Context/Background:**
- [Bullet point 1]
- [Bullet point 2]
**What I need from you:**
- [Specific action or decision needed]
- [Timeline if applicable]
[Optional: Brief next steps or follow-up plan]
Best,
[Your name]
| Type | Key Elements |
| --- | --- |
| Status Update | Progress summary, blockers, next steps, timeline |
| Request | Clear ask, context, deadline, why it matters |
| Escalation | Issue summary, impact, attempted solutions, needed decision |
| FYI/Announcement | What changed, who's affected, any required action |
For templates: See references/email-templates.md
> Note: Examples use Slack terminology, but these principles apply equally to Microsoft Teams, Discord, or any team messaging platform.
| Use Chat | Use Email |
| --- | --- |
| Quick questions with short answers | Detailed documentation needing records |
| Real-time coordination | Formal communications to stakeholders |
| Informal team discussions | Messages requiring careful review |
| Time-sensitive updates | Complex explanations with multiple parts |
Instead of:
You: Hi
You: Are you there?
You: Can I ask you something?
[waiting...]
Try:
You: Hi Sarah - quick question about the deployment script.
Getting a permission error on line 42. Have you seen this before?
Here's the error: [paste error]
| Audience | Approach |
| --- | --- |
| Engineering peers | Technical details, code examples, architecture specifics |
| Technical managers | Balance of detail and high-level impact |
| Non-technical stakeholders | Business impact, analogies, outcomes over implementation |
| Customers | Plain language, what it means for them, avoid jargon |
| Technical | Plain Language |
| --- | --- |
| "Microservices architecture" | "Our system is split into smaller, independent pieces that can scale separately" |
| "Asynchronous message processing" | "Tasks are queued and processed in the background" |
| "CI/CD pipeline" | "Automated process that tests and deploys our code" |
| "Database migration" | "Updating how our data is organized and stored" |
For more examples: See references/jargon-simplification.md
Active voice is clearer, more direct, and conveys authority:
| Passive (avoid) | Active (prefer) |
| --- | --- |
| "A bug was identified by the team" | "The team identified a bug" |
| "The feature will be implemented" | "We will implement the feature" |
| "Errors were found during testing" | "Testing revealed errors" |
| Instead of | Use |
| --- | --- |
| "At this point in time" | "Now" |
| "In the event that" | "If" |
| "Due to the fact that" | "Because" |
| "In order to" | "To" |
| "I just wanted to check if" | "Can you" |
After writing, ask: "So what? Why does this matter to the reader?"
If you can't answer clearly, restructure your message to lead with the value/impact.
Every meeting invite should include:
**Meeting: [Topic] - [Date]**
**Attendees:** [Names]
**Key Decisions:**
- [Decision 1]
- [Decision 2]
**Action Items:**
- [ ] [Person]: [Task] - Due [Date]
- [ ] [Person]: [Task] - Due [Date]
**Next Steps:**
- [Follow-up meeting if needed]
- [Documents to share]
For structures by meeting type: See references/meeting-structures.md
Before sending any professional communication:
references/email-templates.md - Ready-to-use email templates by typereferences/meeting-structures.md - Structures for standups, retros, reviewsreferences/jargon-simplification.md - Technical-to-plain-language translationsfeedback-mastery - For difficult conversations and feedback delivery/draft-email - Generate emails using these frameworksLast Updated: 2025-12-22
Analyzes meeting transcripts and recordings to uncover behavioral patterns, communication insights, and actionable feedback. Identifies when you avoid conflict, use filler words, dominate conversations, or miss opportunities to listen. Perfect for professionals seeking to improve their communication and leadership skills.
Toolkit for creating animated GIFs optimized for Slack, with validators for size constraints and composable animation primitives. This skill applies when users request animated GIFs or emoji animations for Slack from descriptions like "make me a GIF for Slack of X doing Y".
Analyzes your recent Claude Code chat history to identify coding patterns, development gaps, and areas for improvement, curates relevant learning resources from HackerNews, and automatically sends a personalized growth report to your Slack DMs.
Knowledge and utilities for creating animated GIFs optimized for Slack. Provides constraints, validation tools, and animation concepts. Use when users request animated GIFs for Slack like "make me a GIF of X doing Y for Slack.
A skill that creates new Claude skills and automatically shares them on Slack using Rube for seamless team collaboration and skill discovery.
Automate Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify, etc.) using agent-browser via Chrome DevTools Protocol. Use when the user needs to interact with an Electron app, automate a desktop app, connect to a running app, control a native app, or test an Electron application. Triggers include "automate Slack app", "control VS Code", "interact with Discord app", "test this Electron app", "connect to desktop app", or any task requiring automation of a native Electron application.
Prepare meeting materials with Notion context and Codex research; use when gathering context, drafting agendas/pre-reads, and tailoring materials to attendees.
Automate Benchmark Email tasks via Rube MCP (Composio). Always search tools first for current schemas.
Take softaworks/professional-communication from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.