Skip to content
View yasyf's full-sized avatar
🎯
Focusing
🎯
Focusing

Organizations

@PostPushr @mitsbc @mit @ProjectClarity @dormroomfund

Block or report yasyf

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
yasyf/README.md
Yasyf Mohamedali β€” Engineer & CEO @ Aneta. Currently building the missing toolbelt for Claude Code.

Website LinkedIn X

πŸ”­ Now

  • 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
  • Converging those pieces into one session-activity platform β€” typed events and a decision ledger in cc-transcript, with captain-hook as its hook runtime β€” 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
  • Hard-cutting the whole cc-* fleet onto shared substrate: daemonkit for daemon lifecycle β€” the five-phase hard cut has landed as v0.21: wire, trust, and proc carved into internal packages, durable/ and launchd made public behind one macOS-only root Serve/Client/Control surface, one schema generating the frame codec for both Go and Swift behind a drift gate, and subprocess supervision exposed from a single implementation to both a serving daemon and a CLI with no daemon, socket, or wire at all β€” with no byte now 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, and cc-review have all since moved onto it, each stating a deadline budget at every choke point, and their releases are macOS-only now because v0.21 compiles nowhere else; the bundle digest three of them once hand-copied is finally callable. v0.22 has since taken the socket path out of a spawned child's argv entirely β€” the child inherits its session on fd 3, business-lane only and refused the drain preamble, so nothing same-UID can race the bind β€” and made a business failure cross the wire as a typed error, so errors.Is(err, context.DeadlineExceeded) answers for the daemon's own deadline instead of the caller's; every daemon's private state moved out of ~/<Label> and under ~/.daemonkit/agents/<Label>, with fusekit first onto the release β€” and binrun for distribution, with every release gated on a tag resolving to one exact commit on main
  • 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-08-17 Pushed to yasyf/cc-skills
  • 2026-08-17 Pushed to yasyf/homebrew-tap β€” published the slop-cop v0.1.62, captain-hook v12.21.3, cc-pool v0.65.2, and cc-patch v0.14.0 formulae
  • 2026-08-17 Pushed to yasyf/cc-pool
  • 2026-08-17 Pushed to yasyf/fusekit β€” took daemonkit v0.22.0, and gave the mount holder its sessions over the spawn channel, not a socket path
  • 2026-08-17 Pushed to yasyf/cc-review
  • 2026-08-17 Pushed to yasyf/cc-squash
  • 2026-08-17 Pushed to yasyf/cc-orchestrate β€” cut 0.16.1 on cc-interact v0.32.1 and go1.26.6, then synced cco.binrun and its manifest
  • 2026-08-17 Pushed to yasyf/spawnllm
  • 2026-08-17 Pushed to yasyf/experiment-at-home
  • 2026-08-17 Pushed to yasyf/docker-dsl
  • 2026-08-17 Pushed to yasyf/daemonkit β€” cut 0.22.0: spawned children take their sessions over the channel they inherit, and state roots at ~/.daemonkit
  • 2026-08-16 Pushed to yasyf/slop-cop β€” added allow-unsigned-executable-memory, the entitlement wazero actually needs, after allow-jit stopped the SIGKILLs

19,296 contributions in the last year

πŸš€ Start here

  • 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 ⭐ 49 β€” Anthropic Computer Use with Modal Sandboxes Python
  • shamer ⭐ 37 β€” Code Coverage Gamified Python

🧰 More things I built

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

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, with semantic search now running in-process instead of farmed out to semble
  • 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
  • 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 defer in Python, no decorators required
  • python-secret-type β€” a rune-style secret type 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

πŸ“¦ Recently shipped

  • 2026-08-17 cc-pool v0.66.0
  • 2026-08-16 slop-cop v0.1.62 β€” added allow-unsigned-executable-memory, the entitlement wazero actually needs
  • 2026-08-16 captain-hook v12.21.3 β€” repinned the publisher SHA the release contract asserts, and accepted the metadata version uv now emits
  • 2026-08-16 cc-skills v1.10.0 β€” moved the codex lane onto daemonkit v0.21.4 and a stable daemon path, and covered its --owner routing
  • 2026-08-04 cc-notes v0.51.1 β€” stated a deadline budget at every daemonkit entry point
  • 2026-07-28 cc-context v0.39.0
  • 2026-07-27 spawnllm v0.11.0 β€” added an Apple Foundation Models on-device backend and exact-model passthrough

πŸ›  Toolbox

Python, Go, Ruby, C, JavaScript, Swift, PHP, HTML, Docker, Git, Bash, GitHub Actions

Language breakdown
Go          β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ   35%
Python      β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ   35%
Ruby        β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   10%
Rust        β–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘    6%
Swift       β–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘    6%
TypeScript  β–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘    6%

✍️ Writing

Latest from Yasyf's Random Musings:


Automate the boring parts, then automate the automation.

Contribution graph eaten by a snake

Pinned Loading

  1. gpt-do gpt-do Public

    GPT-powered bash commands.

    Python 211 11

  2. summ summ Public

    GPT-based Conversation Summarizer

    Python 152 7

  3. compress-gpt compress-gpt Public

    Self-extracting GPT prompts for ~70% token savings

    Python 217 12

  4. anthropic-computer-use-modal anthropic-computer-use-modal Public

    Anthropic Computer Use with Modal Sandboxes

    Python 49 3

  5. shamer shamer Public

    Code Coverage Gamified

    Python 37 5

  6. python-defer python-defer Public

    Golang-style `defer` with no decorators!

    Python 26