Communityライティング&編集github.com

Scoville Plan

リポジトリネイティブな計画ガードレール。AIによるプロセススロップを防止します。

Scoville Plan とは?

Scoville Plan は、AIエージェントがプロジェクトの計画と意思決定をリポジトリファイルとして管理するためのスキルです。従来のCLI、MCPサーバー、データベース、ジャーナル、または隠れた状態を必要とせず、レビュー可能なファイル形式で計画を維持します。このスキルは、人間がすでに行った選択を記録し、未解決の重要な選択を提案として提示し、ライフサイクル決定を求めます。許可されていない選択を自動的に権限化したり、作業が実際に行われたことを証明したりすることはありません。Claude Code、Cursor、CodexなどのAIコーディングエージェントで利用可能であり、プロジェクトの計画規律を守るための最小限のガードレールを提供します。format_version: 1 の全機能(読み取り専用リカバリ、セットアップ、計画、作業項目、決定、提案、ライフサイクル、ブロッカー、証拠、限定的修復)をサポートし、明示的なオプトアウトが可能です。

対応~Claude Code~Codex CLI~Cursor
npx skills add benjaminstelzer/scoville-plan

Installed? Explore more ライティング&編集 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

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

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

ドキュメント

Scoville Plan は何をしますか?

プロジェクトの方向性を、計画用CLI、MCPサーバー、データベース、ジャーナル、または隠れた状態を必要とせずに、レビュー可能なリポジトリファイルに保持します。このスキルは、計画の規律とネイティブな計画・決定メンテナンスを担当します。人間がすでに行った選択を記録し、未解決の重要な選択を、ライフサイクル決定を求める前に提案として保持します。推測された選択に権限を与えたり、報告された作業が実際に行われたことを証明したりすることはありません。

サポートされている完全な format_version: 1 機能面を維持します:読み取り専用リカバリ、セットアップ、計画、作業項目、決定、提案、ライフサイクル、ブロッカー、証拠、および限定的修復。プロジェクト知識機能を削除または再解釈せずに、直接的なネイティブ編集を使用します。

明示的なオプトアウト時は、参照を読み取らず、計画ファイルを作成または変更せず、スキル由来の主張を行いません。より優先順位の高いプロジェクト指示がこの計画システムを必要とする場合、その正確な競合を報告します。兄弟Scovilleのオプトアウトは、その兄弟にのみ影響します。

既存の所有者に従う

計画要件を次の順序で解決します:

  1. 現在のリクエストに対するシステム、安全性、および明示的な指示;
  2. リポジトリの指示とその既存の正準計画メカニズム;
  3. 既存のサポートされているネイティブプロファイル;および
  4. 残りの未指定事項に対するこのスキルのデフォルト。

プロジェクト所有の計画の横に2番目の計画を作成しないでください。別の永続的な計画システムが既に状態を所有している場合、それを使用し、このスキルの計画品質ガードレールのみを互換性のある範囲で適用します。ランタイム計画は使い捨て可能なミラーであり、2番目の正準所有者ではありません。

このスキルには必須の実行可能依存関係はなく、計画CLIを呼び出すことはありません。バンドルされたPythonバリデーターはオプションの厳密に読み取り専用構造チェックであり、書き込みパスではありません。ロック、アトミックなマルチファイル公開、型付きミューテーション安全性、または意味論的な証明を主張しないでください。通常のスコープ付きファイルツールを使用し、実際に実行されたチェックのみを報告します。

このスキルは独立して動作します。Code、UI、またはScribeを必要としたり、インストールしたり、シミュレートしたりしないでください。兄弟が独立して適用可能な場合、その所有する実装、インターフェース、または表現上の懸念のみを構成します。兄弟が不在でも、計画構造、ライフサイクル、権限、または証拠ルールは弱まりません。

永続的な計画が必要かどうかを判断する

複数の依存する成果、重要な順序付け、中断や引き継ぎに耐える必要のある作業、または拘束力のあるプロジェクトワークフローには、リポジトリ計画を使用します。1つの小さな可逆的な変更には、プロジェクトがすでに追跡された作業項目を必要としない限り、直接実装して検証します。

操作をロードする前に分類します:

操作ロード
現在の方向性を読み取る、または書き込みなしでレコードを一覧表示するread-only.md
完全に欠落しているプロファイルを初期化するplanning-granularity.md、native-plan-format.md、native-project-lifecycle.md、native-editing.md
計画を作成または再構築するplanning-granularity.md、native-plan-format.md、native-project-lifecycle.md、native-editing.md
作業項目を挿入、洗練、移動、選択、ブロック、進捗、または削除するnative-plan-format.md、native-work-items.md、native-editing.md
明示的な人間の選択または重要な可能性のある決定を記録するnative-decision-format.md、native-plan-format.md、native-editing.md
明示的に許可された決定遷移を適用するnative-decision-format.md、native-plan-format.md、native-editing.md
明示的に許可された承認または拒否バッチを適用するnative-decision-format.md、native-decision-batches.md、native-plan-format.md、native-editing.md
計画をアクティブ化、完了、またはキャンセルするnative-plan-format.md、native-project-lifecycle.md、native-work-items.md(現在の作業が変更された場合)、native-editing.md
ネイティブ計画構造またはライフサイクルを監査するnative-plan-format.md;分解を判断する場合のみ planning-granularity.md を追加
ネイティブ決定構造またはライフサイクルを監査するnative-decision-format.md
ネイティブ書き込み後に検証する、または完全なサポートプロファイルを診断するバンドルされたチェックを profile-validation.md を通じて実行し、報告された診断または修正に必要なネイティブ参照のみをロードする

読み取り専用のステータス応答のためにフォーマット詳細をプリロードしないでください。

プロファイルの存在が不明な場合、正準パスを読み取る前にプロジェクトルートを一覧表示します。PROJECT_INDEX.md が存在しない場合、それを読み取ろうとしないでください。明示的に要求された新しい永続計画については、現在のワークスペースをセットアップルートとして扱い、完全なプロファイルを分類し、3つの正準パスすべてが完全に欠落している場合にのみ初期化します。作成が要求されなかった場合、プロファイルが存在しないことを報告し、暗黙的に初期化しないでください。部分的な、外部の、サポートされていない、または意図が無効なプロファイルを保持し、停止します。

権限と証拠を保持する

  • 目標、非目標、受け入れ結果、ブロッカー、依存関係、証拠、または受け入れられたライフサイクル選択を決して発明しないでください。実装、通常のドキュメント、ソースコード、沈黙、および現在の動作を証拠として扱いますが、人間の承認としては扱いません。
  • アクティブ化、キャンセル、スコープの変更、弱い受け入れ、あいまいな後継、または単に可能性のある重要な選択を採用する前に尋ねてください。
  • ユーザーが明示的に方向性を選択したり、それをプロジェクトルールに保存するよう要求したり、適用可能なプロジェクト指示が人間が選択した方向性を明白に示している場合、再度尋ねずに対応する決定を作成して受け入れます。影響を受けるすべての可変作業項目をリンクします。
  • 分析により、スコープ、アーキテクチャ、公開動作、保存データ、セキュリティ、依存関係、可逆性、受け入れ、移行、またはロールアウトに関する可能性のある重要な決定のみが明らかになった場合、それを proposed として作成し、影響を受けるすべての可変作業項目をリンクし、その推奨、代替案、トレードオフ、および実用的な影響を報告し、ユーザーに受け入れ、拒否、または修正を求めます。その回答の前にそれを受け入れないでください。
  • 提案のドラフトを要求すると proposed が作成されます。述べられた方向性を記録するという明確な選択は、その受け入れを許可します。その明示的なライフサイクル選択なしに、決定を拒否、非推奨、または置き換えないでください。
  • プロジェクト作業の開始時に、決定フロントマターをインベントリし、すべての提案を読み取り、そのID、タイトル、推奨される選択、および実用的な影響を報告し、ユーザーに受け入れ、拒否、または修正を求めます。引き継ぎ時に未解決の提案を繰り返します。依存する作業のみが停止します。
  • 受け入れ結果を観察し、簡潔な証拠を追加した後にのみ、作業項目を done とマークします。ファイル形状チェックは構造のみを証明します。
  • 失敗した作業や部分的な作業は in_progress、paused、または明示的にブロックされた状態に保ちます。

動作完全な作業項目を維持する

  • 最大1つの作業項目を in_progress、すなわち current_item に保ちます。これは同時実行を制限するものであり、計画を合計1つの作業項目に制限するものではありません。
  • 独立して再開可能な成果を、異なる受け入れ境界、依存関係、所有者、またはロールアウトタイミングで個別の作業項目に分割します。
  • 実装順序はオプションのステップ内に保持します。テスト、レビュー、ドキュメント、リリースチェックは、独立して要求された成果物が独自の再開可能な結果を必要としない限り、受け入れまたは証拠に属します。
  • 項目が todo の間のみ、作成されたコンテンツまたは順序を変更します。開始後は、開始時のアプローチを保持し、ライブ状態のみを更新します。
  • Next action を、まだ実行されていない最初の具体的なアクションと等しく保ちます。実装が存在するようになったら、次の未観測のテスト、ビルド、ブラウザチェック、レビュー、または評価者所有の検証に進めます。
  • 依存関係が完了し、後継が明示的な場合にのみ、新しい現在の作業を選択します。complete_and_advance は、完了と正確な置換開始の両方が1つの準備された結果として有効な場合にのみ使用します。
  • 最終的な実際の作業が完了したら、その作業項目と計画を完了し、プロジェクトインデックスをアイドルに設定します。それをアクティブに保つためだけに後継を発明しないでください。

ネイティブかつ狭い範囲で作業する

書き込み前に、プロジェクトルート、サポートされているフォーマット、アクティブな計画、現在の作業項目、影響を受けるバイト、観測可能な結果、および受け入れ証拠を確認します。コンテキストにバインドされたパッチを使用し、無関係な作業を保持します。メンバーのいずれかを適用する前に完全なマルチファイル変更を準備しますが、直接編集はアトミックではないことを認識します。

書き込み後:

  1. 変更されたすべての正準ファイルを再読み取りします;
  2. 完全なスコープ付き差分を検査します;
  3. インデックス所有権、アクティブ計画数、現在項目ステータス、作業項目キー順序、依存関係の順序とサイクル、決定と計画の参照、ブロッカー、ライフサイクルフィールド、証拠、および Next action をチェックします;
  4. バンドルされたオプションバリデーターを profile-validation.md を通じて、そのスクリプトとPythonが既に利用可能な場合に実行します。それ以外の場合は、スコープ付き手動検査を実行して報告します;そして
  5. 観測された受け入れ証拠のみを記録します。

サポートされていないフォーマット、同時変更、あいまいなライフサイクル権限、修復が意図を変更する無効な状態、または部分的なマルチファイル遷移で停止します。問題を見かけ上の有効性で上書きしないでください。

永続的な状態を報告する

現在の計画の成果を先頭にします。変更された正準ファイル、アクティブおよびブロックされた作業、観測されたチェック、記録された証拠、未解決の重要な選択、および次の具体的なアクションに名前を付けます。ネイティブ構造検査と動作検証を区別します。日常的なファイル操作を説明しないでください。

関連スキル