skills/marketing/professional-communication/SKILL.md
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 skillsauth add pedronauck/skills professional-communicationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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
development
Deep review of branch diffs, working trees, or GitHub PRs at any size. Use when the user asks for CodeRabbit-grade review, an incremental re-review after new pushes, publication of findings to a PR, a cross-LLM peer-review verdict round, or conformance review against spec artifacts. Don't use for applying fixes, reviewing specs or PRDs as documents, or quick single-file feedback.
tools
Orchestrate Claude and Codex worker TUIs from a controller agent through herdr panes and the herdr socket CLI. Use when delegating bounded tasks to herdr worker panes, running user-activated plan-first delegations (Claude Code plan mode, Codex Plan mode), waiting on native agent status (idle, working, blocked, done), or verifying worker reports. Workers launch as interactive TUIs via herdr agent start — never through headless runners (compozy exec, claude -p, codex exec). Not for cmux workspaces (see cmux-orchestration) and not for end-user herdr control.
tools
TanStack Query, Router, and Form patterns for React. Use when writing useQuery/queryOptions, mutations, caching, file-based routes, search params, loaders, or TanStack Form validation. Don't use for TanStack Start, TanStack DB/collections, Zustand client state, or non-TanStack routing.
development
Use when the user wants to design, redesign, shape, critique, audit, polish, clarify, distill, harden, optimize, adapt, animate, colorize, extract, or otherwise improve a frontend interface. Covers websites, landing pages, dashboards, product UI, app shells, components, forms, settings, onboarding, and empty states. Handles UX review, visual hierarchy, information architecture, cognitive load, accessibility, performance, responsive behavior, theming, anti-patterns, typography, fonts, spacing, layout, alignment, color, motion, micro-interactions, UX copy, error states, edge cases, i18n, and reusable design systems or tokens. Also use for bland designs that need to become bolder or more delightful, loud designs that should become quieter, live browser iteration on UI elements, or ambitious visual effects that should feel technically extraordinary. Not for backend-only or non-UI tasks.