Skip to content
Automation
Command

/idea-tick

Create or continue ideas from a topic and run create/review/refine/deep-lit to dual-gate saturation.

From plugin
agon
484 skills12 agents4 commands2 hooks
Install
$ npx -y skills add AutoResearch-Factory/Agon --agent claude-code

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/idea-tick

Context preview

What this command does when you run it.

Create or continue ideas from a topic and run create/review/refine/deep-lit to dual-gate saturation.

Command definition

idea-tick.md
name: idea-tick
description: Create or continue ideas from a topic and run create/review/refine/deep-lit to dual-gate saturation.
argument-hint: [topic-file] [--create]

You are a dispatcher. You run a create-or-continue idea pipeline by delegating all domain work to subagents.

Pipeline

A. 准备

  • 调用 `env-validator` subagent. 如果它报告了任何问题, 必须停下来提醒用户.
  • 阅读 ${CLAUDE_PLUGIN_ROOT}/references/project_manual.md 理解项目结构. 确认用户提供了 topic file path. 如果没有提供, 停下来提醒用户.
  • 阅读 ${CLAUDE_PLUGIN_ROOT}/references/dispatch_manual.md 理解如何用命令行启动 claude/claude-* 和 codex subagent.
  • 从 local settings 提取 `parallelism` / `refiner_model` / `reviewer_model` / `lit_tick_model`, 并告知用户.
  • 从 topic file path 的 basename 去掉 `.md` 得到 `topic_slug`. 后续只处理 `ideas/ideas.xml` 中 `topic="{topic_slug}"` 的 idea.

B. idea create / continue 判定

  • 读取 `ideas/ideas.xml`, 找出 `topic="{topic_slug}"` 的全部 idea, 记为 `topic_ideas`; 同时记录它们的 slug 集合 `before_create_slugs`.
  • 如果用户明确要求 create (例如传入 `--create`) 或 `topic_ideas` 为空, 调用 `idea-creator` subagent: `Process topic at {topic_path}. CLAUDE_PLUGIN_ROOT=${CLAUDE_PLUGIN_ROOT}。你必须先 Read 以下 refinery mindset:{MANDATORY_SKILLS_LIST}。此外你可以通过 Skill 工具加载 aris/sibyl catalog 自行增量。`
  • 若调用了 `idea-creator`: create 完成后重新读取 `ideas/ideas.xml` 并刷新 `topic_ideas`; 用 `topic_ideas - before_create_slugs` 得到新增 idea 数. git add -v / commit / push, commit msg 模板: "mmdd ideas created: add {count} ideas for {topic_slug}".

C. idea refine + deep-lit loop。对 `topic_ideas` 反复执行下面的 iteration,直到 D 段双闸门同时满足。每个 iteration 依次做 C1 → C2 → C3 → C4。

C1. refine + review(按 `parallelism` 做 sliding-window 并发)

  • iteration 开始前重新读取 `ideas/ideas.xml`, 刷新 `topic_ideas`, 只保留 `topic="{topic_slug}"` 的条目.
  • 本段 refiner prompt: `Revise the idea {slug}. CLAUDE_PLUGIN_ROOT=${CLAUDE_PLUGIN_ROOT}。你必须先 Read 以下 refinery mindset:{MANDATORY_SKILLS_LIST}。此外你可以通过 Skill 工具加载 aris/sibyl catalog 自行增量。`
  • 本段 reviewer prompt: `Review the newest version of idea {slug}. CLAUDE_PLUGIN_ROOT=${CLAUDE_PLUGIN_ROOT}。你必须先 Read 以下 refinery mindset:{MANDATORY_SKILLS_LIST}。此外你可以通过 Skill 工具加载 aris/sibyl catalog 自行增量。`
  • 续跑检查: 检查 `topic_ideas` 中是否有 `score="none"` 的条目, 或最新版文件 (`.vn.md`) 已存在但没有 `<review ...>` 块, 记为 `pending_review_set`.
  • 如果 `pending_review_set` 非空: 对这些 idea 调用 `idea-reviewer` subagent 补 review, 使用本段 reviewer prompt. 结束后跳过下面的 refine 对象选择和循环主体, 令 `next_refine_set = pending_review_set`, 进行中道崩殂检查和 git add -v / commit / push, 之后直接进入 C2.
  • refine 对象(记为 `next_refine_set`): 从 `topic_ideas` 中选取尚未饱和的 idea (当前版本 < floor(当前 score - 2))。已饱和的 idea 本轮跳过 refine, 也不参加 C2 的 per-idea deep-lit。
  • 循环主体: 先调用 `idea-refiner` subagent, 使用本段 refiner prompt; 再调用 `idea-reviewer` subagent, 使用本段 reviewer prompt.
  • reviewer 中道崩殂检查: 每个 reviewer 完成后确认最新版 idea 文件末尾有 `<review ...>` 块且 ideas.xml 对应条目 score 已更新。没有就用 SendMessage resume 原 agent 继续。
  • 每个 idea 完成一次 refine-review 后 git add -v / commit / push, commit msg 模板: "mmdd idea refined: {slug} (score: {score})"。

C2. deep-lit 阶段(每个 iteration 强制执行,不跳过)。先 topic 级,再 per-idea 级:

  • C2a. topic 级: 完整运行一次 deep-lit-tick (做法见下方"运行一次完整 deep-lit"), scope = topic。等它跑到内部终止 (B4 饱和) 再继续。
  • C2b. per-idea 级: 只对 `next_refine_set` 里的 idea 各完整运行一次 deep-lit-tick, scope = idea。这些 per-idea 运行按 `parallelism` 做 sliding-window 并发: 完成一个就补启动下一个, 各自跑到内部终止。已经不需要下一轮 refine 的 idea 不跑 per-idea deep-lit。
  • 先 topic 后 per-idea 的原因: 共享 wiki 池让 per-idea 运行直接复用 topic 轮已读论文, 不重复读。

C3. 集成(deep-lit 阶段结束后必做,dispatcher 亲自写) 把 C2 找到的全部新论文 / 新发现落到两处:

  • landscape (`topics/<topic_slug>-landscape.md`, 单一事实源, 允许膨胀): 所有新论文逐篇归档并解读清楚。topic 级 deep-lit 的 subagent 在其 F 步已写入 landscape; per-idea 级 deep-lit 只写各自 idea 文件, 它们带回的新论文由你 (dispatcher) 在此统一并入 landscape, 避免并行写冲突。
  • 对应 idea 文件: topic 级发现写进所有相关 idea; per-idea 级发现写进该 idea。每篇与某 idea 直接相关 (撞车/baseline/数据集/可得性) 的论文都要在该 idea 里有清楚解读。
  • 原则: landscape 和 idea 两处都要写, 一篇也不漏, 解读到位。

C4. dispatcher 复审饱和(deep-lit 阶段结束后必做) deep-lit-tick 内部 B4 报告的"饱和"是它自己的判断, 你要亲自复审。读本 iteration 各 scope 的 C 段汇总 + D 段 verdict: 新关键词里是否还有未追的方向? 引文/反引文里是否还有未读的相关论文? 任一 scope 仍在产出相关新论文, 判"未饱和"。 把复审结论记进 trace `.aris/traces/idea-refine/<date>_runNN/deep-lit-audit.md`, 每个 iteration 一行: `iteration N: topic 新增 X 篇 / idea-<slug> 新增 Y 篇 / 判定: 饱和|未饱和 / 理由`。 原则: 宁愿滥读一百, 也不放过一篇。判定饱和宜晚不宜早——只要还有相关方向没追, 就继续。 C3/C4 完成后 git add -v / commit / push (landscape + 本轮被改动的 idea 文件 + trace), commit msg 模板: "mmdd deep-lit integrated: {topic_slug} iteration N ({saturated|continuing})"。

D. 终止条件(双闸门,两个同时满足才停循环)

  • 闸门一 (idea 饱和): `topic_ideas` 中每个 idea 当前版本 >= floor(当前 score - 2)。
  • 闸门二 (文献饱和): 最近一个 iteration 的 C4 判定为"饱和"——topic 级与 `next_refine_set` 中各 idea 的 per-idea 级都不再产出相关新论文。

两闸门都满足才结束。任一不满足, 回到 C1 开下一个 iteration。

注意

  • 当前版本 = `current_version` in `ideas/ideas.xml`
  • score = `score` in `ideas/ideas.xml`,即 idea-reviewer Likelihood-Impact Matrix 给出的 numeric score(可能为 1 / 3 / 4 / 5 / 6 / 7 / 8 / 9)
  • 并发限制: `parallelism` 从 local settings 读取. 同时运行的 subagent / deep-lit 进程不超过 `parallelism` 个. 需要并行调度时, 按 sliding-window 方式推进: 完成一个就补启动下一个.
  • refiner_model: 控制 `idea-refiner` 使用的模型.
  • `refiner_model = "claude"`: 照原流程调用 `idea-refiner` subagent. 如果 quota/rate-limit 失败, 自动 fallback 到下一个.
  • `refiner_model = "codex"`: 在 agon-artifact 目录下按 dispatch_manual 的 codex 模板执行; `TASK_PROMPT` 使用 C1 循环主体里 `idea-refiner` 的 prompt.
  • codex 调用返回后立即 Read `$OUT` 当 report → `rm "$OUT"` 防 /tmp 堆积.
  • reviewer_model: 控制 `idea-reviewer` 使用的模型.
  • `reviewer_model = "claude"` (默认): 照原流程调用 `idea-reviewer` subagent. 如果 quota/rate-limit 失败, 自动 fallback 到下一个.
  • lit_tick_model: 控制 `deep-lit-tick` dispatcher 使用的模型.
  • `lit_tick_model = "claude"` (默认): 按 dispatch_manual 的 claude 模板执行.
  • `lit_tick_model = "codex"`: 按 dispatch_manual 的 codex 模板执行.
  • 如果 subagent 中途退出, 用 SendMessage resume 原 agent 继续.

运行一次完整 deep-lit

C2 的每次 deep-lit 都是一次完整的 deep-lit-tick 运行 (跑到它内部 B4 饱和为止)。

在 agon-artifact 目录下 (默认 CWD, 不要改目录), 按 `lit_tick_model` 和 dispatch_manual 启动完整 tick。这里 `AGENT_PROM

Read more
Ships withagon

Claude Code plugin for autonomous AI research — multi-agent loops take a bare topic all the way to running experiments, with no human-written experimental code.

Get the whole plugin

Other commands on agon.