← 返回 Skills 市场
frankaging

auto-research-proposal

作者 Zhengxuan Wu · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
91
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install auto-research-proposal
功能描述
Multi-agent research war room. Personas debate in sequential turns through two phases — ideation and proposal writing. Persona persistence and drift detectio...
使用说明 (SKILL.md)

War Room Skill

A war room runs personas through a structured two-phase session:

  1. Phase 1 — Ideation (5 rounds max): personas debate the research idea question by question. Ends early on consensus (all [AGREE] or [PASS], no [OBJECT]) or two consecutive all-[PASS] rounds. Output: memory/war-room/idea-snapshot.md

  2. Phase 2 — Proposal (5 rounds max): personas collaboratively draft each proposal section. Output: memory/war-room/proposal-draft.md


Configurations

Defined in skills/war-room/personas/agents.json under the configurations key.

Name Participants Use when
full Creative, Senior Prof, Young Faculty, Industry Liaison Deep ideation, novel directions, full proposal needed
1on1 Senior Professor, Young Faculty Quick feasibility check, tight scope

The configuration is specified in PROJECT.md frontmatter under war_room.configuration. Default: full.


Consensus Protocol

Every persona response must end with one of:

Tag Meaning
[AGREE] I accept the current position
[PASS] No strong view either way
[OBJECT: reason] I reject — give specific reason

Do not embed tags mid-response. They must be the final line.


Single-Agent Fallback (Codex / no subagent spawning)

If you cannot spawn subagents, run the same loop inline. For each persona turn:

  1. Print a clear header: --- [Round N] \x3CPersona Name> ---
  2. Adopt that persona fully for your response — voice, stance, debate style, red lines.
  3. End with the consensus tag ([AGREE], [PASS], or [OBJECT: reason]).
  4. Return to moderator role between turns to write the log entry and check consensus.

Drift detection still applies: before each turn, re-read the persona definition and note whether your previous response for that persona drifted from their stance.


Playbook

Follow this sequence exactly. You are the moderator/orchestrator throughout.

Setup

  1. Spawn the monitor in a new terminal window so the user can watch the session live:

    • macOS:
      osascript -e 'tell application "Terminal" to do script "cd '"'"'\x3Crepo_root>'"'"' && python skills/war-room/monitor.py --project \x3Cproject_path>"'
      
    • Linux (with display):
      xterm -title "War Room Monitor" -e "python skills/war-room/monitor.py --project \x3Cproject_path>" &
      
    • If the spawn fails, continue silently — the monitor is optional.

    Replace \x3Crepo_root> with the absolute path to this repo and \x3Cproject_path> with the active project folder path. The monitor requires rich (pip install rich).

  2. Read skills/war-room/personas/agents.json. Load the selected configuration's participant list and synthesiser index.

  3. For each participant, read their persona file (e.g. skills/war-room/personas/senior-professor.md).

  4. Read skills/persistent-persona/SKILL.md and skills/memory-checkpoint/SKILL.md — you will apply these every turn.

  5. Check if memory/war-room/discussion-log.md exists.

    • If yes: load it — you are resuming a session. Read memory/SUMMARY.md for current phase and round.
    • If no: create memory/war-room/discussion-log.md with a header block (project name, configuration, timestamp).
  6. Ensure memory/.private/ folder exists for persona memos.

Phase 1 — Ideation

For each round (up to 5):

For each participant in configuration order:

a. Prepare persona context

  • Read memory/.private/agent-\x3Cindex>-memo.md if it exists.
  • Check the most recent Drift flag. If yes, prepend a PERSONA RESET block to the subagent SI:
    PERSONA RESET: I am \x3Cpersona name>. My core stance: \x3Cone-line from persona file>.
    I may have drifted last round. I am recommitting before engaging.
    I will not update positions without new evidence.
    

b. Call Agent subagent with this SI (in order):

  • first-principles content
  • Persona definition (full persona file content)
  • persistent-persona skill instructions
  • (if drift) PERSONA RESET block
  • The discussion log so far

User message: "It's your turn. Respond to the discussion. End your response with [AGREE], [PASS], or [OBJECT: reason]."

c. Append to log

  • Append the response to memory/war-room/discussion-log.md in this format:
    ---
    **[Round N] \x3CPersona Name>**
    \x3Cresponse text>
    

d. Write persona memo

  • Append to memory/.private/agent-\x3Cindex>-memo.md:
    ## \x3CYYYYMMDD_HHMMSS>
    **Persona**: \x3Cname>
    **Session summary**: \x3Cone sentence>
    **Position changes**: \x3Cwhat changed, what evidence caused it>
    **Pressure events**: \x3Cdid the persona hold under pressure?>
    **Mental state**: \x3Creasoning from own stance or mirroring group?>
    **Drift flag**: \x3Cyes | no>
    

After all participants have spoken in a round:

e. Check consensus

  • If all responses end with [AGREE] or [PASS] and no [OBJECT]: Phase 1 ends early.
  • If two consecutive rounds were all [PASS]: Phase 1 ends early.

f. Checkpoint

  • Write memory/checkpoints/\x3Ctimestamp>/agent-0.md (your moderator state: current round, phase, next action).
  • Update memory/SUMMARY.md.

g. Synthesiser snapshot (after round 3 or on early exit)

  • Call a subagent with the synthesiser persona + discussion log.
  • Task: "Summarise the agreed research idea so far in 3-5 bullet points."
  • Write output to memory/war-room/idea-snapshot.md.

Phase 2 — Proposal

Read skills/research-proposal/SKILL.md now. The proposal has 6 sections.

Assign one section per round (or pair related sections). Run the same per-turn loop as Phase 1, but each subagent's task is:

"Draft your contribution to Section N: \x3Csection name>. Build on what others have written. End with [AGREE], [PASS], or [OBJECT: reason]."

After each round, the synthesiser appends the agreed section draft to memory/war-room/proposal-draft.md.

Finalization

  1. Call a final subagent with the synthesiser persona + full proposal-draft.md. Task: "Produce the final clean research proposal. Follow the research-proposal skill format exactly. 2 pages max."
  2. Write output to memory/war-room/proposal-draft.md (overwrite with final version).
  3. Copy discussion-log.md, idea-snapshot.md, and proposal-draft.md to \x3Csandbox_root>/results/.
  4. Write final checkpoint and update memory/SUMMARY.md with status: complete.

Outputs

\x3Cproject>/
├── memory/
│   ├── SUMMARY.md                        ← current phase, round, resume point
│   ├── war-room/
│   │   ├── discussion-log.md             ← full turn-by-turn transcript (live)
│   │   ├── idea-snapshot.md              ← synthesised agreed idea (written after round 3+)
│   │   └── proposal-draft.md            ← accumulated proposal sections → final output
│   ├── .private/
│   │   ├── agent-1-memo.md              ← persona drift memo (private, append-only)
│   │   ├── agent-2-memo.md
│   │   ├── agent-3-memo.md
│   │   └── agent-4-memo.md
│   └── checkpoints/
│       └── \x3Ctimestamp>/
│           └── agent-0.md               ← orchestrator state (phase, round, next action)
└── results/                             ← copied here at session end
    ├── discussion-log.md
    ├── idea-snapshot.md
    └── proposal-draft.md

The monitor (skills/war-room/monitor.py) reads memory/war-room/discussion-log.md, memory/SUMMARY.md, memory/war-room/idea-snapshot.md, and memory/.private/ in real time.

安全使用建议
This skill appears internally consistent with its purpose, but check the following before installing: 1) It will read and write files under your project (memory/, memory/.private/, and discussion logs); avoid running it in projects with secrets or sensitive data. 2) It includes instructions to spawn a local terminal and run monitor.py (uses osascript/xterm) — this is optional and may fail on headless systems. monitor.py requires the Python package 'rich' (pip install rich). 3) The orchestrator reads other skills' SKILL.md (persistent-persona, memory-checkpoint, arxiv-watcher, etc.) and injects their content into subagent prompts — review those dependent skills to ensure they don't introduce unwanted behavior or remote endpoints. 4) No network endpoints, credentials, or installers are required by this skill itself, but be cautious if you later enable remote or networked subagents. If you want extra assurance, review the other skills listed under depends_on and the project memory contents the skill will access.
功能分析
Type: OpenClaw Skill Name: auto-research-proposal Version: 1.0.0 The skill instructions in SKILL.md direct the agent to execute shell commands (using osascript on macOS or xterm on Linux) to launch a monitoring script (monitor.py). While this behavior is aligned with the stated purpose of providing a live TUI for the research debate, the use of shell execution to spawn external processes is a high-risk capability. The monitor.py script itself is benign and uses the 'rich' library for visualization, but the reliance on the agent to construct and run shell commands involving file paths introduces a potential risk of command injection or unauthorized execution.
能力评估
Purpose & Capability
Name/description (multi‑agent research war room) matches the actual artifacts: persona files, an orchestration SKILL.md, and a local monitor script. Declared dependencies (other research-related skills) are coherent with the orchestration role. No unrelated credentials, binaries, or config paths are requested.
Instruction Scope
The runtime instructions read persona files, other skills' SKILL.md (persistent-persona, memory-checkpoint, etc.), and project memory files; they create/write discussion logs, checkpoint files, and per-agent memos under memory/.private. This is expected for an orchestrator but means the skill will access and persist local project data. It also optionally spawns a terminal and launches monitor.py (OS-specific commands shown). The spawn is optional and the monitor runs locally; however, review of the monitored project contents and the other skills it pulls in is recommended because those SKILLs' instructions will be included in subagent prompts.
Install Mechanism
No install spec is provided (instruction-only plus a local monitor.py). monitor.py requires the 'rich' Python package but the SKILL.md does not auto-install it; the monitor will exit if 'rich' is missing. No downloads from external URLs or package installs are automated by the skill itself.
Credentials
The skill requests no environment variables, credentials, or config paths. All file accesses are within the project memory and skills folder, which aligns with the orchestrator purpose.
Persistence & Privilege
always:false and no indication of modifying other skills' configurations or system‑wide settings. The skill writes its own memory files under the project's memory/ and memory/.private/ directories (expected for session persistence).
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install auto-research-proposal
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /auto-research-proposal 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
- Introduced "war-room": a multi-agent research debate and proposal-writing environment enforcing persona persistence and drift detection. - Two-phase protocol: ideation (structured debate with consensus rules) and collaborative research proposal drafting. - Supports dynamic team configurations (full or 1-on-1) with persona-specific memos and drift management. - Includes detailed orchestrator playbook, live monitoring, checkpoints, and synthesised progress snapshots. - Outputs full session logs, summarised ideas, and final proposals in a clearly organised project structure.
元数据
Slug auto-research-proposal
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

auto-research-proposal 是什么?

Multi-agent research war room. Personas debate in sequential turns through two phases — ideation and proposal writing. Persona persistence and drift detectio... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 91 次。

如何安装 auto-research-proposal?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install auto-research-proposal」即可一键安装,无需额外配置。

auto-research-proposal 是免费的吗?

是的,auto-research-proposal 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

auto-research-proposal 支持哪些平台?

auto-research-proposal 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 auto-research-proposal?

由 Zhengxuan Wu(@frankaging)开发并维护,当前版本 v1.0.0。

💬 留言讨论