Guide technical communication for software developers. Covers email structure, Slack etiquette, meeting agendas, and adapting messages for technical vs non-technical audiences. Use when drafting professional messages, preparing meeting communications, or improving written communication.
This skill is limited to using the following tools:
references/email-templates.mdreferences/jargon-simplification.mdreferences/meeting-structures.mdreferences/remote-async-communication.mdThis skill provides frameworks and guidance for effective professional communication in software development contexts. Whether you're writing an email to stakeholders, crafting a Slack 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, slack, 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
| 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-conversations - For difficult conversations and feedback deliverytechnical-presentations - For structuring talks and presentations/draft-email - Generate emails using these frameworksLast Updated: 2025-12-22