Cyrus skill
A background agent for Linear, GitHub, GitLab and Slack tasks; the "/cyrus-setup" skill handles setup.
- 885 ★ on the repository
- Last commit
- Apache-2.0
Broad access
Why this level
- The agent works without constant supervision: it runs code, opens pull and merge requests and writes to Linear, GitHub, GitLab and Slack on behalf of apps.
- Setup creates OAuth apps and stores tokens in `~/.cyrus`, and the skill can act through your Chrome that is signed in to those services.
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add skills/cyrusDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- The agent works without constant supervision: it runs code, opens pull and merge requests and writes to Linear, GitHub, GitLab and Slack on behalf of apps.
- Setup creates OAuth apps and stores tokens in `~/.cyrus`, and the skill can act through your Chrome that is signed in to those services.
This is third-party code. Review the repository files before installing.
What it does
Cyrus watches the tasks assigned to it in Linear, GitHub, GitLab or Slack. For each task it creates a separate Git worktree, starts a Claude Code, Codex, Cursor, Gemini or Opencode session and sends progress back to the tracker, including dropdowns and approval requests. Model keys and subscriptions are brought by the user. The `cyrus-setup` skill from the repository handles installation. It installs dependencies, configures sign-in, creates the Linear, GitHub and Slack apps, connects repositories and launches the service. It uses sub-skills for this: `cyrus-setup-prerequisites`, `cyrus-setup-claude-auth`, `cyrus-setup-endpoint`, `cyrus-setup-linear`, `cyrus-setup-github`, `cyrus-setup-gitlab`, `cyrus-setup-slack`, `cyrus-setup-repository` and `cyrus-setup-launch`. Running `/cyrus-setup` again adds integrations and repairs settings.
Who it is for. Teams whose tasks live in Linear or GitHub and where part of them can go to an agent running on their own machine.
Good fit when
- A Linear task should be assigned to an agent and come back as a ready pull request.
- A Slack mention or GitHub comment should start a Claude Code session on your server.
- You want a self-hosted setup without a paid plan, using your own Linear, GitHub and Slack apps.
- The manual guide for configuring OAuth apps takes too long.
- Each task needs its own Git worktree so agents do not get in each other's way.
Not a fit when
- The repository holds secrets that an autonomous agent must not see.
- Tasks are vague and nobody reviews pull requests: the agent works without constant supervision.
- You need an interactive helper in the editor: Cyrus is built for background work on assigned tasks.
Example request
`/cyrus-setup` — connect Cyrus to my Linear workspace and GitHub repository, read-only at first.Limitations
The installation and the service itself assume a machine that runs continuously: `tmux`, `pm2` or `systemd`, plus a public address, for example through Cloudflare Tunnel. Cyrus ships no models, so you need your own keys or subscriptions. The self-hosted option is free, while the paid Pro and Team plans are configured in the app.atcyrus.com dashboard. Pull requests need Git and the hosting CLI to be configured. Some integrations, such as Zulip, appear only in the documentation, while the setup skill covers Linear, GitHub, GitLab and Slack. The repository is active, the last commit was made in November 2026, the license is Apache-2.0.
How to disable. Stop the `cyrus` service (the `tmux` session, the `pm2` process or the `systemd` unit) and delete the Linear, GitHub and Slack apps created during setup. The `~/.cyrus` directory holds keys; remove it after stopping.
FAQ
How do I install Cyrus through an agent?
Run `npx skills add ceedaragents/cyrus -g`, then start `/cyrus-setup` in Claude Code, Codex or Cursor. The skill installs dependencies, configures sign-in, integrations and repositories step by step. The manual guide is in `docs/SELF_HOSTING.md`.
How does the skill deal with the browser?
It first tries the `claude-in-chrome` extension with your open Chrome and existing Linear, Slack and GitHub sessions. Without the extension it uses `agent-browser` with a clean Chrome profile. The fallback is step-by-step instructions where you do the clicks.
What does BYOK mean?
Cyrus does not sell model tokens: you connect your own keys or subscriptions. This applies to both the self-hosted version and the paid plans.
How does self-hosting differ from the paid plans?
In the free option you create the Linear, GitHub and Slack apps yourself and `/cyrus-setup` drives the install. In Pro and Team configuration goes through the app.atcyrus.com dashboard, and the Cyrus cloud provides networking and integrations.
How do I keep Cyrus running?
Run `cyrus` in a `tmux` session, under `pm2` with `pm2 start cyrus --name cyrus`, or as a `systemd` service. The instructions are in the Running as a Service section of the self-hosting guide.
Discussion
No questions or reviews yet.
Related
SkillsConnects Claude Code, Cursor, Codex or OpenCode to Telegram, Slack and Discord: teammates message a bot, an agent replies
A CLI that loops Claude Code, Codex, OpenCode and other agents over a task list or PRD until everything is done
Orchestrator for Claude Code, Codex and Gemini CLI: YAML workflows that loop until your own quality gates pass
Sleepless Agent is a background-job CLI for Claude Code with a SQLite queue that retains pending work after a session ends.
Plugin with the zapier-sdk skill: an agent writes code for 9,000+ Zapier apps and takes action keys from the live catalog
A self-hosted control plane for running several agents: task dispatch, run review, spend tracking, connected via MCP, CLI or REST
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Repository stars | Main difference |
|---|---|---|---|
| Cyrus (this card) | no | 885 | |
| Claude Code Action | no | 9,809 | runs Claude Code in GitHub Actions on mentions in pull requests; Cyrus runs on your machine and takes tasks from Linear, Slack, GitHub and GitLab |
| OpenHands Agent Canvas | no | 92,746 | a control center for launching agents by hand; Cyrus picks up assigned tracker tasks on its own |
README in short
The README splits the path into community self-hosting, paid self-hosted plans and a cloud version with no installation. Below are links to the documentation: Git with GitHub or GitLab, Zulip, the `config.json` reference, Cloudflare Tunnel and setup scripts.