kensaurus

Field note · Agent playbooks

My agents kept saying “done” when they weren't, so I wrote the playbooks down

Why I built kenji skills, agent playbooks for Claude Code, Cursor, Codex CLI and Gemini CLI: what is in it, how to install it, what it can't do. Free, MIT.

Kenji Sakuramoto · kensaurus合同会社 ·

When I handed work to AI agents, they kept stopping halfway. Sometimes they told me the job was done when it wasn't. So I wrote the procedures down, along with the conditions that have to be true before anyone says "done", and made the agents follow them to the end. That is kenji skills.

I run more than ten repos on my own, across more than one tool. I wanted the same release, audit and fix routines in every repo and every tool, because the pile of tasks only grows, and I needed a way to build quickly that still had a proper standard.

A gate in front of "done"

The core idea is that the agent that did the work does not get to decide that the work is finished.

A five-step staircase. 1 Orient: ask first. 2 Assess: write the failing test before any code. 3 Change: the smallest fix. 4 Prove: typecheck, tests, browser check, screenshots. 5 Ship: open the PR, confirm the live revision, watch it.
Every playbook follows the same five steps. README image from kensaurus/skills 2.6.0

What's in it and how to install it

As of 2.6.0 (2026-10-11) there are 161 skills, 63 slash commands and 6 subagents. Claude Code also gets 12 more, ported from Cursor's built-in skills. You ask in plain words, like "fix this bug and ship it", and the skill whose description matches runs. The tool decides which skill matches, so when you want a specific one, name it.

The kenji skills README header: You say the job. The playbook runs. Below it, three panels. 1, you say: fix this bug and ship it. 2, workflow-fix-and-ship triages with evidence, reproduces, fixes with a test and verifies in the browser. 3, tests green, PR open.
README image from kensaurus/skills 2.6.0

You need Node.js 18 or newer. Run npx @kensaurus/skills --auto --dry-run to see every file it would write, then run it again without --dry-run. --auto looks for Claude Code, Cursor, Codex CLI and Gemini CLI on your machine and installs for each one it finds.

$ npx @kensaurus/skills@2.6.0 --help
kenji installer

Usage:
  npx @kensaurus/skills                   Merge-install into ~/.cursor/ + ~/.agents/skills/
  npx @kensaurus/skills --auto            Detect installed tools and install to each
  npx @kensaurus/skills --claude          Install for Claude Code (~/.claude/) instead
  npx @kensaurus/skills --codex           Install for Codex CLI (~/.agents/skills + ~/.codex/)
  npx @kensaurus/skills --gemini          Install for Gemini CLI (~/.agents/skills + ~/.gemini/)
  npx @kensaurus/skills --all             Install for all four supported tools
  …
  npx @kensaurus/skills --dry-run         Preview without changing anything
  npx @kensaurus/skills --verify          Hash-check dests against this package (no writes)
…
Excerpt, run in an empty folder on 2026-10-16

Some things it doesn't do. Codex CLI and Gemini CLI get the skills and the rules, but no subagents and no Stop hook. The installer also writes three portable commands for them, which current Codex releases no longer load. I wrote it on React, Next.js and Supabase projects, so some of the rules assume that stack. What the installer writes, and what it never does, is covered in my Zenn post (in Japanese).

It also works with Mushi Mushi, my open-source bug reporting tool. mushi-health checks each part of the pipeline in order, and mushi-integration sends one test report through it to confirm that capture, AI triage, test generation and execution connect. Both run only when you call them by name. Day to day, the bug reports that come in through Mushi become the input for a fix run: the skills take a report through to a pull request, and I merge it by hand.

It's free

All of it is free under the MIT license (some parts are Apache-2.0, listed in NOTICE). There is nothing to pay for in the pack. If you use the MCP templates, they expect your own Firecrawl, Context7 and Supabase keys.

What I'm aiming for: a vibe coder who can build what they need, for themselves and for the people around them. If each of us makes a few of the tedious local chores easier, I think the world ends up a slightly better place for everyone.

See it in the exhibit hall