Changelog
A running log of what I'm building, thinking, shipping, and learning.
Built a custom MCP server that gives Claude Code real-time access to all financial accounts via Copilot Money’s undocumented GraphQL API. Balances, credit card utilization, net worth history, spending breakdowns — all queryable as native tools. The CLI existed but didn’t expose balances, so we reverse-engineered the schema from the binary and built on top of it.
Installed Google Workspace CLI — can now go from a vault markdown file to a Google Sheet, Slides deck, or formatted email in one command. Previously, the only path to Google Workspace was browser automation — slow, brittle, breaks when the UI changes. The new scripts talk directly to Google’s API, so a markdown table becomes a formatted spreadsheet in seconds, not minutes of clicking through Chrome.
Built a data-grounded Consumer Insights section for a PMM brief. Strong output. Then discovered I’d been editing the wrong file — the brief format had changed and both files lived in the same folder. The fix isn’t “be more careful.” It’s one canonical file per deliverable, an Outputs folder for things that leave the vault, and updating the skill to know the new format exists. The bug was in the system, not the session.
Audited all 29 Claude Code skills against Anthropic’s official skill-building guide. Applied progressive disclosure — extracted sub-agent prompts and templates from the three largest skills into references/ folders, cutting token load by 40-60% per invocation. Improved description fields with trigger phrases and negative triggers to reduce skill collisions. Then analyzed actual usage across 167 sessions — 14 skills had never been invoked. Cut 8 that were either dead weight or thin wrappers around behavior already in CLAUDE.md. Down from 29 to 21 skills with no lost capability.
Reorganized the entire vault architecture and codified how PMM does positioning and messaging. New top-level structure separates what we know (Context), what guides us (Strategy), how we work (Operations), and what we’re delivering (Projects). Built a Positioning-Messaging Playbook with three framework options and two safeguards: a readiness check that refuses to generate messaging without minimum inputs, and an interview gate where the PMM chooses the creative approach. The system is designed so no one — including the AI — can skip the thinking.
Built /ingest — a command that reads any PDF from Downloads and synthesizes it into structured vault markdown. The key: Claude’s native PDF reader interprets visual layouts, reconstructs data tables, and preserves diagram relationships that text extractors flatten. A 39-page strategy deck becomes a clean, queryable context doc with slide references intact.
Added automatic git sync to the Claude Code session hooks. Pull on startup, commit and push on exit. The vault was always a git repo, but commits were manual and infrequent. Now it stays current across machines automatically, which is the foundation for any kind of collaboration — with another person or another agent.
Built a personal content publishing stack. A script that cross-posts drafts to Substack, X, and LinkedIn with staging controls so nothing goes live without approval. A header image generator that renders geometric compositions from a 49-shape library against the site’s palette. First article — “AI Isn’t a Category” — went through the full pipe from draft to publish-ready.
Built a full financial model by pulling 9 months of bank transactions into queryable files. Income, burn rate, assets, debt, equity, and exit scenarios — all searchable in natural language.
Connected Claude Code directly to Gmail, Google Calendar, and Drive. Read emails, listed this week’s events, and created a calendar invite with an attendee — all from the terminal.
Spent a session reworking the site’s animated icon. The octahedron’s spin axis now tilts and slowly precesses, so you see every face over time. Added acceleration, a bigger intro pulse, and a snappier collapse.
Built a tool that drafts changelog entries automatically at the end of a work session. It proposes what happened; I review and publish.
Launched yofriedman.com. Built with Astro, deployed on Vercel. Design system, four pages, dark mode. The site is a living changelog drafted by an agent and edited by me, capturing what I’m building with AI and why.
Reorganized the personal knowledge base. Created a Massachusetts AI Coalition project space, consolidated standalone files under one roof. The system keeps getting simpler as it gets smarter.
Moved all automation scripts into the main repository and synced them across machines. One less thing to maintain manually.
The valuable thing isn’t “AI enablement.” Nobody wakes up wanting to be AI-enabled. They want their invoices processed, their fleet tracked, their data visible. AI is the delivery mechanism. That reframe changed how I talk about what I do.
Delivered a statement at the Massachusetts AI Coalition kickoff as the co-lead of the Banners task force. The framing: this is not just a technology revolution, it is a human revolution. Technology friction is temporary. The enduring challenge is helping people unlock and build without fear.
The moat isn’t technical. Tools get easier. The moat is knowing what to build (domain judgment no tool provides), the human transfer (making someone believe they can do this), and carrying the message (writing, speaking, inspiring).
Refactored complex workflows so heavy research gets dispatched to background agents. They do the deep digging and return compressed briefs. The main conversation stays clean and focused. This is the pattern for every future complex workflow.
Connected Claude Code to my browser so it can interact with authenticated pages — Google Docs, Slides, dashboards, anything behind a login. The gap between “I need a document” and “here’s the document” is now a single command.
Installed a web clipper that converts any URL to a clean, searchable document in my notes. The gap between “I read something interesting” and “it’s in my system” is now about five seconds.
Built a system so AI sessions pick up where the last one left off. On start, the session loads recent context automatically. On end, it captures what happened and what’s unresolved. The insight: context continuity is the hardest problem in AI-augmented knowledge work. The solution is behavior design, not just tooling. Make the right thing the easy thing.
Moved task management into Linear, a real project management tool. Two systems, clear roles: Linear holds what to do and when. My notes hold why and what happened. Tasks in a purpose-built tool, context in files I own.
Added a local semantic search engine across 1,300+ documents — notes, meeting transcripts, project files. Searchable by meaning, not just keywords. Models run locally. I can now surface relevant context across years of work in under a second.
Built a pre-meeting prep tool. It scans my project files for the person I’m meeting with, reads past meetings with them, and generates a smart agenda. The prep work I used to spend 15 minutes on now happens in seconds.
Discovered that AppleScript doesn’t properly expand recurring calendar events. Rewrote the daily sync script using icalBuddy instead. Third rewrite of this script. The lesson: the first version of any automation is wrong. The value is in the iteration, not the initial build.
Documentation is not an artifact for onboarding. It is source code for knowledge work. In an era of capable AI, the opportunity cost of not having properly engineered context is enormous. This is the idea I keep coming back to.
Restructured how meeting notes work. The daily log became an index — brief summaries with links to longer notes — not a dumping ground. Recurring meetings, project meetings, and one-offs each route to their own place. The system scales now because the daily file stays lean and context lives where it’s useful.
Wrote a letter to a friend explaining the system I built and why she should build her own. The line that stuck: “English is a programming language now.”
The constraint in knowledge work is shifting from execution to context. AI can write a memo. It cannot write your memo without your institutional memory. The people who get the most leverage will have rich institutional memory, in a form AI can read, that they own.
Onboarded two people outside my company onto their own AI operating systems. Built a repeatable three-document framework: a vision spec, a setup guide, and an interactive onboarding doc that Claude executes like a program. Each onboarding took about 10 hours and produced a working system for a completely different business.