Sling turns a labelled GitHub issue into a tested, reviewed pull request. You stay in your normal GitHub workflow — Sling is the worker.
/retry if it's wrong.
Sling does the typing.
Three tools, three jobs. Pick the one that fits.
auto-implement + claude-codeA worked example. Steal the shape.
skip-tests, the runner skips TestGenerator and notes "tests skipped (label)" in the PR body.skip-tests is present and any file under src/security/ changes, refuse and post a comment.skip-tests only.
auto-implement sends it through Sling's pipeline. claude-code picks the execution mode — recommended over default STIV right now.
Problem · What to build · How we'll verify · Out of scope. If your issue body has these four, Sling will land it on the first try ~most of the time.
If you can't say how you'd verify the fix, Sling can't either. Write the verification before you write the request.
From any comment on the issue or the PR. Sling reads them like Slack slash-commands.
| Command | Available | What it does | When to use |
|---|---|---|---|
/approve |
shipped | Clear governance gate for tasks awaiting human approval. | Tier-2 risk tasks that paused for review. |
/reject |
shipped | Reject a pending task. It will not run. | You changed your mind, or the assessment was wrong. |
/retry alias /revise |
shipped | Re-enter the pipeline using the latest issue body + comment thread as context. | The PR missed the point. Edit the issue, drop a clarifying comment, then /retry. |
/update |
soon — A2 (#434) | Alias for /retry. Same behaviour, more obvious name. |
Use this once it's wired. Until then, use /retry. |
/qa |
soon — A1 (#433) | Run the QA harness against the PR's branch and post results back. | You want a second-opinion smoke test before approving. |
/cancel |
partial — see #426 | Acknowledges a cancel request. Stopping in-flight tasks is the next step. | Wrong ticket. Don't run. (For now: /reject instead if pre-approval.) |
/skip |
planned | Skip a single phase (tests, quality, review). | Edge cases. Default is: don't. |
/approve, /reject, /retry) and on the PR
for post-PR control (/retry, soon /qa).
Three surfaces. All on by default.
Implemented 3 files, 1 test file. Spec generated, 4 acceptance criteria covered. Risk tier 1 (auto-approved, PR-only).
feat/auto-440/onboardingsvenlabsllc/sling#440 · Onboarding presentation
✅ PR #1234 opened · 8/10 review · ~$1.42 · 5m12s
Thread for retries. Reactions sync to GitHub labels.
Per-ticket page joining lifecycle state, releases, and cost.
building → ready_for_uatYes. The PR comment is the answer. The Slack ping is the nudge. The timeline page is the audit trail. You don't have to ask.
Most failures fall into one of these. Each has a fix that doesn't need engineering.
The change works, but it's not what you wanted.
/retry. Sling reads the latest issue + comments.
Sling self-iterates up to 3 times per file. After that, it ships the PR with failures listed.
/retry. If the spec was wrong, edit + /retry.
Issue sat for >5 minutes with no Sling response.
auto-implement. Check the repo is in config/repositories.json. Check /status-page. If all good, ping #sling.
Sling refused: "Tier 3 — requires manual implementation."
"Per-ticket budget exceeded" — Sling stopped to avoid burning budget.
Sling commenting too often on the PR.
/retry.
That re-enters the pipeline with the corrected context. 80% of "Sling got it wrong" is fixed by this.
A recorded pair-programming session — Sling on a real architecture-heavy ticket.
Tracked under A7 (#439). Embed config: ONBOARDING_VIDEO_FULL env var.
Pin this page in #sling. Bookmark the rest.
Live state of every ticket Sling is working on. Approvals, cost, status.
Role-based reference — producer, owner, engineer. Deep dive on every label and field.
Already use the Claude Code CLI locally? When to delegate to Sling, how to hand off, the mixed pattern.
How the original 20-step proposal maps to what's shipped. For stakeholders.
Runbooks: db-restore, sling-down, env vars, ADRs.
Is Sling up? Worker pool depth. Recent failures.
The adoption push tracker — A1 through A8 — what's coming next for usability.
Pick a small ticket. Add auto-implement + claude-code. Wait 5 minutes. Check the PR.
If it works — file the next one. If it doesn't — /retry with feedback.
— Sling