Spark CLI Skills

spark-cli-skills

Скиллы для почты Spark: справочник команд CLI, 25 готовых сценариев и 8 ролей, от помощника руководителя до поддержки.

  • 156 ★ репозитория
  • Последний коммит
  • MIT
Скилл

Широкий доступ

Почему такой уровень

  • Скиллы читают почту, календарь, контакты и расшифровки встреч, то есть личные данные.
  • На уровне доступа `send` агент отправляет письма и приглашения от вашего имени.
Все причины и проверки

readdle/spark-cli-skills

Установка

В терминале, через SkillFoxx CLI

npx skillfoxx add skills/spark-cli-skills

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Скиллы читают почту, календарь, контакты и расшифровки встреч, то есть личные данные.
  • На уровне доступа `send` агент отправляет письма и приглашения от вашего имени.

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

spark-cli-skills — официальные скиллы Readdle для командной строки `spark`, которая связывает агента с почтовым клиентом Spark Desktop. Базовый скилл `use-spark` содержит справочник по командам и фильтрам для писем, календаря, контактов, команд и расшифровок встреч. Остальные 33 скилла опираются на него. 25 скиллов-сценариев («recipe») решают по одной задаче: утренний брифинг, разбор входящих до нуля, подготовка к встрече, письма по итогам встречи, поиск свободного времени, чистка рассылок, разбор общих ящиков. 8 ролей («persona») задают стиль работы на всю сессию: помощник руководителя, основатель, тимлид, проектный менеджер, продажи, поддержка, организатор встреч и фрилансер. Ставят набор целиком или по одному скиллу.

Для кого. Пользователям Spark на macOS и Windows, которые отдают агенту разбор почты и календаря и хотят задавать уровень доступа к каждому аккаунту.

Подходит, если

  • Утром нужен сводный брифинг: события дня, непрочитанное по категориям, задачи команды.
  • После отпуска накопились входящие, и их разбирают пакетами по категориям.
  • К встрече собирают контекст, а после нее пишут письма с задачами по расшифровке.
  • Общий ящик поддержки разбирают: назначают ответственных, отвечают и закрывают обращения.
  • Подписки и уведомления чистят: блокируют отправителей, отписываются, архивируют.

Не подходит, если

  • Spark Desktop не установлен: CLI говорит с приложением на вашем компьютере и без него не работает.
  • Агент запущен в песочнице, контейнере или CI: из изоляции `spark` к приложению не подключится.
  • Почта лежит в другом клиенте: скиллы написаны только под CLI Spark.

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

Составь утренний брифинг: события на сегодня, непрочитанные письма по категориям и задачи, назначенные мне в команде.

Ограничения

Нужен свежий Spark Desktop для macOS или Windows с хотя бы одним аккаунтом и включенный CLI: в настройках Spark раздел AI Agents, пункт Spark CLI Setup. Каждому аккаунту и общему ящику задают уровень доступа: `read-only`, `triage` (черновики, комментарии, действия с письмами и контактами) или `send` (отправка писем и приглашений). Сценарий, которому не хватает уровня, возвращает ошибку с подсказкой, как его повысить. CLI работает через запущенное приложение, поэтому агента нельзя вести в песочнице, контейнере или CI. Если Spark Desktop закрыт, агент просит открыть его. Лицензия MIT.

Как отключить. Удалите каталоги `use-spark`, `recipe-*` и `persona-*` из папки скиллов агента. Доступ CLI отключите в настройках Spark Desktop, раздел AI Agents, либо понизьте уровень аккаунта до `read-only`.

Частые вопросы

Как установить spark-cli-skills?

Включите CLI в Spark Desktop и выполните `npx skills add https://github.com/readdle/spark-cli-skills`. Отдельный скилл ставится по адресу его папки, например `.../tree/main/skills/use-spark`.

Что поставить, если весь набор не нужен?

`use-spark` обязателен: от него зависят все сценарии. Добавьте нужные скиллы `recipe-*` и при желании одну роль `persona-*`.

Чем отличаются уровни доступа?

`read-only` читает письма, календарь и контакты. `triage` добавляет черновики, комментарии и действия с письмами. `send` разрешает отправлять письма и приглашения.

Может ли агент отправить письмо сам?

Только на аккаунте с уровнем `send`. При `read-only` и `triage` отправка и операции с событиями возвращают ошибку.

Работают ли скиллы на Linux?

Нет. Нужен Spark Desktop для macOS или Windows, а CLI подключается к запущенному приложению.

Обсуждение

Вопросов и отзывов пока нет.

Скиллы

Личная коллекция скиллов cafe3310: ведение проекта по спецификации, обзор кода, отчеты, браузер, 3D и видео в одном репозитории

СкиллРасширенный доступ256Звезды репозитория

Набор из 13 скиллов в формате SKILL.md: ресерч, продуктовый документ, презентации, статьи и аудиты для любого совместимого агента

СкиллРасширенный доступ737Звезды репозитория

Коллекция скиллов для решений и проектов: стратегия, исследование рынка, критическое мышление, анализ данных, документы и слайды.

ПлагинМинимальный доступ109Звезды репозитория

Lark CLI

lark-cli

Официальный

Официальный CLI Lark и Feishu со скиллами для агентов: сообщения, документы, таблицы, календарь, почта и задачи из терминала, более 200 команд

CLIШирокий доступ18,1 тыс.Звезды репозитория

Двадцать семь скиллов на китайском для разработки, мышления, обучения, письма, иллюстраций, брендинга и работы с агентами

СкиллРасширенный доступ790Звезды репозитория

Скиллы 37signals учат агента работать в Basecamp, HEY и Fizzy через консольные клиенты каждого продукта

ПлагинШирокий доступ87Звезды репозитория

Коротко о README

В репозитории лежат манифесты для Codex (`.codex-plugin`) и Cursor (`.cursor-plugin`), поэтому набор ставят не только через `npx skills`. Права на код принадлежат Spark Mail Limited, лицензия MIT.

Бейдж для README

Исходный SKILL.md

---
name: use-spark
description: >-
  Use the spark CLI to access the user's Spark email data - list emails,
  search by topic, read threads, check calendar events, find availability,
  look up contacts, and view team info. Use when the user asks about their
  emails, calendar, contacts, meetings, or scheduling.
metadata:
  version: 1.4.1
  requires:
    bins:
      - spark
---

# Using spark

`spark` is a CLI for the Spark email client. Use it to query the user's mailbox, calendar, contacts, meetings, and team data.

## Running spark

```bash
spark <command> [options]
```

**Environment:** `spark` is a thin client that talks over IPC to the user's running Spark Desktop app - it does not ship its own mailbox, network stack, or credentials. Run it directly on the user's computer against the live Spark Desktop process. Do not try to execute it inside a sandbox, container, CI runner, or any environment isolated from the user's desktop session - it will fail to connect. If Spark Desktop is not running, ask the user to launch it instead of retrying.

**JSON output:** add `--json` to any command to get its result as JSON instead of text - the same data, with full (untruncated) values, snake_case keys, and ISO 8601 dates. A failure prints `{"error": {"message": "…"}}` on stdout and exits non-zero. Prefer the default text when you only need to read the result; use `--json` when you need to process it (e.g. `spark emails --json | jq '.emails[].id'`). Fields are only ever added, never renamed or removed.

## Commands

| Command | Description |
|---------|-------------|
| `accounts` | List accounts, calendars, teams, shared inboxes, and access levels |
| `folders` | List folders/labels with message counts |
| `emails` | List emails with filters and pagination |
| `search` | Hybrid keyword + semantic search with full bodies |
| `thread` | Read full thread - headers, bodies, attachments |
| `attachment` | Read a single email attachment by its ID (auto-downloads) |
| `draft` | Create, edit, or delete an email draft (new, reply, forward, from template), or list account signatures |
| `templates` | List saved message templates (personal and team) |
| `template` | Show a single template by ID or name with its placeholders |
| `comment` | Post a team comment on a thread |
| `events` | List calendar events for a time range |
| `event` | Create, update, delete, or RSVP to a calendar event, including managing attendees / invitations |
| `availability` | Find free time slots, optionally with attendees |

Сообщить о проблеме