コンテンツにスキップ

エージェント向け

chobo は、AI のコーディングエージェントが書き、人が読むように作っています。エージェントが返してくるのは帳簿で、経理や運用の人はそれを読んで確かめられます。残高を境界の中に保つための、データベースのまわりのコードを返してくるのではありません。そのコードは chobo build が書きます。人に任せることが二つあります。一つは業務の数と名前で、境界、拒否の理由の名前、何をもって一度だけとするか、仮押さえの有効期限です。もう一つは帳簿のまわりのコードで、額がどこから来るか、だれが仮押さえを確定し取り消すか、データベースへの接続です。

エージェントのスキル

skills/chobo は、chobo を使うための Agent Skill で、だれかのプロジェクトで働くエージェントに向けて、英語で書いています。SKILL.md には次のものが入っています。

  • 手順:数える量と勘定を見つけるところから、どの条件も一つの勘定の境界に直し、帳簿を書き、診断が無くなるまで検査し、走らせて様子を見て、人に見せ、ビルドするまで。
  • 一ページにまとめた言語:在庫の引当の例で説明しています。
  • 条件を境界に直す表:売上を超えない返金は refundable(order) の at least 0 に、一日 120 席までは free_seats(day) の at least 0 になります。「手数料は代金の 10%」は、どの境界にもなりません。手数料は呼ぶ側が計算するからです。
  • 人に聞くこと:推測で決めずに人に聞くべきことと、その聞き方。検査か chobo run が出すシナリオを、読む人の言葉で見せて聞きます。
  • 診断ごとの直し方:コードごとに書いています。
  • 機械が読むもの:chobo check --format json、chobo api、終了コード。
  • 出力先と、それぞれに要るもの。

このサイトのリファレンスにある四つのページも、同じ文書から作ったコピーとして一緒に入っています。スキルの中のリンクが、スキルのフォルダの外へ出ないようにするためです。スキルは chobo を、PATH にある ritsu chobo として走らせます。

入れ方

ritsu のバイナリが、ritsu とほかの言語のスキルと一緒に持っています。

$ ritsu skills install chobo                                # 一つのプロジェクトの .claude/skills/ に入れる
$ ritsu skills install chobo --user                         # このマシンのすべてのプロジェクトで使う
$ ritsu skills install chobo --dir path/to/skills           # ほかのエージェントがスキルを読む場所に入れる

Claude Code なら、プラグイン ritsu に十のスキルが入っています。/plugin marketplace add https://i2y.github.io/ritsu/marketplace.json を実行してから、/plugin install ritsu@ritsu を実行します。リポジトリのクローンから skills/chobo を ~/.claude/skills/ かプロジェクトの .claude/skills/ にコピーしても同じで、リリースごとの ritsu-skills-v<バージョン>.zip にも十のスキルが入っています。スキルが扱うことを頼めば(「在庫が 0 を下回らないようにして」「この W103 を直して」)、たいていはエージェントが自分でスキルを使います。確実に使わせたいときは、「chobo のスキルを使って」と、スキルの名前を出して頼んでください。

機械が読むもの

どれもコマンドラインから使え、エージェントが判断に使うものは、データとして出ます。

  • chobo check --format json <file.book>… は {"v": 2, "files": [...]} を出します。ファイルごとの診断(そこに至る操作の列も入ります)と、報告(操作ごとの拒否されうる理由と、その例)です(形式、英語)。
  • chobo api <file.book> は、帳簿の呼び方、操作ごとの理由、仮押さえのライフサイクルのステートマシン、ID の作り方、出力先ごとの名前を出します。
  • 終了コードは、エラーが無ければ 0(警告はあってもかまいません)、エラーがあれば 1、chobo の呼び方の誤りか読めないファイルなら 2 です。chobo の知らないフラグも、2 で止まります。無視されたリクエストを、エージェントが通ったと思い込まないようにするためです。
  • --lang ja を付けると、人が読むメッセージが日本語になります。JSON のキーは英語のままです。

複数の言語を使うプロジェクトでは、ritsu のスキルも一緒に使います。ワークフローが帳簿を呼ぶところで帳簿を確かめるのは、ritsu check です(ほかの言語と組み合わせる)。