AI Tooling

A production-used AI tooling stack built around Claude Code, Telegram, and autonomous agents, made to keep AI-assisted software work reliable enough to run a real one-person studio.

What building these involved

  • The messy parts of AI-assisted development that do not show up in demos: context routing, failure recovery, tool boundaries, evaluation, memory, and human review surfaces.
  • Thin, durable interfaces around fast-moving model capabilities, instead of treating models as magic.
  • Turning personal workflow pain into reusable software: plugins, skills, bridges, hooks, logs, and protocols.

Plugins for Claude Code

Synodic Kit /Claude Code Plugin

synodic-kit

My personal Claude Code plugin, and the substrate everything else loads through. The skills span Apple-platform release automation, image generation, spaced-repetition study decks, Hugo web previews, and PocketBase backends; lifecycle hooks enforce the safety rules that make the rest trustworthy. The patterns matter more than the configuration. Most opinionated, most useful piece in the stack. Read more →

Inline Relay /Code Review Plugin

inline-relay

A Claude Code plugin for code review conversations that live inside the source files themselves. AUTHOR comments, AGENT responses, threads versioned with git, mechanical formatting enforced by an MCP server. Read more →

Generative AI

Macro Kiwi /Claude Code Skill

A self-contained CLI skill that gives Claude Code the gen-AI it does not ship with: image generation through OpenAI, image editing through Google’s Nano Banana, GPT-4o vision, and an OpenAI escape hatch for the rare cases where you specifically want a non-Claude model. It started as an MCP server and moved to a skill, so there is no server to keep running. Read more →

Output filtering

Model Output Protocol /Output Filter

A filtering layer that sits between an agent and its human and enforces communication rules before any message ships. The name, Model Output Protocol, is a wink at MCP and nothing more. Voice and behavior rules move out of the system prompt, where they decay, into a gate every message passes through on its way to me. Built for Patchbay Relay’s cc-sdk-mop harness. Read more →

Bridges and Interfaces

Patchbay Relay /Telegram Bridge

Patchbay Relay

The Telegram bridge that puts AI coding agents on a phone. Multi-project routing, agent identity loading, crash recovery, and a pluggable harness layer (cc-sdk, cc-sdk-mop, pi). Alpha and no longer developed now that I run Hermes, but the writeup is the clearest tour of the headless-first design. Read more →

Tappable Links /Cloudflare Worker

A tiny Cloudflare Worker that wraps custom URL schemes (obsidian://, things://, calshow:) in plain https:// links, so an agent can send a one-tap link straight into a native app from a chat message. Built for the headless Telegram workflow, useful anywhere a chat app refuses to render a custom scheme. Read more →

Code Quality

Swift Quality Tools /SwiftLint Toolkit

swift-quality-tools

Twelve custom Swift lint rules built on SwiftSyntax AST analysis, plus three smart CLI wrappers that find their config automatically. Architectural constraints that text-pattern linters cannot express. Read more →

Logging and Observability

Edit Logging /SQLite Logger

Edit logging

Every Edit and Write tool call written to a centralized SQLite database with vector search on top. The most useful artifact the synodic-kit plugin produces, in retrospect. Read more →

Pipelines and Automation

Career Pipeline /Job-Search Engine

Career Pipeline

A headless job-search scout that runs on a schedule. It gathers postings from email alerts, ATS boards, and a job site; runs each through a staged gate system with early-return kill logic; scores the survivors for story fit and ranks them by similarity to a set of exemplar roles; and ships one grouped Telegram digest a day. The interesting work was the judgment around the gates: freshness should not bury a great-but-older role, and a logistics flag is not a fitness problem. Read more →

Personal Agents

Fanta /Multi-Agent System

Fanta

The multi-agent system that sits on top of all of this and runs my studio: a fleet of specialized Claude Code agents with their own identity, memory, and heartbeat, talking to each other through a local message bus and reporting through Telegram and Cobalt (my Obsidian vault). Read more →


The whole stack lives mostly on a Mac Mini in another room of the house. Every interaction with it goes through Telegram. The system is opinionated to a specific person, but the patterns are portable.

For the system-level writeup of how all these pieces compose into a working studio, see Running a software studio from a phone.