gasserane/personal-skills

meeting-notes

Turn Ane''s meetings, 1-1s and document review cycles into structured IPPF-branded meeting notes from any capture method (dictation, notebook photo or scan, recording, Teams transcript, margin comments/marginalia in a .docx), and prepare the next one. Use for meeting notes, minutes, 1-1 debrief or prep, or extracting decisions from a commented document. Not for importing typed claude.ai sessions (capture-desktop), options papers (decision-memo), personal reflection (journal-reflection), daily p…

First seen Jul 16, 2026

Installation

$ npx skills add gasserane/personal-skills --skill meeting-notes

Summary

  • Turn Ane''s meetings, 1-1s and document review cycles into structured IPPF-branded meeting notes from any capture method (dictation, notebook photo or scan, recording, Teams transcript, margin comments/marginalia in a .docx), and prepare the next one.
  • Use for meeting notes, minutes, 1-1 debrief or prep, or extracting decisions from a commented document.
  • Not for importing typed claude.ai sessions (capture-desktop), options papers (decision-memo), personal reflection (journal-reflection), daily planning (daily-brief), research video analysis (video-content-analysis), or editing the reviewed document itself (office-review-pass; tor-procurement finalise for a ToR).

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from gasserane/personal-skills · top by installs.

npx skills add gasserane/personal-skills

Browse all from gasserane/personal-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 2
Default branch main
Open issues 0
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Declared agents claude-code

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 9,324 B
  • docs SUMMARY.md 3,981 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 246 installs

SKILL.md

Meeting Notes

One skill for the full 1-1 and meeting-note lifecycle: prep → meeting → dictated or photographed notes → shareable learning document → next prep. The modes share one file convention, so each meeting's outputs become the next meeting's inputs.

Not every meeting is a meeting. A ToR or implementation-plan review cycle settles decisions in the margins of a document, and those need the same note, the same action tables and the same tracker row as a call would. That is the marginalia mode.

Mode selection

Signal from Ane Mode Read
"I want to dictate", "debrief my meeting/1-1", spoken-style topic summaries Dictated notes references/dictation-mode.md
"prep my 1-1", "prepare my meeting with [manager]", "what do I owe Lena" 1-1 prep references/prep-mode.md
Image or scan paths + "draft notes from this photo/scan", handwritten notes Handwritten notes (photo/scan) references/photo-mode.md
A voice/video recording file, or a transcript (Teams .vtt/.docx, txt) Recordings and transcripts references/transcript-mode.md
A reviewed .docx whose decisions sit in comments: "the decisions are in the comments", "marginalia", "turn the review comments into notes" Document marginalia references/marginalia-mode.md
"learning document", "shareable summary of this meeting" + a finished note Learning document references/learning-document-mode.md

Read only the reference file for the selected mode. If the mode is ambiguous, ask in one line; do not guess between prep and notes. Any other capture method (chat log, email thread as minutes, whiteboard photo) normalises to text and then follows references/transcript-mode.md from step 2, so every way a meeting gets captured has a route into the same note structure.

Shared rules (all modes)

Storage. Recurring 1-1 notes and preps live in C:/Users/AGasser/OneDrive/1. Ane's PROJECTS/Ane Plans/. Project-meeting notes live in the project folder Ane names. Naming: Meeting note - Ane-<counterpart> - YYYY-MM-DD.md and 1-1 prep - Ane-<counterpart> - YYYY-MM-DD.md. The .md is the source of truth; the .docx is generated from it, never dual-edited.

Factual reliability. Dictation and handwriting garble names, numbers and dates first (this is why the interview exists). Never guess or "correct" a name from a pattern: confirm it with Ane or verify it against a context document. Known-correct facts come from ~/.claude/CLAUDE.md, memory, or the project folder; everything unverifiable gets flagged ⚠️ and asked.

Milestone writes. Draft and correct in conversation; write files only at confirmed milestones (all topics confirmed, prep sheet approved). One write, not one per message.

Note structure (the proven template, settled 2026-07-16):

  1. Header: date, participants, type line, topic list with stable tags (T1, T2, ...). Keep tags stable across notes so T1 always means the same workstream for a given counterpart. Write Participants: as a plain comma-separated list of names with no commas inside parentheses: update_tracker.py derives the counterpart by splitting that line on commas and taking the first non-Ane entry, so a role gloss like Ane Gasser (IPPF EN, technical lead), Lena ... parses the counterpart as technical and writes it into every action, decision and pending row. Put role glosses on a separate Roles: line.
  2. ## Next actions at a glance: two deadline-sorted tables (Deadline | Topic | Action), one for Ane, one for the counterpart ("to chase"). Deadline-sorted because "what do I owe today" is the question the note gets reopened for. Actions owned by third parties go into the table of whoever chases them (Ane or the counterpart), with the actual owner named in the Action cell.
  3. Per topic ## T<n> - <name>, each with ### Key takeaways (max 5 synthetic bullets), ### Decisions (confirmed only), ### Next steps (Ane / counterpart, with deadlines), ### Open / parked (each item with the trigger date or event that should resurface it). Omit ### Open / parked entirely when a topic has nothing parked. Never write a placeholder like "Nothing parked."update_tracker.py parses every bullet under that heading as a real pending item, so a placeholder becomes a row in the Pending tab that says nothing and cannot be actioned. Proven 2026-09-08: two placeholder bullets became two Pending rows, and because the updater only appends, clearing them meant deleting rows and resizing the table ref by hand.
  4. Footer: preparation provenance with AI-support disclosure.

Register and voice. Tier 1 working record: plain English, active voice, sentences under 25 words, no em-dashes anywhere in the output, numbers and dates explicit. Decisions are numbered so they can be cited later ("T3 decision 2, 16 Jul").

Word output. Meeting notes use the letterhead template, not the general one (Ane's decision, 2026-09-08): the logo and address block appear on page 1 only, and pages 2 onward carry a clean header. Generate the .docx from the .md via anepackage.reporting.wordexport.writewordreport(template="letterhead") when the note shape fits its layout; for table-heavy notes build directly with python-docx using anepackage.reporting.brand.IPPFFORMAT_TEMPLATE constants (Barlow Medium, dream #00313C headings-on-red #EB3300 titles, dream header rows). Never hard-code off-brand colours or fonts.

When building directly, mirror writewordreport's own letterhead branch exactly, in this order: openbrandedbase(), sections[0].differentfirstpageheaderfooter = True, addpillarfooter(), restrictheadertofirstpage(), ensurebrandstyles(). Do not call applya4portrait (the base already holds page setup) and do not call addlogoheader (the base already carries the logo in its default header, so adding one stamps a second logo and leaves the address block repeating on every page). Verify by reopening the file: w:titlePg present, the first-page header holding the images, and the default header holding none.

Three gotchas, each proven by a failed build:

  • The IPPFFORMATTEMPLATE colour constants carry a leading #, which is invalid inside OOXML colour attributes (w:shd fill, w:color) — Word silently drops the shading (2026-09-03). Strip the # before writing any raw XML colour value; wordexport.hextorgb already handles it for run colours.
  • The stripped letterhead base carries no built-in Word styles, so table.style = "Table Grid" raises KeyError: "no style with name 'Table Grid'" (2026-09-08). This is the same trap wordexport.addbullet documents for List Bullet, and it hits every table-heavy note, which is the path this rule prescribes. Draw gridlines by appending a w:tblBorders element to table.tbl.tblPr instead of assigning a style.
  • Long heredocs fail in Bash because the note folder path contains an apostrophe (1. Ane's PROJECTS) (2026-09-08). Drive the write from a Python script held outside OneDrive, which the OneDrive write-and-commit rule wants anyway.

Edit preservation. Apply mel_wiki/wiki/concepts/edit-preservation-protocol.md when target file exists. In particular: once Ane hand-edits a generated .docx, that .docx becomes authoritative; subsequent changes are targeted python-docx edits, never regeneration from the .md.

Privacy. Meeting notes are personal working records: names may appear in them. Anything shareable (the learning document, or a note Ane says she will send) follows summary-anonymisation: roles and organisation types, not names, and internal analysis sections dropped. Never quote 5 JURNAL vault content.

Centralised action tracker. Every confirmed note also feeds one Excel workbook (Ane Plans/Meeting actions tracker.xlsx): one tab per person for actions with deadline and status, a Decisions log, and a Pending tab for parked items. Run scripts/update_tracker.py as the last step of any note-producing mode; it only appends (stable IDs, idempotent), so Ane's manual Status and Progress edits are never touched. Details: references/action-tracker.md. Prep mode reads this tracker for its status pass; the tracker's Status column beats the older note text.

Memory close-out. After a note is confirmed, offer to persist durable project facts (confirmed decisions, changed budgets, new deadlines) to auto-memory, updating existing project memories rather than duplicating. The note captures the meeting; memory carries what future sessions must know.