gostlight

Agent Step Sequencer

AI 智能体v1.1.0
作者:gostlight更新于 2026-05-11共 7 个版本 · 最新版本发布于 2026-02-10agent-step-sequencer@clawhub_gostlightai/agent-step-sequencer
任务自动化工作流编排

据 AlphaMoat 统计,截至 2026-09,Agent Step Sequencer 累计下载 3,658 次、获 4 个星标,在全部 5,078 个 AI 技能中排名第 2,965 位,在「AI 智能体」分类(969 个)中排名第 594 位。

累计安装
115
累计下载
3,658
星标
4
全站排名
#2,965
全站前 59% · 「AI 智能体」前 62%
平台累计安装累计下载星标评论
ClawHub ↗1153,65832
SkillHub ↗1143,5754—

各平台的计数口径不同,统计时间不一致。

这个技能是做什么的

它先提出步骤计划并等待用户批准,然后将进度写入状态文件;可通过即时检查或心跳机制继续未完成步骤,并按设置重试失败步骤。由于重试可能重复执行非幂等操作,涉及购买、公开发布或破坏性变更的步骤应先加强控制。 检查状态并使用可信 STEP_AGENT_CMD;STEP_RUNNER 留空或仅使用受控路径。

资料发布于 2026-10-29

可以用来做什么

  • 拆分包含依赖关系的复杂任务
  • 保存步骤进度并在中断后恢复
  • 检查步骤状态并重试失败项

什么时候用

  • 请求需要多个有序步骤或输出依赖时
  • 需要跨会话保存并恢复任务进度时

示例提示词

以下是根据技能文档生成的示例,不代表实际运行结果。

先提出分步计划并等我批准,批准前不要开始执行。
检查当前步骤状态;重试可能重复的外部操作前,先列明副作用并等待确认。

月度数据趋势

累计下载3,658
2,0382,9083,7782026-03 · 累计下载 2,1582026-05 · 累计下载 2,8502026-06 · 累计下载 3,0222026-07 · 累计下载 3,3562026-08 · 累计下载 3,5262026-09 · 累计下载 3,65826-0326-09
星标4
3442026-03 · 星标 32026-05 · 星标 32026-06 · 星标 32026-07 · 星标 42026-08 · 星标 42026-09 · 星标 426-0326-09

2026-09 起统计方法调整:同名技能按作者分别统计,并覆盖全部技能。图中虚线为调整前的月份,与之后的数据不直接比较,也不计算跨越调整的增长。

月份累计下载环比星标
2026-093,658—4
2026-083,526+5.1%4
2026-073,356+11.1%4
2026-063,022+6.0%3
2026-052,850—3
2026-032,158—3

SKILL.md 原文

以下是作者发布的原始文件,按纯文本显示,本站未做修改或审核;其中的链接不可点击,命令请核实后再运行。抓取于 2026-10-23。

8.7 KB · ClawHub v1.1.0
---
name: agent-step-sequencer
description: Multi-step scheduler for in-depth agent requests. Detects when user needs multiple steps, suggests plan and waits for confirmation, persists state, and runs heartbeat-aware flow. Use when requests have 3+ actions, sequential dependencies, output dependencies, or high scope/risk.
metadata: {"openclaw":{"emoji":"🔗","requires":{"bins":["python3"],"env":["STEP_AGENT_CMD"]},"install":[{"id":"apt","kind":"apt","package":"python3","bins":["python3"],"label":"Install Python 3","os":["linux"]},{"id":"brew","kind":"brew","formula":"python@3","bins":["python3"],"label":"Install Python 3","os":["darwin"]}]}}
---

# Agent Step Sequencer

Multi-step scheduler for in-depth requests. Enables step-based actions with heartbeat integration—survives gateway reset mid-step.
展开全部(共 223 行)
## Core Pattern

1. **Interpret** when user request requires multiple steps
2. **Suggest** step plan, wait for confirmation
3. **Persist** state.json (with plan format)
4. **Agent invokes** `scripts/step-sequencer-check.py` immediately (no wait for heartbeat)
5. **Heartbeat** (e.g. every 5 min) also invokes the script—keeps sequencer aligned with email jobs and other heartbeat tasks

**Critical:** If gateway resets mid-step, next heartbeat reads state and resumes correctly.

---

## Plan Format

Agent builds a plan when user approves. During approval, agent asks: **Use 2-minute delay between steps?** Recommended for rate-limit–sensitive API calls. User chooses; agent sets `stepDelayMinutes` (0 or 2) in state. Each step has `title`, `instruction`, and optionally `requiredOutputs` (paths relative to workspace that must exist before the step is marked DONE):

```json
{
  "plan": {
    "steps": {
      "step-1": { "title": "Research topic X", "instruction": "Research topic X and produce a concise summary", "requiredOutputs": ["study/summary.md"] },
      "step-2": { "title": "Write paper", "instruction": "Using the summary from step 1, write a research paper..." }
    }
  },
  "stepQueue": ["step-1", "step-2"],
  "currentStep": 0,
  "stepRuns": {},
  "stepDelayMinutes": 0,
  "status": "IN_PROGRESS"
}
```

- **title**: Human-readable label
- **instruction**: Full instruction for the agent (research, summarize, pull X from Y, etc.)
- **requiredOutputs** (optional): List of paths (relative to workspace). Runner marks step DONE only if agent exits 0 and all these paths exist; otherwise step is FAILED with "Missing required outputs: …".

---

## Roles

- **Agent**: Builds plan, persists state; does not touch state during step execution. Takes prompts.
- **Runner** (`step-sequencer-runner.py`): Invokes agent with step instruction, waits for exit, marks DONE/FAILED. Applies stepDelayMinutes. On retry, agent gets troubleshoot prompt.
- **Check script** (`step-sequencer-check.py`): If work to do, invokes runner. Handles FAILED → retry (reset PENDING, invoke runner).
- **Heartbeat**: Invokes check script on schedule.

---

## Step execution: autonomous recovery

**Do not stop mid-step to ask the user.** When executing a step, if something fails (empty fetch, API error, source unavailable):

1. **Retry** once (same source/URL) if it might be transient.
2. **Try an alternative** (e.g. CoinGecko instead of CoinMarketCap, different endpoint or token) and complete the step with what you can.
3. **Document and exit** only if you truly cannot complete the step—then exit non-zero so the runner marks FAILED; the scheduler will retry with a troubleshoot prompt.

Do not stop silently. If you cannot complete the step after retry and alternatives: **actively prompt the user**—post a short message that you hit a snag, what failed, and what you tried (e.g. "Step 2 (research Meteora) failed: CoinMarketCap fetch empty, tried CoinGecko—also empty. Need another source or skip this token."). Then exit non-zero so the runner marks FAILED and the scheduler can retry or add to blockers. Never just stop without telling the user.

---

## How Agent Determines Multi-Step

**Agent must suggest before proceeding.** When MULTI_STEP, propose the step plan and wait for confirmation before executing.

```
MULTI_STEP =
  (action_count >= 3)
  OR has_sequential_language
  OR has_output_dependency
  OR high_scope_or_risk
  OR user_requests_steps
  OR contains_setup_keywords

SINGLE_STEP =
  (action_count == 1)
  AND NOT has_output_dependency
  AND immediate_execution

DECISION =
  IF MULTI_STEP THEN suggest_multi_step → wait for confirm → proceed
  ELSE single_step
```

**Definitions:**

| Criterion | Meaning |
|-----------|---------|
| `action_count` | Number of distinct actions (file edits, commands, etc.) |
| `has_sequential_language` | "then", "after", "first...then", "step 1" |
| `has_output_dependency` | Step B needs output from step A |
| `high_scope_or_risk` | Many files, destructive ops, migration |
| `user_requests_steps` | "step by step", "break this down", "one at a time" |
| `contains_setup_keywords` | "set up", "migrate", "implement from scratch", "full X", "complete Y" |

---

## State Schema

See [references/state-schema.md](references/state-schema.md). Key fields:

- `plan.steps`: step definitions (`title`, `instruction`, optional `requiredOutputs`)
- `stepQueue`, `currentStep`, `stepRuns`
- `stepDelayMinutes`: 0 = no delay; 2 = 2 min between steps
- `blockers`, `lastHeartbeatIso`, `artifacts`

---

## Heartbeat Flow

Heartbeat invokes `scripts/step-sequencer-check.py`. Agent also invokes it right after persisting state.

1. Read state.json
2. If no state or status=DONE → do nothing
3. If step FAILED → bump tries, reset to PENDING, invoke runner (immediate retry)
4. If step DONE → advance currentStep, invoke runner
5. If step PENDING or IN_PROGRESS → invoke runner
6. Update lastHeartbeatIso

Runner invokes agent (configurable via `STEP_AGENT_CMD`). Runner applies stepDelayMinutes.

---

## Failure Flow

1. Runner marks step FAILED, stores error in stepRuns
2. Runner invokes check script immediately (no heartbeat wait)
3. Check script bumps tries, resets status to PENDING, invokes runner
4. Runner invokes agent with troubleshoot prompt: "Step X failed (tries: N). Previous run ended with: [error]. Please troubleshoot and retry: [instruction]"
5. Repeats until DONE or max retries / blockers

---

## Flow Diagrams

### Check script → Runner

```mermaid
flowchart TD
    A[Heartbeat or Agent] --> B[step-sequencer-check.py]
    B --> C{Work to do?}
    C -->|No| D[Do nothing]
    C -->|Yes| E[Invoke runner]
    E --> F[step-sequencer-runner.py]
    F --> G[Invoke agent with instruction]
    G --> H{Agent exit}
    H -->|Success| I[Mark DONE]
    H -->|Fail| J[Mark FAILED, invoke check script]
    I --> K[Check advances or done]
    J --> B
```

### User flow (propose + persist)

```mermaid
flowchart TD
    U[User Request] --> V{Complex enough?}
    V -->|No| W[Execute directly]
    V -->|Yes| X[Propose step plan]
    X --> Y[User confirms]
    Y --> Z[Persist state.json with plan]
    Z --> AA[Agent invokes step-sequencer-check]
    AA --> AB[Runner invokes agent - step 1]
    AB --> AC[Heartbeat also invokes on schedule]
```

---

## Configuration

| Env | Description |
|-----|-------------|
| `STEP_AGENT_CMD` | **Required.** Command to invoke agent (space-separated). Prompt appended as last arg. Example: `openclaw agent --message` |
| `STEP_RUNNER` | Path to step-sequencer-runner.py (optional) |
| `STEP_MAX_RETRIES` | Max retries on FAILED before adding to blockers. Default: 3 |

OpenClaw: Wire `STEP_AGENT_CMD` to OpenClaw's agent invocation (e.g. `openclaw agent --message`).

**Security:** Set `STEP_AGENT_CMD` only to your trusted agent binary. Do not use shell interpreters (`bash`, `sh`, etc.) or `-c`/`-e`—the runner rejects these to prevent command injection. The instruction from state.json is passed as a single argument; it is never executed by a shell.

---

## Final Deliverables Step

When all steps complete:

- Confirm all requirements of the steps are met
- Produce summary with links or paths to any files created/written
- Mark state DONE → on subsequent heartbeats, scheduler does nothing

---

## Installation

```bash
clawhub install agent-step-sequencer
```

Manual copy:

```bash
cp -r agent-step-sequencer ~/.openclaw/skills/agent-step-sequencer
```

**Heartbeat integration** — Add this to your heartbeat (or have the agent add it):

```bash
# Agent Step Sequencer check (add to heartbeat cycle)
python3 ~/.openclaw/skills/agent-step-sequencer/scripts/step-sequencer-check.py ~/.openclaw/workspace/state.json
```

Or if skill is in workspace: `python3 ~/.openclaw/workspace/skills/agent-step-sequencer/scripts/step-sequencer-check.py ~/.openclaw/workspace/state.json`

Set `STEP_AGENT_CMD` to your agent invocation before running. Agent should invoke the check script immediately after persisting state.

「AI 智能体」分类下的热门技能

数据月份:2026-09 · 下载/星标/安装数聚合自公开技能注册库(ClawHub、SkillHub),按月更新。口径说明见数据方法。