aminet-browser
Aminet search and browse: full-text search, category tree navigation, architecture filtering, package detail, and curated collections. Use when searching,…
Instruction dispatch pipeline for routing work items to available agents. Implements a 7-stage fetch-allocate-prepare-hook-store-launch-confirm pipeline with batch convoy mode, formula expansion, idempotent dispatch, and crash recovery.
$ npx -y skills add Tibsfox/gsd-skill-creator --skill sling-dispatch --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/sling-dispatchContext preview
The summary Claude sees to decide when to auto-load this skill.
Instruction dispatch pipeline for routing work items to available agents. Implements a 7-stage fetch-allocate-prepare-hook-store-launch-confirm pipeline with batch convoy mode, formula expansion, idempotent dispatch, and crash recovery.
name: sling-dispatch description: Instruction dispatch pipeline for routing work items to available agents. Implements a 7-stage fetch-allocate-prepare-hook-store-launch-confirm pipeline with batch convoy mode, formula expansion, idempotent dispatch, and crash recovery. format: 2025-10-02 version: 1.0.0 status: ACTIVE updated: 2026-04-25 triggers: - mayor needs to assign work items to available polecats - convoy of beads is ready for dispatch to a rig - formula template needs expansion into ordered dispatch steps - partial dispatch needs recovery after a crash or session restart references_subdir: true word_budget: 800
Instruction dispatch unit for the Gastown chipset. The sling routes a work item (bead) to an available polecat through a 7-stage pipeline. In hardware terms, the sling is the **instruction fetch-decode-dispatch unit** — it sets up the conditions for execution and confirms the dispatch was recorded, but does not execute work itself.
This skill activates when:
Every dispatch flows through seven stages in strict order. Each stage completes before the next begins. If any stage fails, the pipeline halts at that stage and the partial state is recoverable.
| # | Stage | Purpose | |---|-------|---------| | 1 | Fetch | Resolve bead ID to a work item; reject anything not in `open` status (idempotency). | | 2 | Allocate | Select an idle polecat from the pool, or spawn a new one if the pool has capacity. | | 3 | Prepare | Set up the polecat's isolated workspace (worktree + execution context). | | 4 | Hook | Set work item status to `hooked` and bind it to the polecat. Idempotency boundary. | | 5 | Store | Write dispatch arguments to durable state so a crash after this point is recoverable. | | 6 | Launch | Start the polecat's agent session and send assignment mail. GUPP activates immediately. | | 7 | Confirm | Record the bead-to-agent assignment in convoy tracking and notify the witness. |
Full TypeScript implementations live in [`references/pipeline-implementation.md`](references/pipeline-implementation.md).
When more than `batch_threshold` beads (default: 3, configurable in chipset YAML at `dispatch.batch_threshold`) target the same rig, the sling automatically batches them into a convoy and dispatches in parallel. The batch detection groups beads by target rig; groups exceeding the threshold become convoys. Dispatches within a batch run in parallel up to `max_parallel`. Convoy progress updates after each individual dispatch confirms.
When a formula (TOML template) is specified, the sling expands it into step-ordered beads before dispatching. Formulas define multi-step workflows as declarative sequences. Beads respect dependency ordering — steps with `depends_on` wait for their dependencies to reach `done` status before being dispatched. Steps without dependencies dispatch immediately.
The sling is idempotent. Re-dispatching an already-hooked bead is a no-op:
This makes the dispatch pipeline safe to retry after crashes, timeouts, or duplicate requests.
If the sling crashes mid-pipeline, the dispatch can be resumed from the durable state written in Stage 5 (Store). Records in the `stored` stage resume from Launch; records in the `launched` stage resume from Confirm; `confirmed` records are complete. All state updates use the write-then-rename pattern so partial writes are impossible.
The sling is invoked by the mayor, not by external events. The mayor decides what to dispatch and when; the sling handles how. On the outbound side, the sling sends durable `mail` to the polecat (work assignment) and the witness (dispatch confirmation), and writes the polecat's `hook` record in Stage 4. Inbound, it only receives dispatch and batch-dispatch mail from the mayor.
The sling dispatches; it does not execute work (the polecat does), decide what to dispatch (the mayor does), monitor agent progress (the witness does), resolve merge conflicts (the refinery does), or modify bead content. It fetches instructions, decodes them, assigns them to polecats, and confirms delivery.
Invoked by `mayor-coordinator`; targets `polecat-worker` via `hook-persistence` (Stage 4) and `mail-async` (Stages 6-7). Uses `beads-state` (StateManager) for work items and dispatch records. Emits confirmations to `witness-observer`. `done-retirement` processes the other end of the lifecycle.
Implementation detail moved to:
An adaptive learning and coprocessor architecture for Claude Code, built as an extension to GSD (open-gsd)
Repo: Tibsfox/gsd-skill-creator
Aminet search and browse: full-text search, category tree navigation, architecture filtering, package detail, and curated collections. Use when searching,…
FS-UAE emulator configuration and launch: hardware profiles, ROM management, WHDLoad integration, config generation, and state snapshots. Use when configuring…
Manages Aminet INDEX infrastructure: fetch, parse, cache, and incremental update of ~84,000-entry package database. Use when managing INDEX data, checking…
Aminet package installation: LhA/LZX extraction, Amiga filesystem mapping, dependency detection, install tracking, and scan gate enforcement. Use when…
Selective Aminet package mirroring: single-package fetch, integrity verification, mirror state tracking, bulk download, and sync detection. Use when…
Multi-layer virus scanning for Aminet packages. Signature-based detection, heuristic hunk analysis, boot block scanning, quarantine management, and scan…