关于 gravitas
GRAVITAS 是面向软件任务中 Agent 的工程可靠性运行时与技能。它通过写入范围限制、决策记录、任务契约和最新验证证据来约束变更与结果报告。
主要功能
- 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(证据推翻了原有假设、范围扩大或反复失败)。- 不需要一刀切地走流程:单个文件中的单行修复属于
direct,即使读取了很多文件也是如此。看似简单但影响范围巨大的变更属于deep。 - 保存记录;绝不保存隐藏的思维链。
- Agent 文件中仍保留的 Tier 0/1/2 表述,在这些文件迁移到此记录之前,分别对应 direct/compact/deep。
模式
| 模式 | 写入 | 含义 |
|---|---|---|
| answer、research、plan、review、security-review | 无 | 只读。钩子会拒绝写入和非查询型 Shell 操作。 |
| implement、debug | 受限 | 在 allowed_write_scope 内进行常规工作。 |
| migration | 已确认 | 有破坏性风险的工作。需要用户确认节点。 |
接受旧版 plan-only/review-only 作为别名。参见
references/task-contract.md。
决策记录
对于非简单操作,执行前输出决策记录:
decision: action: modify src/auth/session.ts reason: SESSION_TIMEOUT 为 5000ms,任务要求 30000ms evidence: - 已读取 src/auth/session.ts 第 23 行:SESSION_TIMEOUT = 5000 - 测试失败:auth/session.test.ts:47 预期为 5000(需要更新) risk: low allowed_by_contract: true
验证层级
优先采用可执行证据,而非文字说明,顺序如下:
- 隐藏的确定性验收验证器
- 外部集成/运行时执行
- 项目测试
- 编译器/类型检查器
- 确定性静态分析
- 可执行复现程序
- 结构/差异不变量
- 独立模型审查
- 同一模型自我审查(仅作补充,绝不能作为完成证据)
每次验证都必须以以下内容之一结尾,且格式完全一致: VERDICT: PASS 或 VERDICT: FAIL -- [reason] with failing output
有关验证器的发现和逐级升级(定向 -> 邻域 -> 回归 -> 完整 CI),请参见 references/verification.md。
工作量配置
| 配置 | 规划 | 委派 | 验证 |
|---|---|---|---|
| eco | 优先直接处理 | 除非受阻,否则不委派 | 仅针对性验证 |
| balanced | 自适应(默认) | 有条件委派 | 针对性验证 + 受影响部分验证 |
| deep | 优先深入分析 | 有条件委派验证者 | 完整测试套件 + 独立检查 |
eco 不会绕过范围或证据门槛。deep 不会盲目运行每条命令——深入程度取决于影响范围和不确定性。
委派
默认使用一名能力出色的 Agent。仅当策略记录明确要求时才委派:
| 信号 | 角色 |
|---|---|
| 本地化不确定,且为只读任务 | 调查员 |
| 高风险实现 | 审查员 |
| 依赖影响范围广 | 影响审计员 |
| 严格安全工作 | 测试对抗员 |
子 Agent 仅获取必需的最少上下文和明确权限。除非宿主保证,否则切勿假设子 Agent 会继承限制。
输出格式
每个实质性响应都应包含:
变更内容
[修改的文件、变更的行数、行为差异]
证据
[实际命令输出——通过数量、lint 结果、构建输出]
原因
[关键决策的理由]
深入参考
任务需要时加载:
| 参考资料 | 加载时机 |
|---|---|
| references/task-contract.md | 制定正式任务契约 |
| references/reasoning.md | 校准推理深度 |
| references/reconnaissance.md | 对大型或陌生代码库进行侦察 |
| references/verification.md | 验证要求复杂 |
| references/delegation.md | 考虑启动子 Agent |
| references/recovery.md | 中断或失败后恢复 |
| references/model-routing.md | 预算/模型选择决策 |
先读后写。先规划再行动。用证据验证。报告实际发生的情况。