skills/pm-meeting-prep/SKILL.md
Quickly prepare a PM for an upcoming client check-in by pulling together context from Teamwork (tasks + messages), Gmail, Slack, and Fathom meeting recordings. Produces a structured briefing with talking points, ticket progress, new feature requests, and suggested next steps — then optionally generates a formatted agenda. Use this skill whenever the user says things like: - "prep me for my meeting with [client]" - "I have a check-in with [project] tomorrow, help me prep" - "what do I need to know before my call with [client]?" - "get me ready for [project name] meeting" - "meeting prep for [project]" Always trigger this skill when meeting preparation is the goal, even if the user doesn't say "skill" or "prep" explicitly. If the user mentions a client name or project name alongside a meeting, check-in, or call — use this skill.
npx skillsauth add kanopi/cms-cultivator pm-meeting-prepInstall 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.
A skill for preparing a PM for an upcoming client check-in. It aggregates context from Teamwork, Gmail, Slack, and Fathom, then produces a clear briefing.
If not already provided, ask for:
Do not ask for the Slack channel name upfront — search for it using the project name first (see Step 3).
Use the Teamwork MCP to:
twprojects-list_projects or twprojects-searchtwprojects-list_tasks filtered to the project, looking for:
twprojects-list_messages for the project to find any updates, discussions, or announcements posted in the time rangeslack_search_channels with the project name as the query
slack_read_channel for the matched channel, scoped to the time rangeUse Gmail MCP to search for recent email threads related to the project/client:
search_threads with the project or client name as the query, filtered to the time rangeget_threadUse Fathom MCP to find any recent recorded meetings related to the project:
search_meetings with the project/client nameget_meeting_summary to pull the AI summary — no need to pull the full transcript unless the summary is sparsePresent the output in this format in chat — clean, scannable, PM-friendly:
Period reviewed: [date range] Sources checked: Teamwork · Slack · Gmail · Fathom
A bullet list of what has been completed or meaningfully advanced. Be specific — reference ticket names or task descriptions where relevant.
Tasks or items actively being worked on. Flag anything that's behind schedule or blocked.
The 3–6 most important things to cover in the meeting. These should be actionable and client-relevant — not just status updates, but things that require a conversation (decisions needed, feedback requested, concerns raised).
Any requests that came up in Slack, email, or Teamwork messages that haven't been formally scoped or ticketed. Flag these clearly as items that may require estimation or separate discussion.
Anything flagged as blocked, overdue, or unresolved — including outstanding client questions that haven't been answered.
3–5 concrete next steps the PM should be prepared to discuss or confirm in the meeting.
After presenting the briefing, ask:
"Would you like me to turn this into a formatted meeting agenda you could share or use as a template?"
If yes, see Agenda Format below.
If the user wants a formatted agenda, produce the following in a clean copyable block:
Meeting Agenda — [Project Name]
Date: [date]
1. Quick wins & progress update (~5 min)
- [bullet from Progress section]
2. In-progress items & blockers (~10 min)
- [bullet from In Progress / Blockers]
3. Open discussion topics (~10 min)
- [bullet from Talking Points]
4. New requests / scope items (~5 min)
- [bullet from Feature Requests]
5. Next steps & action items (~5 min)
- [bullet from Next Steps]
tools
Strategist-focused site audit for discovery and pre-discovery. Given a site URL and optional qualitative research data, navigates the site via CoWork, audits against all 21 UX Laws from lawsofux.com, reviews content hierarchy, synthesises qualitative data, runs Lighthouse, and produces two deliverables — a Project Knowledge Summary (Markdown for Claude Desktop Projects) and a polished, iterable HTML Artifact for client sharing. Use when a strategist, UX lead, or PM asks for a discovery audit, UX laws audit, content hierarchy review, pre-discovery site review, "audit this site for strategy", "strategist audit", "UX audit", or pastes a site URL with discovery context. Not for developer audits — use accessibility-audit, performance-audit, or live-site-audit for those.
development
Provide story point estimation guidance with hour calculations for software development tasks. Uses Fibonacci sequence (1, 2, 3, 5, 8, 13, 21, 34+) and converts story points to hours. Includes platform-specific adjustments and velocity calculations.
tools
Perform a full QA review of a Teamwork task by reading the task and all its comments for context, extracting the multi-dev URL, generating dynamic validation steps tailored to the task type, and using CoWork browser automation to execute those steps on the multi-dev environment. Produces a structured validation report with pass/fail per step, screenshots, internal notes, and a client-facing summary — all shown in chat. Use this skill whenever the user asks to QA, test, validate, or review a Teamwork task or multi-dev environment — even if they just say "can you QA this?" or paste a Teamwork link. Also triggers for phrases like "run QA on", "check the multi-dev", "validate this task", "test the dev link", or "review the ticket". Works across Drupal/CMS updates, WordPress/plugin updates, bug fixes, new feature development, and general web development tasks.
tools
Generate a client-facing project heartbeat / status update message for a Kanopi project, ready to be posted as a Teamwork message. Use this skill whenever the user asks to write, draft, generate, or send a project update, heartbeat, status update, or progress report to a client. Also triggers when the user says things like "time for a project update", "draft the heartbeat", "write up the update for [project]", or "it's been two weeks, let's send an update". Always use this skill — even if the user doesn't say "heartbeat" — whenever the intent is to summarise recent project activity for a client audience.