Token导航 LogoToken导航TokenDH.com
研究检索执行命令clawhub未标认证来源可访问clear审计提醒

gsd-orchestratorGSD 协调器

Agent Skill

gsd-orchestrator 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

6,708

周安装

274

GitHub Stars

公开资料未说明

下载量

2,148
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:gsd-orchestrator(GSD 协调器)
来源仓库:https://github.com/glittercowboy/gsd-orchestrator
安装命令:
openclaw skills install gsd-orchestrator
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install gsd-orchestrator

简介

基于子流程执行的 GSD 项目管理中枢,支持里程碑规划与软件开发落地。

  • 适用于 OpenClaw 中复杂项目的分阶段交付与进度跟踪。
  • 提供规范化的任务拆解模板与验收标准定义。gsd-orchestrator 属于研究检索类 Skill,可作为该场景下的辅助能力补充。
  • 使用前请确认项目结构是否符合预设规范要求。
  • 涉及多模块协作时需统一版本控制与依赖管理。

SKILL.md

name
gsd-orchestrator
description
>
metadata
openclaw
requires
bins
[gsd]
install
kind
node
package
gsd-pi
bins
[gsd]

GSD Orchestrator

Run GSD commands as subprocesses via gsd headless. No SDK, no RPC — just shell exec, exit codes, and JSON on stdout.

Quick Start

# Install GSD globally
npm install -g gsd-pi

# Verify installation
gsd --version

# Create a milestone from a spec and execute it
gsd headless --output-format json new-milestone --context spec.md --auto

Command Syntax

gsd headless [flags] [command] [args...]

Default command is auto (run all queued units).

Flags

FlagDescription
--output-format <fmt>Output format: text (default), json (structured result at exit), stream-json (JSONL events)
--jsonAlias for --output-format stream-json — JSONL event stream to stdout
--bareMinimal context: skip CLAUDE.md, AGENTS.md, user settings, user skills. Use for CI/ecosystem runs.
--resume <id>Resume a prior headless session by its session ID
--timeout NOverall timeout in ms (default: 300000)
--model IDOverride LLM model
--supervisedForward interactive UI requests to orchestrator via stdout/stdin
--response-timeout NTimeout (ms) for orchestrator response in supervised mode (default: 30000)
--answers <path>Pre-supply answers and secrets from JSON file
--events <types>Filter JSONL output to specific event types (comma-separated, implies --json)
--verboseShow tool calls in progress output

Exit Codes

CodeMeaningConstant
0Success — unit/milestone completedEXIT_SUCCESS
1Error or timeoutEXIT_ERROR
10Blocked — needs human interventionEXIT_BLOCKED
11Cancelled by user or orchestratorEXIT_CANCELLED

These codes are stable and suitable for CI pipelines and orchestrator logic.

Output Formats

FormatBehavior
textHuman-readable progress on stderr. Default.
jsonCollect events silently. Emit a single HeadlessJsonResult JSON object to stdout at exit.
stream-jsonStream JSONL events to stdout in real time (same as --json).

Use --output-format json when you need a structured result for decision-making. See references/json-result.md for the full field reference.

Core Workflows

1. Create + Execute a Milestone (end-to-end)

gsd headless --output-format json new-milestone --context spec.md --auto

Reads a spec file, bootstraps .gsd/, creates the milestone, then chains into auto-mode executing all phases (discuss → research → plan → execute → summarize → complete). The JSON result is emitted on stdout at exit.

Extra flags for new-milestone:

  • --context <path> — path to spec/PRD file (use - for stdin)
  • --context-text <text> — inline specification text
  • --auto — start auto-mode after milestone creation
  • --verbose — show tool calls in progress output
# From stdin
cat spec.md | gsd headless --output-format json new-milestone --context - --auto

# Inline text
gsd headless new-milestone --context-text "Build a REST API for user management" --auto

2. Run All Queued Work

gsd headless --output-format json auto

Loop through all pending units until milestone complete or blocked.

3. Run One Unit (step-by-step)

gsd headless --output-format json next

Execute exactly one unit (task/slice/milestone step), then exit. This is the recommended pattern for orchestrators that need control between steps.

4. Instant State Snapshot (no LLM)

gsd headless query

Returns a single JSON object with the full project snapshot — no LLM session, instant (~50ms). This is the recommended way for orchestrators to inspect state.

{
  "state": {
    "phase": "executing",
    "activeMilestone": { "id": "M001", "title": "..." },
    "activeSlice": { "id": "S01", "title": "..." },
    "progress": { "completed": 3, "total": 7 },
    "registry": [...]
  },
  "next": { "action": "dispatch", "unitType": "execute-task", "unitId": "M001/S01/T01" },
  "cost": { "workers": [{ "milestoneId": "M001", "cost": 1.50 }], "total": 1.50 }
}

5. Dispatch Specific Phase

gsd headless dispatch research|plan|execute|complete|reassess|uat|replan

Force-route to a specific phase, bypassing normal state-machine routing.

6. Resume a Session

gsd headless --resume <session-id> auto

Resume a prior headless session. The session ID is available in the HeadlessJsonResult.sessionId field from a previous --output-format json run.

Orchestrator Patterns

Parse the Structured JSON Result

When using --output-format json, the process emits a single HeadlessJsonResult on stdout at exit. Parse it for decision-making:

RESULT=$(gsd headless --output-format json next 2>/dev/null)
EXIT=$?

STATUS=$(echo "$RESULT" | jq -r '.status')
COST=$(echo "$RESULT" | jq -r '.cost.total')
PHASE=$(echo "$RESULT" | jq -r '.phase')
NEXT=$(echo "$RESULT" | jq -r '.nextAction')
SESSION_ID=$(echo "$RESULT" | jq -r '.sessionId')

echo "Status: $STATUS, Cost: \$${COST}, Phase: $PHASE, Next: $NEXT"

See references/json-result.md for the full field reference.

Blocker Detection and Handling

Exit code 10 means the execution hit a blocker requiring human intervention:

gsd headless --output-format json next 2>/dev/null
EXIT=$?

if [ $EXIT -eq 10 ]; then
  # Inspect the blocker
  BLOCKER=$(gsd headless query | jq '.state.phase')
  echo "Blocked: $BLOCKER"

  # Option 1: Use --supervised mode to handle interactively
  gsd headless --supervised auto

  # Option 2: Pre-supply answers to resolve the blocker
  gsd headless --answers blocker-answers.json auto

  # Option 3: Steer the plan to work around it
  gsd headless steer "Skip the blocked dependency, use mock instead"
fi

Cost Tracking and Budget Enforcement

MAX_BUDGET=10.00

RESULT=$(gsd headless --output-format json next 2>/dev/null)
COST=$(echo "$RESULT" | jq -r '.cost.total')

# Check cumulative cost via query (includes all workers)
TOTAL_COST=$(gsd headless query | jq -r '.cost.total')

if (( $(echo "$TOTAL_COST > $MAX_BUDGET" | bc -l) )); then
  echo "Budget exceeded: \$$TOTAL_COST > \$$MAX_BUDGET"
  gsd headless stop
  exit 1
fi

Step-by-Step with Monitoring

The recommended pattern for full control. Run one unit at a time, inspect state between steps:

while true; do
  RESULT=$(gsd headless --output-format json next 2>/dev/null)
  EXIT=$?

  STATUS=$(echo "$RESULT" | jq -r '.status')
  COST=$(echo "$RESULT" | jq -r '.cost.total')

  echo "Exit: $EXIT, Status: $STATUS, Cost: \$$COST"

  # Handle terminal states
  [ $EXIT -eq 0 ] || break

  # Check if milestone is complete
  PHASE=$(gsd headless query | jq -r '.state.phase')
  [ "$PHASE" = "complete" ] && echo "Milestone complete" && break

  # Budget check
  TOTAL=$(gsd headless query | jq -r '.cost.total')
  if (( $(echo "$TOTAL > 20.00" | bc -l) )); then
    echo "Budget limit reached"
    break
  fi
done

Poll-and-React Loop

Lightweight pattern using only the instant query command:

PHASE=$(gsd headless query | jq -r '.state.phase')
NEXT_ACTION=$(gsd headless query | jq -r '.next.action')

case "$PHASE" in
  complete) echo "Done" ;;
  blocked)  echo "Needs intervention — exit code 10" ;;
  *)        [ "$NEXT_ACTION" = "dispatch" ] && gsd headless next ;;
esac

CI/Ecosystem Mode

Use --bare to skip user-specific configuration for deterministic CI runs:

gsd headless --bare --output-format json auto 2>/dev/null

This skips CLAUDE.md, AGENTS.md, user settings, and user skills. Bundled GSD extensions and .gsd/ state are still loaded (they're required for GSD to function).

JSONL Event Stream

Use --json (or --output-format stream-json) for real-time events:

gsd headless --json auto 2>/dev/null | while read -r line; do
  TYPE=$(echo "$line" | jq -r '.type')
  case "$TYPE" in
    tool_execution_start) echo "Tool: $(echo "$line" | jq -r '.toolName')" ;;
    extension_ui_request) echo "GSD: $(echo "$line" | jq -r '.message // .title // empty')" ;;
    agent_end) echo "Session ended" ;;
  esac
done

Filtered Event Stream

Use --events to receive only specific event types:

# Only phase-relevant events
gsd headless --events agent_end,extension_ui_request auto 2>/dev/null

# Only tool execution events
gsd headless --events tool_execution_start,tool_execution_end auto

Available event types: agent_start, agent_end, tool_execution_start, tool_execution_end, tool_execution_update, extension_ui_request, message_start, message_end, message_update, turn_start, turn_end.

Answer Injection

Pre-supply answers and secrets for fully autonomous headless runs:

gsd headless --answers answers.json auto

Answer file schema:

{
  "questions": { "question_id": "selected_option" },
  "secrets": { "API_KEY": "sk-..." },
  "defaults": { "strategy": "first_option" }
}
  • questions — question ID → answer (string for single-select, string[] for multi-select)
  • secrets — env var → value, injected into child process environment
  • defaults.strategy"first_option" (default) or "cancel" for unmatched questions

See references/answer-injection.md for the full mechanism.

GSD Project Structure

All state lives in .gsd/ as markdown files (version-controllable):

.gsd/
  PROJECT.md
  REQUIREMENTS.md
  DECISIONS.md
  KNOWLEDGE.md
  STATE.md
  milestones/
    M001/
      M001-CONTEXT.md      # Requirements, scope, decisions
      M001-ROADMAP.md      # Slices with tasks, dependencies, checkboxes
      M001-SUMMARY.md      # Completion summary
      slices/
        S01/
          S01-PLAN.md      # Task list
          S01-SUMMARY.md   # Slice summary
          tasks/
            T01-PLAN.md    # Individual task spec
            T01-SUMMARY.md # Task completion summary

State is derived from files on disk — checkboxes in ROADMAP.md and PLAN.md are the source of truth for completion.

All Commands

See references/commands.md for the complete reference.

CommandPurpose
autoRun all queued units (default)
nextRun one unit
queryInstant JSON snapshot — state, next dispatch, costs (no LLM)
new-milestoneCreate milestone from spec
dispatch <phase>Force specific phase
stop / pauseControl auto-mode
steer <desc>Hard-steer plan mid-execution
skip / undoUnit control
queueQueue/reorder milestones
historyView execution history
doctorHealth check + auto-fix

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

70.72%
按下载量换算1,519

安全审计

VirusTotal

可疑

ClawScan

可疑

Static analysis

通过

权限和风险

执行命令

安装流程涉及命令执行,可能通过 openclaw skills install gsd-orchestrator 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills