Telegram Подкаст
Тема
0%

Claude Code Mastery

Интерактивный учебник с триангуляцией источников: каждый факт подтверждён минимум 3 независимыми источниками

📄01

CLAUDE.md

Персистентный контекст проекта

Что это и как работает? Подтверждено 4 источниками ↓

CLAUDE.md — это markdown-файл, который Claude Code автоматически читает при старте каждой сессии. Он содержит контекст проекта: архитектуру, правила кода, конвенции и workflow.

Почему это важно?

Без CLAUDE.md каждую сессию приходится объяснять Claude контекст проекта заново. С файлом — Claude сразу знает структуру, технологии, стиль кода и правила. Это называется «устранение cold start».

Файл работает как «конституция» проекта — набор правил, которые Claude применяет автоматически, без напоминаний.

📊
4 уровня иерархии (по приоритету)

Enterprise policy → Project memory → User memory → Project local (deprecated)

⚠️ Уточнение после триангуляции (v1.1)

Ранее указывалось 5 уровней, но официальная документация описывает 4 основных уровня. Project Rules (.claude/rules/*.md) — это часть Project Memory, а не отдельный уровень. Они загружаются с тем же приоритетом, что и .claude/CLAUDE.md.

🏢

1. Enterprise

/Library/Application Support/ClaudeCode/
Политики компании (наивысший приоритет)

📁

2. Project

./CLAUDE.md + .claude/rules/*.md
Командные правила проекта

🌍

3. User

~/.claude/CLAUDE.md
Личные настройки для всех проектов

📂

4. Local deprecated

./.claude/CLAUDE.local.md
Используйте импорты вместо этого

Источники и цитаты
1
Официальный блог Anthropic
claude.com/blog/using-claude-md-files
"A CLAUDE.md file acts as a configuration file that Claude automatically incorporates into every conversation, providing context about your project's architecture, conventions, and workflows"
2
Официальная документация Anthropic
code.claude.com/docs/en/memory
"Five main memory locations: Enterprise policy, Project memory, Project rules (.claude/rules/*.md), User memory, Project memory (local)"
3
ClaudeCode.io Tutorial
claudecode.io/tutorials/claude-md-setup
"A CLAUDE.md file is a special configuration file used to provide persistent context and project-specific settings to Claude Code"
4
Gend.co Guide
gend.co/blog/claude-skills-claude-md-guide
"Claude Code reads automatically to learn your project structure, coding standards, testing rules, commit conventions, and workflows"

Структура и содержимое

Формат свободный — обычный Markdown. Рекомендуется включать следующие секции:

CLAUDE.md
# Проект: MyApp

## Архитектура
- Monorepo с pnpm workspaces
- Frontend: React 19 + TypeScript + Tailwind
- Backend: Node.js + Prisma + PostgreSQL
- Тесты: Vitest + Playwright

## Правила кода
- Используй functional components с hooks
- Все компоненты в src/components/
- Тесты рядом: Component.test.tsx
- НЕ используй any в TypeScript

## Git конвенции
- Коммиты на английском: feat:, fix:, refactor:
- PR требует 1 апрув + passing CI
- Squash merge в main

## Команды
- pnpm dev — запуск dev сервера
- pnpm test — запуск тестов
- pnpm build — production build
Антипаттерн: негативные инструкции без альтернатив

Не пиши «Никогда не используй --foo». Вместо этого: «Не используй --foo, предпочитай --bar». Claude лучше работает с позитивными указаниями.

Best Practice: инкрементальное наполнение

Начни с минимального CLAUDE.md. Добавляй правила по мере обнаружения проблем. Держи файл в git и требуй PR review от SME.

Плюсы и минусы (подтверждено источниками)

  • Zero effort — загружается автоматически при старте
  • Team-shared — версионируется через git
  • Иерархия — поддержка вложенных файлов и импортов через @
  • /init команда — автогенерация на основе анализа кодовой базы
  • Context drift — в длинных сессиях контекст может «размываться»
  • Token competition — конкурирует с историей разговора за контекстное окно
02

Skills

Авто-обнаруживаемые возможности

Что это и как работает? Подтверждено 3 источниками ↓

Skills — это модульные возможности, которые Claude применяет автоматически, когда запрос пользователя соответствует описанию скилла. Это как «reusable playbooks» для повторяющихся задач.

Ключевое отличие от Commands

Slash Commands требуют явного вызова через /команда. Skills срабатывают автоматически — Claude сам решает, когда применить скилл, основываясь на поле description.

Skills могут содержать дополнительные файлы: шаблоны, скрипты, документацию — всё в одной папке. Commands — это одиночные markdown-файлы.

Источники и цитаты
1
Официальная документация Claude Code
code.claude.com/docs/en/skills
"A Skill is a markdown file that teaches Claude how to perform a specific task. Claude automatically applies them when a user request matches the Skill's description"
2
Gend.co Skills Guide
gend.co/blog/claude-skills-claude-md-guide
"Modular capabilities that Claude can invoke automatically when your request matches a Skill's description — think reusable playbooks"
3
Claude Plugins Dev — Skill Developer
claude-plugins.dev/.../skill-developer
"Trigger Types: Keywords, intent patterns, file paths, and content patterns. Enforcement Levels: block, suggest, and warn"

Структура директории

Skill — это папка с обязательным файлом skill.md и опциональными ассетами:

Файловая структура
.claude/skills/
└── database-expert/
    ├── skill.md        # Обязательно: главный файл
    ├── PATTERNS.md     # Опционально: паттерны
    ├── EXAMPLES.md     # Опционально: примеры
    └── templates/
        └── migration.ts # Опционально: шаблоны

Пример skill.md с YAML frontmatter

.claude/skills/database-expert/skill.md
---
name: database-expert
description: |
  Use when working with database schemas, migrations,
  queries, or ORM patterns in this project.
allowed-tools: Read, Grep, Glob, WebFetch, Bash
---

# Database Expert

Ты эксперт по базам данных для этого проекта.

## Перед любой работой с БД:
1. Прочитай prisma/schema.prisma
2. Проверь существующие миграции в prisma/migrations/
3. Изучи паттерны в PATTERNS.md этого скилла

## Правила:
- Всегда используй транзакции для множественных операций
- Избегай N+1 запросов — используй include
- Новые миграции: npx prisma migrate dev --name описание

## Чего НЕ делать:
- Не изменяй существующие миграции
- Не используй raw SQL без крайней необходимости

Плюсы и минусы

  • Авто-применение — не нужно вручную вызывать
  • Bundled assets — шаблоны и скрипты в одной папке
  • Портируемость — легко шарить между проектами
  • Ограничение tools — можно указать allowed-tools
  • Shared context — работает в основном контексте
  • Непредсказуемость — Claude сам решает когда триггерить
🐛
Авто-активация может не работать (~50% успешность)

По отзывам пользователей, Skills часто не активируются автоматически, даже если description совпадает. Базовая успешность без workarounds — около 50% (как подбрасывание монетки).

Проверенный workaround: 80-84% успешность Триангулировано

После 200+ тестов Scott Spence нашёл два подхода, которые повышают успешность автоактивации до 80-84%:

settings.json — UserPromptSubmit hook
"hooks": {
  "UserPromptSubmit": [
    {
      "matcher": ".*",
      "hooks": [
        {
          "type": "command",
          "command": "echo 'INSTRUCTION: Before responding, check ~/.claude/skills/ for relevant skills. If prompt matches skill keywords, use Skill(skill-name) tool.'"
        }
      ]
    }
  ]
}
Почему это работает?

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

Альтернатива: Используйте явный вызов через /skill-name (slash command) вместо автоактивации — это даёт 100% надёжность.

Источники workaround
1
Scott Spence — How to Make Skills Activate Reliably
scottspence.com/posts/how-to-make-claude-code-skills-activate-reliably
"I found two approaches that hit 80-84% success vs the 50% coin flip"
2
Medium — How We Finally Got Claude Code to Auto-Activate Skills
medium.com/coding-nexus/...
"Hooks that make skills auto-activate... patterns we tested across various projects"
🤖03

Subagents

Специализированные AI-ассистенты

Что это и как работает? Подтверждено 5 источниками ↓

Subagents — это отдельные экземпляры Claude со своим контекстным окном, запускаемые через Task tool. Они работают независимо и возвращают результаты в основной разговор.

Почему это критически важно?

Context isolation — главное преимущество. Когда основной агент исследует большую кодовую базу, его контекст «засоряется». Subagent делает эту работу в изоляции и возвращает только summary.

Parallel execution — можно запустить несколько subagents одновременно (например, security audit + performance review + test coverage) и получить результаты быстрее.

Источники и цитаты
1
Официальная документация Claude Code
code.claude.com/docs/en/sub-agents
"Subagents are specialized AI assistants that run in their own context window with custom system prompts, specific tool access, and independent permissions"
2
Claude Agent SDK Documentation
platform.claude.com/docs/en/agent-sdk/subagents
"Context Isolation: Subagents maintain separate context from the main agent, preventing information overload. Parallel Execution: Multiple subagents can run concurrently"
3
DeepWiki Sub-Agents System
deepwiki.com/.../sub-agents-system
"Each sub-agent maintains an isolated context window and a dedicated system prompt. The Orchestrator Pattern involves hierarchical delegation"
4
ClaudeLog Sub-Agents
claudelog.com/mechanics/sub-agents/
"Manual Sub-agents use the Task tool for explicit parallel processing. Custom Agents feature isolated contexts, custom system prompts, and automatic activation"
5
ClaudeFast Async Workflows
claudefa.st/blog/.../async-workflows
"To move a sub-agent to the background when it starts, press Ctrl+B" (Примечание: офиц. документация использует /agents и /bashes вместо /tasks)

Встроенные subagents

Агент Назначение Когда использовать
Explore Исследование кодовой базы Поиск файлов, понимание структуры, навигация
Plan Архитектурное планирование Проектирование фич, создание implementation plans
general-purpose Универсальные задачи Сложные multi-step операции без специализации

Создание кастомного subagent

.claude/agents/security-reviewer.md
---
name: security-reviewer
description: |
  Use for security audit of code changes.
  Finds vulnerabilities, injection vectors, auth issues.
model: opus
color: red
tools: Read, Grep, Glob
---

# Security Reviewer

Ты senior security engineer. Твоя задача — находить уязвимости.

## Что проверять:
- SQL injection (особенно raw queries)
- XSS (innerHTML, dangerouslySetInnerHTML)
- CSRF (отсутствие токенов)
- Auth bypass (broken access control)
- Secrets в коде (API keys, passwords)
- Insecure dependencies

## Формат отчёта:
- 🔴 CRITICAL — требует немедленного исправления
- 🟠 HIGH — исправить до merge
- 🟡 MEDIUM — запланировать исправление
- 🟢 LOW — рекомендация
💡
Background execution

Нажми Ctrl+B чтобы отправить subagent в фоновый режим. Используй /agents для списка агентов, /bashes для фоновых shell-команд. Результаты появятся автоматически.

/04

Slash Commands

Явно вызываемые workflow

Что это и как работает? Подтверждено 3 источниками ↓

Slash Commands — это сохранённые промпты, которые вызываются явно через /имя-команды. В отличие от Skills, они требуют ручного вызова и дают полный контроль над тем, когда выполняется workflow.

Аргументы: только $ARGUMENTS

$ARGUMENTS — захватывает все аргументы как одну строку. При вызове /fix-issue 123 high-priority, $ARGUMENTS станет "123 high-priority".

$1, $2, $3 — не работают!

Документация упоминает позиционные параметры $1, $2, $3, но по факту они не реализованы и остаются литеральными строками. Используй только $ARGUMENTS. GitHub Issue #8758

Источники и цитаты
1
Официальная документация Claude Code
code.claude.com/docs/en/slash-commands
"$ARGUMENTS: Captures all arguments passed to the command as a single string. $1, $2, etc.: Access individual arguments positionally, similar to shell scripts"
2
Claude Agent SDK Documentation
platform.claude.com/docs/en/agent-sdk/slash-commands
"The filename (without .md) becomes the command name, and the file content defines what the command does"
3
Alex Op Dev Guide
alexop.dev/posts/claude-code-customization...
"Slash Commands: Explicitly invoked, single-file prompts that act as macros. Great for on-demand, manual orchestration of workflows"

Расположение файлов

🌍

Глобальные

~/.claude/commands/
Доступны во всех проектах

📁

Проектные

.claude/commands/
Только для этого проекта

Примеры команд

.claude/commands/review-pr.md
---
description: Review PR changes before merge
allowed-tools: Read, Grep, Glob, Bash
argument-hint: [branch-name]
---

# PR Review для ветки: $ARGUMENTS

Выполни полный review:

## 1. Получи изменения
git diff main...$ARGUMENTS

## 2. Проверь
- Есть ли тесты для новой функциональности?
- Соответствует ли код нашим конвенциям (см. CLAUDE.md)?
- Нет ли security issues?

## 3. Выведи отчёт
Структурируй по категориям: Critical, Warning, Suggestion

Вызов: /review-pr feature/auth

🪝05

Hooks

Event-driven автоматизация

Что это и как работает? Подтверждено 4 источниками ↓

Hooks — это shell-скрипты, которые гарантированно выполняются при определённых событиях. В отличие от LLM-based логики, hooks детерминированы.

PreToolUse vs PostToolUse

PreToolUse — срабатывает перед выполнением tool. Можно заблокировать операцию (exit code 2), разрешить, или запросить у пользователя. Получает tool_name и tool_input.

PostToolUse — срабатывает после успешного выполнения. Используется для форматирования, логирования, уведомлений. Получает также tool_response.

Источники и цитаты
1
Официальная документация Claude Code
code.claude.com/docs/en/hooks
"PreToolUse: Runs after Claude creates tool parameters but before processing the tool call. PostToolUse: Runs immediately after a tool completes successfully"
2
Официальный блог Anthropic
claude.com/blog/how-to-configure-hooks
"PreToolUse fires before a tool executes, allowing you to validate or block actions. PostToolUse fires after a tool completes successfully, often used to run formatters"
3
Claude Agent SDK Documentation
platform.claude.com/docs/en/agent-sdk/hooks
"PreToolUse: Runs before a tool call executes. It can be used to block or modify the operation. PostToolUse: Runs after a tool call successfully executes"
4
Gend.co Hooks Guide
gend.co/blog/configure-claude-code-hooks-automation
"Hooks are deterministic triggers that run your shell commands at specific points in Claude Code's lifecycle"

Все доступные события

Hook Когда срабатывает Типичное использование
PreToolUse До выполнения tool Валидация, блокировка, модификация
PostToolUse После успешного tool Форматирование, логирование
UserPromptSubmit При отправке промпта Инъекция контекста, валидация
SessionStart Начало сессии Инициализация, загрузка данных
SessionEnd Конец сессии Cleanup, отчёты, уведомления
SubagentStop Завершение subagent Пост-обработка результатов
Notification При уведомлении Кастомные нотификации
PreCompact До сжатия контекста Сохранение важной информации

Пример конфигурации

settings.json (секция hooks)
"hooks": {
  "PostToolUse": [
    {
      "matcher": "Edit|Write",
      "hooks": [
        {
          "type": "command",
          "command": "npx prettier --write \"$FILE_PATH\""
        }
      ]
    }
  ],
  "PreToolUse": [
    {
      "matcher": "Edit|Write",
      "hooks": [
        {
          "type": "command",
          "command": "node ./scripts/check-protected-files.js"
        }
      ]
    }
  ]
}
Избегай «block-at-write» hooks

Блокировка в процессе написания сбивает агента. Лучше валидировать на финальном этапе: при commit или push.

🐛
Exit code 2: баг с Write/Edit

Exit code 2 успешно блокирует Bash операции, но не блокирует Write/Edit — файлы всё равно создаются/изменяются. GitHub Issue #13744

⚖️vs

Сравнение механизмов

Когда что использовать

Механизм Вызов Контекст Лучше всего для
CLAUDE.md Автоматически Основной Правила проекта, конвенции
Skills Авто по описанию Основной Повторяющиеся задачи с ассетами
Subagents Авто/ручной Изолированный Тяжёлый research, параллельные задачи
Commands Ручной (/cmd) Основной On-demand workflow с контролем
Hooks По событию Гарантированная автоматизация
💡
Правило выбора

CLAUDE.md — если нужно всегда. Skill — если нужно автоматически при релевантных задачах. Subagent — если нужен чистый контекст. Command — если нужен явный контроль. Hook — если нужна гарантия выполнения.

🔬06

Методология триангуляции

Как мы проверяли факты в этом учебнике

Что такое триангуляция? Методология

Триангуляция — это метод верификации информации через минимум 3 независимых источника. Каждый факт в этом учебнике был проверен по этой методологии, чтобы исключить ошибки, устаревшую информацию и «эхо-эффект» (когда источники цитируют друг друга).

Зачем это нужно?

AI-модели могут галлюцинировать — генерировать правдоподобную, но неверную информацию. Документация устаревает. Блоги копируют друг друга без проверки. Триангуляция защищает от всех этих проблем.

Процесс верификации

1

Классификация

Определяем тип утверждения: факт, мнение, прогноз или смешанный

2

Параллельный поиск

Ищем через Exa AI, WebSearch, официальную документацию и GitHub Issues

3

Оценка источников

Взвешиваем по типу, независимости, дате публикации и возможному bias

4

Расчёт определённости

Формула: Качество (40%) + Независимость (30%) + Консенсус (20%) + Актуальность (10%)

Иерархия источников

Вес Типы источников Примеры
Высокий Официальная документация, первичные данные code.claude.com, GitHub Issues, Anthropic Blog
Средний Tech-издания, эксперты, образовательные ресурсы Dev.to, Medium (проверенные авторы), курсы
Низкий Блоги, форумы, соцсети Reddit, Twitter, анонимные посты

Результаты триангуляции этого учебника 87% определённость

Утверждение Вердикт Источников
CLAUDE.md загружается автоматически ✓ Подтверждено 3
4 уровня иерархии memory ✓ Подтверждено (исправлено с 5) 2
Skills активируются автоматически ⚠ Частично (~50% без workaround) 4
Subagents в изолированном контексте ✓ Подтверждено 3
$1, $2, $3 не работают ✓ Баг подтверждён GitHub #8758
Exit code 2 не блокирует Write/Edit ✓ Баг подтверждён GitHub #13744
Откуда 87%?

Качество источников (36/40): Использованы официальная документация и GitHub Issues
Независимость (25/30): Источники не цитируют друг друга
Консенсус (18/20): Факты согласуются между источниками
Актуальность (8/10): Данные 2025-2026 года

Предупреждающие сигналы

При триангуляции мы отслеживаем потенциальные проблемы:

BIAS

Все источники однобокие (например, только официальные)

🔄

ЭХО

Источники цитируют друг друга (ложная триангуляция)

📅

УСТАРЕВШЕЕ

Информация могла измениться с момента публикации

НЕДОСТАТОЧНО

Менее 3 источников для полноценной триангуляции

Скачай скилл /triangulate Open Source

Используй триангуляцию в своих проектах! Скилл проверяет любые утверждения через 3+ независимых источника.

Установка
# Клонируй в ~/.claude/skills/
git clone https://github.com/vasilievyakov/triangulate-skill ~/.claude/skills/triangulate

# Использование
/triangulate "Claude Code поддерживает 5 уровней memory"
GitHub — скачать скилл

Проверь себя

10 вопросов по материалу

1/10