Skip to content
Menu
WorkflowSkills, tmux and the daily loopToolsai-usagebarQuota and reset times for 24 AI providersghpendingEvery open PR and issue in one listtclockA terminal clock with command widgetsai-memoryLong-term memory for coding agentsai-jailAn OS sandbox for AI coding agentsWritingThe blog and the LLM benchmarkNewsletterThe M.Akita Chronicles, every MondayPodcastsLong conversations about AI, on videoGamesMy game collection as code, on OmarchySetupOmarchy, tmux, and what I set asideFollow
Workflow

How one person keeps 40 repositories moving

Every morning I open one agent per project in tmux, give it a single line, and review what comes back. The heavy lifting lives in skills: plain text prompts I keep refining.

One line to start the day

Each tmux window is one project. I launch the agent through ai-memory, so it arrives with that project's memory and its hooks already wired.

a tmux window, every morning
cd ~/Projects/ai-usagebarai-memory run claude# quota gone? same workstream, another agentai-memory run codex --yolo

Then I type one of three lines, depending on what the queue looks like:

  • run pr-audit and iss-audit, then run github-resolution

    The normal day: audit everything open, then fix what the audits approved.

  • ... then run the release skill

    Appended when enough has landed for a version.

  • run pr-bump and release

    Days when the only queue is Dependabot.

The pipeline

Nothing a contributor writes is taken as true. Every claim gets checked, every approved fix gets a test first, and nothing is tagged without green CI on that exact commit.

A left to right pipeline: Open PRs and issues split into pr-audit and iss-audit, which merge after an Approved check into github-resolution, then pr-post-audit, then release, then Kaizen, with an arrow from Kaizen back to the start. An ai-memory bar runs under all of it.
pr-post-audit runs when a session resolved more than three tickets. The release skill runs only when I ask for one.

Kaizen closes the loop

After each round I look at what went wrong or took too long and fix the process, along with the code. I call it kaizen, the Japanese word for continuous improvement, and it is the step that makes the next round better than this one.

Skills

A rule gets added the day a mistake shows up. The my-skills history is full of them: batch the Dependabot bumps into one pass, leave declined pull requests in a clean state.

Harness instructions

Each project's AGENTS.md collects the commands, invariants and traps as I find them, so the next agent does not have to rediscover them.

Tools

ai-usagebar, ghpending and tclock each exist because something in my routine was slow or invisible. They keep changing for the same reason.

Setup

The desktop, the terminal and the gaming box are all code, so an improvement is a commit that I can review, keep or revert.

Every line in these skills is a scar.

From my post on skills

What that adds up to

Everything below happened in 2026, across the tools on this site, my Frank side projects, the newsletter, the benchmark and the blog. Counted on September 23, 2026. Nearly all of it went through agents and these skills, with me reading the reports and making the calls.

30
projects with commits
6,330
commits
783
merged pull requests
486
closed issues
1.08M
lines of code added
121
blog posts published

Lines of code are lines added to code files. Lockfiles, data, fonts, translations, vendored and generated files do not count, and neither do the benchmark's model output or the newsletter's generated content. FrankGeary and tclock are forks, so only my own changes count. Pull requests and issues come from GitHub; frank_bazaar has no GitHub remote and akitando-news is private.

Project by project
ProjectCommitsMerged PRsClosed issuesLines of code added
ai-memory1,468500283328,177
akitaonrails.github.io63795121 posts
akitando-news (private)5771080,602
ai-usagebar55314642132,932
distrobox-gaming4972047,622
FrankMD361424581,237
llm-coding-benchmark3595717,636
ai-jail353448341,666
FrankYomik2480053,833
frank_go2203116,725
frank_investigator1891245,365
FrankClaw1893269,114
FrankSherlock1212848,930
frank_karaoke1024010,465
frank_fbi791325,498
FrankMega622010,965
clock-tui541007,276
frank_type49329,815
ghpending40326,081
frank_geary34101,157
tropicalruby-202630002,201
ai-memory-web22109,775
frank_scanlation21008,904
omarchy-games-menu17006,951
aitrepreneur-docker1300781
google-calendar-tui12013,956
ai-jail-web10002,887
frank_lyrics9002,346
ai-toolkit-web3002,778
frank_bazaar1··1,769

AI is a mirror. If you are good, it makes you ten times faster. If you are bad, it also makes you ten times faster, at producing slop.

One folder, every agent

The skills live in one repository. Each agent's skills folder holds symbolic links into it, so an edit reaches Claude Code, Codex, OpenCode and Kimi at once.

A central my-skills folder linked by chain symbols to five agent folders: Claude Code, Codex, OpenCode, Kimi and ~/.agents. One edit reaches all.
adding a skill
mkdir ~/Projects/my-skills/<name>   # add a SKILL.mdfor h in ~/.claude/skills ~/.agents/skills ~/.codex/skills; do  ln -s ~/Projects/my-skills/<name> "$h/<name>"done

Where the rest of the knowledge lives

Skills cover procedures that repeat the same way. Everything else lives in plain text the agents can read.

A memory per project

ai-memory keeps each project's decisions, traps and handoffs. A new session, in any agent, starts from there.

AGENTS.md everywhere

Every repository has its own instructions: the commands, the invariants, the mistakes not to repeat.

Point at a living example

"Make an AUR workflow like the one in ai-memory" beats a skill about AUR packaging, because the example is always current.

Write down what did not become code

Research, rejected alternatives, the reason behind a decision. Every hour of agent research becomes a document I can reuse.

Everything here is open source

The tools, the skills and the benchmark are public repositories. Fork them and build the version that fits the way you work.