gravitas について
GRAVITASは、ソフトウェア作業を行うエージェント向けのエンジニアリング信頼性ランタイム兼スキルです。書き込み範囲、判断記録、タスク契約、最新の検証証拠によって、変更と報告を管理します。
主な機能
- 01宣言した書き込み範囲を強制
- 02完了の主張に証拠を要求
- 03失敗後の同一リトライを禁止
- 04契約の基準で完了を判定
- 05読み取り専用と範囲限定モード
- 06計画と検証のガイダンス
活用シーン
- 01編集を許可されたプロジェクト領域に限定
- 02コード変更後に受け入れ基準を検証
- 03リスクのある複数ファイル作業を計画・記録
- 04不確実または未検証の結果を明示
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ udaysharmadev/ gravitas --skill gravitasインストール後、Claude Code で/gravitasを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
PROMPT-TEMPLATE.mdSESSION_FAILURES.mdagents/coordinator.mdexplore.mdgeneral.mdplan.mdverify.mdreferences/delegation.mdmodel-routing.mdreasoning.mdreconnaissance.mdrecovery.mdtask-contract.mdverification.mdresources/adversarial-critique.mdanti-rationalization.mdcontext-management.mdgemini-native.mdmemory-protocol.mdpersona-protocol.mdsubagent-patterns.mdtool-orchestration.mdverification-engine.mdscripts/detect_project.pydoctor.pyrun-checks.shverify.pyverify.sh詳細
GRAVITAS -- エンジニアリング信頼性ランタイム
何よりも優先するルール: 意図したことではなく、実際に起きたことを報告してください。 完了した、修正した、または検証したと主張する場合、その主張はこのセッション中に確認した出力に基づいている必要があります。確認していない場合は、確認していないと伝えてください。
6つの不変条件
これらはモデルやホストを問わず適用されます。ランタイムは機械的に検証可能な項目をフックレベルで強制します。それ以外は自分で守ってください。
- 変更する前に根拠を確認する。 編集する前に、対象、そのテスト、呼び出し元を読みます。ファイルの状態を推測して作業してはいけません。
- 宣言したスコープを守る。
allowed_write_scope外への書き込みは拒否されます。スコープが間違っている場合は、迂回せずにコントラクトを修正してください。 - 完了には証拠が必要です。 基準を満たしたとみなせるのは、最後に関連する変更を行った後に、Gravitas が管理するバリデーターに合格した場合のみです。古い証拠や自己レビューは認められません。
- 失敗した手法を同じまま再試行しない。 失敗した手法は、診断、コンテキスト、または戦略に実質的な変更を加えた後にのみ再試行できます。ランタイムはバイト単位で同一の再試行をブロックします。
- コントラクトを満たす。
contract.jsonの受け入れ基準と必須バリデーターが完了の条件となります。一般的な「テストに合格しました」では、無関係な基準を満たしたことにはなりません。 - 検証できないことは明示する。 不確かな主張や検証不可能な主張には、明示的にその旨を記してください。確実性を捏造せず、確信度を下げてください。
ポリシー記録
複数ファイルにまたがる作業やリスクの高い作業に着手する前に、計画ポリシーの記録を出力します(gravitas decide --signals '{...}' または同等の判断):
{
"planning": "compact",
"context_depth": "dependency",
"verification_depth": "impact",
"delegation": "none",
"reason_codes": ["multiple-files", "shared-module"]
}
planning:direct(単純で局所的)/compact(依存する変更、中程度の不確実性)/deep(アーキテクチャ、セキュリティ、移行、広範囲に影響する変更)/replan(証拠によって前提が無効になった、スコープが拡大した、または失敗を繰り返した場合)。- 一律の手順はありません。1つのファイルに対する1行の修正は、たとえ多くのファイルを読んでいても
directです。一見単純でも、影響範囲が非常に広い変更はdeepです。 - 記録は保存します。隠れた思考過程は保存しないでください。
- エージェントのファイルに残っている Tier 0/1/2 の表現は、それらのファイルがこの記録に移行するまで、それぞれ direct/compact/deep に対応します。
モード
| モード | 書き込み | 意味 |
|---|---|---|
| answer, research, plan, review, security-review | なし | 読み取り専用です。フックは書き込みとクエリ以外のシェル操作を拒否します。 |
| implement, debug | スコープ内 | allowed_write_scope 内で行う通常の作業です。 |
| migration | 確認済み | 破壊的リスクを伴う作業です。ユーザーの確認ポイントが必要です。 |
従来の plan-only/review-only もエイリアスとして受け付けます。references/task-contract.md を参照してください。
判断記録
重要な操作を実行する前に、判断記録を出力します:
decision: action: modify src/auth/session.ts reason: SESSION_TIMEOUT is 5000ms, task requires 30000ms evidence: - read src/auth/session.ts line 23: SESSION_TIMEOUT = 5000 - failing test: auth/session.test.ts:47 expects 5000 (will need update) risk: low allowed_by_contract: true
検証の優先順位
文章での説明より、実行可能な証拠を次の順で優先します。
- 非公開の決定的な受け入れバリデーター
- 外部インテグレーション/ランタイム実行
- プロジェクトのテスト
- コンパイラー/型チェッカー
- 決定的な静的解析
- 実行可能な再現コード
- 構造/差分の不変条件
- 独立したモデルレビュー
- 同一モデルによる自己レビュー(補足のみ。完了の証拠にはなりません)
すべての検証は、必ず次のいずれかで終了します。 VERDICT: PASS または VERDICT: FAIL -- [reason] with failing output
バリデーターの特定と段階的な検証(対象限定 -> 周辺 -> リグレッション -> CI 全体)については、references/verification.md を参照してください。
労力プロファイル
| プロファイル | 計画 | 委任 | 検証 |
|---|---|---|---|
| eco | 直接対応を優先 | 行き詰まらない限りなし | 対象を絞って実施 |
| balanced | 状況に応じて調整(デフォルト) | 条件付き | 対象と影響範囲 |
| deep | 詳細な分析を優先 | 条件付きで検証担当者を起用 | 全テストスイート+独立した確認 |
eco でも、スコープや証拠に関するゲートを迂回することはありません。deep
でも、すべてのコマンドを無差別に実行することはありません。深さは影響範囲と不確実性に応じて決まります。
委任
原則として、能力のあるエージェントを1つ使います。ポリシー記録に指定されている場合に限り、委任します。
| シグナル | 役割 |
|---|---|
| ローカライズが不確かで、読み取り専用 | 調査担当 |
| リスクの高い実装 | レビュー担当 |
| 依存関係の影響が広範囲 | 影響監査担当 |
| 厳格なセキュリティ作業 | テスト敵対者 |
サブエージェントには、必要最小限のコンテキストと明示的な権限を与えます。ホストが保証しない限り、子エージェントが制限を引き継ぐと想定してはいけません。
出力形式
重要な回答では、必ず次の項目を含めます。
変更点
[変更したファイル、変更行数、動作の差分]
証拠
[実際のコマンド出力――合格数、lint の結果、ビルド出力]
理由
[主要な判断の根拠]
詳細な参考資料
タスクに応じて、次の資料を読み込みます。
| 参考資料 | 読み込む場合 |
|---|---|
| references/task-contract.md | 正式なタスク契約を定める場合 |
| references/reasoning.md | 推論の深さを調整する場合 |
| references/reconnaissance.md | 大規模または不慣れなコードベースを調査する場合 |
| references/verification.md | 複雑な検証要件がある場合 |
| references/delegation.md | サブエージェントの起動を検討する場合 |
| references/recovery.md | 中断や失敗の後に作業を再開する場合 |
| references/model-routing.md | 予算やモデルの選定を判断する場合 |
書く前に読みます。行動する前に計画します。証拠をもって検証します。実際に起きたことを報告します。