architect/arh/analysis/2026-01-17-roles-optimization/ALL_METHODS_OVERRIDE.md

ВСЕ СПОСОБЫ ПЕРЕОПРЕДЕЛЕНИЯ ИНСТРУКЦИЙ В CLAUDE CODE CLI

Дата: 2026-01-17
Задача: Запускать свои инструкции, которые ОТМЕНЯЮТ системные


БЫСТРАЯ ТАБЛИЦА

Способ Приоритет Compaction В сессии CLI Область Рейтинг
--append-system-prompt System level ✅ Да ❌ Нет ✅ Да Старт 7/10
--system-prompt System level ✅ Да ❌ Нет ✅ Да Старт 8/10 (опасно)
Output Styles System level ✅ Да ✅ Да (/output-style) ✅ Да Глобально 6/10
--agents JSON Subagent level ✅ Да ❌ Нет ✅ Да Старт 8/10
CLAUDE.md Context level ❌ Нет ✅ Да ✅ Да Проект 5/10
Skills Context level ❌ Нет ✅ Да ✅ Да Вызов 4/10
Hooks UserPromptSubmit Context level ❌ Нет ✅ Да ✅ Да Событие 3/10
MCP prompts Context level ❌ Нет ✅ Да ✅ Да Вызов 2/10

ТОП-3 РЕШЕНИЯ ДЛЯ ТВОЕЙ ЗАДАЧИ

🥇 1. --append-system-prompt (ПРИ СТАРТЕ)

Что делает: Добавляет инструкции в КОНЕЦ system prompt (выше контекста)

Преимущества:
- ✅ System prompt уровень (ВЫШЕ контекста)
- ✅ Переживает compaction
- ✅ Не ломает Claude Code функции

Недостатки:
- ❌ Только при старте сессии
- ❌ Нельзя активировать внутри сессии

Использование:

# При запуске
claude --append-system-prompt "$(cat .claude/ACTIVATE_INSTRUCTIONS.txt)" "режим архитектор"

# Или напрямую
claude --append-system-prompt "
ПРОТОКОЛ L1-L4:
Перед операцией показывать план и ждать подтверждения.

ПРАВИЛО ВРЕМЕНИ:
AI × 10 быстрее, указывать в минутах.
"

Оценка: 7/10 — лучший баланс


🥈 2. Output Styles (В СЕССИИ)

Что делает: Заменяет system prompt на кастомный стиль

Преимущества:
- ✅ System prompt уровень
- ✅ Переживает compaction
- ✅ Можно менять ВНУТРИ сессии: /output-style MyStyle

Недостатки:
- ⚠️ Нужно создать файл стиля
- ⚠️ Теряет Claude Code инструкции по эффективности

Использование:

# Создать стиль
cat > ~/.claude/output-styles/Architect.md << 'EOF'
---
name: Architect
description: Architecture mode with L1-L4 protocol
---

# ARCHITECT MODE

## L1-L4 PROTOCOL
Before ANY operation, show plan:
...

## TIME RULE
AI × 10 faster...
EOF

# В сессии переключить
/output-style Architect

Оценка: 6/10 — работает внутри сессии, но требует подготовки


🥉 3. --agents JSON (СПЕЦИАЛИЗАЦИЯ)

Что делает: Создаёт subagent'ов с кастомными промптами

Преимущества:
- ✅ Полностью переопределяет prompt для subagent'а
- ✅ Переживает compaction (в subagent контексте)
- ✅ Можно несколько режимов

Недостатки:
- ❌ Только для subagent'ов (не основной агент)
- ❌ Только при старте

Использование:

claude --agents '{
  "architect": {
    "description": "Architecture planning with L1-L4",
    "prompt": "You follow strict L1-L4 protocol. Before ANY operation show plan and wait for confirmation. Time estimates: AI × 10 faster than human, always in minutes.",
    "model": "opus"
  },
  "projector": {
    "description": "Project work with safety checks",
    "prompt": "Project mode with L1-L4 confirmations...",
    "model": "sonnet"
  }
}'

Вызов: Когда нужен architect, Claude автоматически переключится на него.

Оценка: 8/10 — мощно, но только для subagent'ов


КОМБИНИРОВАННОЕ РЕШЕНИЕ (РЕКОМЕНДАЦИЯ)

Для режимов Архитектор + Проектор:

1. Создать Output Style:

# Архитектор
cat > $WORKSPACE/.claude/output-styles/Architect.md << 'EOF'
---
name: Architect
description: Architecture mode with L1-L4, time rules, delegation
---

# ARCHITECT MODE ACTIVATED

## L1-L4 PROTOCOL
[твой протокол...]

## TIME RULE
[твоё правило...]

## DELEGATION
[твоё правило...]

## STOP RULES
[твои стоп-правила...]
EOF

# Проектор
cat > $WORKSPACE/.claude/output-styles/Projector.md << 'EOF'
---
name: Projector
description: Project mode with L1-L4, time rules
---

# PROJECTOR MODE ACTIVATED

[аналогично...]
EOF

2. Модифицировать триггеры в CLAUDE.md:

## ПЕРЕКЛЮЧЕНИЕ РЕЖИМОВ

### При команде "режим архитектор":
1. Выполнить: /output-style Architect
2. Активируется L1-L4 протокол

### При команде "режим проектор":
1. Выполнить: /output-style Projector
2. Активируется L1-L4 протокол

3. В start.sh (опционально):

# Вариант 1: Через --append-system-prompt
exec claude --append-system-prompt "$(cat .claude/ACTIVATE_INSTRUCTIONS.txt)" "режим архитектор"

# Вариант 2: Через вызов /output-style
exec claude "/output-style Architect\n\nрежим архитектор"

МАТРИЦА РЕШЕНИЙ

Сценарий Решение
При старте меню --append-system-prompt в start.sh
Переключение в сессии /output-style Mode + CLAUDE.md триггер
После compaction /output-style Mode снова
Разные проекты Output Styles в .claude/output-styles/
Специализация задач --agents JSON с разными промптами

ДЕТАЛЬНОЕ СРАВНЕНИЕ

--append-system-prompt vs Output Styles

Критерий --append-system-prompt Output Styles
Приоритет System level System level
Compaction ✅ Переживает ✅ Переживает
При старте ✅ Да ✅ Да
В сессии ❌ Нет ✅ Да (/output-style)
Автопереключение ❌ Нет ⚠️ Через CLAUDE.md
Сложность Простой Средняя (нужен файл)

Вывод:
- --append-system-prompt → лучше для старта
- Output Styles → лучше для переключения в сессии


ЧТО НЕ РАБОТАЕТ

❌ CLAUDE.md для переопределения

Почему не подходит:
- Это context reminder (низкий приоритет)
- Сжимается при compaction
- Не переопределяет system prompt

❌ Hooks для промпта

Почему не подходит:
- Нет события для compaction
- UserPromptSubmit добавляет к контексту, не к system prompt
- Слишком ограничено

❌ Skills для режимов

Почему не подходит:
- Это контекст, не system prompt
- Срабатывает автоматически (нельзя явно вызвать)
- Теряется при compaction

❌ MCP prompts

Почему не подходит:
- Это slash команды, не system prompt
- Только для вызова конкретных задач


ПРАКТИЧЕСКИЙ ПЛАН

Вариант А: Через --append-system-prompt (СТАРТ)

Шаги:
1. Файл .claude/ACTIVATE_INSTRUCTIONS.txt уже создан ✅
2. Модифицировать start.sh:
```bash
# Архитектор (пункт 3)
exec claude --append-system-prompt "$(cat .claude/ACTIVATE_INSTRUCTIONS.txt)" "режим архитектор"

# Проектор (пункт 2)
exec claude --append-system-prompt "$(cat .claude/ACTIVATE_INSTRUCTIONS.txt)" "режим проектор"
`` 3. **Проблема:** После compaction нужно вручнуюactivate-mode`


Вариант Б: Через Output Styles (СЕССИЯ) ⭐ РЕКОМЕНДУЕТСЯ

Шаги:
1. Создать стили:
- .claude/output-styles/Architect.md
- .claude/output-styles/Projector.md
2. В CLAUDE.md добавить триггеры:
markdown При "режим архитектор" → автоматически /output-style Architect При "режим проектор" → автоматически /output-style Projector
3. Преимущество: Работает внутри сессии, переживает compaction


Вариант В: Комбинированный (ЛУЧШЕЕ) ⭐⭐

Шаги:
1. При старте: --append-system-prompt в start.sh
2. В сессии: /output-style Mode для переключения
3. После compaction: /output-style Mode снова


ИТОГОВАЯ РЕКОМЕНДАЦИЯ

Для твоей задачи (режимы Архитектор + Проектор):

✅ РЕШЕНИЕ: Output Styles

  1. Создать 2 файла стилей
  2. Добавить триггеры в CLAUDE.md
  3. При "режим архитектор" Claude автоматически активирует стиль

Почему это лучше:
- ✅ System prompt уровень
- ✅ Переживает compaction
- ✅ Работает внутри сессии
- ✅ Можно переключать /output-style
- ✅ НЕ требует перезапуска

Единственный минус:
- Нужно создать файлы стилей (но это 1 раз)


Делать Output Styles решение?