mohamedzhioua/agentpace

コーディングエージェントがソフトウェア作業にかかる時間を、実際のエージェント実行結果からP50/P80/P90の範囲で見積もります。クリティカルパスと人間の作業部分は別途表示されます。

agentpace とは?

agentpaceは、ソフトウェア開発の作業時間を見積もるために設計されたAIエージェントスキルです。このスキルは、実際のエージェント実行の測定データに基づいて、P50、P80、P90の統計的な時間範囲を提供し、クリティカルパスと人間の作業部分を明確に分離して表示します。主にClaude Codeやコマンドライン環境での使用を想定しており、自然言語による質問(「これにはどのくらい時間がかかる?」など)に応答したり、`/pace-estimate`コマンドで明示的にプランを見積もることができます。エージェントが実装を担当することを前提としており、タスクを機能追加、バグ修正、リファクタリングなどの種類とリスクレベルに分類し、依存関係を考慮したプランファイルを作成して推定します。人間が提示した見積もり期間が会話中に出てきた場合も、それとは独立してエージェントの実測値に基づく範囲を出力し、両者を混同しないよう注意します。

対応✓Claude Code~Codex CLI~Cursor✓Gemini CLI✓OpenCode
npx skills add https://github.com/mohamedzhioua/agentpace/tree/HEAD/skills/agentpace

Installed? Explore more 生産性&コラボレーション skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

agentpace は何をしますか?

使用するタイミング:誰かがソフトウェア作業にかかる時間を尋ねたとき、またはエージェントが行う作業に対して日、週、月単位で期間を示したとき。

出力内容:測定されたP50/P80/P90の範囲とそのクリティカルパス、人間の作業部分は独立した行で表示され、引用された期間が未検証として横に表示されます。

「これにはどのくらい時間がかかるか?」という質問には、実際のエージェント実行からの測定範囲で答え、人間の作業部分は独自に記載してください。人間チームの期間を引用したり、単一の数値を決して与えないでください。

このスキルは自然言語の質問でトリガーされます。/pace-estimateは、特定のプランに対する明示的なコマンドです。

ツールの確認

agentpace --version を実行してください。失敗した場合は、インストールコマンドをユーザーに伝えて停止してください。依頼なしに何もインストールしないでください:

uv tool install agentpace

ユーザーが何もインストールしたくない場合は、代わりに assets/portable-prompt.md を使用してください。

見積もり

  1. ユーザーが明示的に別の指示をしない限り、エージェントが実装を行うと想定します。不明確で答えが変わる場合は、一度質問してください。
  2. 作業を、エージェントが個別の実行として行うタスクに分割します。
  3. 各タスクに id、kind、risk を割り当て、別のタスクを待つ必要がある場合は depends_on を設定します。agent_cap には同時に実行するエージェントの数を設定します。
  4. プランをファイルに書き込み、推定ツールを実行します。
{
  "agent_cap": 3,
  "model": "claude-opus-5-5",
  "tasks": [
    { "id": "schema", "kind": "feature", "risk": "normal" },
    { "id": "api", "kind": "feature", "risk": "normal", "depends_on": ["schema"] },
    { "id": "review", "kind": "review", "risk": "low", "depends_on": ["api"] }
  ]
}
agentpace estimate plan.json

種類:feature、bugfix、refactor、migration、tests、docs、review、other。リスク:low、normal、high。マイグレーションや元に戻すのが難しい作業には risk: high を使用します。model はオプションです。

人間の見積もりへの再回答

会話中に、ユーザー、ドキュメント、または以前の回答から日、週、月単位の期間が既にある場合でも、プランを見積もり、その期間をそのままの文言で渡します:

agentpace estimate plan.json --quoted "3ヶ月"

すると出力には、合計の下に Quoted: 行が追加され、その期間がカレンダー時間として引用され、未検証であることが示されます。その行を印刷されたまま中継し、測定範囲の横に表示します。引用された期間をエージェント時間に変換したり、定数で除算や乗算をしたり、範囲と比較したり、それらの比率を示したりしないでください。唯一のエージェント時間は測定範囲であり、人間の作業部分は独自の行に残ります。引用と範囲の差が何であるかを決して言わず、それを人間の作業部分と呼んではいけません。それは人間の作業部分をエージェント時間から導出することになります。また、引用が何をカウントしているかも決して言わないでください。何もチェックしていません。

後でどの数値が正しかったかをユーザーが確認したい場合は、同じコマンドに --record を追加して提供します。作業が完了したら、agentpace score <id> --session <ref> で、両方の数値をエージェントが実際にかかった時間と比較します。

結果の報告

  • プランの合計をセッションクロック上の範囲(P50、P80、P90)で最初に示します。計画にはP80を推奨します。
  • セッションクロック行と人間の作業部分行をCLIが印刷するままに渡します。最初の行は、実行間のギャップがアイドルキャップまで合計にカウントされることを示しており、ユーザーへの短い待機時間はこれに含まれます。人間の作業部分行は、測定されていない場合、レビュー、テスト、意思決定、およびエージェントターン間の待機に対する余裕は追加されないことを示しています。agentpace turns で測定された場合、ユーザー自身のローカル履歴から、人間のターンあたりの待機時間を引用します。いずれの場合も、それに対してエージェント時間から数値を導出したり、ターンあたりの待機時間を推測したターン数で乗算したりしないでください。ユーザーが自分の数値を提供した場合は、それを繰り返し、ユーザーのものとしてラベル付けします。ユーザーがレビュー能力(例:「1日に4つのPR」)を述べた場合は、--review-capacity "<数値>" でそのまま渡し、Review capacity: 行を印刷されたまま中継し、決して期間に変換しないでください。
  • クリティカルパスと実効並列度を明記します。
  • すべての警告をそのまま渡します。警告は、セルの実行回数が少なすぎて、その範囲がより広範なデータに依存していることを意味します。
  • たとえ迫られても、単一の数値を示さないでください。計画のために1つの数値が必要な場合は、P80を与え、それをP80と呼びます。

重要となる場合に述べる制限事項

  • シードデータは1人の人物のワークフローであるため、ユーザーのものと類似していない可能性があります。agentpace ingest はユーザー自身の実行をデータにプールします。--data ~/.agentpace/runs.jsonl はユーザーのデータのみを使用します。Gemini CLI、OpenCode、Clineアダプターは実験的であり、実際のセッションで検証されていないため、推定がそれらの行に依存する場合はその旨を述べてください。
  • プロンプトを読み取らないため、メタデータは機能追加とバグ修正やリファクタリングを区別できません。そのため、これらの種類はデータを共有する可能性があります。
  • size は、--use-size が渡されない限り無視されます。保存されたサイズは実行後に測定されるためです。ユーザーが要求しない限り渡さないでください。

推定の仕組みについては references/method.md を参照してください。

関連スキル