StarSling Skills

Четыре скилла для GitHub Actions: ускорение CI, оценка конфигурации, поиск атак и отчеты StarSling.

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

Расширенный доступ

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

  • Скиллы читают рабочие процессы и историю запусков, а по просьбе правят файлы конфигурации CI.
  • Скилл `sling` хранит ключ аккаунта в `~/.config/sling/credentials`.
Все причины и проверки

starslingdev/skills

Установка

Ручная установка

npx skills add starslingdev/skills

Выбрать скиллы и агента в диалоге. Один скилл: добавить --skill ci-secure, для всех проектов: флаг -g.

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

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

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Скиллы читают рабочие процессы и историю запусков, а по просьбе правят файлы конфигурации CI.
  • Скилл `sling` хранит ключ аккаунта в `~/.config/sling/credentials`.

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

Что делает

Набор из четырех скиллов для GitHub Actions. Скилл `ci-speedup` ищет, что замедляет CI и тратит минуты раннеров: он опирается на 90 с лишним приемов оптимизации, локальные рабочие процессы и историю запусков GitHub. `ci-score` оценивает настройку по десяти и более проверкам: кеш, поверхностное клонирование, шардирование, отмена параллельных запусков, фильтры путей, тайм-ауты, закрепление действий и OIDC. Он работает полностью офлайн. `ci-secure` ищет десять с лишним критических векторов атаки на CI: инъекцию в шаблон, код форка с привилегиями, отравление кеша, подмену SHA действий, утечку секретов и перехват `$GITHUB_ENV`. Каждая находка называет файл и строку и объясняет, что может сделать атакующий. Первые три скилла составляют отчет и дают исправить выбранное или сохранить отчет в Markdown. Четвертый, `sling`, показывает использование, производительность, счета и запуски аккаунта StarSling.

Для кого. Разработчикам и инженерам платформ, которые поддерживают GitHub Actions и хотят ускорить сборки и закрыть опасные места в рабочих процессах.

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

  • Сборка идет долго, и надо понять, какие шаги съедают минуты раннеров.
  • Перед релизом нужно оценить настройку CI по чек-листу практик.
  • Рабочий процесс запускается на событиях от внешних форков, и его надо проверить на атаки.
  • Нужна сводка по расходам и сбоям запусков в аккаунте StarSling.

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

  • Нужен полный аудит безопасности: `ci-secure` намеренно ограничен набором реальных цепочек атак.
  • Сборки идут не на GitHub Actions: скиллы читают его рабочие процессы.
  • Скилл `sling` без аккаунта StarSling и установленного приложения GitHub бесполезен.

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

Почему моя сборка CI такая медленная? Покажи отчет и предложи исправления, ничего не коммитя.

Ограничения

Скиллы `ci-speedup` и `ci-score` требуют Python 3.9 и PyYAML, а `ci-speedup` еще и авторизованный `gh`: он читает историю запусков через API GitHub. Для `ci-secure` `gh` необязателен и добавляет четыре дополнительные проверки. Скилл `sling` запрашивает аккаунт через сервер StarSling, отправляет идентификаторы организации, репозитория и запуска и хранит ключ в `~/.config/sling/credentials`. Скиллы аудита оставляют содержимое репозитория у вас, в StarSling оно не уходит. Исправления лежат в рабочем дереве без коммита, пуша и запроса на слияние до вашей просьбы. Оценка `ci-score` измеряет соблюдение практик, а не скорость, и не заменяет аудит безопасности.

Как отключить. Удалите папки скиллов из каталога агента или повторите установку без нужных. Для `sling` удалите файл `~/.config/sling/credentials` и отзовите приложение GitHub.

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

Как поставить один скилл?

Добавьте флаг: `npx skills add starslingdev/skills --skill ci-secure`. Флаг `-g` ставит скиллы для всех проектов.

Как вызвать скилл?

Командой `/ci-speedup` (в Codex `$ci-speedup`) или обычным вопросом вроде «Почему мой CI медленный?».

Отправляются ли данные репозитория наружу?

Нет для `ci-score` и `ci-secure`: они работают локально. `ci-speedup` читает историю запусков через `gh`, а `sling` обращается к аккаунту StarSling.

Что значит нуль находок в ci-secure?

Это нормальный результат. Проверка, которая не смогла выполниться, помечается как не запускавшаяся и не считается пройденной.

Можно ли запускать ci-secure на каждом запросе на слияние?

Да, агент установит проверку в репозиторий в режиме совета: когда будете готовы, уберите `--advisory` и сделайте проверку обязательной.

Обсуждение

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

Скиллы

Навык и плагин для Git и GitHub: ветки, Conventional Commits и путь запроса на слияние до зеленого мержа.

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

Расширение gh для агентных воркфлоу: задача описывается в Markdown и запускается агентом в GitHub Actions

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

Скилл KubeShark: агент сначала ищет режим отказа, потом пишет манифесты, Helm и Kustomize по официальным практикам и возвращает план проверки и отката

СкиллМинимальный доступ477Звезды репозитория

Скиллы по производительности и масштабированию сайтов, пока один: ooda-loop, цикл наблюдения, вывода, решения и действия.

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

Контроллер раннеров GitHub Actions с тремя скиллами и MCP: агент разбирает упавшие задачи, проверяет сценарии и медленный CI

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

Подборка скиллов и агентов для Copilot по Azure, API Management, Terraform и диаграммам с установкой через skills CLI или APM

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

Коротко о README

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

Бейдж для README

Исходный SKILL.md

---
name: ci-secure
description: >-
  Scans a repo's GitHub Actions workflows for the ten critical CI/CD
  attack vectors — template injection, fork code executed with privileges
  (pwn requests), cache poisoning, impostor action SHAs, secrets dumps,
  GITHUB_ENV hijack, write-token untrusted triggers, credentials in
  caches/artifacts, unverified remote code execution (curl|bash and
  mutable fetch-and-run), and dependency install scripts
  running in a job that holds secrets — reports every finding
  with a plain-English attacker scenario, plus pass/fail config
  hygiene checks, and fixes selected findings via per-finding
  subagents. Deliberately NOT comprehensive — critical
  exploit-chain checks only (references/why-these-ten.md).
  Use when: the user asks to audit or review CI/CD or GitHub Actions
  security posture, "is my CI secure", "audit my CI security", or names
  ci-secure / /ci-secure. Do NOT trigger for: CI speed, cost, or
  wall-clock audits ("why is CI slow") — use ci-speedup; CI config
  best-practices grading ("grade my CI", "CI score") — use ci-score.
license: MIT
---

# CI Secure

Scans `.github/workflows/*.yml` against the **ten critical attack vectors**
in [references/security-patterns.md](references/security-patterns.md) — each
a complete outsider → compromise path with real incidents behind it (the
selection criterion and rejection record:
[references/why-these-ten.md](references/why-these-ten.md)). Every finding
renders with a "what an attacker could do" scenario; **zero findings is a
first-class result**. The skill asks which findings to fix and dispatches one
subagent per finding group. It never commits, pushes, or opens a PR
**unasked** — by default the user reviews the working-tree diff themselves.

**Scope honesty (verbatim, in every report):** *Critical exploit-chain checks
only — this is not a comprehensive audit.*

**Prereqs:** PyYAML (`pip install pyyaml` — the scanner's only third-party
dep). `gh` is optional, used for the network-gated impostor-SHA check (P14.11
— the one vector that cannot be answered from YAML alone), the dormancy note,
and six config facts read over the API (required checks skippable, fork-PR
approval, CODEOWNERS enforced, two environment checks, secrets). Everything

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