Sam wanted to solve two problems: (1) sessions keep ending without getting exported to the Notion Knowledge Base, breaking continuity across sessions, and (2) there are roughly 30 historical handoff docs scattered across the Projects repo that never made it into Notion. He also wanted a navigable index for the growing Knowledge Base.
The session used the skill-creator workflow to design, draft, dry-run test, and review a new skill called notion-session-sync.
Created notion-session-sync with three modes:
Auto-Sync (Mode 1): Runs on a twice-daily schedule (8am and 8pm). Uses list_sessions and read_transcript to find recent sessions, cross-references against existing Notion Knowledge Base entries via notion-search, generates full exports for any missing sessions, pushes them to Notion, and archives markdown copies to ~/Documents/cowork-session-files/.
Backfill (Mode 2): One-time catch-up run. Recursively finds all HANDOFF-*.md files in the Projects repo, reads their content, checks for existing Notion entries to avoid duplicates, generates entries for each, and archives source files to ~/Documents/cowork-session-files/backfill/. Originals stay in place.
Index Maintenance (Mode 3): Every sync run updates a standalone Notion page that acts as a table of contents for the Knowledge Base. Two sections: "Recent Sessions" (last 20, reverse chronological) and "By Project" (grouped by project tag with one-line entries linking to the full pages).
Ran all three modes as dry runs (no actual Notion writes):
Auto-sync test: Found 15 recent sessions (of 288 total), cross-referenced against 25+ existing Notion entries. Identified 12 sessions missing from Notion (2 skipped as still running). Generated sample entries for "Skills Library Sync" and "Improve AI Visibility Auditor Skill" with full properties and body content. The output quality was good: entries included session overview, what was accomplished, open issues, and pickup prompts.
Backfill test: Found 30 HANDOFF files across the repo. About 5 already have probable matches in Notion. Identified 3 pairs of potential duplicates (same filename in different folders). Estimated 20-22 new entries needed. Flagged 4 undated files requiring date estimation from content. Generated a sample entry for "Daily Audit System" from HANDOFF-daily-audit-system-2026-03-19.md.
Index test: Built the full directory page from current Notion data. Website dominates (14 entries), Litify has 5, SEO has 8 (cross-tagged). Found that the Notion search API returns max 25 results, so a full rebuild needs pagination via notion-query-database-view rather than search alone.
The SKILL.md was saved to Projects/Skills/ops-notion-session-sync/SKILL.md (canonical location). Sam needs to sync it to .claude/skills/ on his Mac for it to be available in future sessions.
Static HTML eval viewer saved to Projects/notion-session-sync-review.html with all three dry-run reports for Sam to review.
Subagent-based parallel test runs failed because the system prompt context (all the MCP tools) made the inherited prompt too large. Switched to inline sequential testing, which worked fine.