Coordinate meeting
Skill KirKruglov/claude-project-manager/skills/coordinate-meeting
AI Project Manager plugin for Claude Cowork — full project lifecycle automation: charter, plan, risks, budget, monitoring, comms, closure. 21 skills, PMBoK + Agile.
npx -y skills add KirKruglov/claude-project-manager --skill coordinate-meetingAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 5 stars5 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Coordinates project meetings: generates a structured agenda, creates a Google Calendar event, and prepares a protocol template. Covers 5 meeting types across the full project lifecycle — tasks #6, #15, #17, #20, #26. Meeting types: Go/No-Go (Phase 1, #6), Client Demo (Phase 3, #15), Sprint Planning (Phase 4, #17), Sprint Demo (Phase 4, #20), Launch Status Meeting (Phase 5, #26). Reads project context files (stakeholder-map, project-plan, progress reports) to auto-populate participants and agenda topics. Mode B: agent prepares a draft agenda, PM confirms before the Calendar event is created. Triggers EN: 'coordinate meeting', 'prepare agenda', 'schedule meeting'.
SKILL.md
12.1 KB, as published. Nobody here has run it
Skill: coordinate-meeting
Coordinates project meetings for all 5 types across the project lifecycle. Generates an agenda, creates a Google Calendar event (with fallback), and prepares a protocol template. Mode B: PM confirms the draft before the Calendar event is created and files are saved.
Triggers
Russian: «организуй встречу», «подготовь повестку», «запланируй встречу», «повестка для встречи», «Go/No-Go», «демо заказчику», «планирование спринта», «демо спринта», «статусная встреча по запуску» English: "coordinate meeting", "prepare agenda", "schedule meeting", "go no go meeting", "client demo", "sprint planning", "sprint demo", "launch status meeting"
Language Detection
- Request in Russian → template
meeting-agenda-template-ru.md, all outputs in Russian - Otherwise → template
meeting-agenda-template-en.md, all outputs in English
Meeting Types
| Key | Description | Phase | Task |
|---|---|---|---|
go-no-go | Go/No-Go gate: approve project initiation | 1 | #6 |
demo-client | Prototype demo to the client | 3 | #15 |
sprint-planning | Sprint planning (repeating) | 4 | #17 |
sprint-demo | Sprint review / demo (repeating) | 4 | #20 |
launch-status | Launch status review (repeating) | 5 | #26 |
Input
| Data | Required | Source |
|---|---|---|
| Meeting type | yes | PM in chat (inferred or asked) |
| Date and time | yes | PM in chat |
| Participants | no | 01-initiation/stakeholder-map.md or PM |
| Project name, current phase | no | project-state.md |
| Sprint number (sprint-planning / sprint-demo) | no | project-state.md or PM |
| Meeting objectives | no | Derived from type and project context |
Output
| File | Project path | Task |
|---|---|---|
agenda-{type}-{YYYY-MM-DD}.md | meetings/ | #6 / #15 / #17 / #20 / #26 |
protocol-{type}-{YYYY-MM-DD}.md | meetings/ | #6 / #15 / #17 / #20 / #26 |
| Google Calendar event | external action | all types |
email-tpl-meeting-status.md | meetings/ | #26 only |
Instructions
Step 1 — Guard-rail and Determine Meeting Type
Guard-rail: If the request is about meeting facilitation methodology in general (not a specific project meeting) → respond: "coordinate-meeting organizes a specific project meeting. Tell me what's happening in your project right now — I'll determine the right meeting type." Do not start the workflow.
Determine meeting type from PM's request:
| Cues | Meeting type |
|---|---|
| "go/no-go", "project approval", "charter review", "project gate" | go-no-go |
| "client demo", "demo to client", "prototype presentation", "show client" | demo-client |
| "sprint planning", "plan the sprint", "start sprint", "next sprint" | sprint-planning |
| "sprint demo", "sprint review", "end of sprint", "sprint results" | sprint-demo |
| "launch status", "launch meeting", "go-live status", "launch sync" | launch-status |
If type is unclear → ask: "Which type of meeting do you need?
- Go/No-Go — project initiation gate (Phase 1)
- Client Demo — prototype presentation (Phase 3)
- Sprint Planning — plan the upcoming sprint (Phase 4)
- Sprint Demo — review sprint results (Phase 4)
- Launch Status Meeting — launch progress review (Phase 5)"
If date/time is not provided → ask: "When is the meeting? (date and time)"
Step 2 — Gather Context from Project Files
Always read (if available):
project-state.md→ project name, current phase, sprint number
Read based on meeting type:
| Meeting type | Additional files to read |
|---|---|
go-no-go | 01-initiation/project-charter.md, 01-initiation/risk-register.md |
demo-client | project-state.md (prototype readiness), 03-execution/comparison-table.xlsx |
sprint-planning | 02-planning/project-plan.md (backlog, next sprint milestones) |
sprint-demo | last reports/progress-report-*.md, 02-planning/project-plan.md |
launch-status | last reports/weekly-status-*.md, 03-execution/launch-checklist.md |
Always read for participants:
01-initiation/stakeholder-map.md→ determine participant list by role/type
If files are unavailable: continue with PM-provided data and placeholder values. Notify in chat: "[Filename] not found — placeholders used. Fill in before the meeting."
Step 3 — Determine Participants
Use the following defaults; enrich with stakeholder-map.md if available:
| Meeting type | Required participants |
|---|---|
go-no-go | PM, Project Sponsor, Client / Decision-Making Stakeholders |
demo-client | PM, Prototype Team, Client, Key Stakeholders |
sprint-planning | PM, Development Team, Tech Lead |
sprint-demo | PM, Development Team, Client, Key Stakeholders |
launch-status | PM, Dev Lead, Marketing Lead, Ops Lead, Client |
If stakeholder-map.md is available → replace roles with actual names and contacts. If not available → keep role placeholders.
Step 4 — Build Agenda
Load the template matching the detected language:
- Russian →
templates/meeting-agenda-template-ru.md - English →
templates/meeting-agenda-template-en.md
Default meeting durations — use these values for {DURATION} in the template unless PM specifies otherwise:
| Meeting type | Default duration |
|---|---|
go-no-go | 60 min |
demo-client | 90 min |
sprint-planning | 90 min |
sprint-demo | 60 min |
launch-status | 60 min |
Populate the template with meeting-type-specific agenda items:
go-no-go (60 min):
- Welcome and objectives (5 min)
- Project charter status — key parameters and constraints (15 min)
- Risk overview — top 3 risks (10 min)
- Open questions from stakeholders (15 min)
- Go / No-Go vote and decision (10 min)
- Next steps if Go (5 min)
demo-client (90 min):
- Welcome and agenda overview (5 min)
- Project status since last meeting (10 min)
- Prototype demonstrations — per variant (40 min)
- Comparison overview if comparison-table exists (15 min)
- Client feedback and discussion (15 min)
- Decision / next steps (5 min)
sprint-planning (60–90 min):
- Previous sprint recap — completed vs planned (10 min)
- Next sprint goals and success criteria (10 min)
- Backlog review — candidate items (20–30 min)
- Task assignment and estimation (15–20 min)
- Sprint commitment confirmation (5 min)
sprint-demo (60 min):
- Sprint goals recap (5 min)
- Demonstration of completed items (30 min)
- What was not completed and why (10 min)
- Feedback from stakeholders (10 min)
- Retrospective highlights (optional, 5 min)
launch-status (60 min):
- Overall launch status — RAG (5 min)
- Dev stream status (10 min)
- Marketing stream status (10 min)
- Ops/infrastructure status (10 min)
- Blockers, risks, escalations (15 min)
- Decisions and action items (10 min)
Fill in from project context:
- PROJECT_NAME — from project-state.md
- SPRINT_NUMBER — from project-state.md or PM
- Key risks/blockers — from risk-register.md or progress report
- Materials for preparation — list relevant files PM should review before the meeting
Step 5 — Show Draft to PM (Mode B)
Output to chat:
- Summary line: "Meeting: {Type} | {Date and Time} | Participants: {N}"
- Full agenda draft
Ask: "Draft is ready. Confirm or request changes?
- Confirm → I will save files and create the Calendar event.
- Change participants / agenda items / time → specify edits."
Do not create files or the Calendar event until PM confirms.
Step 6 — Create Calendar Event
If PM confirms:
Attempt to create the event via Google Calendar MCP:
- Title:
[{MeetingType}] {ProjectName} — {ShortDescription}Example:[Sprint Planning] ClientBoard — Sprint 3 - Date/time: from agenda
- Participants: email addresses from stakeholder-map.md (if available); otherwise skip
- Description: agenda items (brief, bulleted) + link to agenda file path
Fallback if Calendar MCP is unavailable: Add section "Calendar Event Parameters" to the saved agenda file:
Title: [as above]
Date/Time: {DATE} {TIME}
Duration: {DURATION} min
Participants: {LIST}
Description: [paste agenda items]
Notify PM: "Calendar MCP unavailable. Event parameters saved in the agenda file — create the event manually."
Step 7 — Save Files and Update State
- Create
meetings/agenda-{type}-{YYYY-MM-DD}.md. - Create
meetings/protocol-{type}-{YYYY-MM-DD}.md(blank template for post-meeting use). - For
launch-statusonly: createmeetings/email-tpl-meeting-status.mdby populating the matching language template (templates/email-tpl-meeting-status-en.mdorru.md). Pre-fill PROJECT_NAME, PM_NAME, meeting date, next meeting date. Leave decisions/tasks as placeholders — PM fills after the meeting. - Update
project-state.md: add artifact records with statusdraft. - Write to
logs/log.md:{DATE}: coordinate-meeting — type: {TYPE}, created meetings/agenda-{type}-{DATE}.md + meetings/protocol-{type}-{DATE}.md - Output to chat:
- "Files saved: meetings/agenda-{type}-{DATE}.md, meetings/protocol-{type}-{DATE}.md"
- "After the meeting, fill in the protocol: decisions, tasks, owners, deadlines."
- For
launch-status: "Use meetings/email-tpl-meeting-status.md to send the meeting status via send-email."
Templates
| File | Purpose |
|---|---|
templates/meeting-agenda-template-en.md | Agenda + protocol template (EN) |
templates/meeting-agenda-template-ru.md | Agenda + protocol template (RU) |
templates/email-tpl-meeting-status-en.md | Launch status email template E8 (EN) |
templates/email-tpl-meeting-status-ru.md | Launch status email template E8 (RU) |
Dependencies
Reads (optional):
project-state.md— project name, phase, sprint number01-initiation/stakeholder-map.md— participants02-planning/comm-plan.md— communication preferences02-planning/project-plan.md— milestones and backlog01-initiation/risk-register.md— top risks (go-no-go)03-execution/comparison-table.xlsx— prototype comparison (demo-client)reports/progress-report-*.md— latest progress (sprint-demo)reports/weekly-status-*.md— latest status (launch-status)03-execution/launch-checklist.md— launch readiness (launch-status)
External actions:
- Google Calendar MCP — event creation (primary path)
- Fallback: parameters saved in agenda file for manual creation
Passes data to:
generate-meeting-protocol— protocol file for post-meeting notes (task #16)send-email— email-tpl-meeting-status.md for launch-status distribution (E8, level 3)
Constraints
- Requires meeting type and date/time to start
- Calendar event created only after PM confirmation (Mode B)
- Skill does not conduct the meeting or fill the protocol — PM fills protocol after the meeting
- One invocation = one meeting; recurring meetings → separate invocations per occurrence
- For
sprint-planning/sprint-demo/launch-status, include sprint number or specific date in file name - Email distribution after
launch-statusis executed viasend-email, not automatically - Fallback mode (no Calendar MCP) does not block agenda/protocol file creation