通过检查代码、目标和限制,评估新的或现有的 AI 项目;核对可用目录中的技能后提出建议,并制定包含依赖关系、完成条件和检查方式的任务清单与实施计划。
- 规划新 AI 项目的启动
- 梳理现有项目的技术问题
- 从可用目录中挑选技能
通过可重复的模拟故障,检查智能体流程能否恢复或安全停止。模拟工具超时、执行进程重启和记忆丢失,并生成故障矩阵、事件时间线及判定结果,用于检查重复操作和预算是否超限。
Use when an agent workflow needs deterministic recovery evidence for sandbox, MCP/tool, worker, checkpoint, memory, or orchestration failures.
实测评分 未实测
查看安装方法此技能按固定顺序向智能体流程注入模拟故障,检查流程能否恢复或安全停止。测试范围包括工具调用超时、执行进程重启、已保存进度或临时记忆丢失,以及并行处理中的部分失败。它会生成故障矩阵、事件时间线、机器可读记录和简短总结,并区分已恢复、已控制并安全停止、无法恢复和证据不足等结果。
为多步骤智能体流程添加重试或中断后续跑机制时,可以用它验证恢复行为。它也适用于在相同故障条件下检查操作是否重复、尝试次数或期限是否超限,以及失败分支是否漏记。
不得在生产环境、真实数据或有效认证信息上使用。应使用一次性隔离环境、合成数据和替代工具。仅靠本地模拟无法证明已部署的 MCP 服务器或网络会如何运行。此技能用于测试流程,不会修复流程本身。
本介绍由 AI(OpenAI Codex)根据公开的 SKILL.md 撰写。准确的规格请查看下方原文。
AI 根据 SKILL.md 的内容检查了需要注意的操作和使用前提。评分只依据实际运行的结果(实测对比)。
不计入评分。 由 AI(OpenAI Codex)于 2026年10月25日 评估。仅供参考,安装前请同时查看原文。
安装前可以查看交给 AI 代理的指令内容。
Use a deterministic, non-production fault schedule to test whether an agent workflow preserves state, budgets, safety boundaries, and evidence when a dependency fails. The output is a small fault matrix, an event timeline, and a verdict that distinguishes recovered, contained, unrecoverable, and inconclusive runs.
Do not use this skill against a production target, real user data, live credentials, or an unbounded external service. Convert those cases to a local simulator or an authorized staging harness first.
inconclusive.Write the invariant before injecting a fault. A useful contract names the state that must survive and the side effects that must not repeat:
After recovery, resume from the latest durable checkpoint, preserve the task
identity and safety policy, spend no more than the remaining retry/deadline
budget, and commit each externally visible effect at most once.
Model the workflow with explicit states. For example:
created -> running -> checkpointed -> waiting_for_tool
| |
v v
failed <--------- recovering -> resumed -> completed
For each transition, define the owner, durable fields, allowed retry count, and terminal behavior. In-memory values are not checkpoints unless the harness proves they survive the simulated restart.
Select the smallest set of faults that covers the new recovery logic. Do not randomize the schedule until a deterministic schedule has passed.
| Fault | Injection boundary | Required observation | Expected containment |
|---|---|---|---|
| sandbox denial | before a tool starts | no unsafe side effect; reason is retained | retry only when policy allows |
| MCP/tool timeout | after request id is assigned | timeout is attributed to that request | bounded retry with same idempotency key |
| worker restart | after checkpoint write | worker reloads the same task version | resume from latest checkpoint |
| missing/stale checkpoint | before resume | stale data is rejected or marked | stop safely; never invent progress |
| parallel branch failure | one branch after fan-out | sibling status is preserved | join policy decides retry, degrade, or stop |
| memory loss | clear ephemeral context | durable facts are reconstructed | ask or stop when required facts are absent |
| retry/deadline exhaustion | on the final attempt | no extra call is scheduled | terminal failed or timed_out |
Use event numbers rather than wall-clock randomness. A schedule should be portable across harnesses:
{
"seed": "harness-fixture-07",
"faults": [
{"event": "tool.call", "ordinal": 2, "kind": "timeout", "tool": "search"},
{"event": "worker.start", "ordinal": 2, "kind": "restart"},
{"event": "branch.join", "ordinal": 1, "kind": "partial_failure", "branch": "summarize"}
]
}
The harness should emit the schedule, not merely the seed. Keep fault identity separate from the observed error so a wrapper cannot accidentally turn a timeout into a generic failure. Run the same schedule twice and compare the normalized timeline before trying a different schedule.
Represent each branch as its own child attempt. The join record must retain success, failure, timeout, and not-started states. Choose one predeclared join policy:
all_required: any required branch failure stops the join;best_effort: continue with an explicit degraded marker;compensate: run a bounded compensating action and then stop or resume.Never let a successful sibling erase a failed branch from the final ledger.
Clear only the ephemeral context named in the schedule. Rebuild from the
checkpoint and durable evidence, then check that the agent does not fabricate
missing user intent, tool output, or approval. If a required fact is absent,
the safe result is inconclusive or a human clarification state.
Track remaining attempts and remaining time after every event. Do not reset a budget on a worker restart or branch retry. Use these verdicts:
| Verdict | Meaning |
|---|---|
recovered | The declared invariant held and the workflow completed within budget. |
contained_failure | The fault was isolated and the workflow stopped safely as designed. |
unrecoverable | Recovery violated an invariant, repeated a side effect, crossed a boundary, or exceeded budget. |
inconclusive | The fixture, checkpoint, contract, or evidence was insufficient to judge. |
contained_failure is not autonomous success. Report it separately from
completed work and include the terminal reason.
Produce one machine-readable record and one concise human summary. Every event
should include run_id, monotonic seq, logical time, state_before,
state_after, actor, event, fault_id (when injected), attempt,
checkpoint_seq, retry_remaining, deadline_remaining_ms, and a redacted
evidence_ref.
{
"run_id": "fi-2026-08-19-07",
"verdict": "recovered",
"invariants": {"resume_from_checkpoint": "pass", "effect_at_most_once": "pass", "budget": "pass"},
"faults": [{"id": "f1", "kind": "tool_timeout", "at": "tool.call#2", "handled": true}],
"timeline": [
{"seq": 4, "event": "checkpoint.write", "checkpoint_seq": 3},
{"seq": 5, "event": "tool.timeout", "fault_id": "f1", "retry_remaining": 1},
{"seq": 8, "event": "workflow.completed", "checkpoint_seq": 4}
],
"limitations": ["Tool output was synthetic; no deployed MCP was exercised."]
}
The human summary should state the frozen contract, injected schedule, verdict, failed invariants, budget consumption, and the narrowest next verification. Redact prompts, tokens, private records, and tool payloads; stable references are enough for replay.
Fixture: checkout planner / seed harness-fixture-07
Schedule: search timeout on call 2; worker restart after checkpoint 3
Policy: one retry, 2s deadline, all_required branch join
Result: recovered
Proof: checkpoint 3 reloaded, search request key replayed once, no duplicate
commit, deadline remaining 640ms, final ledger contains both branch outcomes.
inconclusive, never as a passing recovery.inconclusive or unrecoverable with evidence.@agent-evaluation-reporting - Report autonomous, assisted, failed, timed-out, and invalid outcomes.@cross-platform-contract-propagation-audit - Trace recovery fields and status contracts across consumers.@multi-agent-patterns - Choose a multi-agent topology before testing its failure behavior.还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
通过检查代码、目标和限制,评估新的或现有的 AI 项目;核对可用目录中的技能后提出建议,并制定包含依赖关系、完成条件和检查方式的任务清单与实施计划。
检查代码和基础设施中的安全风险,梳理潜在威胁并规划防护改进。涵盖 OWASP 检查、攻击与防御验证及事件响应;操作范围需获明确授权,并结合具体环境验证结果。
将重复任务整理成 Andru.ia 技能,明确输入、输出、示例和限制;编写 `SKILL.md`,检查目录结构和验证要求,并准备供审阅的拉取请求。
项目行业确定后,整理行业背景、可能适用的法规、用户熟悉的界面模式、技术选择和风险,并区分已核实事实、假设及待专家确认的事项。
通过 2slides API 将文本、提纲或文档制作为演示稿,可参考图片风格、选择主题、添加人工智能旁白,并导出幻灯片图片或音频。
规划360度评估或同伴反馈流程,并根据已确认的需求创建空白答复台账。可生成字段一致的CSV、SQL、JSON Schema或Notion属性映射,并将可见范围与评分配置分开整理。