~/hayashigoto/works/agent-tools

>cat/works/agent-tools/README.md

title: Agent Tools / sitesnap / Shimon / pdfmint
about: UIを観測するsitesnap、変更を検証するShimon、文書を成果物にするpdfmint。構造化出力と再読可能なファイルを介して、AIエージェントの次の判断を支えるCLIツール群。
year: 2026
role: System Design / Software Development
category: 探索
stack: TypeScriptBunPlaywrightPuppeteerAgent Skills
>read /logs/agent-tools-cli-contract.md AIエージェント向けCLIは、次の判断を返す
>read /logs/shimon-selftest.md 比較する前に、比較できることを証明する
>cdsitesnap
>cdShimon
>cdpdfmint
> cat details.md

Agent Toolsは、AIエージェントが開発作業の途中で呼び出す三つのCLIです。 自然言語の解釈はエージェントへ任せ、画面の観測、変更の検証、文書の出力を再現可能な処理として切り出しています。

三つの役割

sitesnap

sitesnapは、開発中のWeb画面を観測するPlaywrightベースのCLIです。 スクリーンショットを撮るだけでなく、横方向のはみ出し、コンソールエラー、失敗したリクエスト、アクセシビリティを検査し、要素の位置や計算後のCSSをJSONで取得します。

撮影結果はPNGとして残り、JSONには絶対パス、ビューポート、対象URLが入ります。 エージェントは画像を開いて全体を見ながら、数値で確かめられる箇所を構造化データとして読み直せます。

Shimon

Shimonは、変更前後のUIを検証するCLIです。 プロジェクトが選んだ位置、文字、CSS、CanvasのハッシュなどをJSONへ保存し、同じ項目同士の差分を返します。

比較の前には、同じ条件を二回測るselftestを実行します。 観測自体が安定していることを確かめてから、変更による差分を調べるためです。

pdfmint

pdfmintは、HTMLやMarkdownをPDFとPNGへ変換し、成果物にするPuppeteerベースのCLIです。 Markdown変換では日本語フォントを同梱し、書体、余白、用紙サイズを設定ファイルへ保存できます。 OSにインストールされたフォントへ依存せず、同じ書体条件で文書を生成するためです。

生成結果には出力先、ファイルサイズ、ページ数、適用した設定が入ります。 一枚に収める帳票では期待ページ数を指定し、意図しない改ページをエラーとして扱えます。

共通するCLIの境界

三つのCLIは、処理本体をAgent Skillへ書いていません。 各リポジトリのSkillやAGENTS.mdには、使う場面、コマンドの選び方、失敗時の対応を書き、ブラウザ操作やファイル生成はCLIが実行します。

共通しているのは次の設計です。

  • 構造化出力:結果をJSONで返し、次の分岐に使う値を固定する
  • 成果物の保存:PNG、JSON、PDFをファイルとして残し、あとから開き直せるようにする
  • 失敗の分類:エラーコード、ヒント、終了コードで、差分と実行失敗を区別する
  • 人間向けの入口:同じCLIをエージェント経由でもシェルからでも実行できる

各CLIは結果を返しますが、その結果が美しいか、変更が妥当か、文書が読みやすいかまでは判断しません。 観測可能な事実をツールが返し、評価は人とエージェントが作業の目的に合わせて行います。