long-running-harness
**UNIVERSAL TRIGGER**: Use when user wants to START/CONTINUE/MANAGE a long-running development project across multiple sessions. Common patterns: - "start/init/begin new project [description]" - "continue/resume working on [project]" - "начать/инициализировать проект", "продолжить работу над проектом" - "set up harness for [project]", "create project scaffolding" Session types supported: **Initialize (first run)**: - "init long-running project", "start new multi-session project" - "set up project harness", "create progress tracking" - "initialize [web-app/api/cli] project", "начать долгий проект" **Continue (subsequent sessions)**: - "continue project", "resume work", "продолжить работу" - "pick up where I left off", "what's next", "следующая фича" - "next feature", "continue implementation" **Status & Progress**: - "show project progress", "what features are done" - "project status", "статус проекта", "что сделано" - "remaining features", "what's left to do" **Management**: - "mark feature as done", "update progress" - "add new feature to list", "reprioritize features" Context patterns: - "get/show/list project progress" - "check project status" - "what features in project" - "display remaining features" - "fetch session history" - "retrieve progress log" TRIGGERS: long-running, multi-session, project harness, initialize project, continue project, resume work, progress tracking, feature list, session handoff, incremental development, cross-session, долгий проект, продолжить работу, прогресс проекта, следующая сессия, инициализация проекта, get project status, show features, list remaining, check progress, display status, fetch history, retrieve log, what features done, start harness, begin project, resume session, next feature, pick up work, update progress, mark done, end session Based on Anthropic's research on effective harnesses for long-running agents. Source: https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agents
Best use case
long-running-harness is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
**UNIVERSAL TRIGGER**: Use when user wants to START/CONTINUE/MANAGE a long-running development project across multiple sessions. Common patterns: - "start/init/begin new project [description]" - "continue/resume working on [project]" - "начать/инициализировать проект", "продолжить работу над проектом" - "set up harness for [project]", "create project scaffolding" Session types supported: **Initialize (first run)**: - "init long-running project", "start new multi-session project" - "set up project harness", "create progress tracking" - "initialize [web-app/api/cli] project", "начать долгий проект" **Continue (subsequent sessions)**: - "continue project", "resume work", "продолжить работу" - "pick up where I left off", "what's next", "следующая фича" - "next feature", "continue implementation" **Status & Progress**: - "show project progress", "what features are done" - "project status", "статус проекта", "что сделано" - "remaining features", "what's left to do" **Management**: - "mark feature as done", "update progress" - "add new feature to list", "reprioritize features" Context patterns: - "get/show/list project progress" - "check project status" - "what features in project" - "display remaining features" - "fetch session history" - "retrieve progress log" TRIGGERS: long-running, multi-session, project harness, initialize project, continue project, resume work, progress tracking, feature list, session handoff, incremental development, cross-session, долгий проект, продолжить работу, прогресс проекта, следующая сессия, инициализация проекта, get project status, show features, list remaining, check progress, display status, fetch history, retrieve log, what features done, start harness, begin project, resume session, next feature, pick up work, update progress, mark done, end session Based on Anthropic's research on effective harnesses for long-running agents. Source: https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agents
Teams using long-running-harness should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/long-running-harness/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How long-running-harness Compares
| Feature / Agent | long-running-harness | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
**UNIVERSAL TRIGGER**: Use when user wants to START/CONTINUE/MANAGE a long-running development project across multiple sessions. Common patterns: - "start/init/begin new project [description]" - "continue/resume working on [project]" - "начать/инициализировать проект", "продолжить работу над проектом" - "set up harness for [project]", "create project scaffolding" Session types supported: **Initialize (first run)**: - "init long-running project", "start new multi-session project" - "set up project harness", "create progress tracking" - "initialize [web-app/api/cli] project", "начать долгий проект" **Continue (subsequent sessions)**: - "continue project", "resume work", "продолжить работу" - "pick up where I left off", "what's next", "следующая фича" - "next feature", "continue implementation" **Status & Progress**: - "show project progress", "what features are done" - "project status", "статус проекта", "что сделано" - "remaining features", "what's left to do" **Management**: - "mark feature as done", "update progress" - "add new feature to list", "reprioritize features" Context patterns: - "get/show/list project progress" - "check project status" - "what features in project" - "display remaining features" - "fetch session history" - "retrieve progress log" TRIGGERS: long-running, multi-session, project harness, initialize project, continue project, resume work, progress tracking, feature list, session handoff, incremental development, cross-session, долгий проект, продолжить работу, прогресс проекта, следующая сессия, инициализация проекта, get project status, show features, list remaining, check progress, display status, fetch history, retrieve log, what features done, start harness, begin project, resume session, next feature, pick up work, update progress, mark done, end session Based on Anthropic's research on effective harnesses for long-running agents. Source: https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agents
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
SKILL.md Source
# Long-Running Agent Harness
Skill для управления долгосрочными проектами, которые требуют работы через множество сессий Claude. Основан на исследовании Anthropic.
** Источник**: [Effective harnesses for long-running agents](https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agents) (Anthropic Engineering, Nov 2025)
---
## Проблема, которую решает этот skill
AI-агенты работают в дискретных сессиях без памяти о предыдущей работе. Это приводит к:
- ❌ Попыткам сделать всё за раз (one-shotting)
- ❌ Преждевременному объявлению проекта завершённым
- ❌ Потере контекста между сессиями
- ❌ Багам и недокументированному прогрессу
**Решение**: Два типа агентов + структурированные артефакты для передачи контекста.
---
## Архитектура оркестрации
```
┌─────────────────────────────────────────────────────────────────┐
│ ORCHESTRATION FLOW │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────────┐ FIRST RUN ONLY │
│ │ INITIALIZER │─────────────────────────────┐ │
│ │ AGENT │ │ │
│ │ │ Creates: │ │
│ │ (Claude + this │ • features.json │ │
│ │ skill in init │ • progress.md │ │
│ │ mode) │ • init.sh │ │
│ └──────────────────┘ • Initial git commit │ │
│ │ ▼ │
│ │ ┌─────────────────────────────────┐ │
│ │ │ PROJECT ARTIFACTS │ │
│ │ │ ┌─────────────────────────┐ │ │
│ │ │ │ .claude/ │ │ │
│ │ │ │ ├── features.json │ │ │
│ │ │ │ ├── progress.md │ │ │
│ │ │ │ └── architecture.md │ │ │
│ │ │ │ scripts/init.sh │ │ │
│ │ │ └─────────────────────────┘ │ │
│ │ └─────────────────────────────────┘ │
│ │ ▲ │ │
│ │ │ │ │
│ │ ┌───────────────┘ │ │
│ ▼ │ ▼ │
│ ┌──────────────────┐ ┌──────────────────┐ │
│ │ CODING AGENT │───────────────▶│ CODING AGENT │ │
│ │ Session 1 │ │ Session 2 │ ... │
│ │ │ Reads: │ │ │
│ │ (Claude + this │ • progress.md │ │ │
│ │ skill in │ • features.json │ │
│ │ continue mode) │ • git log │ │ │
│ │ │ │ │ │
│ │ Updates: │ Updates: │ │ │
│ │ • 1 feature │ • 1 feature │ │ │
│ │ • progress.md │ • progress.md │ │ │
│ │ • git commit │ • git commit │ │ │
│ └──────────────────┘ └──────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
```
---
## Режимы работы
### 1. `init` — Инициализация нового проекта
**Когда использовать**: Первый запуск, новый проект.
**Входные данные от пользователя**:
| Параметр | Обязательно | Описание |
|----------|-------------|----------|
| Описание проекта | ✅ | Что нужно построить |
| Тип проекта | ✅ | `web-app` \| `api` \| `cli` \| `library` \| `mobile` |
| Стек технологий | ⚪ | React, Python, Rails... (или auto-detect) |
| Приоритеты фич | ⚪ | Какие фичи важнее |
**Генерируемые артефакты**:
```
project/
├── .claude/
│ ├── progress.md # Лог прогресса между сессиями
│ ├── features.json # 30-200 фич с статусами
│ └── architecture.md # Ключевые архитектурные решения
├── scripts/
│ └── init.sh # Setup окружения + smoke test
└── [initial git commit]
```
### 2. `continue` — Продолжение работы
**Когда использовать**: Каждая последующая сессия.
**Входные данные**: Не требуются (читаем из артефактов).
**Обновляемые артефакты**:
- `progress.md` — добавляется новая запись
- `features.json` — `passes: false → true` для завершённых фич
- Git commit с описательным сообщением
### 3. `status` — Просмотр прогресса
**Когда использовать**: Посмотреть что сделано/осталось.
---
## Формат артефактов
### `.claude/features.json`
```json
{
"project": "claude-clone",
"type": "web-app",
"created_at": "2025-12-02T10:00:00Z",
"total_features": 47,
"completed": 12,
"features": [
{
"id": "F001",
"category": "core",
"priority": 1,
"description": "User can send message and receive AI response",
"verification_steps": [
"Open app in browser",
"Type message in input field",
"Press Enter or click Send",
"Verify AI response appears within 5 seconds"
],
"passes": false,
"completed_at": null,
"session_id": null
},
{
"id": "F002",
"category": "core",
"priority": 1,
"description": "Conversation history persists after page reload",
"verification_steps": [
"Send a message",
"Reload the page",
"Verify conversation is still visible"
],
"passes": true,
"completed_at": "2025-12-02T14:30:00Z",
"session_id": "session-003"
}
]
}
```
**Правила для features.json**:
- ❌ НИКОГДА не удалять фичи
- ❌ НИКОГДА не редактировать description уже существующих фич
- ✅ ТОЛЬКО менять `passes: false → true` после верификации
- ✅ ТОЛЬКО добавлять новые фичи в конец списка
### `.claude/progress.md`
```markdown
# Project Progress Log
## Project: claude-clone
**Type**: web-app
**Stack**: Next.js, TypeScript, Tailwind CSS
**Started**: 2025-12-02
---
## Session 5 | 2025-12-02 14:30 | session-005
**Focus**: Dark mode implementation
**Duration**: ~45 min
### Completed Features
- ✅ F012: Dark mode toggle button
- ✅ F013: Theme persistence in localStorage
### In Progress
- F014: System theme detection (80% done, need media query listener)
### Blockers
- None
### Technical Decisions
- Used CSS variables for theming (easier to maintain)
- Chose `prefers-color-scheme` media query over JS detection
### Next Session Should
1. Complete F014 (system theme detection)
2. Start F015 (conversation sidebar)
3. Run full E2E test suite
### Git Commits This Session
- `a3f2b1c` feat: add dark mode toggle component
- `e5d4c3b` feat: persist theme in localStorage
- `f7e8d9a` refactor: extract theme utils
---
## Session 4 | 2025-12-02 12:00 | session-004
...
```
### `scripts/init.sh`
**Назначение**: Setup окружения чтобы агент мог сразу начать работу.
**НЕ путать с**: Запуском dev-сервера. `init.sh` — это подготовка, не запуск.
**Что делает init.sh**:
1. Устанавливает зависимости (bundle/npm/yarn)
2. Настраивает базу данных (migrations, seeds)
3. Копирует .env файлы из примеров
4. Запускает smoke tests для проверки что всё работает
5. Выводит инструкции как запустить сервер
**Примеры для разных стеков**:
- `examples/init-nodejs.sh` — Node.js / JavaScript / TypeScript
- `examples/init-rails.sh` — Ruby on Rails
**Пример структуры** (Ruby on Rails):
```bash
#!/bin/bash
set -e
echo " Setting up Rails environment..."
# 1. Install dependencies
bundle install
yarn install
# 2. Setup database
rails db:prepare
# 3. Copy env files
[ ! -f .env ] && [ -f .env.example ] && cp .env.example .env
# 4. Smoke tests
rails runner "puts '✅ Rails loads OK'"
rails runner "ActiveRecord::Base.connection; puts '✅ DB connection OK'"
echo "✅ Environment ready!"
echo "To start server: rails server"
```
---
## Инструкция для человека (оператора)
### Как запустить INIT сессию
```
Человек → Claude:
"Инициализируй долгосрочный проект: [описание проекта].
Тип: web-app. Стек: Next.js + TypeScript."
Claude выполнит:
1. Создаст структуру .claude/ с артефактами
2. Сгенерирует 30-200 фич на основе описания
3. Создаст init.sh скрипт
4. Сделает initial git commit
```
### Как запустить CONTINUE сессию
**Вариант 1 — Простой запуск**:
```
Человек → Claude:
"Продолжи работу над проектом"
Claude выполнит startup checklist автоматически.
```
**Вариант 2 — С указанием фокуса**:
```
Человек → Claude:
"Продолжи проект, сфокусируйся на фичах авторизации"
```
**Вариант 3 — Проверка статуса перед работой**:
```
Человек → Claude:
"Покажи статус проекта и что делать дальше"
```
### Когда завершать сессию
Оператор должен завершить сессию когда:
- ⏰ Прошло 30-45 минут активной работы
- ✅ Завершена 1-2 фичи
- Claude начинает делать много изменений без коммитов
- ⚠️ Контекст становится длинным (Claude начинает забывать)
**Команда для завершения**:
```
Человек → Claude:
"Заверши сессию. Обнови progress.md, закоммить изменения,
напиши что делать в следующей сессии."
```
---
## Startup Checklist (автоматический)
При каждом `continue` Claude ОБЯЗАН выполнить:
```
┌─────────────────────────────────────────────────────────────┐
│ SESSION STARTUP CHECKLIST │
├─────────────────────────────────────────────────────────────┤
│ 1. ☐ pwd → подтвердить рабочую директорию │
│ 2. ☐ git status → проверить чистоту репозитория │
│ 3. ☐ git log -5 → последние коммиты │
│ 4. ☐ cat .claude/progress.md → что было сделано │
│ 5. ☐ cat .claude/features.json → статус фич │
│ 6. ☐ ./scripts/init.sh → setup environment + smoke test │
│ 7. ☐ Выбрать ОДНУ фичу (highest priority, passes=false) │
│ 8. ☐ Объявить какую фичу будем делать │
└─────────────────────────────────────────────────────────────┘
```
## Session End Checklist (автоматический)
Перед завершением сессии Claude ОБЯЗАН:
```
┌─────────────────────────────────────────────────────────────┐
│ SESSION END CHECKLIST │
├─────────────────────────────────────────────────────────────┤
│ 1. ☐ Все изменения закоммичены (git status clean) │
│ 2. ☐ features.json обновлён (passes=true для готовых) │
│ 3. ☐ progress.md обновлён (новая запись сессии) │
│ 4. ☐ Указано что делать в следующей сессии │
│ 5. ☐ Нет TODO комментариев в коде │
│ 6. ☐ Базовый smoke test проходит │
└─────────────────────────────────────────────────────────────┘
```
---
## Failure Modes & Solutions
| Проблема | Как предотвращаем |
|----------|-------------------|
| Claude объявляет проект готовым слишком рано | features.json с полным списком фич |
| Баги и недокументированный прогресс | Обязательный smoke test + progress.md |
| Фичи помечаются готовыми без тестирования | Verification steps в каждой фиче |
| Время тратится на понимание как запустить | init.sh скрипт |
| Потеря контекста между сессиями | progress.md + git log |
| Попытка сделать слишком много за раз | Правило "1 фича за сессию" |
---
## Примеры использования
### Пример 1: Инициализация web-app
```
Человек: "Инициализируй долгосрочный проект: клон Notion с
базовыми функциями - страницы, блоки, drag-and-drop.
Тип: web-app. Стек: Next.js, TypeScript, Prisma, PostgreSQL."
Claude:
1. Создаёт .claude/features.json с ~50 фичами
2. Создаёт .claude/progress.md
3. Создаёт scripts/init.sh
4. git init && git add . && git commit -m "Initial project setup"
5. Выводит summary и рекомендации для первой continue сессии
```
### Пример 2: Continue сессия
```
Человек: "Продолжи работу"
Claude:
1. Выполняет startup checklist
2. Читает progress.md: "Session 3 закончилась на F007"
3. Читает features.json: F008 = "User can create new page"
4. Запускает init.sh, проверяет smoke test
5. Объявляет: "Буду работать над F008: создание новой страницы"
6. Реализует фичу инкрементально
7. Тестирует end-to-end
8. Обновляет features.json: passes=true
9. git commit -m "feat: implement page creation (F008)"
10. Обновляет progress.md
```
### Пример 3: Проверка статуса
```
Человек: "Статус проекта"
Claude:
Project Status: notion-clone
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ Completed: 12/47 features (25%)
In Progress: F013 (block drag-and-drop)
⏭️ Next Priority: F014 (nested pages)
Recent Sessions:
• Session 5: Completed F011, F012 (block types)
• Session 4: Completed F009, F010 (page navigation)
Blockers: None
```
---
## Интеграция с другими инструментами
### Git Workflow
- Каждая фича = отдельный коммит
- Commit message format: `feat: [description] (F###)`
- Используй `git diff` перед коммитом
### Testing
- Для web-app: используй Playwright/Puppeteer для E2E
- Для API: используй curl/httpie для smoke tests
- Для CLI: запускай с тестовыми аргументами
### TodoWrite Integration
При continue сессии создавай todos:
```
- [ ] Complete F### verification
- [ ] Update features.json
- [ ] Update progress.md
- [ ] Git commit
```
---
## Ограничения и известные проблемы
1. **Vision limitations**: Claude может не увидеть browser alerts через Puppeteer
2. **Context pressure**: При очень длинных сессиях качество падает
3. **Scope creep**: Следи чтобы Claude не добавлял фичи сверх списка
---
## Ссылки
- **Источник**: [Effective harnesses for long-running agents](https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agents)
- **Quickstart код**: [anthropics/claude-quickstarts/autonomous-coding](https://github.com/anthropics/claude-quickstarts/tree/main/autonomous-coding)
- **Claude 4 Prompting Guide**: [Multi-context window workflows](https://docs.claude.com/en/docs/build-with-claude/prompt-engineering/claude-4-best-practices#multi-context-window-workflows)Related Skills
zellij-tab-pane
**UNIVERSAL TRIGGER**: OPEN/CREATE/RUN tab or pane IN zellij. Modes: empty tab/pane, shell command in tab/pane, Claude session in tab/pane, GitHub issue in tab/pane. Examples: "open new tab", "run npm test in pane", "execute plan in tab", "start issue #123 in pane", "открой вкладку", "запусти тесты в панели", "делегируй в вкладку", "стартани issue в панели"
task-routing
**UNIVERSAL TRIGGER**: ROUTE/TAKE/IMPLEMENT any task FROM a URL or issue reference **URLs & References**: - "get task from github.com/.../issues/N", "fetch spec from docs.google.com/..." - "retrieve task from https://..." **Local File Paths**: - "реализуй /path/to/plan.md", "выполни ./docs/plans/fix.md" - "take /home/user/plan.md", "implement /abs/path/to/plan.md" **Action Triggers (EN)**: - "take this task", "implement this spec", "do issue #NNN" - "route task", "route this", "start issue #NNN" - "check this task", "analyze task" **Triggers (RU)**: - "возьми задачу", "сделай задачу", "реализуй по спеке" - "сделай issue #NNN", "возьми issue #NNN" **#NNN**: action-слово + "issue"/"задачу" обязательны. Голый #NNN -- НЕ триггер. **Should NOT activate** (handled by other skills): - "show/read/view issue #N" (github-issues) - "what does issue #N say" (github-issues) - "edit/close/mark done issue" (github-issues) - "review spec", "check spec", "analyze requirements" (spec-review) - bare GitHub issue URL without action verb (github-issues) TRIGGERS: route task, route this, возьми задачу, сделай задачу, take this task, implement this spec, implement this issue, get task from, check this task, analyze task, retrieve spec, fetch task, реализуй по спеке, сделай issue, do issue, start issue, github.com/issues, docs.google.com/document, /docs/plans, ./docs/plans, /tmp/plan, local file, локальный файл
spec-review
**UNIVERSAL TRIGGER**: Ревью спецификаций и ТЗ на гапы, нестыковки и противоречия. Используй когда: - "get/show/list/display spec issues", "retrieve spec analysis" - "check/analyze/fetch spec review", "review spec" - "проверь спецификацию/ТЗ", "ревью спеки", "проанализируй ТЗ" - "найди гапы в требованиях", "найди нестыковки/противоречия" - пользователь дал ссылку на Google Doc, GitHub issue или Docmost-документ со спецификацией - пользователь вставил текст спецификации и просит проверить **Уровни глубины**: - `--quick` / `-q` — только критические блокеры (быстро) - `--standard` / `-s` — критические + высокие (по умолчанию) - `--deep` / `-d` — все проблемы включая средние - `--exhaustive` / `-e` — полный аудит с рекомендациями - `--no-ask` — использовать standard без вопроса (для CI/CD) **Ключевые слова для уровней**: - "быстро проверь", "только блокеры" -> quick - "тщательно", "подробно", "глубоко" -> deep - "полный аудит", "исчерпывающий" -> exhaustive **Google Doc**: - "проверь спеку docs.google.com/document/d/XXX" - "ревью этого ТЗ [ссылка на Google Doc]" **Docmost**: - "проверь спеку https://docs.company.com/p/XXXXXXXX" - "ревью этого ТЗ в Docmost [ссылка]" **GitHub Issue** (ТОЛЬКО с ревью-контекстом!): - "проанализируй issue #123" (ревью-слово: "проанализируй") - "проверь спецификацию github.com/.../issues/456" (ревью-слово: "проверь") - голый "issue #123" без ревью-контекста -- НЕ триггер (github-issues или task-routing) **Текст в сообщении**: - "проверь это ТЗ: [текст спецификации]" - пользователь вставил большой текст и просит ревью **Локальный файл**: - "проверь спеку в docs/spec.md" - "сделай ревью файла requirements.txt" TRIGGERS: спецификация, ТЗ, spec, specification, requirements, проверь спеку, ревью спеки, review spec, analyze spec, найди гапы, найди противоречия, найди нестыковки, docs.google.com/document, github.com/issues, docmost, /p/, техническое задание, требования, acceptance criteria, проанализируй требования, check requirements, --quick, -q, --deep, -d, --exhaustive, -e, --no-ask, быстро проверь, тщательно проанализируй, полный аудит, только блокеры, глубокий анализ, исчерпывающий
pr-review-fix-loop
**UNIVERSAL TRIGGER**: Iterative PR review + autofix loop. Use when user wants to review, check, or fix PR changes automatically. Common patterns: - "review my PR", "check my PR", "review changes" - "fix review comments", "address review findings" - "run review loop", "autofix PR issues" - "проверь мой PR", "ревью PR", "проверь изменения" - "исправь замечания ревью", "пофикси замечания" - "запусти ревью", "автоисправление PR" **PR Review** (iterative review + fix cycle): - "review and fix my PR", "check PR and fix issues" - "iterate on PR review", "review loop" - "проверь и исправь PR", "итеративное ревью" **Code Review Fix** (address existing review comments): - "fix review comments", "address PR feedback" - "fix code review issues", "resolve review findings" - "исправь замечания", "пофикси комментарии ревью" **Codex Review** (standalone Codex CLI review): - "codex review", "run codex on my changes" - "codex ревью", "запусти codex" TRIGGERS: review PR, check PR, fix PR, review changes, review loop, autofix, pr review, code review fix, address review, fix comments, review findings, iterate review, codex review, run codex, проверь PR, ревью PR, исправь замечания, пофикси PR, проверь изменения, запусти ревью, автоисправление, codex ревью, замечания ревью, фикс PR
media-upload
**UNIVERSAL TRIGGER**: Use when user wants to UPLOAD/SAVE/ATTACH/SHARE images or media files to S3. **AUTO-TRIGGER**: Activate AUTOMATICALLY after taking screenshots with Playwright MCP. Common patterns: - "upload/save/attach/share [file] to s3" - "get/fetch public link for [image]" - "show/list/display recent uploads" - "сделай скриншот и сохрани" (screenshot + upload) - "открой сайт и сделай скриншот" (implies upload) **Screenshots** (AUTO-ACTIVATE after Playwright screenshot): - After `browser_take_screenshot` → automatically offer to upload - "upload screenshot", "save screenshot", "attach screenshot" - "загрузи скриншот", "приложи скриншот", "сохрани скриншот" - "сделай скриншот [сайта]" → take screenshot + upload to S3 ️ **Images**: - "upload/save/attach image/picture/photo" - "share png/jpg/gif", "get link for image" **Batch**: - "upload all png from ./folder/" - "загрузи все картинки" **History**: - "show/list recent uploads" - "покажи загрузки" TRIGGERS: upload, save, attach, share, get link, show uploads, list uploads, screenshot, image, picture, photo, png, jpg, gif, webp, svg, pdf, s3, bucket, cdn, minio, public link, скриншот, картинка, загрузи, сохрани, сделай скриншот, take screenshot, browser_take_screenshot, playwright screenshot
himalaya
**UNIVERSAL TRIGGER**: Use when user wants to READ/SEND email. Common patterns: - "check my email/inbox", "show unread" - "send email to [recipient]" - "проверить почту", "отправить письмо" **Reading**: - "check inbox", "show unread emails", "what's in my mail" - "read email from [sender]", "find emails about [topic]" - "show email folders", "list mail folders" - "проверить входящие", "непрочитанные", "что в почте", "покажи папки" **Sending**: - "send email to [address]", "compose email" - "reply to email", "forward email" - "отправить письмо", "ответить на письмо", "написать письмо" **Accounts**: - "list email accounts", "switch to work email" - "список почтовых аккаунтов", "использовать рабочую почту" ❌ **Should NOT activate**: - "what is SMTP protocol" (general question) - "email regex validation" (programming) - "install himalaya" (setup) TRIGGERS: email, mail, inbox, send, check, read, show, list, get, compose, reply, forward, unread, fetch, view, display, folder, folders, отправить, проверить, прочитать, показать, получить, письмо, почта, папка, папки
worktree-init-script
**UNIVERSAL TRIGGER**: Use when creating git worktrees in projects with init.sh - extends using-git-worktrees to run project-specific initialization script after worktree setup. **Activation**: Automatic when `using-git-worktrees` is invoked and `init.sh` exists in project root. **Setup**: "run init.sh", "initialize worktree", "project setup script" **Create**: "create worktree", "set up workspace", "new worktree" **Check**: "check init.sh", "verify project setup" TRIGGERS: init.sh, worktree init, worktree setup, project setup script, run init, initialize worktree, worktree initialization, create worktree init, setup worktree project, инициализация worktree, запустить init.sh, скрипт инициализации, настройка worktree, создать worktree с init
plan-to-issue
**UNIVERSAL TRIGGER**: SAVE/PUBLISH/EXPORT implementation plan TO GitHub issue for separate session execution. Common patterns: - "save/publish/export plan to issue" - "create issue from plan", "plan to github" - "сохрани план в issue", "создай issue из плана" **Save Plan**: - "save plan to issue", "publish plan to github" - "сохрани план в issue", "экспортируй план" **Create Issue from Plan**: - "create issue from plan", "plan as issue" - "создай issue из плана", "план в задачу" **Execute Later**: - "save for separate session", "execute plan later" - "сохрани для отдельной сессии", "выполнить потом" **Should NOT activate**: - General "create issue" without plan context - Reading existing issues - Working with issue checkboxes TRIGGERS: plan to issue, save plan, export plan, publish plan, plan as issue, issue from plan, plan to github, сохрани план, план в issue, экспорт плана, план в задачу, save for later, execute later, separate session, сохрани для сессии, выполнить потом, план в github
github-issues
**UNIVERSAL TRIGGER**: Use when user mentions GitHub issue URL or asks to read/work with GitHub issues. **Default handler**: Bare GitHub issue URL without action verb -> github-issues (read mode). If user sends just a URL like "https://github.com/org/repo/issues/42" with no action word, this skill handles it. **CRITICAL RULE**: ALWAYS use `gh` CLI for GitHub issues, NEVER use WebFetch! **Reading**: "read issue #N", "show issue", "прочитай задачу" ✅ **Checkboxes**: "mark done", "complete step", "отметь пункт" **Sub-issues**: "create sub-issue", "link as child", "подзадача" **Management**: "edit issue", "close issue", "add label" ️ **Images**: "download images from issue", "скачать картинки" TRIGGERS: github.com/issues, issue #, read issue, show issue, view issue, прочитай issue, покажи issue, задача ✅ checkbox, mark done, complete step, check off, отметь пункт, закрой этап sub-issue, subtask, child issue, parent issue, подзадача, создай подзадачу edit issue, close issue, reopen issue, issue labels, create issue, update task ️ download images, issue attachments, скачать картинки
doc-validate
**UNIVERSAL TRIGGER**: Validate/check/lint documentation quality. **Formatting**: "validate docs", "doc lint", "проверь документацию" **Links**: "broken links", "orphan docs", "битые ссылки" **Terms**: "check glossary", "терминология", "synonyms" **Viewpoints**: "check artifacts", "state diagrams", "threat model" ⚡ **Contradictions**: "find conflicts", "противоречия" ️ **Gaps**: "missing coverage", "пробелы", "completeness" **Review**: "full audit", "полный аудит", "/doc:review" TRIGGERS: doc lint, validate docs, проверь документацию, broken links, orphan, glossary, viewpoints, contradictions, gaps, coverage, /doc:lint, /doc:links, /doc:terms, /doc:viewpoints, /doc:contradictions, /doc:gaps, /doc:review
bugsnag
**UNIVERSAL TRIGGER**: Use when user wants to GET/FETCH/RETRIEVE any data FROM Bugsnag. Common patterns: - "get/show/list/display [something] from bugsnag" - "получить/показать/вывести [что-то] из bugsnag" - "bugsnag [organizations/projects/errors/details/events/comments/stats]" - "what [data] in bugsnag", "check bugsnag [resource]" Specific data types supported: **Organizations & Projects**: - "list bugsnag organizations/orgs", "show organizations" - "list bugsnag projects", "available projects", "проекты bugsnag" **Errors (viewing)**: - "show/list bugsnag errors", "что в bugsnag", "check bugsnag" - "open errors", "error list", "ошибки bugsnag", "открытые ошибки" - "errors with severity error/warning", "filter bugsnag errors" **Error Details**: - "bugsnag details for <id>", "error details", "детали ошибки" - "show stack trace", "error context", "what happened in error" - "events for error", "error timeline", "события ошибки" **Comments**: - "show comments for error", "error comments", "комментарии ошибки" - "bugsnag discussion", "what comments on error" **Analysis**: - "analyze bugsnag errors", "error patterns", "анализ ошибок" - "bugsnag statistics", "error trends", "что происходит в bugsnag" ✅ **Management** (write operations): - "mark as fixed/resolved", "fix error", "resolve error", "close error" - "закрыть ошибку", "отметить как решенную", "исправить ошибку" - "add comment to error", "comment on bugsnag error" - NOTE: Fix/Resolve/Close are synonyms - all mark error as resolved in Bugsnag TRIGGERS: bugsnag, получить из bugsnag, показать bugsnag, список bugsnag, bugsnag data, bugsnag info, check bugsnag, what in bugsnag, bugsnag status, error tracking, error monitoring, production errors, stack trace, bugsnag organizations, bugsnag projects, bugsnag errors, bugsnag details, bugsnag events, bugsnag comments, bugsnag analysis, ошибки в bugsnag, что в bugsnag, проверить bugsnag, данные bugsnag, fix error, resolve error, close error, закрыть ошибку, исправить ошибку, отметить как решенную This skill provides complete Bugsnag API integration for viewing and managing error tracking data via Ruby helper scripts.
harness-writing
Writing effective fuzzing harnesses for security testing.