If someone tells you "MCPs are dead" or "CLIs are overhyped," they're missing bigger picture. I use Skills, CLIs, and MCPs, and the mix is completely different between my personal and work setups. My personal and work AI setups use the same three primitives: skills, CLIs, and MCPs, but the mix is completely different. Personal: 12 skills, a handful of CLIs, direct API integrations, 4 MCP servers.…
TL;DR: I made a Skill that reliably gets Claude to generate PDFs using LaTeX. Professional bar charts, vector graphics, proper typography. Works on mobile too: LLMs are really good at LaTeX. Now when I ask Claude to "create a PDF of my solar production data", it produces professional bar charts comparing monthly production vs consumption, a net grid exchange chart, summary tables, seasonal…
TL;DR: iOS Shortcuts + Cloudflare Worker + GitHub Actions = automatic Apple health data sync. No third-party apps, full control over your data. When I ask Claude "how's my recovery?" it actually knows: HRV trending up at 53ms, sleep has been short at 6.7 hours, haven't run in 2 days. This comes from Apple Health data synced automatically to my git repo. Getting here was harder than expected. Apple…
TL;DR: Use auto-logging instructions to turn Claude Code from a chat tool you use into a personal AI agent that learns and remembers automatically so that every conversation compounds. I've been running my personal life through Claude Code for a few weeks now, and one instruction is key to how the whole system works: auto-logging. Instead of Claude asking what to track and where to put it, it…
TL;DR: Model Context Protocol (MCP) decouples an agent’s intelligence (chat/reasoning loop) from its tools (connectors that read data or take actions). With a common, open interface, any capable AI can discover and call any MCP-compatible tool. This unlocks consumer client consolidation, composability for enterprise AI deployments, and a new distribution channel for developers. We've been building…
TL;DR: We share three engineering patterns which are import for MCPs / AI tool integrations: dynamic error handling with recovery hints, schema observation tools, and well-typed execution environments. We've been building AI agents at Lutra that connect to real-world applications, and have learned that the hardest apps to work with are the ones where users can customize everything. When you…
TL;DR: Giving LLMs the full output of tool calls is costly and slow. Output schemas will enable us to get structured data, so we can let the LLM orchestrate processing with generated code. Tool calling in code is simplifying and effective. One common practice for working with MCP tools calls is to put the outputs from a tool back into the LLM as a message, and ask the LLM for the next step. The…