一键导入
human-intervention
Protocol for requesting human intervention when an agent encounters a blocker it cannot resolve autonomously.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Protocol for requesting human intervention when an agent encounters a blocker it cannot resolve autonomously.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Strategies for fitting a paper to a venue's page limit without destroying content quality. Applies to any phase that modifies paper content.
Rules for maintaining figure and table data integrity. All visual data must trace to result files — never invented or modified for convenience.
How to submit SLURM jobs on the SANDS Lab ROCS testbed cluster (KAUST). Covers GPU GRES selection (v100/a100 — p100 is off-policy), QoS caps, conda env activation, multi-node DeepSpeed, preemptible spot jobs, and the watchdog that kills jobs with <15% GPU utilization. Use for any project whose compute_backend is slurm and whose cluster nodes are named `mcnode*`.
Containerized isolation via Apptainer for reproducible experiments. Use whenever the project executes third-party code (agent frameworks, browser agents, codegen tools, benchmark harnesses), runs GPU workloads via Slurm on a shared cluster, needs a reproducible runtime environment for paper claims, or isolates untrusted/adversarial inputs from the host. Broadly applicable to measurement, benchmark, and systems papers — not only to malicious-code experiments.
Rules for maintaining research integrity. No simulation, no fabrication, no shortcuts.
Best practices for project-isolated environment setup. All installations must be local to the project, never global.
| name | human-intervention |
| description | Protocol for requesting human intervention when an agent encounters a blocker it cannot resolve autonomously. |
| tags | ["system","intervention","credentials","blocking"] |
Request human help when you encounter ANY of these situations:
Write a JSON file to results/needs_human.json with this format:
{
"urgency": "blocker",
"summary": "One-line description of what is blocked and why",
"stage": "Phase label / pipeline step where this surfaced",
"what_failed": "Exact command or condition that reproduces the blocker",
"evidence": {
"tested_commands": [
{"cmd": "pip install foo", "exit_code": 1, "output": "…"}
],
"error_output": "<truncated stderr if useful>"
},
"options": [
{"id": "1",
"title": "Provide API key ANTHROPIC_API_KEY",
"consequence": "Unblocks exp2/exp3; user pastes the key"},
{"id": "2",
"title": "Defer these experiments to next iteration",
"consequence": "Pipeline continues without them; paper claims weakened"}
],
"default_option": "2",
"timeout_minutes": 60
}
Each option is an action the user can take. The framework renders a numbered Telegram menu; the user's reply is mapped back to the option (or treated as free-text guidance if they write prose).
auto_research/state/hitl_decisions.yaml.
Read this file before retrying any previously-blocked experiment;
if the decision was "deferred", mark it deferred and do not retry."status": "blocked" — not "completed_fallback" or "degraded".needs_human.json first."urgency" field should almost always be "blocking". Use of "degraded" is reserved for truly optional enhancements, not for core experiments.