К основному содержанию
скилл CX Codex

cyrus-setup-launch — скилл для Claude Code: что делает

Скилл проверяет готовность окружения агента Cyrus, выводит сводку подключений и запускает фоновый процесс через pm2 или systemd.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add cyrusagents/cyrus --skill cyrus-setup-launch -a claude-code
Открыть на GitHub

Что делает cyrus-setup-launch

Скилл проверяет конфигурацию в ~/.cyrus/.env и ~/.cyrus/config.json. Дальше он выводит статус интеграций с Linear, GitHub и Slack в виде наглядной таблицы с отметками готовности.

Для постоянной работы скилл настраивает фоновый процесс через менеджер pm2, системную службу systemd на Linux либо запускает бинарник напрямую в консоли. Если настроен локальный прокси, сценарий проверит установку корневого CA-сертификата в системе.

Секреты защищены строгим правилом. Агенту запрещено читать .env инструментами просмотра файлов, он лишь запрашивает флаги через команду grep. Для настройки systemd и доверенных сертификатов потребуются права sudo.

Какие задачи решает

  • проверить статус интеграций Linear, GitHub и Slack перед запуском агента
  • настроить автозапуск и перезапуск фонового процесса через pm2 или systemd
  • добавить корневой CA-сертификат прокси в системное хранилище ключей
  • запустить туннель ngrok для внешних вызовов агента

Примеры запросов агенту

  • Проверь настройки Cyrus и запусти агента в фоне через pm2
  • Покажи статус конфигурации Cyrus и помоги настроить службу systemd
  • Проверь готовность окружения Cyrus и запусти процесс в терминале

Как установить cyrus-setup-launch

1Через Skills CLI (Vercel)

npx skills add cyrusagents/cyrus --skill cyrus-setup-launch -a claude-code

2Вручную: положить файлы

~/.claude/skills/cyrus-setup-launch/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/cyrus-setup-launch/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора18

cyrus-setup-linear Создаёт OAuth-приложение Linear и прописывает его ключи в конфиг Cyrus, чтобы агент получал вебхуки и отвечал на issues. CX Codex +1 1 100установок cyrus-setup-endpoint Настраивает публичный вебхук-эндпоинт для агента Cyrus через ngrok, туннель Cloudflare или собственный домен. Пригодится для приёма событий из Linear, Slack и GitHub. CX Codex +1 1 000установок cyrus-setup-prerequisites Проверяет Node.js, jq и gh CLI, ставит пакет cyrus-ai и готовит каталог ~/.cyrus перед настройкой Cyrus. CX Codex +1 1 000установок cyrus-setup-github Скилл настраивает gh CLI и git, чтобы Cyrus создавал ветки, коммиты и пул-реквесты, а по желанию — отвечал на @упоминания в комментариях. CX Codex +1 1 000установок google Ищет сведения в интернете через WebSearch и открывает нужные страницы через WebFetch. Пригодится для проверки текущих фактов и исследования темы. CX Codex +1 931установок cyrus-setup-slack Настраивает интеграцию Cyrus со Slack через приложение из готового манифеста. Нужен, когда агент должен отвечать на сообщения в каналах Slack. CX Codex +1 905установок summarize Скилл готовит итоговый отчёт о задаче для сессии агента в Linear. Пригодится, когда нужно структурировать статус работы без ручной отправки сообщений. CX Codex +1 886установок investigate Ищет файлы и функции в репозитории, собирает контекст и готовит ответ в формате Markdown для Linear. Пригодится при разборе задач и багов. CX Codex +1 863установок

Похожие

cli-anything-pm2 HKUDS Скилл добавляет в Claude Code доступ к PM2 CLI для управления Node.js процессами. Запускайте, останавливайте, перезагружайте приложения и смотрите логи прямо из редактора. CX Codex +1 491установок reflex-process-management reflex-dev Скилл ведёт агента через компиляцию, запуск и перезапуск приложения Reflex: проверка сборки, продовый сервер, поиск процесса по порту и логи. CX Codex +1 679установок system-admin terminal-skills Скилл с командами для проверки состояния Linux-сервера: нагрузка, память, диски, службы systemd. Пригодится, когда агент разбирается с тормозящим сервером. CX Codex +1 561установок self-hosted-funnel-launch autonnel Скилл помогает агенту развернуть воронку на своём сервере или в Cloudflare Workers: от пустой установки до опубликованных страниц и оплаты. CX Codex +1 103 000установок debian-linux-triage официальный github Скилл помогает разбирать проблемы Debian Linux через apt, systemd и dpkg, учитывая AppArmor и firewall. Подойдёт для диагностики с пошаговой проверкой. 9 197установок arch-linux-triage официальный github Помогает разобрать неполадки Arch Linux через pacman, systemd и практики rolling-release. Подходит, когда нужны команды проверки, исправления и отката. 9 100установок

Рядом в теме «Настройка агента: память, контекст, субагенты»

Всё по теме «Настройка агента: память, контекст, субагенты» →

Вопросы о cyrus-setup-launch

Как установить cyrus-setup-launch в Claude Code?

Выполните команду npx skills add cyrusagents/cyrus --skill cyrus-setup-launch -a claude-code в терминале.

Что делает скилл cyrus-setup-launch?

Он считывает текущие настройки Cyrus, выводит сводную таблицу подключений и конфигурирует запуск фонового процесса через pm2 или systemd.

Почему скилл не открывает файл .env напрямую?

Инструкция запрещает передавать секреты в контекст модели. Скилл применяет команды grep через Bash, не считывая значения токенов целиком.

Исходный текст

SKILL.md · Apache-2.0
---
name: cyrus-setup-launch
description: Print a summary of the Cyrus setup and offer to start the agent.
---

**CRITICAL: Never use `Read`, `Edit`, or `Write` tools on `~/.cyrus/.env` or any file inside `~/.cyrus/`. Use only `Bash` commands (`grep`, `printf >>`, etc.) to interact with env files — secrets must never be read into the conversation context.**

# Setup Launch

Prints a summary of the completed setup and offers to start Cyrus.

## Step 1: Gather Configuration

Read current state:

```bash
# Base URL
grep '^CYRUS_BASE_URL=' ~/.cyrus/.env 2>/dev/null | cut -d= -f2-

# Linear
grep -c '^LINEAR_CLIENT_ID=' ~/.cyrus/.env 2>/dev/null

# GitHub
gh auth status 2>&1 | head -1

# Slack
grep -c '^SLACK_BOT_TOKEN=' ~/.cyrus/.env 2>/dev/null

# Repositories
cat ~/.cyrus/config.json 2>/dev/null

# Claude auth
grep -c -E '^(ANTHROPIC_API_KEY|CLAUDE_CODE_OAUTH_TOKEN)=' ~/.cyrus/.env 2>/dev/null
```

## Step 2: Print Summary

Print a formatted summary:

```
┌─────────────────────────────────────┐
│         Cyrus Setup Complete        │
├─────────────────────────────────────┤
│                                     │
│  Endpoint: https://your-url.com     │
│  Claude:   ✓ API key configured     │
│                                     │
│  Surfaces:                          │
│    Linear:  ✓ Workspace connected   │
│    GitHub:  ✓ CLI authenticated     │
│    Slack:   ✓ Bot configured        │
│                                     │
│  Repositories:                      │
│    • yourorg/yourrepo               │
│    • yourorg/another-repo           │
│                                     │
└─────────────────────────────────────┘
```

Use ✓ for configured items and ✗ for skipped/unconfigured items.

## Step 3: Make Cyrus Persistent

Cyrus needs to run as a background process so it stays alive and restarts after reboots. **Use the `AskUserQuestion` tool if available** to ask:

> **How would you like to keep Cyrus running in the background?**
>
> 1. **pm2** (recommended) — Node.js process manager. Simple to set up, auto-restarts on crash, log management built in. Best for most users.
> 2. **systemd** (Linux only) — OS-level service manager. Starts on boot automatically, managed with `systemctl`. Best for dedicated Linux servers.
> 3. **Neither** — just run `cyrus` in the foreground for now (you can set up persistence later).

### Option 1: pm2

The agent should run all of these commands directly:

1. Check if pm2 is installed (`which pm2`). If not, install it (`npm install -g pm2`).
2. Start Cyrus: `pm2 start cyrus --name cyrus`
3. Save the process list: `pm2 save`
4. Run `pm2 startup` — this prints a system-specific command. The agent should run that output command too (it typically requires `sudo`).

After setup, inform the user of useful commands:
- `pm2 logs cyrus` — view logs
- `pm2 restart cyrus` — restart
- `pm2 stop cyrus` — stop

### Option 2: systemd (Linux only)

The agent should run all of these commands directly:

1. Resolve the actual values for the service file:
   ```bash
   CYRUS_BIN=$(which cyrus)
   CYRUS_USER=$(whoami)
   ```

2. Write the service file:
   ```bash
   sudo tee /etc/systemd/system/cyrus.service > /dev/null << EOF
   [Unit]
   Description=Cyrus AI Agent
   After=network.target

   [Service]
   Type=simple
   User=$CYRUS_USER
   EnvironmentFile=/home/$CYRUS_USER/.cyrus/.env
   ExecStart=$CYRUS_BIN
   Restart=always
   RestartSec=10

   [Install]
   WantedBy=multi-user.target
   EOF
   ```

3. Enable and start:
   ```bash
   sudo systemctl daemon-reload
   sudo systemctl enable cyrus
   sudo systemctl start cyrus
   ```

After setup, inform the user of useful commands:
- `sudo systemctl status cyrus` — check status
- `sudo journalctl -u cyrus -f` — view logs
- `sudo systemctl restart cyrus` — restart

### Option 3: Foreground

Run directly:

```bash
cyrus
```

## Step 4: Start ngrok (if applicable)

If the user configured ngrok in the endpoint step, the agent should start it:

```bash
ngrok start cyrus
```

If using pm2, also make ngrok persistent:

```bash
pm2 start "ngrok start cyrus" --name ngrok
pm2 save
```

## Step 5: Sandbox CA Certificate Trust (if sandbox enabled)

If the user's `~/.cyrus/config.json` has `sandbox.enabled: true`, check whether the egress proxy CA certificate is trusted in the system keychain.

**Check if sandbox is enabled:**

```bash
grep -o '"enabled":\s*true' ~/.cyrus/config.json 2>/dev/null | head -1
```

If sandbox is enabled, check trust status:

```bash
# macOS — check System keychain for the Cyrus CA
security find-certificate -c "Cyrus Egress Proxy CA" /Library/Keychains/System.keychain 2>&1
```

- If the cert is found (exit code 0): report ✓ trusted. Offer to set `sandbox.systemWideCert: true` in config.json to skip per-session cert env vars.
- If not found (exit code 44): inform the user and offer to run the trust command:

```bash
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ~/.cyrus/certs/cyrus-egress-ca.pem
```

On Linux, check with `test -f /usr/local/share/ca-certificates/cyrus-egress-ca.crt`. If not present:

```bash
sudo cp ~/.cyrus/certs/cyrus-egress-ca.pem /usr/local/share/ca-certificates/cyrus-egress-ca.crt
sudo update-ca-certificates
```

After trusting system-wide, offer to set `sandbox.systemWideCert: true` in config.json. This skips per-session cert env vars (`NODE_EXTRA_CA_CERTS`, `GIT_SSL_CAINFO`, etc.) since the OS cert store handles trust for all tools.

If the user declines system-wide trust, Cyrus still works — it sets cert env vars per-session. But some tools (Bun, .NET, curl on macOS with SecureTransport) will only work with system-wide trust.

## Step 6: Verify Running

Once Cyrus starts, verify it's listening:

```bash
curl -s http://localhost:3456/status
```

Should return `{"status":"idle"}` or similar.

> Then try assigning a Linear issue to Cyrus, or @mentioning it in Slack, to verify the full pipeline works!

## Completion

> ✓ Cyrus is running and ready. Assign a Linear issue or @mention in Slack to test it out!

© cyrusagents · Apache-2.0 · cyrusagents/cyrus

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой