You already run claude in your terminal. Here's how Sling fits alongside it.
| Claude Code CLI | Sling |
|---|---|
| Synchronous, interactive | Asynchronous, autonomous |
| You watch every turn, redirect mid-flow | You file an issue, walk away, get a PR |
| Best for thinking out loud, exploring, judgement calls | Best for executing well-defined work in parallel |
| Free with your Max plan | Free with your Max plan (uses the same login) |
Both run the same Claude model with the same tool access. The difference is who's driving — you, or a labelled GitHub issue.
You don't install Sling locally. It runs on sven.svenlabs.ai already. To use it for a new repo:
config/repositories.json (PR to svenlabsllc/sling). Minimum config:
{
"id": "my-repo",
"github_repo": "owner/my-repo",
"github_app": "svenlabs-ci-app",
"branch": "develop",
"sourceBranch": "main",
"execution_mode": "claude-code",
"test_command": "pnpm test",
"labels": ["auto-implement"]
}
svenlabs-ci-app for SvenLabs-owned repos, gdt-ci-app for GDT.The most natural pattern for a Claude Code user:
auto-implement + claude-code. Hit submit.Sling missed the point. Two options:
Comment on the GitHub issue (not the PR):
/retry The SearchBar should be inline, not a modal. See PR #1234.
Sling reads the issue body + all comments after the original retry. Pasting a comment link is fine — Sling fetches the linked thread.
/retryYes, comment on PR lines and Sling reads those too. But you still need /retry on the issue to re-enter the pipeline — PR comments alone don't trigger.
/retry. ~80% of "Sling got it wrong" is fixed by this. If it's still wrong after 2 retries, take it back into Claude Code locally — the brief is probably ambiguous.
The most powerful pattern is hybrid:
Spend 15 min in Claude Code deciding schema + API shape. Commit nothing. Write up the decision as a Sling-ready issue, let Sling execute it. Saves you the typing.
Sling opens a PR with 80% of the work. Check out the branch locally, run claude in the workspace, finish the parts that need judgement (naming, edge cases, tests for unusual inputs).
When you have 5+ similar tickets (e.g. "add the same column to 5 tables"), file them all, wait, review them together. Sling runs them concurrently up to its worker pool size.
Type these as GitHub comments, not in a terminal:
| Command | Where | Effect |
|---|---|---|
/retry <feedback> | Issue or PR comment | Re-enter the pipeline. Reads issue body + all comments since the last retry. |
/revise | Same — alias | Identical to /retry. |
/update <text> | Issue or PR comment | Inject a free-text producer change request and re-enter (targeted alternative to /retry). |
/qa | Issue or PR comment | Run the E2E harness on the linked PR; results posted back as a comment. |
/cancel | Issue comment | Stop in-flight workers + clear the task mapping. |
/skip <phase> | Issue comment | Skip a phase. tests honoured today; quality/review planned. |
/approve | Issue comment | Clear governance gate for tier-2 risk tasks. |
/reject | Issue comment | Don't run this task. |
Two snippets so any claude session in any repo already understands what Sling is and how to delegate to it.
Append the cross-repo block to your ~/.claude/CLAUDE.md. Re-running updates in place (idempotent markers).
curl -fsSL https://sling.svenlabs.ai/claude-md/global >> ~/.claude/CLAUDE.md
Every Sling-managed repo's CLAUDE.md includes a <!-- SLING:START --> … <!-- SLING:END --> block with that repo's specific config (App, labels, branches, test command, blocked paths). A weekly cron refreshes it via PR if it drifts.
To preview what would land in your repo:
curl -fsSL https://sling.svenlabs.ai/claude-md/repo/<repo-id>
Or, from a checkout of the Sling repo, write it directly:
node scripts/sync-claude-md.mjs --repo-id <id> --workspace /path/to/your/repo
The script supports --check (drift-only, exit 1 on drift) and --print (stdout, no FS write) so you can wire it into your own CI.
git pull Sling's branch and finish it manually if you can /retry instead — keeps the trace clean/retry is the right toolLive state of every Sling task
Universal 10-min walkthrough
Engineer-flavoured deep dive
Operator/API reference — env vars, schema, runbooks
Per-ticket timeline (lifecycle + cost + phase logs)
Plain-text snippet for ~/.claude/CLAUDE.md — curl-pipeable.
Sling is your autonomous worker pool. Claude Code is your interactive pair. Both have the same brain; the workflow you pick depends on whether the work is "I know what I want, type it for me" (Sling) or "I'm not sure yet, think with me" (Claude Code).
Get good at recognising which one a given task is and you'll move ~3× faster.