- Building the missing toolbelt for Claude Code: captain-hook for declarative hooks, cc-pool for account pooling, cc-review for reviewing Claude's diffs in a PR-style web UI, cc-transcript for typed transcripts, and slop-cop to catch AI-flavored prose β and now to rewrite it, with a
plainifypass that puts prose into plain English under word and vocabulary constraints - Turning design docs into something you can interrogate: the
design-docskill in cc-skills went v0.12.0 to v0.16.0 in three days β a summary deck and Mermaid overview diagrams, term hover and a plain-language twin beside every section, then an Ask bar over the whole document whose follow-ups stay grounded in the doc, whose cites preview the evidence they lean on, and whose every doc now makes exactly one argument. A doc is now something you can talk back to as well: reader comments arrive as margin threads anchored to the quote they mark, queue through an append-only outbox, and land as pull requests that merge themselves. That machinery has since become shared substrate: v0.17.0 builds design-doc's template, scripts, and component schemas from canonical partials, and the newincident-retroskill rides the same partials β one canonicalretro.jsonbeside committed evidence snapshots (Datadog notebooks, Slack threads, images) rendering as an interactive retro with Markdown and PDF editions, TTD/TTE/TTM/TTR tiles derived from timestamps alone, and a Google Docs importer that records every guess it made rather than smoothing the narrative - Converging those pieces into one session-activity platform β typed events, a decision ledger, and now a
corpuscommand in cc-transcript, so one sweep answers a hundred questions instead of one, with captain-hook as its hook runtime. Both sides now read a relay envelope as agent-injected, so a relay stops opening a turn in cc-transcript and stops counting as an authored prompt in captain-hook, whose dispatch judges lane tool events against the lane transcript rather than the parent's task, scales its budget to live sessions, reads its version from Info.plist rather than exec'ing capt-hookd, and digests settings down to the enablement keys β so a busy machine stops blocking hooks, no hook pays two execve for a string, and settings churn stops costing every root a 3.3s spawn β and building cc-orchestrate into a pure-Go CLI that runs fleets of agents across pluggable backends like cmux, superset, tmux, and zellij, each with an AgentProber liveness check for long-lived, keep-alive sessions β with cc-vigil, a transcript-oracle sleep inhibitor, keeping the Mac awake only while those agents are truly working - Running the whole cc-* fleet on shared substrate: daemonkit for daemon lifecycle β one macOS-only Serve/Client/Control surface, one schema generating the frame codec for both Go and Swift behind a drift gate, and no byte reaching a peer whose code identity hasn't been judged. captain-hook, cc-pool, cc-notes, cc-interact, fusekit, cookiesync, synckit, cc-orchestrate, cc-present, cc-review, cc-runtime, and cc-squash have all moved onto it, each stating a deadline budget at every choke point; v0.22 took the socket path out of a spawned child's argv entirely β the child inherits its session on fd 3 β and v0.23 has since moved every daemon's private state under
~/.daemonkit/a/<label>, with HelperPaths no longer deriving the socket at all. With v0.23 in, the fleet has deleted what it made obsolete: daemonkit retiredRemoveUnmarkedand itsErrMarkedsentinel, the deprecated launchdSessionTypeAPI, the legacy bbolt sweep, the pre-rename metadata migration, and the markerless-plist fallback, and synckit dropped its pre-v0.21 LaunchAgent sweep β while every agent plist now renders a Homebrew-first PATH. v0.24 has since let aversion.fileread the host's version without a spawn and taught gc to prune the tool store, with binrun repinned onto it the same day - Cutting that substrate through to releases: cc-review has cut 0.36.0 β daemonkit v0.23.0 underneath, cc-interact v0.33.0's subprocess-free Root above it, and a daemon that chains turn starts when no review is open β while cc-runtime cut 0.18.0 onto the same surface, cc-orchestrate runs its pty hosts as Serve products under one Daemon, and binrun gates every release on a tag resolving to one exact commit on main
- Teaching cc-context to ship the way I actually branch:
ccx vcs stackdrives a Graphite stack that spans one working copy per branch β restacking one spread across working copies instead of refusing it, pinning every child to its own copy andgt trackto its branch, and running a repo's hooks only where CI never will. Those paths have since moved off the gt CLI: the stack is read from Graphite's own database, the downstack submits over Graphite's API, and a refusal carries what Graphite actually said β withccx vcs statusreading the merge queue through gt to reconstruct the snapshot no GitHub field carries, catching a branch reparented out from under its PR, submitting one whose work is already committed instead of refusing it, and no longer telling a--no-commitship to re-run the command that just failed. Restack has since moved ontogit replay, so a branch another worktree holds can no longer stop the stack, a merged decline from gt gets read rather than dropped, and the submit anchors on the remote trunk so it drops the branches Graphite already holds. v0.57.0 has since taught the submit to open one pull request per Graphite call, the way gt does, to ship a path-scoped change whose paths are already committed, and to report a failed--amendrather than pushing the un-amended commit - Running cc-sentiment, an open experiment in whether developer sentiment with Claude Code tracks the model, the tooling, or just the time of day
- Self-hosting yclaw, an always-on, reproducible Apple Silicon home server for the Nous hermes-agent β gVisor-sandboxed and tailnet-only, so the agent never touches your credentials
- Engineer & CEO at Aneta
Recent activity
2026-09-08Pushed to yasyf/cc-context β fixed graphite submit to open one pull request per call, the way gt does2026-09-08Was active in yasyf/cc-skills2026-09-08Worked on a pull request in yasyf/cc-skills β stopped the actions table re-booting the GitHub resolver on every chip2026-09-08Created something new in yasyf/cc-skills β the gh-fix branch, carrying design-doc v0.17.1 and incident-retro v0.1.12026-09-07Pushed to yasyf/cc-skills β landed design-doc v0.17.0 and incident-retro v0.1.0 on partials the two now share2026-09-05Pushed to yasyf/cc-steer2026-09-05Pushed to yasyf/cc-transcript β matched relay envelopes as agent-injected, so relays stop opening turns2026-09-05Pushed to yasyf/captain-hook β read the hook version from Info.plist, sparing every hook two execve2026-09-05Pushed to yasyf/spawnllm β stopped Claude runs inheriting the host's user settings via --setting-sources2026-09-05Pushed to yasyf/cc-orchestrate β picked up daemonkit v0.23.0, moving daemon state under ~/.daemonkit2026-09-05Pushed to yasyf/experiment-at-home2026-09-05Worked on a pull request in yasyf/cc-context β anchored the graphite submit on the remote trunk, dropping the branches it already holds
23,247 contributions in the last year
- gpt-do β 211 β GPT-powered bash commands.
Python - summ β 152 β GPT-based Conversation Summarizer
Python - compress-gpt β 217 β Self-extracting GPT prompts for ~70% token savings
Python - anthropic-computer-use-modal β 50 β Anthropic Computer Use with Modal Sandboxes
Python - shamer β 37 β Code Coverage Gamified
Python
Claude Code, continued
- cc-skills β the plugin marketplace where the whole toolbelt ships
- cc-guides β srcβartifact doc rendering with embedded canonical fragments, keeping every repo's CLAUDE.md and AGENTS.md in sync
- cc-notes β a notes-and-tasks layer agents can actually use, now with a derived knowledge graph over everything they've recorded
- cc-runtime β a runtime that hands Claude Code its harness-injected tools, AskUserQuestion and friends
- cc-interact β the human-in-the-loop agent/daemon/web framework, pulled out of cc-review
- cc-present β ad-hoc live web artifacts for a session: approval boards and choices whose every click streams back to the agent
- cc-factory β a software factory where orchestrated agents plan, build, review, and ship
- cc-steer β learns how you steer Claude from past sessions, then does the steering for you
- cc-pane β one pane of glass over Claude Code and the whole cc-* toolbelt
- cc-sudo β sudo for Claude Code: one Touch ID tap per privileged command
- cc-patch β fast mode for Claude Code's delegated agents, re-applied automatically on every spawn, now with local packs and replace sites
Taming long sessions
- cc-merge β a merge queue for the git worktrees where finished Claude outputs land
- cc-context β ccx, token-bounded codebase context for agents; takes
cataway from your agent - cc-squash β augmented auto-compaction for marathon Claude Code sessions
- cc-vigil β a transcript-oracle sleep inhibitor that keeps your Mac awake only while Claude agents are truly working
Claude Code, off the clock
- getaway β plan award trips from Claude Code: sweeps seats.aero across 28 mileage programs and composes whole journeys, flights out and home plus hotel award nights via rooms.aero
- dailies β stop being your own cron job
Systems & libraries
- authkit β a signed macOS helper for Touch ID consent and Secure Enclave attestation, replacing the old cookiesync keyhelper
- fusekit β detached FUSE-T mount-holder and mount-lifecycle primitives for Go, now under cc-pool and cc-notes, with a process ledger that tells a real reboot from a slewed clock
- daemonkit β the durable daemon-lifecycle runtime the cc-* control planes now ride: detached spawns, codesign trust, and drain-on-upgrade
- binrun β fetch, verify, and exec the exact artifact a descriptor pins: release binaries, Python tools, signed apps β the shim the cc-* tools now ship behind
- semisweet β an async, in-memory semantic cache with pluggable backends
- experiment-at-home β the plumbing every local AI experiment rebuilds, built once: modal, mlx-lm, and tinker backends behind one registry
- spawnllm β call an LLM from any subshell: Claude, Codex, a local MLX model, or Apple's on-device Foundation Models
- pocket-llm β on-device LLM sessions for any browser: Chrome's Prompt API, WebLLM, or wllama, picked by feature detection, smallest model first
Cross-host sync
- synckit β the shared substrate the tools below build on: host mesh, a convergent registry, unix-socket RPC, and synckitd, the daemon they now ride
- reposync β your other machine already pulled: git checkouts kept in step across every host you work from
- cookiesync β your other Mac already did the 2FA: browser sessions moved between your own machines, consent gated behind Touch ID via authkit
Python, with fewer footguns
- python-defer β Go-style
deferin Python, no decorators required - python-secret-type β a rune-style
secrettype so credentials can't leak by accident - docker-dsl β write multi-stage Dockerfiles as Python context managers
- bcferries β the Python client for BC Ferries schedules; proudly Canadian π¨π¦
Earlier eras
- safemodels β cryptographic provenance proofs for model weights, before that was cool
- vc β the voting platform Dorm Room Fund used to pick its investments
- hifromtheotherside β fighting the echo chamber, one cross-aisle match at a time
- controlio β control your computer over SMS, 2014 edition
2026-09-05cc-skills v1.12.0 β shipped design-doc's Ask bar and whole-document assistant, and routed the codex prose lane to gpt-6-astra2026-09-03captain-hook v12.26.0 β digested settings to the enablement keys, sparing every root a 3.3s spawn when settings churn2026-09-03slop-cop v0.1.70 β made --sentence-timeout and --document-timeout bound the whole pass, retries included2026-08-31cc-notes v0.51.3 β stopped a dict tool response killing the handler reading it2026-08-30cc-pool v0.69.0 β addedccp package resetto retire a wedged deployment2026-07-27spawnllm v0.11.0 β added an Apple Foundation Models on-device backend and exact-model passthrough
Language breakdown
Go ββββββββββββββββββββ 35%
Python ββββββββββββββββββββ 33%
Ruby ββββββββββββββββββββ 10%
Rust ββββββββββββββββββββ 6%
Swift ββββββββββββββββββββ 6%
TypeScript ββββββββββββββββββββ 6%
HTML ββββββββββββββββββββ 2%
Latest from Yasyf's Random Musings:
- Improving Claude Computer Use
- On Securing Model Supply Chains
- python π€
defer - Haystack + Pinecone Hybrid Vectors
- CompressGPT: Decrease Token Usage by ~70%
Automate the boring parts, then automate the automation.






