{"id":"82fe64ea-0d51-4d3a-809c-ced150e3564e","shortId":"LRWhAJ","kind":"skill","title":"foundation-meeting-synthesize","tagline":"Cross-meeting archaeology skill. Consumes multiple meeting recaps (or raw notes) over a period and surfaces patterns invisible in any single meeting. Shows how decisions evolved, who has been saying what, where threads are stalling, and where contradictions have emerged. Produces","description":"<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->\n# Meeting Synthesize\n\nMeeting synthesis is the archaeology skill for multi-meeting initiatives. It consumes a set of meeting recaps (and optionally raw notes) over a period, and surfaces patterns that no single meeting reveals: how decisions evolved, how stakeholder positions shifted, where threads are stalling, where contradictions have emerged.\n\nDistinct from `/discover-interview-synthesis`: that skill works on user-research conversations with research-specific frameworks (jobs-to-be-done, buying insights). This skill works on internal org meetings with org-specific patterns (stakeholder alignment, decision evolution, project history).\n\nThis skill belongs to the Meeting Skills Family. It conforms to the [Meeting Skills Family Contract](../../docs/reference/skill-families/meeting-skills-contract.md).\n\n## When to Use\n\n- Board prep or exec-brief preparation across a meeting sequence\n- Onboarding a new team member into the history of an initiative\n- Project retrospective input (the story of how we got here)\n- Investigating why a multi-meeting initiative has stalled\n- Quarterly review of a topic that has crossed many meetings\n- Surfacing contradictions that no single-meeting reviewer caught\n\n## When NOT to Use\n\n- Single-meeting summary. Use `/meeting-recap` instead.\n- Communicating outcomes outward. Use `/stakeholder-update`.\n- User research conversation synthesis. Use `/discover-interview-synthesis`.\n\n## Zero-friction execution\n\nPer the family contract, this skill never blocks on interrogation. Default flow:\n\n1. Load all provided source files (recaps preferred, raw notes accepted with lower input-quality flag)\n2. Apply any filters (time range, topic, stakeholder)\n3. Run inference on themes, stakeholder evolution, contradictions\n4. Present a brief inference summary (meeting count after filter, time range detected, per-source input quality, scope filter applied)\n5. Accept `go` or corrections\n6. Produce the synthesis\n\nIf invoked with `--go`, skip the inference summary. Format hints (`board-prep`, `onboarding`, `retro-input`, `exec-brief`) control output presentation without changing the underlying process.\n\n## Instructions\n\nWhen asked to create a meeting synthesis, follow these steps:\n\n1. **Load sources**\n   Read all provided recap filenames or note files. Parse frontmatter to extract meeting metadata. Note per-source input quality (recap frontmatter's `input_quality` if available; otherwise assess from content).\n\n   **Metadata source tracking** (v1.1.0): for each recap, also note the `meeting_type_source` field (`explicit | inferred | null`). When synthesizing across mixed sources, the synthesis must document the mix explicitly in the Scope section: \"meeting_type values: N explicit, M inferred, K null.\" This prevents non-reproducible results when filtering by meeting_type across a mix of confidence levels. If filtering by `meeting_type`, state whether the filter includes inferred values and how null values are handled.\n\n2. **Apply filters**\n   If time range, topic, or stakeholder filter provided, narrow the source set before proceeding. Record the filter applied in frontmatter `scope_filter`.\n\n3. **Present go-mode inference summary**\n   Meeting count after filter, time range detected from source metadata, per-source input quality levels, scope filter description.\n\n4. **Build the plain-text timeline**\n   Chronological order by `meeting_date`. Each entry shows date, meeting name, key decision or shift, and confidence or contradiction flag if applicable. Render as markdown (no binary images. must render everywhere).\n\n5. **Extract themes**\n   Cluster recurring topics across sources. For each theme, record description, sources where it appeared, and confidence marker tied to frequency (\"appears in 5/5 meetings\" → high; \"appears in 2/5 meetings\" → medium; \"mentioned in 1 meeting\" → low).\n\n6. **Track stakeholder positions**\n   For each named stakeholder across sources, record initial position → current position, alignment state (aligned / divergent / shifting), and key statements with dates. Flag confidence on each position based on whether it was direct-quoted or paraphrased.\n\n7. **Consolidate decisions**\n   Cross-meeting, sorted chronologically. Table format: Date | Decision | Context | Meeting | Confidence.\n\n8. **Separate decision evolution from unresolved contradictions** (v1.1.0)\n   Two distinct outputs, not one combined \"contradictions\" section:\n   - **Decision evolution** (resolved): earlier decision → later decision on the same topic, where the later one supersedes. This is historical context, not a red flag. No `⚠` emphasis.\n   - **Unresolved contradictions**: decisions or positions currently in conflict that need reconciliation. Use `⚠` visual emphasis. For each:\n     - Earlier reference (meeting + date + decision)\n     - Later reference (meeting + date + decision that conflicts)\n     - Status: unresolved / needs reconciliation\n   \n   The distinction matters because v1.0.0 conflated them, creating false-positive \"contradictions\" in exec contexts where the \"contradiction\" was actually intentional scope evolution.\n\n9. **Identify open items and stalled threads**\n   Topics surfacing 2+ times without resolution. When they last appeared.\n\n10. **Draft narrative summary**\n    2-3 paragraphs: what happened, what changed, where we are, what is at stake. The \"story\" of the meeting set.\n\n11. **Prioritize follow-up suggestions**\n    - High: unblocking now; suggested owner or forum\n    - Medium: important but not blocking\n    - Low: monitor\n    Each with rationale.\n\n12. **Apply format hint** (if provided)\n    One process generates the full synthesis data. The hint controls section ordering and truncation for the specific use case:\n    - `board-prep`: lead with narrative + contradictions + prioritized follow-ups; shorter timeline\n    - `onboarding`: lead with narrative + stakeholder tracking; full timeline\n    - `retro-input`: lead with themes + stalled threads + meeting-quality aggregate\n    - `exec-brief`: TL;DR + top 3 items only\n\n13. **Render TEMPLATE.md and validate**\n    - `source_meetings` list is non-empty\n    - `time_range.start` ≤ `time_range.end`\n    - Every theme has a confidence marker\n    - Every contradiction has before/after source citations\n    - At least 1 prioritized follow-up\n\n## Quality checklist\n\n- [ ] Source meetings listed with filename + date + per-source input quality\n- [ ] Time range populated and sensible\n- [ ] Scope filter described (or \"none applied\")\n- [ ] Timeline is plain-text markdown (no binary images)\n- [ ] Themes include confidence markers tied to frequency\n- [ ] Stakeholder position tracking shows evolution (initial → current), not just snapshot\n- [ ] Consolidated decision list is chronological with source citations\n- [ ] Contradictions are flagged in their own first-class section (not buried)\n- [ ] Narrative summary is 2-3 paragraphs, not bullets\n- [ ] Follow-ups are prioritized (High / Medium / Low) with rationale\n- [ ] Frontmatter omits single-meeting fields (meeting_title, meeting_date, etc.)\n- [ ] Sources and References weights input quality across sources\n\n## See also\n\n- [Meeting Skills Family Contract](../../docs/reference/skill-families/meeting-skills-contract.md)\n- [`/meeting-recap`](../foundation-meeting-recap/SKILL.md). upstream: primary input source\n- [`/discover-interview-synthesis`](../discover-interview-synthesis/SKILL.md). sibling pattern for user-research conversations (different domain)","tags":["foundation","meeting","synthesize","skills","product-on-purpose","agent-skills","ai-skills","claude-code","claude-desktop","openskills","product-management","skill-families"],"capabilities":["skill","source-product-on-purpose","skill-foundation-meeting-synthesize","topic-agent-skills","topic-ai-skills","topic-claude-code","topic-claude-desktop","topic-openskills","topic-product-management","topic-skill-families","topic-triple-diamond"],"categories":["pm-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/product-on-purpose/pm-skills/foundation-meeting-synthesize","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add product-on-purpose/pm-skills","source_repo":"https://github.com/product-on-purpose/pm-skills","install_from":"skills.sh"}},"qualityScore":"0.538","qualityRationale":"deterministic score 0.54 from registry signals: · indexed on github topic:agent-skills · 176 github stars · SKILL.md body (7,549 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-02T12:54:12.398Z","embedding":null,"createdAt":"2026-04-18T22:09:21.656Z","updatedAt":"2026-05-02T12:54:12.398Z","lastSeenAt":"2026-05-02T12:54:12.398Z","tsv":"'-3':770,986 '/../docs/reference/skill-families/meeting-skills-contract.md':154,1025 '/discover-interview-synthesis':99,239,1032 '/discover-interview-synthesis/skill.md':1033 '/foundation-meeting-recap/skill.md':1027 '/meeting-recap':227,1026 '/stakeholder-update':233 '1':256,358,593,907 '10':765 '11':789 '12':812 '13':879 '2':273,469,757,769,985 '2/5':588 '3':281,494,876 '4':289,520 '5':310,558 '5/5':583 '6':315,596 '7':636 '8':651 '9':748 'accept':266,311 'across':165,411,445,564,604,1017 'actual':744 'aggreg':869 'align':133,611,613 'also':399,1020 'appear':574,581,586,764 'appli':274,309,470,489,813,935 'applic':548 'archaeolog':8,53 'ask':349 'assess':389 'avail':387 'base':626 'before/after':902 'belong':140 'binari':553,943 'block':251,806 'board':158,330,838 'board-prep':329,837 'brief':163,292,338,872 'build':521 'bullet':989 'buri':981 'buy':118 'case':836 'caught':217 'chang':343,775 'checklist':913 'chronolog':527,643,966 'citat':904,969 'class':978 'cluster':561 'combin':664 'communic':229 'confid':449,543,576,622,650,897,947 'conflat':730 'conflict':700,720 'conform':147 'consolid':637,962 'consum':10,61 'content':391 'context':648,686,739 'contract':153,247,1024 'contradict':43,94,210,288,545,657,665,694,736,742,843,900,970 'control':339,827 'convers':107,236,1040 'correct':314 'count':296,502 'creat':351,732 'cross':6,206,640 'cross-meet':5,639 'current':609,698,958 'data':824 'date':531,535,620,646,712,717,919,1009 'decis':30,83,134,539,638,647,653,667,671,673,695,713,718,963 'default':254 'describ':932 'descript':519,570 'detect':301,507 'differ':1041 'direct':632 'direct-quot':631 'distinct':97,660,726 'diverg':614 'document':417 'domain':1042 'done':117 'dr':874 'draft':766 'earlier':670,709 'emerg':45,96 'emphasi':692,706 'empti':890 'entri':533 'etc':1010 'everi':893,899 'everywher':557 'evolut':135,287,654,668,747,956 'evolv':31,84 'exec':162,337,738,871 'exec-brief':161,336,870 'execut':243 'explicit':406,420,429 'extract':372,559 'fals':734 'false-posit':733 'famili':145,152,246,1023 'field':405,1005 'file':261,368 'filenam':365,918 'filter':276,298,308,441,452,459,471,478,488,493,504,518,931 'first':977 'first-class':976 'flag':272,546,621,690,972 'flow':255 'follow':355,792,846,910,991 'follow-up':791,845,909,990 'format':327,645,814 'forum':801 'foundat':2 'foundation-meeting-synthes':1 'framework':112 'frequenc':580,951 'friction':242 'frontmatt':370,382,491,1000 'full':822,856 'generat':820 'go':312,322,497 'go-mod':496 'got':188 'handl':468 'happen':773 'high':585,795,995 'hint':328,815,826 'histor':685 'histori':137,176 'identifi':749 'imag':554,944 'import':803 'includ':460,946 'infer':283,293,325,407,431,461,499 'initi':59,179,196,607,957 'input':182,270,305,335,379,384,514,860,923,1015,1030 'input-qu':269 'insight':119 'instead':228 'instruct':347 'intent':745 'intern':124 'interrog':253 'investig':190 'invis':23 'invok':320 'item':751,877 'job':114 'jobs-to-be-don':113 'k':432 'key':538,617 'last':763 'later':672,680,714 'lead':840,851,861 'least':906 'level':450,516 'list':886,916,964 'load':257,359 'low':595,807,997 'lower':268 'm':430 'mani':207 'markdown':551,941 'marker':577,898,948 'matter':727 'medium':590,802,996 'meet':3,7,12,27,47,49,58,65,80,126,143,150,167,195,208,215,224,295,353,373,402,425,443,454,501,530,536,584,589,594,641,649,711,716,787,867,885,915,1004,1006,1008,1021 'meeting-qu':866 'member':173 'mention':591 'metadata':374,392,510 'mix':412,419,447 'mode':498 'monitor':808 'multi':57,194 'multi-meet':56,193 'multipl':11 'must':416,555 'n':428 'name':537,602 'narrat':767,842,853,982 'narrow':480 'need':702,723 'never':250 'new':171 'non':437,889 'non-empti':888 'non-reproduc':436 'none':934 'note':16,70,265,367,375,400 'null':408,433,465 'omit':1001 'onboard':169,332,850 'one':663,681,818 'open':750 'option':68 'order':528,829 'org':125,129 'org-specif':128 'otherwis':388 'outcom':230 'output':340,661 'outward':231 'owner':799 'paragraph':771,987 'paraphras':635 'pars':369 'pattern':22,76,131,1035 'per':244,303,377,512,921 'per-sourc':302,376,511,920 'period':19,73 'plain':524,939 'plain-text':523,938 'popul':927 'posit':87,599,608,610,625,697,735,953 'prefer':263 'prep':159,331,839 'prepar':164 'present':290,341,495 'prevent':435 'primari':1029 'priorit':790,844,908,994 'proceed':485 'process':346,819 'produc':46,316 'project':136,180 'provid':259,363,479,817 'qualiti':271,306,380,385,515,868,912,924,1016 'quarter':199 'quot':633 'rang':278,300,474,506,926 'rational':811,999 'raw':15,69,264 'read':361 'recap':13,66,262,364,381,398 'reconcili':703,724 'record':486,569,606 'recur':562 'red':689 'refer':710,715,1013 'render':549,556,880 'reproduc':438 'research':106,110,235,1039 'research-specif':109 'resolut':760 'resolv':669 'result':439 'retro':334,859 'retro-input':333,858 'retrospect':181 'reveal':81 'review':200,216 'run':282 'say':35 'scope':307,423,492,517,746,930 'section':424,666,828,979 'see':1019 'sensibl':929 'separ':652 'sequenc':168 'set':63,483,788 'shift':88,541,615 'shorter':848 'show':28,534,955 'sibl':1034 'singl':26,79,214,223,1003 'single-meet':213,222,1002 'skill':9,54,101,121,139,144,151,249,1022 'skill-foundation-meeting-synthesize' 'skip':323 'snapshot':961 'sort':642 'sourc':260,304,360,378,393,404,413,482,509,513,565,571,605,884,903,914,922,968,1011,1018,1031 'source-product-on-purpose' 'specif':111,130,834 'stake':782 'stakehold':86,132,280,286,477,598,603,854,952 'stall':40,92,198,753,864 'state':456,612 'statement':618 'status':721 'step':357 'stori':184,784 'suggest':794,798 'summari':225,294,326,500,768,983 'supersed':682 'surfac':21,75,209,756 'synthes':4,48,410 'synthesi':50,237,318,354,415,823 'tabl':644 'team':172 'template.md':881 'text':525,940 'theme':285,560,568,863,894,945 'thread':38,90,754,865 'tie':578,949 'time':277,299,473,505,758,925 'time_range.end':892 'time_range.start':891 'timelin':526,849,857,936 'titl':1007 'tl':873 'top':875 'topic':203,279,475,563,677,755 'topic-agent-skills' 'topic-ai-skills' 'topic-claude-code' 'topic-claude-desktop' 'topic-openskills' 'topic-product-management' 'topic-skill-families' 'topic-triple-diamond' 'track':394,597,855,954 'truncat':831 'two':659 'type':403,426,444,455 'unblock':796 'under':345 'unresolv':656,693,722 'up':847,992 'upstream':1028 'use':157,221,226,232,238,704,835 'user':105,234,1038 'user-research':104,1037 'v1.0.0':729 'v1.1.0':395,658 'valid':883 'valu':427,462,466 'visual':705 'weight':1014 'whether':457,628 'without':342,759 'work':102,122 'zero':241 'zero-frict':240","prices":[{"id":"93cf66b7-1d96-483a-b1ad-e52dabc072ae","listingId":"82fe64ea-0d51-4d3a-809c-ced150e3564e","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"product-on-purpose","category":"pm-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T22:09:21.656Z"}],"sources":[{"listingId":"82fe64ea-0d51-4d3a-809c-ced150e3564e","source":"github","sourceId":"product-on-purpose/pm-skills/foundation-meeting-synthesize","sourceUrl":"https://github.com/product-on-purpose/pm-skills/tree/main/skills/foundation-meeting-synthesize","isPrimary":false,"firstSeenAt":"2026-04-18T22:09:21.656Z","lastSeenAt":"2026-05-02T12:54:12.398Z"}],"details":{"listingId":"82fe64ea-0d51-4d3a-809c-ced150e3564e","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"product-on-purpose","slug":"foundation-meeting-synthesize","github":{"repo":"product-on-purpose/pm-skills","stars":176,"topics":["agent-skills","ai-skills","claude-code","claude-desktop","openskills","product-management","skill-families","triple-diamond"],"license":"apache-2.0","html_url":"https://github.com/product-on-purpose/pm-skills","pushed_at":"2026-04-24T22:54:13Z","description":"Curated, plug-and-play product management skills for AI agents. 38 skills across Triple Diamond phases plus foundation (lean canvas, persona, meeting lifecycle family) and utility (create, validate, iterate). Templates, workflows, thread-aligned samples, CI-enforced skill-family contracts. Apache 2.0.","skill_md_sha":"d73764662f09f55825e680ab10368542ebb86fa0","skill_md_path":"skills/foundation-meeting-synthesize/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/product-on-purpose/pm-skills/tree/main/skills/foundation-meeting-synthesize"},"layout":"multi","source":"github","category":"pm-skills","frontmatter":{"name":"foundation-meeting-synthesize","license":"Apache-2.0","description":"Cross-meeting archaeology skill. Consumes multiple meeting recaps (or raw notes) over a period and surfaces patterns invisible in any single meeting. Shows how decisions evolved, who has been saying what, where threads are stalling, and where contradictions have emerged. Produces a plain-text timeline, themes with confidence markers, stakeholder position tracking, consolidated decision list, contradiction flags, open items, narrative summary, and prioritized follow-ups."},"skills_sh_url":"https://skills.sh/product-on-purpose/pm-skills/foundation-meeting-synthesize"},"updatedAt":"2026-05-02T12:54:12.398Z"}}