{"id":"bd752585-cc4e-4306-8e79-42c7012c7e86","shortId":"d4huq5","kind":"skill","title":"meeting-prep-briefer","tagline":"Generate a structured briefing document for each meeting of the day from local workspace files and a daily schedule — participants, context, and open questions in one brief. No integrations required. Triggers: 'meeting brief', 'prep my meetings', 'prepare for today's meetings', '","description":"# Meeting Prep Briefer\n\nThis skill generates a structured per-meeting briefing document for busy managers and individual contributors. Given a daily schedule (pasted inline or read from a local file) and any available workspace context files (project notes, participant notes, previous meeting notes), it produces a brief for each meeting with participants, context, open questions, and a suggested agenda — entirely from local files, no external integrations required.\n\n**Input:** Daily schedule (inline text or local file path) + workspace context files (auto-scanned).\n\n**Output:** Structured markdown brief (inline response). Optionally saved to `output/meeting-brief-YYYY-MM-DD.md` on request.\n\n---\n\n## Language Detection\n\nDetect the user's language from their message:\n- If Russian (or contains Cyrillic): respond in Russian\n- If English (or other Latin-script language): respond in English\n- If ambiguous: default to English\n\n---\n\n## Instructions\n\n### Step 1: Parse Input\n\n1. Check if the user provided an inline schedule (list of meetings in their message) or a file path.\n   - **Inline:** parse meetings directly from the message.\n   - **File path:** read the specified file from the workspace. If the file does not exist, return: \"File not found: `{path}`. Please check the path or paste the schedule directly.\"\n\n2. If no schedule is provided at all, return: \"Please paste your meeting schedule or provide a path to a schedule file (e.g., `today.md`).\" Stop — do not generate output.\n\n3. Parse the schedule into a list of meetings. Each meeting must have at minimum a time and a title. Participants are optional.\n   - Accepted formats: `10:00 — Team Sync`, `10:00 Team Sync (Alice, Bob)`, `10:00 | Team Sync | Alice, Bob`, or similar time + title patterns.\n   - If the schedule is completely unparseable (no recognisable time+title structure), return: \"Could not parse meeting schedule. Please use a format like: `10:00 — Team Sync (Alice, Bob)`.\" Stop.\n\n4. Determine the brief date: use today's date unless the user specifies another date.\n\n---\n\n### Step 2: Scan Workspace for Context\n\n1. For each parsed meeting, search the workspace for relevant context files:\n   - Match files by: meeting title keywords, participant names, or project names appearing in the schedule.\n   - Look in: root workspace, `notes/`, `output/`, `input/`, `context/` folders.\n   - Accepted file types: `.md`, `.txt`.\n\n2. For each matched file, extract:\n   - Relevant headings and their content (limit to 150 words per file to keep briefs concise).\n   - Any open action items or questions found in the file.\n\n3. If no matching files are found for a meeting: note \"No context files found\" for that meeting — do not skip the meeting.\n\n---\n\n### Step 3: Assemble Briefs\n\nFor each meeting, build a section with four subsections:\n\n**Participants**\n- List names and roles if provided in the schedule.\n- If no participants listed: note \"No participants listed in schedule.\"\n\n**Context**\n- List 2–4 bullet points extracted from matched workspace files.\n- Each bullet: `From \\`filename\\`: [key point]`.\n- If no context files matched: \"No context files found — add relevant notes to your workspace.\"\n\n**Open Questions**\n- Extract any open questions or action items from matched files.\n- If none found: leave as an empty prompt line `*(none listed — add questions before the meeting)*`.\n\n**Suggested Agenda**\n- Generate 2–4 agenda items based on the meeting title, participants, and context.\n- Keep each item to one short phrase with a suggested time allocation.\n\n---\n\n### Step 4: Output Brief\n\n1. Assemble all meeting sections into a single markdown document:\n   - Header: `# Meeting Brief — YYYY-MM-DD`\n   - Each meeting: `## HH:MM — Meeting Title` followed by four subsections\n   - Meetings separated by `---`\n\n2. Display inline in the chat.\n\n3. If the user says \"save\" or \"save to file\": write the brief to `output/meeting-brief-YYYY-MM-DD.md` and confirm the path.\n\n---\n\n## Edge Cases\n\n- **No context files for a specific meeting:** Produce the brief anyway; fill Context with placeholder message.\n- **Schedule has time + title only (no participants):** Skip Participants section; add flag: \"No participants listed — add names to schedule for richer brief.\"\n- **Multiple files match one meeting's keywords:** Include all matched files as context sources; list each filename.\n- **User provides a past or future date:** Use that date for the brief header and output filename.\n- **Very long meeting title (>60 chars):** Truncate display title in the header to 60 chars; use full title in the section heading.\n\n---\n\n## Negative Cases\n\n- **No schedule provided:** Return usage message and stop. Do not generate partial output.\n- **File path not found:** Return file-not-found message with the exact path. Do not guess alternate paths.\n- **Schedule unparseable:** Return format hint and stop. Do not attempt to guess meeting times.\n\n---\n\n## Output Format\n\n```\n# Meeting Brief — 2026-04-28\n\n---\n\n## 10:00 — Team Sync\n\n**Participants:** Alice (PM), Bob (Eng), Carol (Design)\n\n**Context:**\n- From `project-notes.md`: Sprint 12 ends Friday; 3 open stories remain.\n- From `alice-notes.md`: Concerns raised about API timeline dependency.\n\n**Open Questions:**\n- Is the API dependency resolved before Friday?\n- Who owns the design handoff?\n\n**Suggested Agenda:**\n1. Sprint status check (5 min)\n2. API dependency decision (10 min)\n3. Next steps & owners (5 min)\n\n---\n\n## 14:00 — 1-on-1 with Bob\n\n**Participants:** Bob (Eng)\n\n**Context:**\n- No context files found — add relevant notes to your workspace.\n\n**Open Questions:**\n*(none listed — add questions before the meeting)*\n\n**Suggested Agenda:**\n1. Check in on current blockers (10 min)\n2. Career development update (10 min)\n```","tags":["meeting","prep","briefer","claude","skills","kit","kirkruglov","agent-skills","agentic-skills","ai-agents","ai-skills","awesome-list"],"capabilities":["skill","source-kirkruglov","skill-meeting-prep-briefer","topic-agent-skills","topic-agentic-skills","topic-ai-agents","topic-ai-skills","topic-awesome-list","topic-claude","topic-claude-ai","topic-claude-ai-skills","topic-claude-code","topic-claude-cowork","topic-claude-memory","topic-claude-skills"],"categories":["claude-skills-kit"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/KirKruglov/claude-skills-kit/meeting-prep-briefer","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add KirKruglov/claude-skills-kit","source_repo":"https://github.com/KirKruglov/claude-skills-kit","install_from":"skills.sh"}},"qualityScore":"0.453","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 7 github stars · SKILL.md body (5,744 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:13:37.605Z","embedding":null,"createdAt":"2026-05-18T13:21:15.008Z","updatedAt":"2026-05-18T19:13:37.605Z","lastSeenAt":"2026-05-18T19:13:37.605Z","tsv":"'-04':783 '-1':853 '-28':784 '00':290,294,300,333,786,850 '1':177,180,360,579,831,851,881 '10':289,293,299,332,785,841,887,893 '12':800 '14':849 '150':414 '2':235,355,401,490,551,609,837,889 '2026':782 '3':264,432,456,615,803,843 '4':339,491,552,576 '5':835,847 '60':712,721 'accept':287,396 'action':424,527 'add':514,543,662,667,864,874 'agenda':105,549,553,830,880 'alic':297,303,336,790 'alice-notes.md':808 'alloc':574 'altern':762 'ambigu':171 'anoth':352 'anyway':646 'api':812,819,838 'appear':383 'assembl':457,580 'attempt':773 'auto':127 'auto-scan':126 'avail':79 'base':555 'blocker':886 'bob':298,304,337,792,855,857 'brief':8,31,37,57,93,132,342,420,458,578,591,627,645,673,703,781 'briefer':4,48 'build':462 'bullet':492,500 'busi':60 'career':890 'carol':794 'case':635,731 'char':713,722 'chat':614 'check':181,227,834,882 'complet':314 'concern':809 'concis':421 'confirm':631 'contain':154 'content':411 'context':25,81,99,124,359,370,394,444,488,507,511,562,637,648,686,796,859,861 'contributor':64 'could':322 'current':885 'cyril':155 'daili':22,67,115 'date':343,347,353,697,700 'day':15 'dd':595 'decis':840 'default':172 'depend':814,820,839 'design':795,827 'detect':142,143 'determin':340 'develop':891 'direct':202,234 'display':610,715 'document':9,58,588 'e.g':257 'edg':634 'empti':538 'end':801 'eng':793,858 'english':160,169,174 'entir':106 'exact':757 'exist':220 'extern':111 'extract':406,494,522 'file':19,76,82,109,121,125,197,206,211,217,222,256,371,373,397,405,417,431,436,445,498,508,512,531,624,638,675,684,745,751,862 'file-not-found':750 'filenam':502,690,707 'fill':647 'flag':663 'folder':395 'follow':602 'format':288,330,767,779 'found':224,428,438,446,513,534,748,753,863 'four':466,604 'friday':802,823 'full':724 'futur':696 'generat':5,51,262,550,742 'given':65 'guess':761,775 'handoff':828 'head':408,729 'header':589,704,719 'hh':598 'hint':768 'includ':681 'individu':63 'inlin':70,117,133,187,199,611 'input':114,179,393 'instruct':175 'integr':33,112 'item':425,528,554,565 'keep':419,563 'key':503 'keyword':377,680 'languag':141,147,166 'latin':164 'latin-script':163 'leav':535 'like':331 'limit':412 'line':540 'list':189,270,469,481,485,489,542,666,688,873 'local':17,75,108,120 'long':709 'look':387 'manag':61 'markdown':131,587 'match':372,404,435,496,509,530,676,683 'md':399 'meet':2,12,36,40,45,46,56,88,96,191,201,247,272,274,325,364,375,441,449,454,461,547,558,582,590,597,600,606,642,678,710,776,780,878 'meeting-prep-brief':1 'messag':150,194,205,651,737,754 'min':836,842,848,888,894 'minimum':278 'mm':594,599 'multipl':674 'must':275 'name':379,382,470,668 'negat':730 'next':844 'none':533,541,872 'note':84,86,89,391,442,482,516,866 'one':30,567,677 'open':27,100,423,520,524,804,815,870 'option':135,286 'output':129,263,392,577,706,744,778 'output/meeting-brief-yyyy-mm-dd.md':138,629 'own':825 'owner':846 'pars':178,200,265,324,363 'partial':743 'particip':24,85,98,284,378,468,480,484,560,658,660,665,789,856 'past':69,231,245,694 'path':122,198,207,225,229,252,633,746,758,763 'pattern':309 'per':55,416 'per-meet':54 'phrase':569 'placehold':650 'pleas':226,244,327 'pm':791 'point':493,504 'prep':3,38,47 'prepar':41 'previous':87 'produc':91,643 'project':83,381 'project-notes.md':798 'prompt':539 'provid':185,240,250,474,692,734 'question':28,101,427,521,525,544,816,871,875 'rais':810 'read':72,208 'recognis':317 'relev':369,407,515,865 'remain':806 'request':140 'requir':34,113 'resolv':821 'respond':156,167 'respons':134 'return':221,243,321,735,749,766 'richer':672 'role':472 'root':389 'russian':152,158 'save':136,620,622 'say':619 'scan':128,356 'schedul':23,68,116,188,233,238,248,255,267,312,326,386,477,487,652,670,733,764 'script':165 'search':365 'section':464,583,661,728 'separ':607 'short':568 'similar':306 'singl':586 'skill':50 'skill-meeting-prep-briefer' 'skip':452,659 'sourc':687 'source-kirkruglov' 'specif':641 'specifi':210,351 'sprint':799,832 'status':833 'step':176,354,455,575,845 'stop':259,338,739,770 'stori':805 'structur':7,53,130,320 'subsect':467,605 'suggest':104,548,572,829,879 'sync':292,296,302,335,788 'team':291,295,301,334,787 'text':118 'time':280,307,318,573,654,777 'timelin':813 'titl':283,308,319,376,559,601,655,711,716,725 'today':43,345 'today.md':258 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agents' 'topic-ai-skills' 'topic-awesome-list' 'topic-claude' 'topic-claude-ai' 'topic-claude-ai-skills' 'topic-claude-code' 'topic-claude-cowork' 'topic-claude-memory' 'topic-claude-skills' 'trigger':35 'truncat':714 'txt':400 'type':398 'unless':348 'unpars':315,765 'updat':892 'usag':736 'use':328,344,698,723 'user':145,184,350,618,691 'word':415 'workspac':18,80,123,214,357,367,390,497,519,869 'write':625 'yyyi':593 'yyyy-mm-dd':592","prices":[{"id":"fb751ec2-346a-43ef-a811-38ef26262a86","listingId":"bd752585-cc4e-4306-8e79-42c7012c7e86","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"KirKruglov","category":"claude-skills-kit","install_from":"skills.sh"},"createdAt":"2026-05-18T13:21:15.008Z"}],"sources":[{"listingId":"bd752585-cc4e-4306-8e79-42c7012c7e86","source":"github","sourceId":"KirKruglov/claude-skills-kit/meeting-prep-briefer","sourceUrl":"https://github.com/KirKruglov/claude-skills-kit/tree/main/skills/meeting-prep-briefer","isPrimary":false,"firstSeenAt":"2026-05-18T13:21:15.008Z","lastSeenAt":"2026-05-18T19:13:37.605Z"}],"details":{"listingId":"bd752585-cc4e-4306-8e79-42c7012c7e86","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"KirKruglov","slug":"meeting-prep-briefer","github":{"repo":"KirKruglov/claude-skills-kit","stars":7,"topics":["agent-skills","agentic-skills","ai","ai-agents","ai-skills","awesome-list","claude","claude-ai","claude-ai-skills","claude-code","claude-cowork","claude-memory","claude-skills","memory-management","productivity","productivity-tools","project-management"],"license":"mit","html_url":"https://github.com/KirKruglov/claude-skills-kit","pushed_at":"2026-05-18T04:27:46Z","description":"40+ curated agent skills for Claude Cowork and Claude.ai — ready-to-use tools for non-technical users: project management, productivity, and AI workflow automation","skill_md_sha":"2a876554c93a8151bfdf6a33aa00e27ddf35d36c","skill_md_path":"skills/meeting-prep-briefer/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/KirKruglov/claude-skills-kit/tree/main/skills/meeting-prep-briefer"},"layout":"multi","source":"github","category":"claude-skills-kit","frontmatter":{"name":"meeting-prep-briefer","description":"Generate a structured briefing document for each meeting of the day from local workspace files and a daily schedule — participants, context, and open questions in one brief. No integrations required. Triggers: 'meeting brief', 'prep my meetings', 'prepare for today's meetings', 'briefing for my calls today', 'бриф по встречам', 'подготовь встречи', 'бриф на встречи дня', 'что нужно знать перед встречами'."},"skills_sh_url":"https://skills.sh/KirKruglov/claude-skills-kit/meeting-prep-briefer"},"updatedAt":"2026-05-18T19:13:37.605Z"}}