$npx -y skills add omnigentx/jarvis --skill team-communicationCommunication rules within a team (email, meetings). Use when the agent needs to send an email, join a meeting, or report a result. Tools: send_email, create_meeting.
| 1 | # Team Communication Skill |
| 2 | |
| 3 | <violation> |
| 4 | - DO NOT read files, browse code, or run shell commands to "learn" the communication system. |
| 5 | - DO NOT use read_text_file, execute, grep, or any tool other than the communication tools. |
| 6 | - ONLY call directly: `send_email`, `create_meeting`. |
| 7 | - Violating this wastes tokens and slows the request. |
| 8 | </violation> |
| 9 | |
| 10 | ## ⚡ Auto status notifications |
| 11 | |
| 12 | Team-mate results are **auto-delivered** to your inbox once ALL members finish: |
| 13 | - A consolidated report (table) with name, status, summary. |
| 14 | - **Do NOT poll.** Stay focused on your own task; the report arrives when everyone is done. |
| 15 | - If you need richer detail, use `send_email` or `create_meeting` to engage a specific member. |
| 16 | |
| 17 | ## 📧 Email — async, fire-and-forget |
| 18 | |
| 19 | - `send_email(to="Name", body="...", subject="...")` — send to a specific person |
| 20 | - `send_email(to="all", body="...")` — broadcast to the whole team |
| 21 | - Emails from team-mates are **auto-delivered** into your context — no polling required |
| 22 | |
| 23 | ## Waiting for dependencies |
| 24 | |
| 25 | If you need a team-mate's output: |
| 26 | 1. Send the request: `send_email(to="Agent Name", body="Please send me <deliverable> when ready", subject="[WAITING] ...")` |
| 27 | 2. Move on to other work or finish your current task. |
| 28 | 3. When the team-mate replies, you are auto-woken with the content. |
| 29 | 4. If you need outputs from several members, call `create_meeting` for a quick sync instead. |
| 30 | |
| 31 | ## 🎙️ Meeting — real-time decisions |
| 32 | |
| 33 | When you receive 🔔 MEETING INVITE → follow the `meeting-participant` skill to join and speak. |
| 34 | |
| 35 | ## Email discipline |
| 36 | |
| 37 | - **Focus on the task first.** Only email when you have a deliverable, are blocked, or spot a critical issue. Do NOT email merely to update status or acknowledge. |
| 38 | - **Concise but complete.** Include enough context. Use subject prefixes: `[DONE]`, `[BLOCKED]`, `[BUG]`, `[REVIEW]`, `[DELIVERABLE]`, `[WAITING]`. |
| 39 | - **Use CC sparingly.** Only CC people who genuinely need to know. |
| 40 | - **Do NOT reply just to acknowledge.** Use `no_reply=True` for FYI messages. |
| 41 | - **Avoid email ping-pong.** If you need back-and-forth, schedule a meeting instead of emailing. |
| 42 | |
| 43 | ## Completion rules (REQUIRED) |
| 44 | |
| 45 | BEFORE going idle or completing work, you MUST: |
| 46 | 1. Send a `[DONE]` report to the PM: `send_email(to="Linh - PM", subject="[DONE] <deliverable summary>", body="<list of deliverables, files, outcomes, open items>")` |
| 47 | 2. NEVER go idle without sending the report — this is **required**. |
| 48 | |
| 49 | ## Approval escalation |
| 50 | |
| 51 | When your role skill flags a command 🟡 ESCALATE: |
| 52 | |
| 53 | 1. **Don't run it.** Email PM with subject `[APPROVAL-REQUEST] <summary>` and body containing: exact command, why, risk, alternatives (infra adds: rollback). |
| 54 | 2. Wait for `[APPROVED]` / `[DENIED]` reply. PM forwards via `approval-server` MCP. |
| 55 | 3. APPROVED → run exactly the command from the request. DENIED → re-plan. |
| 56 | |
| 57 | **PM only:** verify the requester's role can do the action (Dev/QE/DSO yes; Designer/BA/SA no — redirect), call `request_approval()`, email back the verdict. |