From project-manager
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'.
npx claudepluginhub kirkruglov/claude-project-managerThis skill uses the workspace's default tool permissions.
Coordinates project meetings for all 5 types across the project lifecycle.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Share bugs, ideas, or general feedback.
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.
Russian: «организуй встречу», «подготовь повестку», «запланируй встречу», «повестка для встречи», «Go/No-Go», «демо заказчику», «планирование спринта», «демо спринта», «статусная встреча по запуску» English: "coordinate meeting", "prepare agenda", "schedule meeting", "go no go meeting", "client demo", "sprint planning", "sprint demo", "launch status meeting"
meeting-agenda-template-ru.md, all outputs in Russianmeeting-agenda-template-en.md, all outputs in English| 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 |
| 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 |
| 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 |
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?
If date/time is not provided → ask: "When is the meeting? (date and time)"
Always read (if available):
project-state.md → project name, current phase, sprint numberRead 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/typeIf files are unavailable: continue with PM-provided data and placeholder values. Notify in chat: "[Filename] not found — placeholders used. Fill in before the meeting."
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.
Load the template matching the detected language:
templates/meeting-agenda-template-ru.mdtemplates/meeting-agenda-template-en.mdDefault 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):
demo-client (90 min):
sprint-planning (60–90 min):
sprint-demo (60 min):
launch-status (60 min):
Fill in from project context:
Output to chat:
Ask: "Draft is ready. Confirm or request changes?
Do not create files or the Calendar event until PM confirms.
If PM confirms:
Attempt to create the event via Google Calendar MCP:
[{MeetingType}] {ProjectName} — {ShortDescription}
Example: [Sprint Planning] ClientBoard — Sprint 3Fallback 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."
meetings/agenda-{type}-{YYYY-MM-DD}.md.meetings/protocol-{type}-{YYYY-MM-DD}.md (blank template for post-meeting use).launch-status only: create meetings/email-tpl-meeting-status.md by populating the matching language template (templates/email-tpl-meeting-status-en.md or ru.md). Pre-fill PROJECT_NAME, PM_NAME, meeting date, next meeting date. Leave decisions/tasks as placeholders — PM fills after the meeting.project-state.md: add artifact records with status draft.logs/log.md:
{DATE}: coordinate-meeting — type: {TYPE}, created meetings/agenda-{type}-{DATE}.md + meetings/protocol-{type}-{DATE}.mdlaunch-status: "Use meetings/email-tpl-meeting-status.md to send the meeting status via send-email."| 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) |
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:
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)sprint-planning/sprint-demo/launch-status, include sprint number or specific date in file namelaunch-status is executed via send-email, not automatically