change-dispatch

change-dispatch is a skill for Codex from lupingluke-ai/general-ai-spec. It costs 71 tokens per session (7,625 once invoked), scanned A, original, MIT.

A task-dispatch workflow that reads a project backlog, claims ready work on an isolated Git branch, implements it, and pushes the result to a shared feature branch. A backlog is a list of planned work items.

In plain words
What is it for?
Use it to scan active changes, select ready task groups, implement them with the project's toolchain, and push the completed work. It supports workflows using cron, GitHub Actions, Codex, Claude Code, or one-off runners.
Why use it?
It separates finding and claiming work from the agent or runner that executes it, reducing duplicate claims and keeping parallel work isolated. It can be triggered by scheduled jobs, automation, or a person.

Skill for Codex

Written for Codex: runs codex exec. Also seen: mentions Claude Code; mentions AGENTS.md; mentions Codex.

Good fit Use it to scan active changes, select ready task groups, implement them with the project's toolchain, and push the completed work. It supports workflows using cron, GitHub Actions, Codex, Claude Code, or one-off runners.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/lupingluke-ai/general-ai-spec/change-dispatch
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add lupingluke-ai/general-ai-spec --skill change-dispatch
Clone the repo
git clone --depth 1 https://github.com/lupingluke-ai/general-ai-spec

Made for: Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for change-dispatch

README.md
[![agentmods](https://agentmods.dev/badge/skills/lupingluke-ai/general-ai-spec/change-dispatch/github.svg)](https://agentmods.dev/skills/lupingluke-ai/general-ai-spec/change-dispatch)
Your own site
<a href="https://agentmods.dev/skills/lupingluke-ai/general-ai-spec/change-dispatch"><img src="https://agentmods.dev/badge/skills/lupingluke-ai/general-ai-spec/change-dispatch/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for change-dispatch

Your own site · 80×15
<a href="https://agentmods.dev/skills/lupingluke-ai/general-ai-spec/change-dispatch"><img src="https://agentmods.dev/badge/skills/lupingluke-ai/general-ai-spec/change-dispatch.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 71 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 7,625 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00071 $0.07625
Opus 5 $0.00036 $0.03812
Sonnet 5 $0.00014 $0.01525
Haiku 4.5 $0.00007 $0.00762

Measured 10d ago against content hash 51dd1149e8fa, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade A, and why

change-dispatch scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/change-dispatch/SKILL.md · 534 lines

How it starts

The opening of the file, as written. The whole thing — 534 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Change Auto-Dispatch

Overview

自动扫描并领取就绪的 OpenSpec 任务组。Runner 无关表示协议不绑定某一种 agent;执行环境仍必须具备项目声明的 Node/pnpm/技术栈工具链、agent CLI、模型凭据、GitHub 写权限和网络访问。

三层解耦:

  1. Runner 层(谁触发 dispatch 运行):cron / /loop Nm /change-dispatch / Codex Automation / GitHub Actions / 人工一次性触发,任选其一
  2. Dispatch 逻辑层(本 skill):扫描 → 认领 → 实现 → push,不关心是谁在跑
  3. Executor 层(每个任务组用什么执行模式):tasks.md 任务组注释的 执行模式: tag 决定;dispatch 兼容旧 执行工具: tag

Branch-Centric 模型: 四件套和实现代码都在 feature branch 上。dispatch 通过 main 上的 backlog 索引找到活跃 change,fetch 对应 feature branch 读取 tasks.md,实现后直接 push。

Announce at start: "Running change-dispatch: scanning for ready task groups."

Bash 命令规范

为兼容 Claude Code / Codex 等不同执行环境的权限与审批模型,所有 Bash 操作必须遵循:

  1. 每条命令独立调用 — 不在一条 Bash 中用 &&||; 串联多条命令
  2. 管道可以用 — 单条命令内的管道(如 git branch -r | grep feat/)是允许的
  3. 并行无依赖时分开调用 — 多条独立命令应作为多个并行 Bash tool call 发送

示例:

# ❌ 错误:复合命令触发确认
git fetch origin && git branch -r | grep feat/ && gh pr list --state open

# ✅ 正确:拆分为独立调用
# Call 1: git fetch origin
# Call 2: git branch -r | grep feat/
# Call 3: gh pr list --state open --json number,headRefName,title,isDraft

类型 → 分支/提交前缀映射规则

type 的事实源是 product/backlog.md类型列(dispatch Step 1 扫描 backlog 时同一行直接读到,无需从 change-id 字符串反解析)。由 type 映射 branch / commit 前缀:

type branch 前缀 commit type
feature feat/ feat
bug fix/ fix
chore chore/ chore
hotfix hotfix/ fix

<branch-prefix><commit-type> 全流程复用,禁止硬编码 feat/4 种类型走相同的 dispatch 路径,无例外。

change-id 的命名前缀(fix- / chore- / hotfix-)由 prd-writer 按 type 生成、change-propose 校验,仅作语义标签;dispatch / review 不解析它。

Runner 配置(任选其一)

dispatch 对 runner 的要求包括:git、shell、项目技术栈工具链、依赖安装能力、可调用本 skill 的 agent CLI、模型凭据、GitHub 写权限和网络。触发频率由项目自行配置,需保证不会长期占用分支或压垮 CI。

方式 A — Claude Code /loop(推荐开发期)

/loop <interval> /change-dispatch

优点:零配置;启动/停止方便;可与 change-propose / change-review 的人工或定时触发协作。

Read the full file on GitHub · 534 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 10d ago First seen · 534 lines · 71 tokens per session scan A 51dd1149e8fa

Subscribe to this mod's changes

change-dispatch is a skill published in the GitHub repository lupingluke-ai/general-ai-spec (5 stars, last pushed 1mo ago), licensed MIT. It adds 71 tokens to every session and 7,625 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.