**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
Manages long-running development projects across multiple Claude sessions. Triggers on commands like "start project", "continue work", or "show progress" to initialize, resume, or track project status using structured artifacts.
/plugin marketplace add dapi/claude-code-marketplace/plugin install dev-tools@dapiThis skill is limited to using the following tools:
TRIGGER_EXAMPLES.mdexamples/init-nodejs.shexamples/init-rails.shSkill для управления долгосрочными проектами, которые требуют работы через множество сессий Claude. Основан на исследовании Anthropic.
📚 Источник: Effective harnesses for long-running agents (Anthropic Engineering, Nov 2025)
AI-агенты работают в дискретных сессиях без памяти о предыдущей работе. Это приводит к:
Решение: Два типа агентов + структурированные артефакты для передачи контекста.
┌─────────────────────────────────────────────────────────────────┐
│ 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 │ │ │
│ └──────────────────┘ └──────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
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]
continue — Продолжение работыКогда использовать: Каждая последующая сессия.
Входные данные: Не требуются (читаем из артефактов).
Обновляемые артефакты:
progress.md — добавляется новая записьfeatures.json — passes: false → true для завершённых фичstatus — Просмотр прогрессаКогда использовать: Посмотреть что сделано/осталось.
.claude/features.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:
passes: false → true после верификации.claude/progress.md# 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:
Примеры для разных стеков:
examples/init-nodejs.sh — Node.js / JavaScript / TypeScriptexamples/init-rails.sh — Ruby on RailsПример структуры (Ruby on Rails):
#!/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"
Человек → Claude:
"Инициализируй долгосрочный проект: [описание проекта].
Тип: web-app. Стек: Next.js + TypeScript."
Claude выполнит:
1. Создаст структуру .claude/ с артефактами
2. Сгенерирует 30-200 фич на основе описания
3. Создаст init.sh скрипт
4. Сделает initial git commit
Вариант 1 — Простой запуск:
Человек → Claude:
"Продолжи работу над проектом"
Claude выполнит startup checklist автоматически.
Вариант 2 — С указанием фокуса:
Человек → Claude:
"Продолжи проект, сфокусируйся на фичах авторизации"
Вариант 3 — Проверка статуса перед работой:
Человек → Claude:
"Покажи статус проекта и что делать дальше"
Оператор должен завершить сессию когда:
Команда для завершения:
Человек → Claude:
"Заверши сессию. Обнови progress.md, закоммить изменения,
напиши что делать в следующей сессии."
При каждом 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. ☐ Объявить какую фичу будем делать │
└─────────────────────────────────────────────────────────────┘
Перед завершением сессии Claude ОБЯЗАН:
┌─────────────────────────────────────────────────────────────┐
│ SESSION END CHECKLIST │
├─────────────────────────────────────────────────────────────┤
│ 1. ☐ Все изменения закоммичены (git status clean) │
│ 2. ☐ features.json обновлён (passes=true для готовых) │
│ 3. ☐ progress.md обновлён (новая запись сессии) │
│ 4. ☐ Указано что делать в следующей сессии │
│ 5. ☐ Нет TODO комментариев в коде │
│ 6. ☐ Базовый smoke test проходит │
└─────────────────────────────────────────────────────────────┘
| Проблема | Как предотвращаем |
|---|---|
| Claude объявляет проект готовым слишком рано | features.json с полным списком фич |
| Баги и недокументированный прогресс | Обязательный smoke test + progress.md |
| Фичи помечаются готовыми без тестирования | Verification steps в каждой фиче |
| Время тратится на понимание как запустить | init.sh скрипт |
| Потеря контекста между сессиями | progress.md + git log |
| Попытка сделать слишком много за раз | Правило "1 фича за сессию" |
Человек: "Инициализируй долгосрочный проект: клон 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 сессии
Человек: "Продолжи работу"
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
Человек: "Статус проекта"
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
feat: [description] (F###)git diff перед коммитомПри continue сессии создавай todos:
- [ ] Complete F### verification
- [ ] Update features.json
- [ ] Update progress.md
- [ ] Git commit
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.