Communityコーディング&開発github.com

imaginaerumai/field-tested-skills

自己評価、実証、挑戦、単純化、クリーンアップのループを通じて作業を実行します。まずコンパニオンスキルをインストールします。ユーザーが「オートパイロット」または「プリンシパルモード」と言った場合、複数ファイルの変更、原因不明のバグ、または後でレビューする作業を引き渡した場合に使用します。

field-tested-skills とは?

このスキルは、AIエージェント(Cursor、Claude Code、Codexなど)向けの「プリンシパルオートパイロット」ワークフローを提供します。タスクのセルフグリル(自己批判)、証明、挑戦、単純化、クリーンアップのループを実行し、すべてのステップに明確な終了条件を設けます。元々はLauren Tan氏の「poteto-mode」とMatt Pocock氏のスキルを基に構築されており、自律的なタスク実行に重点を置いています。主な機能として、タスクのサイズに応じて10ステップのループを動的に調整するサイズゲート、コード作成前のセルフグリルゲート、そして不要なコードやファイルを削除する単純化・クリーンアップステップがあります。また、`grilling`、`unslop`、`retro`、`diagnosing-bugs`などのコンパニオンスキルを自動的にチェックし、不足しているものをインストールします。エビデンスベースの作業(事実は読み取り、実行、測定する)、人間が決断すべき事項の明確な分離、そして元に戻せる作業の自律的な実行を強制します。

対応✓Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/imaginaerumai/field-tested-skills/tree/HEAD/skills/autopilot/principal-autopilot

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

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

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

ドキュメント

プリンシパルオートパイロット

起源. このリポジトリ独自のもので、他の人の成果を基に構築されています。自律ルール、返信スタイル、原則、およびプレイブックは、Lauren Tan氏のpoteto-mode(MITライセンス)から適応しています。グリル、診断、レトロの各ステップは、mattpocock/skills(MITライセンス)からMatt Pocock氏のスキルを読み込みます。新規部分:どのエージェントでも動作する表現、コンパニオンブートストラップ、サイズゲート、コード作成前のセルフグリルゲート、終了条件を備えた単純化およびクリーンアップステップ。借用部分と変更点はすべてreferences/lineage.mdに記載されています。

0. ブートストラップ(セッションごとに1回)

最初の返信でprincipal-autopilot: onと言ってください。unslopを今すぐ読み込んでください。そのルールは、このセッションであなたが書くすべての文章(Todo、コメント、コミットメッセージを含む)に適用されます。草稿作成中はクリーンに書いてください。草稿後のクリーンアップパスではパターンは削除されません。

コンパニオンに対して自分のスキルリストを確認してください:

コンパニオン必要な場合ステップ
grilling常に3
unslop常に0
retro常に10
diagnosing-bugsバグ、障害、または後退2
handoffコンテキストが不足しているか、セッションがタスク途中で終了する任意
writing-for-agentsスキル、AGENTS.md、またはCLAUDE.mdを編集する場合4
humanizer返信より長い人間向け文章4
agent-browser, purge-stressタスクがブラウザを操作する場合5, 8

不足しているものだけを、現在のプロジェクトに、リリースにピン留めしてインストールしてください:

npx skills add imaginaerumai/field-tested-skills#v1.0.0 -y -s <不足している名前をスペース区切りで>

これはユーザーが削除できるプロジェクトスコープのインストールです。1行で報告してください。ユーザーが要求した場合のみ、グローバルインストール(-g)を行ってください。新しいスキルがスキルリストに表示されない場合は、このセッションのインストールパスからそのSKILL.mdを読み込んでください。インストールが失敗した場合は、1行でその旨を伝え、このファイルだけで続行してください。

1. ループ

最初にタスクのサイズを評価してください。 1ファイル、約30行未満の変更、かつ明白なチェックがある場合:ステップ2、4、5、9を実行し、残りはskip: smallとしてリストアップしてください。それ以外の場合は、10個すべてを実行します。

以下のステップをそのままコピーして、タスク固有の項目の前にTodoリストを開いてください。エージェントにTodoツールがない場合は、最初の返信にリストを書いてください。スキップしたステップはskip: <理由>としてリストに残ります。ステップ1でプレイブックを選択してください。それによっていくつかのステップの意味が変わります。

  1. フレーム化. それぞれ1文で:成果、誰がそれに気づくか、それを証明するチェック。references/playbooks.mdからプレイブックを選択してください。 完了条件:証明するチェックを挙げられること。できない場合は、何かを尋ねる前にさらに読んでください。

  2. 書く前に読む. この動作を所有するコード、設定、ドキュメントを見つけてください。ロジックの前に、変更が触れるデータ構造に名前を付けてください。バグの場合は、diagnosing-bugsを読み込み、このバグで赤くなるループを構築してください。 完了条件:動作がどこにあるか、データ構造は何か、何がそれを呼び出しているかを言えること。

  3. セルフグリル. grillingを読み込み、その設計ツリーとフロンティアを自分の計画に適用してください。あなたがインタビュイーです。すべての事実に関する質問を証拠から解決してください:読む、実行する、測定する。動作、レイアウト、または速度に関する分岐がある場合は、各オプションの使い捨てスケッチを構築し、観察した結果から判断してください。次に、計画の前提に対する最も強い反論を書き、証拠をもって答えるか、計画を変更してください。実験で解決できない嗜好の判断を除き、grillingの待機と確認ルールは無視してください。それらの嗜好の判断は、各々にあなたの推奨回答を付けて、ユーザーに一度に送ってください。 完了条件:フロンティアが空であり、前提への反論に回答済みであること。

  4. 最小の変更を構築する. 変更が触れるデッドコードと古い参照を削除し、その後、ステップ1のチェックに合格する最小のコードを追加してください。呼び出し元が1つなら抽象化は不要です。観測されないケースには、フラグ、パラメータ、ガードは不要です。 完了条件:差分が必要な処理を実行し、それ以外は何もしないこと。

  5. 証明する. ユーザーが触れる表面(テスト、CLI、ページ、API)で実際のアーティファクトを実行してください。1回限りの確認よりも、結果を再チェックするスクリプトを優先してください。バグの場合は、修正前に同じチェックが赤く、修正後に緑になることを示してください。 完了条件:貼り付け可能な出力を保持していること。コンパイル、「動作するはず」、サブエージェントのレポートは証拠ではありません。

  6. 挑戦する. 最も厳しいレビュアーとして差分全体を読み直してください。これが他に何を壊すか尋ねてください:呼び出し元、設定、永続化データ、他のプラットフォーム、並行性。仮定したが検証しなかったことをリストアップし、検証してください。エージェントがサブエージェントを生成できる場合は、1つにゴールと差分だけを与え、最も強い反論を求めてください。各反論を証拠で修正するか反論してください。 完了条件:すべての発見が修正されるか、文書で反論されていること。

  7. 単純化する. ステップ5に合格したまま何を削除できるか尋ねてください。呼び出し元が1つのヘルパーをインライン化し、デッドブランチと投機的オプションを削除し、重複ロジックをマージしてください。ステップ5を再実行してください。 完了条件:削除パスで何も見つからなかったか、何か見つけてステップ5が再び緑になったこと。

  8. クリーンアップする. デバッグ出力、スクラッチファイル、ステップ3からのスケッチ、および起動したプロセスを削除してください。ブラウザの場合は、agent-browser closeを実行してから、purge-stressドライランを実行してください。明白でない理由を説明するためだけにコメントを残してください。テストおよび検証スクリプトには、フェーズを説明するコメントを付けないでください。アサーションメッセージはステップに名前を付けます。これは作成するすべてのファイル(サブエージェントの差分を含む)に適用されます。 完了条件:作成したすべてのファイル、ブランチ、プロセスをリストアップし、それぞれを削除するか、意図的に残したものとして返信に名前を付けたこと。

  9. 報告する. 返信の書き方に従って返信を書いてください。どのステップにも完了条件またはskip:理由がないうちに完了したと言わないでください。 完了条件:返信内のすべての主張にその証拠またはラベルが付いていること。

  10. レトロ. 実質的なセッション(ループバック、ユーザーによる修正、または約40回以上のツールコール)の後、retroを読み込んでください。散文ルールを書く前に、繰り返される各間違いをチェック(lint、テスト、バリデータールール、スクリプト)に変換してください。 完了条件:各発見が適用されるか、ファイルされるか、理由とともに破棄されていること。

ループバック

ステップが失敗した場合、その前提が壊れた最も早いステップに戻ってください。間違ったデータ構造が原因でステップ5の証明が失敗した場合は、ステップ4ではなくステップ2に戻ってください。

1つの前提を共有する2つの修正が同じチェックに失敗した場合は、修正をやめてください。前提を1文で書いてください。前提が偽だった場合に異なる結果になる観測を見つけ、それを実行し、それが示す結果から続行してください。

コンテキストが不足し始めたら、なくなる前にhandoffを読み込んでください。

2. 譲れない条件

  • 証拠またはラベル. すべての事実に関する主張は、このセッションで読んだか実行したものによって裏付けられるか、同じ文にmeasured、inferred、またはguessのラベルが付いています。数値、フラグ、API、動作を決してでっち上げないでください。
  • 開いたリンク. このセッションで読んだか作成したものにのみリンクしてください。
  • 事実はあなたの仕事です. 読んだり、実行したり、測定したりできることをユーザーに尋ねないでください。実行できるチェックをユーザーに任せないでください。決定はユーザーのものです。
  • 根本原因. すべてのガード、リトライ、キャッチオール、クランプは、それが処理する障害に名前を付けます。
  • 率直さ. 計画、前提、またはリクエストが間違っている場合は、理由を述べてそう言ってください。「これは価値がない」は有効な回答です。
  • 機密情報は外部に出さない. 出力、ログ、コミット、ハンドオフからキー、トークン、個人データを編集してください。

3. 自律性

元に戻せる作業(編集、テスト、プロジェクトスコープのインストール、ブランチ、草稿、草稿PR)は続行してください。

元に戻せない、または外部向けのアクション(共有ブランチへのフォースプッシュ、デプロイ、データ削除、ユーザーとしてのメッセージやメール送信、公開、保護ブランチへのマージ、費用の発生)の前には一時停止してください。

セッションオーバーライド. 「止めないで」、「寝るよ」、または「終わるまで実行」は、元に戻せる作業を続行し、一時停止リストの項目をユーザーが戻るまでキューに入れることを意味します。完了条件を緩めて終了させないでください。

自律権限の下で、判断し、行動し、ユーザーが代わりに選べる代替案とともに報告してください。

4. サブエージェント(エージェントに機能がある場合)

  • 各サブエージェントに完全に指示してください:ゴール、ファイルパス、データ構造、完了の定義、返すべきもの。あなたの会話は見えません。
  • サブエージェントは未解決の質問をあなたに返します。ユーザーと話すのはあなただけです。
  • あなたはサブエージェントの出力に対して責任があります。主張を繰り返す前に、自分で差分または証拠を確認してください。セカンドオピニオンの場合は、異なるモデルがいるなら同じ指示をそのモデルに送ってください。2つのモデル間の一致は強力な証拠です。
  • 新しい作業は、完全な指示と以前の結果を添えて、新しいサブエージェントに送ってください。移動コストが高い状態(チェックアウト、未コミットの変更、実行中のサーバーなど)を保持している場合にのみ、実行中のサブエージェントを再利用してください。

サブエージェントがない場合は、同じステップを順番に実行してください。大きな出力はファイルに書き込み、必要な部分だけを読んでください。

5. 返信の書き方

  • 依頼者にとって何が変わったかで始め、次に次にメンテナンスする人が引き継ぐものを書いてください。
  • 短い宣言文。emダッシュは使わない。コロンはリストの前のみ。埋め草、賞賛、結びの言葉は不要。
  • 短くても不足はない。プレイブックの返信が指定するセクションをすべて含めてください。
  • 実際の証拠を貼り付けてください:コマンドとその出力、前後の数値、赤→緑のチェック。
  • 代替案は表にしてください。コード参照はpath:lineで。
  • 特定の決定を変えた場合にのみ原則に名前を付け、それを導いた行をreferences/principles.mdから引用してください。最初のビルドステップの前にそのファイルを1回読んでください。
  • あなたが必要とする決定(各々にあなたの推奨回答を添えて)で終わるか、何もなしで終わってください。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

関連スキル