agent-loop-local
Maximum-autonomy variant of /agent-loop-auto for ONE repo: no PRs — each lane is gated by a coordinator-dispatched INDEPENDENT reviewer, then a serialized…
Skill by PlatformRelay
Chalk Labs
Need help deploying agent-loop-local?
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/platformrelay-agent-loop-local
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
Use cases: devops, agent-building
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/agent-loop-local
What's inside
- Skill name
agent-loop-local- Description
- Maximum-autonomy variant of /agent-loop-auto for ONE repo: no PRs — each lane is gated by a coordinator-dispatched INDEPENDENT reviewer, then a serialized non-isolated Integrator subagent rebases and ff-merges it into main LOCALLY and pushes; CI is watched in the background, non-blocking. Optimizes for many parallel implementers and fast completion until the backlog is exhausted. On questions/uncertainties the coordinator decides itself (best option) and logs the decision to the repo INBOX for later operator approval instead of stopping. Invoking this skill is explicit authorization to merge locally, merge open own MRs, and cut releases when timely. Never for external-contributor code.
- License
- MIT
- Instructions
- 148 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Files (1)
- SKILL.md
SKILL.md (first lines)
# agent-loop-local — local-merge sprint loop (no PRs, decide-and-log)
Everything `/agent-loop` does (thin coordinator + parallel implementers + **coordinator-dispatched
independent review**, per-repo, TDD → gates → review), but lanes land by **local rebase + ff-merge into
`main`**, pushed directly — **no PRs**. CI runs **after** the push and is watched **in the background,
non-blocking**. The loop refills lanes continuously and runs until the backlog is exhausted. Read
`/agent-loop` for the implementer procedure, the independent-review step (3b), and the role schemas, and
`/agent-loop-auto` for the autonomy framing — this file states only what's different: the local merge
gate and a **serialized, non-isolated Integrator subagent** that keeps merge/push work off the coordinator.
> **Invoking this skill is the operator's authorization** to: merge lanes locally without PRs,
> resolve questions autonomously (with an INBOX note), merge the operator's own open MRs, and cut
> releases when the moment is right. It is still **never** a path to land other people's code.
## When to use
- You want the backlog burned down as fast as possible and are fine approving decisions after the fact.
- **Not** for external-contributor PRs/MRs, and not when you want to eyeball each change before it
lands — use `/agent-loop` or `/agent-loop-auto` for that.
## Local overrides to base Steps 3 / 3b (NO PRs here)
Base Step 3/3b assume a PR; local has none. Override:
- **Implementer:** commit + push the **lane-head branch** (a ref for review), but **do not `gh pr
create`** and do not open a PR. Return `{ lane, branch, headSha, gateResults, selfCheck, blocker? }`
(no `prUrl`); leave the worktree open for the fix loop.
- **Independent reviewer:** the coordinator dispatches a fresh reviewer subagent given the **lane-head
ref**; it reviews the change with `git diff main...<lane-head>` (there is no `gh pr diff` — no PR),
and runs any lab/tutorial lane end-to-end. Its verdict feeds the **coordinator's routing + the
board/INBOX log** — **not** a PR comment. On APPROVE the lane proceeds to the Integrator (below).
## Local merge gate (ALL required, per lane — CI is NOT in this gate)
1. Full gate matrix green **on the rebased head** (repo config in `/agent-loop`).
2. The **coordinator-dispatched independent reviewer** (base Step 3b — a fresh subagent that saw only
the diff, never the implementer's context) returned **APPROVE** with **no P0/P1** findings
(REQUEST CHANGES → resume the implementer, then a fresh re-review; on BLOCK the lane is parked).
3. The work is harness/operator-authored.
## Integrator subagent (serialized, NON-isolated — keeps merge/push off the coordinator)
Local merges land on the **real `main` in the shared checkout**, so the integrator is a
**non-isolated** helper (NOT `isolation:"worktree"` — a worktree is isolated *from* main and cannot
ff-merge it). The coordinator dispatches **one integrator at a time** (merges to `main` are serialized;
implementers stay parallel) and routes on its structured return — it does not run these git ops itself.
The integrator runs, via Bash:
```
git fetch && git rebase main <lane-head> # worktrees can come up on a STALE base — always rebase
<re-run full gate matrix on the rebased head> # file-disjoint lanes rebase clean; verify anyway
git checkout main && git merge --ff-only <lane-head>
git push origin main
```
Never ff-merge an unrebased head; never batch-push multiple unverified merges. (Tell implementers to
`git merge --ff-only origin/main` at lane start too.) On success the integrator also does the
bookkeeping via **Bash writes** (board row → **Integrated**, clear matching INBOX task, update
`SESSION-HANDOFF`) — the background coordinator cannot Edit the shared checkout, but the integrator's
Bash writes can. It **returns** `{ lane, merged, mainSha, error? }`; the coordinator refills the next
lane on that return.
> **Classifier reality (do this at session START):** invoking this skill does **not** authorize the
> auto-mode classifier — `git push origin main` and `gh pr merge` are blocked until the operator adds
> explicit `.claude/settings.json` Bash allow-rules. Without them the loop deadlocks (a "CI green"
> goal-hook can never clear because you can't land the fix). You cannot add the rules yourself
> (settings edits are classifier-blocked); ask the operator up front, or the whole loop stalls at the
> first merge. **An explicit in-session sentence from the operator also clears it** (not only settings
> rules) — often faster — BUT it authorizes only the **specifically-named action classes**: a 2026-07-19
> kaddy loop confirmed "I authorize push + live gridscale/kubectl writes" unblocked exactly those, yet a
> later **remote-branch delete** stayed blocked (never named), and a blanket "authorize all the things"
> did **not** cover unnamed destructive ops. So name each class you'll need (push-to-main, live-infra
> writes, remote-branch delete, release-tag). `git push -f` and deleting published tags stay blocked
> regardless — for a bad pushed tag, `git push origin :refs/tags/<vX>` then re-push.
> **Compound-command gotcha:** a Bash call containing a blocked action fails **as a whole** — `git
> checkout main && git merge --ff-only <lane> && git push` does the *neither the merge nor the push* when
> push is blocked. Run the blocked/uncertain action as its **own final Bash call**, never chained after
> work you need to actually happen.
> **Implementer-startup 529s:** if background implementer subagents die on transient API 529 at launch
> (0 tool calls) more than ~2×, stop burning retries — implement the lanes **inline** in the main
> session instead (still one logical change per commit). This bends "thin coordinator" for throughput,
> and that's fine — **but independence must not bend**: inline work is still gated by a **fresh,
> coordinator-dispatched reviewer subagent** (Step 3b), never the coordinator reviewing its own inline
> code. Independent review is the guardrail that matters, not who typed the code.
## CI — background watch, non-blocking
After each push to `main`, start a **background watcher** (`gh run watch <run-id> --exit-status`
via Bash `run_in_background`, or poll `gh run list`) and **keep dispatching/merging** — do not wait.
When a watcher reports **red main**:
0. **First confirm it's a CODE failure, not GitHub infra.** Read the *failed step name*: a
tooling-install step (e.g. `arduino/setup-task`, any action fetching from the API) failing means an
**api.github.com incident** — every run false-reds at the install step before your code runs, and
`gh` mis-reports "invalid token in keyring" (it validates against the dead API). Diagnose:
`curl https://www.githubstatus.com/api/v2/status.json`. If it's an incident: do **NOT** fix-forward
or revert (nothing is broken) — wait it out; `git push` is unaffected (different subsystem); read
run status / trigger reruns / cut releases via the git-credential token
(`TOKEN=$(printf 'protocol=https\nhost=github.com\n\n' | git credential fill | grep ^password | cut -d= -f2)`
then `curl -H "Authorization: Bearer $TOKEN" https://api.github.com/...`). Re-verify green once the
incident clears.
1. **Freeze merges** (implementers may keep implementing). The coordinator owns this fix-forward/revert
**decision** (it's routing); the execution is a dispatched lane, not coordinator handiwork.
2. Dispatch a top-priority **fix-forward lane**; if no green fix within ~2 attempts, **revert** the
offending commit (`git revert`, push) to restore green, park the lane, log an INBOX note.
3. Unfreeze once main is green.
Releases are the one exception where CI is blocking (below).
## Decide-and-log (replaces stop-and-ask)
Questions, ambiguities, and judgment calls do **not** halt the loop. The coordinator (or implementer):
pick the **best option** by the repo's goals/guidelines, proceed, and append to the repo's
`agent-context/INBOX.md`:
```
🟡 DECIDED (awaiting approval) — <one-line decision>
Context: <why it came up> · Options: <A/B/C considered> · Chose: <X> because <one line>
Revert: <concrete command/steps if the operator disagrees>
```
Also log to `decisions.md`. High-blast-radius calls (security, public API/CRD, release scope) are
still **decided, not blocked** — but flagged `🔴 DECIDED` so the operator reviews them first.
## Expanded authority (use when it advances the stories' goal)
- **Merge own open MRs/PRs:** apply `/merge-open-prs` rules — operator-authored + green CI merges;
external-contributor MRs are never touched.
- **Releases:** when a natural point is reached (milestone done, meaningful user-facing changes
accumulated, backlog section cleared) and **main CI is confirmed green** (blocking check here),
cut one: `/changelog`, bump per repo convention, tag, push tag. Log a `🔴 DECIDED` INBOX note
with the version and rationale.From PlatformRelay/Kaddy, MIT.
More from PlatformRelay/Kaddy
- 0.497score
write-story
PlatformRelay
Turn an epic, feature idea, or vague ask into INVEST-compliant vertical-slice stories with Given-When-Then acceptance criteria, mapped onto the target repo's…
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
agent-loop-auto
PlatformRelay
Autonomous variant of /agent-loop for ONE repo: thin coordinator + parallel implementer subagents + a coordinator-dispatched INDEPENDENT reviewer, plus an…
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
brainstorm
PlatformRelay
Structured diverge → cluster → converge ideation that prevents premature fixation on the first idea.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
changelog
PlatformRelay
Turn gitmoji-conventional commit history into categorized, user-facing release notes for a PlatformRelay repo.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
design-architecture
PlatformRelay
Design a change and record the decision: ADR/AgDR, C4 sketch, weighted trade-off matrix, or a spec-first contract.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
roast
PlatformRelay
Roast me — adversarial critique of a plan, design, or diff to find where it breaks, via pre-mortem, red-team, and steelman-then-destroy.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
security-review
PlatformRelay
Dedicated data-flow security pass over a diff or a repo — deeper than the security dimension of /tech-review.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
tech-review
PlatformRelay
Review a lane/branch before opening (or while awaiting) a PR in any PlatformRelay repo.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
agent-loop
PlatformRelay
Start or resume implementation in one PlatformRelay repo.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
handover
PlatformRelay
Wrap up a session cleanly and produce a copy-pasteable prompt to start the NEXT one.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
merge-open-prs
PlatformRelay
Review and merge all open PRs/MRs in ONE repo after checking CI.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
operator-inbox
PlatformRelay
Scan each PlatformRelay repo's INBOX independently and give the operator a per-repo digest of what needs them — decisions (with options), operator tasks…
SkillCFreshness: C★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Jul 20, 2026 (3 months ago)
- Last release
- Jul 21, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/PlatformRelay/Kaddy
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from PlatformRelay
- 0.497score
agent-loop-auto
PlatformRelay
Autonomous variant of /agent-loop for ONE repo: thin coordinator + parallel implementer subagents + a coordinator-dispatched INDEPENDENT reviewer, plus an…
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
agent-loop
PlatformRelay
Start or resume implementation in one PlatformRelay repo.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
changelog
PlatformRelay
Turn gitmoji-conventional commit history into categorized, user-facing release notes for a PlatformRelay repo.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
design-architecture
PlatformRelay
Design a change and record the decision: ADR/AgDR, C4 sketch, weighted trade-off matrix, or a spec-first contract.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
brainstorm
PlatformRelay
Structured diverge → cluster → converge ideation that prevents premature fixation on the first idea.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
handover
PlatformRelay
Wrap up a session cleanly and produce a copy-pasteable prompt to start the NEXT one.
SkillCFreshness: C★ 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 agent-loop-local 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
agent-loop-local skill. Agent Mart. https://agentmart.dev/skills/platformrelay-agent-loop-local (last updated 2026-10-24)