autochain
Plan a dependency-ordered chain of issues, then execute it autonomously on approval
Skill by Wave-Engineering
Chalk Labs
Need help deploying autochain?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/wave-engineering-autochain
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/autochain
What's inside
- Skill name
autochain- Description
- Plan a dependency-ordered chain of issues, then execute it autonomously on approval
- License
- MIT
- Instructions
- 179 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
<!-- introduction-gate: If introduction.md exists in this skill's directory AND
the marker file /tmp/.skill-intro-autochain does NOT exist, read introduction.md,
present its contents to the user, then create the marker: touch /tmp/.skill-intro-autochain
Do NOT delete introduction.md — it lives in a protected directory.
Do this BEFORE executing any skill logic below. -->
# Autochain
Two stages. `plan` decides the order and stops. `run` executes an approved order.
**Policy lives in CLAUDE.md, not here.** The prod boundary, the commit gate and the issue
lifecycle are stated there once. This skill points at them; it does not restate them, because two
homes for one rule drift apart.
## Stage 1 — `/autochain plan <epic-or-issue-list>`
Read-only. Produces a reviewable order and **stops for approval.**
1. **Gather** the candidate issues.
2. **Establish dependencies by measurement, not assumption.** For each edge, name what is
actually blocked and how you know. An assumed dependency is how an issue sits behind a blocker
that was fixed weeks ago.
3. **Check each issue is executable before sequencing it.** Run `spec_validate_structure`. Read
the acceptance criteria and ask whether they describe work that is still outstanding — an
issue whose ACs were satisfied elsewhere will otherwise be discovered mid-branch. If a spec is
thin, fix it now; that is part of planning.
4. **Separate what you can work from what you cannot.** Anything needing a human decision, an
access you lack, or a production change goes in its own list with the reason and the owner.
**A chain that silently omits these reads as complete.**
**Check the merge is actually gated by CI.** `run` merges without a human, which makes CI the
*only* opinion between a change and the protected branch. Call
`mcp__sdlc-server__wave_ci_trust_level`; anything other than `pre_merge_authoritative` means
required checks do not gate the merge, so the whole chain goes on the cannot-work list with that
reason. Be clear about what a pass proves: CI **gates** the merge — not that the CI is
thorough. If you know a repo's checks are thin, say so in the plan.
5. **Write the order into the epic**, with a one-line "why here" per issue. The epic is the state
between stages — durable, survives compaction, visible without asking.
6. **Present** the order, what is blocked and on whom, and **stop.** Do not start work.
## Stage 2 — `/autochain run <epic>`
Precondition: an approved order exists in the epic. If it does not, run `plan` instead.
**Arm the gate before the first issue.** BJ's approval of the order is what lifts `/precheck`'s
human STOP — under CLAUDE.md's "Exception: Approved Autochain", not under anything this skill
says. Record it where `/precheck` can check it, with his words verbatim. **Write the quote to a
file with the `Write` tool** — never `echo` or a heredoc, and never as a shell argument: his words
can carry backticks and `$(…)`, and a shell would run them before the gate ever saw them.
```bash
# <scratchpad>/autochain-approval.txt written with Write: BJ's approval, quoted exactly
autochain-gate.sh arm <repo_root> <epic> --approval-file <scratchpad>/autochain-approval.txt <issue> <issue> ...
```
List exactly the issues in the approved order — no more. An issue added later is a set change
(below) and needs a fresh approval and a fresh `arm`. The approval expires `AUTOCHAIN_TTL_HOURS`
after arming (default 12): a chain that outlives it stops at `/precheck`'s human STOP, and that is
the moment to ask BJ to renew, not to re-arm on the old words.
For each issue, in order, while unblocked:
1. Mark it started (per CLAUDE.md's lifecycle rules — mark on start, never hand-set a terminal state).
2. Branch from the live default.
3. Implement, then commit and push (`/scp`; free on a working branch).
4. **Run `/scpmr` — it opens the draft PR/MR and runs `/precheck`, the skill, not your own assembly of its parts.** If you find yourself
hand-rolling IBM, spec validation, trivy or the code review, stop and run the skill. Its Step 5
runs `autochain-gate.sh check`; for an armed issue that has **passed**, it emits
`[AUTO-APPROVED: autochain #<epic>]` and invokes `/mmr` itself. Nothing in this skill grants
that — the gate does.
**"Passed" is mechanical, not a judgment.** ALL of:
- every checklist item verified — none unchecked, none "deferred" to get past the gate;
- the latest Job D pass has **zero** unresolved critical or important findings;
- every lane Job B ran (validate **and** tests — it runs all of them) reports `exit=0` on its own
`LANE` line. Never a sub-agent's summary, and never a partial or still-running suite: "still
running, will complete shortly" is not a result. The suite may die with the agent that said
it, and even if it lives, nobody is holding its exit code;
- Job C exit 0. A `[SKIPPED]` scan is not a pass when no human is reading the checklist —
stop and report it.
Anything short of that is a failed precheck: fix it, or stop.
5. `/mmr` — invoked by `/precheck` on the sentinel, after it posted the `precheck` status and marked the PR/MR ready; do not invoke it yourself around a failed gate.
6. **Verify the post-state.** Read the merge back — a merge that returned 200 is not a merge.
Confirm the merge closed the issue via `Closes #N`; close it by hand **only** if the merge did
not (per CLAUDE.md: merge does the closing, never hand-set a terminal state). Then
`autochain-gate.sh consume <repo_root> <issue>` — a landed issue leaves the approval, so a later
branch reusing its number cannot inherit it — and update the epic.
7. Next issue. The last `consume` disarms the gate; if the chain ends any other way, `disarm`.
### When the plan turns out to be wrong
- **Order changes inside the approved set** → update the epic, keep going, one line to BJ.
- **The set changes** — a new blocker, an issue that needs filing, a dependency that did not
exist — → **stop and re-enter `plan`.** Continuing means executing something that was never
approved.
### When one issue will not converge
An autonomous loop needs exits that do not depend on the agent deciding it is stuck. **Stop work
on the issue and get loud** (see Stopping) the moment ANY of these is true:
- three Job D passes on this issue and still not clean;
- a finding comes back after a pass marked it RESOLVED;
- CI goes red twice after fix-forward on the same PR;
- the same precheck job fails twice for the same cause.
These are not reasons to file and move on — the issue is still the work. They are the point at
which grinding alone costs more than asking BJ, and burning an evening spinning on issue 2 of 7
is the failure mode they exist to prevent.
### Findings mid-run — fix them HERE by default; filing is the exception
**Default: work the finding inside the issue you are on.** Not because the current issue
would be broken without it, but because a separate MR is expensive and the expense is
invisible at the moment you decide. Each one costs its own `/precheck` — including an
opus code review — plus a full CI run, a merge pipeline, and one of BJ's approval gates.
Two adjacent findings split into two MRs pay all of that twice and review each half
without the other in front of the reviewer.From Wave-Engineering/claudecode-workflow, MIT.
More from Wave-Engineering/claudecode-workflow
- 0.584score
multithread
Wave-Engineering
Parallelize a discussion over independent items — lay out all threads at once each with a take, batch-answer, drop sorted ones, iterate until dry.
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
assesswaves
Wave-Engineering
Quick assessment of whether a piece of work is suitable for wave-pattern execution (parallel or serial).
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
grunt
Wave-Engineering
Stand up a scoped-operations "grunt" — a dedicated aoe agent that clears a bounded service backlog so the main session's context stays clean for…
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
disc
Wave-Engineering
Discord integration — /disc routes to disc-server MCP tools, plus discord-watcher CLI subcommands for forward/directmsg/doorbell.
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
dod
Wave-Engineering
Project Definition of Done verification against the Deliverables Manifest — verify every deliverable, run tests, check VRTM, produce pass/fail report
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
jfail
Wave-Engineering
Fetch and analyze a failed CI job (GitLab) or workflow run (GitHub)
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
lazyriver
Wave-Engineering
Goal-seek loop — probe, judge sufficiency, steer, journal; emits a plan or answer
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
name
Wave-Engineering
Report or pick the agent's session identity (Dev-Name, Dev-Avatar, Dev-Team)
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
edit
Wave-Engineering
Open a file or URL in a GUI editor (modification intent, async)
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
engage
Wave-Engineering
Read CLAUDE.md, confirm development rules of engagement, and load current plan
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
ibm
Wave-Engineering
Verify Issue → Branch → PR/MR workflow compliance via MCP tool
SkillAFreshness: A★ 1Claude Code +9 - 0.580score
ccfold
Wave-Engineering
Merge upstream CLAUDE.md template changes into the current project's CLAUDE.md, preserving project-specific content like Dev-Team and custom sections.
SkillAFreshness: A★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 1
- Open issues
- 85
- Last commit (this folder)
- Oct 19, 2026 (11 days ago)
- Last release
- Oct 24, 2026 (5 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Wave-Engineering
- 0.584score
assesswaves
Wave-Engineering
Quick assessment of whether a piece of work is suitable for wave-pattern execution (parallel or serial).
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
multithread
Wave-Engineering
Parallelize a discussion over independent items — lay out all threads at once each with a take, batch-answer, drop sorted ones, iterate until dry.
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
disc
Wave-Engineering
Discord integration — /disc routes to disc-server MCP tools, plus discord-watcher CLI subcommands for forward/directmsg/doorbell.
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
dod
Wave-Engineering
Project Definition of Done verification against the Deliverables Manifest — verify every deliverable, run tests, check VRTM, produce pass/fail report
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
grunt
Wave-Engineering
Stand up a scoped-operations "grunt" — a dedicated aoe agent that clears a bounded service backlog so the main session's context stays clean for…
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
edit
Wave-Engineering
Open a file or URL in a GUI editor (modification intent, async)
SkillAFreshness: A★ 1Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get autochain running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
autochain skill. Agent Mart. https://agentmart.dev/skills/wave-engineering-autochain (last updated 2026-10-24)