- Зачем:
- живой прогон issue 12 показал: субагенты не наследуют уровень сессии,
дефолт spawn_agent — medium, worker и ревьюер молча ушли ступень ниже.
- Что:
- effort-levels.md: явные значения уровней (medium/high/xhigh) и
предупреждение про дефолт spawn_agent.
- журнал: фиксировать фактический уровень хоста, не название яруса.
- Проверка:
- сверка с конфигом сессии (model_reasoning_effort = high) и экраном
прогона (spawn gpt-5.5 medium).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Зачем:
- живой прогон issue 12 показал: координатор тратит циклы на попытки
передать worker-у полный контекст форком своей истории.
- Что:
- явное правило в раздел ролей: worker, ревьюеры и диагносты запускаются
свежими сессиями; форк тащит контекст координатора и убивает
независимость ревьюера.
- Проверка:
- перечитывание раздела «Роли» после правки.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Зачем:
- зафиксировать итог сессии для продолжения: как проверялся пакет,
повороты после ревью, что осталось незамеренным.
- Что:
- добавлен handoff 2026-07-04-rework-session-claude-line.md.
- в пакете правок обновлена строка статуса (внесено и закоммичено).
- Проверка:
- перекрёстные ссылки между двумя handoff'ами сходятся.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Зачем:
- боевой прогон цепочки 07-11 показал: worker в Codex не может запускать
субагентов, ревью шло пятью кругами без ограничителя, финальный handoff
и закрытие issue выпадали из цикла.
- Что:
- ревьюеров запускает координатор (наблюдатели, ограничение промптом),
триаж находок и флаг «спор» — в worker-е; политика кругов с потолком.
- две ручки стоимости: модель по роли и уровень мышления, таблица
references/effort-levels.md; шаблон references/reviewer-prompt.md —
скилл самодостаточен, без файлов claude-team-review.
- журнал с метками времени; финал: PRD до ревью, Status: done
docs-коммитом, handoff — условие выхода; handoff пакета правок.
- Проверка:
- адверсарное ревью пакета свежим субагентом (2 блокера и 7 important
закрыты) плюс саморевью; следующий боевой прогон цепочки — замер.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Зачем:
- сохранить выводы сессии проектирования у самого навыка, чтобы будущая сессия по доработке нашла их рядом с handoff про наблюдаемость.
- Что:
- добавлена расширенная версия handoff: диагностика двух «пожаров» по логам Codex, prior art (obra:superpowers), два принятых правила с адресами правок в SKILL.md, кандидаты-фиксы и открытые вопросы.
- Проверка:
- открыть handoffs/2026-06-14-coordinator-loop-context-economy.md
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Зачем:
- нужно передать на другую машину договорённости по наблюдаемости coordinator-loop.
- Что:
- добавлен handoff с форматом live-логов, summary и правилами gitignore.
- зафиксированы отказ от state.md и run-id, а также best-effort heartbeat.
- Проверка:
- просмотрен staged diff нового handoff-файла.
- Зачем:
- README должен описывать границы скилла без ложных ожиданий от runtime-поведения.
- Что:
- уточнена приёмка через агент другой модельной линии, если он доступен.
- разделены проектная документация и документационные правки внутри issue.
- проверяемость описана как свойство конечного результата цепочки.
- Проверка:
- просмотрен staged diff README coordinator-loop.
- Зачем:
- дать человеку и будущей сессии быстрый вход: зачем навык, где в конвейере, что на выходе.
- Что:
- описаны место в потоке (brainstorm/grill -> to-issues -> coordinator-loop -> приёмка) и границы навыка.
- зафиксировано, что проверяемость результата закладывается при проектировании, а не в этом скилле.
- якоря контекста самодостаточны: ссылки только на SKILL.md и references/rationale.md.
- Проверка:
- открыть agents/.agents/skills/coordinator-loop/README.md.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Зачем:
- распространить языковую политику стенда на личный репозиторий dotfiles.
- Что:
- добавлен раздел «Язык и рассуждения»: ясный русский и рассуждения на английском.
- фразы перенесены дословно из AGENTS.md учебного стенда.
- Проверка:
- git show HEAD -- AGENTS.md.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Зачем:
- закрепить эксперимент с координатором субагентов как переиспользуемый навык для Codex.
- Что:
- добавлен SKILL.md с циклом worker -> саморевью -> классификация -> ревью -> коммит.
- эмпирика эксперимента вынесена в references/rationale.md.
- добавлен мост codex/.codex/skills/coordinator-loop для подхвата навыка в Codex.
- навык только по явному вызову (/coordinator-loop), без автосрабатывания.
- Проверка:
- ls ~/.agents/skills/coordinator-loop/SKILL.md; вызов /coordinator-loop в Codex.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Зачем:
- первый живой тест скилла вскрыл правки, которые надо закрепить, и идеи для v2.
- Что:
- SKILL.md: R1 (рекомендация к вопросам-решениям), F1 (2-3 внутри рамки + ≥1
дивергентный сверх, без филлера), inline/confirm для терминов, read-only
инспекция данных в шаге 1, нейтральная SEAM-метка.
- ROADMAP.md: статус первого теста, Landed R1/F1/SEAM, вердикты R2/F4/F5a, план v2.
- Проверка:
- прочитать SKILL.md (core_rules, шаги 1/4/5) и ROADMAP.md.
- Зачем:
- убрать неоднозначности после ревью: два имени у пропуска сбивали агента, потеряна мотивация жёсткости, у самого судьбоносного решения «развилка или нет» не было опоры.
- Что:
- пропуск чекпоинта везде назван «пропустить», явно отделён от выключения режима («stop»/«обычный режим»).
- возвращена мотивация: ручное включение = согласие поджимать, не смягчать из вежливости.
- в «Что считается развилкой» добавлен доменно-нейтральный различитель по распространению непонимания и цене отката.
- Проверка:
- /reload-skills и вызов /understand на реальной развилке.
- Зачем:
- нужен ручной режим, который проверяет понимание без лишнего торможения обычной работы.
- Что:
- уточнены условия opt-in и работа режима в пределах текущей сессии.
- добавлены правила языка сессии, явного пропуска и обхода проверки как отсутствия сигнала.
- описана соразмерная проверка и варианты форматов ответа.
- Проверка:
- просмотрен staged diff: git diff --cached -- agents/.agents/skills/understand/SKILL.md.
- Зачем:
- нужен ручной режим, который ловит на непонимании, которого сам не чувствуешь, а не дублирует привычное «спрошу сам, когда замечу пробел».
- Что:
- добавлен agents/.agents/skills/understand/SKILL.md.
- активация только ручная (/understand и явные фразы), без авто-срабатывания.
- принцип «избирателен где, непреклонен когда»: ленивое «ага» не зачёт, по умолчанию требует пересказ.
- стоп-кран вместо свободы молчать, уровни объяснения подросток/стажёр/эксперт, состояние только в чате.
- Проверка:
- /reload-skills и вызов /understand на реальной задаче.
- Зачем:
- разгрузить контекст сессии — каждый скилл грузит описание в каждый проект; убираем то, чем не пользуемся.
- Что:
- удалены security-audit, proxy-debug, dotfiles-check, jupyter-notebook, docstring.
- review-homework удалён отсюда и перенесён в репозиторий kb-mentoring (.skills/), где он тематически на месте.
- Проверка:
- git status agents/.agents/skills — перечисленных папок больше нет; восстановимы из git-истории при необходимости.
- Зачем:
- решения и рассуждения по скиллу были размазаны по памяти агента,
README и комментарию у шва; нужен durable in-repo источник, который
переживёт смену сессии и не зависит от конкретного агента.
- Что:
- ROADMAP.md: статус v1, отложенные решения (R1 рекомендованный ответ
на вопрос, R2 дотошность грилла, F1 строка дивергенции, F4 связь с
grill-with-docs, F5a docs/agents), v2-крупное и отклонённое (F6).
- DEV-HANDOFF.md: контекст для возобновления, неочевидные обоснования
(frontmatter-переносимость, гейт под auto mode, агайл), suggested skills.
- README.md: ссылка на ROADMAP с пометкой про dev-only docs.
- Проверка:
- markdown-ссылка README → ROADMAP.md резолвится.
- Зачем:
- внешнее ревью выявило риск двойной записи решений (spec/ADR) и
терминологическую путаницу; правки документные, поведение не меняют.
- Что:
- adr.md и spec.md: добавлен lifetime-критерий ADR vs spec (ADR — для
решений, переживающих спеку; локальные остаются в спеке).
- spec.md: разведены Options considered (до выбора) и Decisions (после).
- SKILL.md: блок <validation> переименован в <self_review>, чтобы не
путать с секцией ## Validation в spec.md.
- README.md: честнее описано авто-срабатывание на Codex.
- SKILL.md: у SEAM зафиксирован TODO(F1) про строку дивергенции
(отложена ради чистого baseline на обкатке).
- Проверка:
- python3 yaml-парс frontmatter; нет висячих ссылок на <validation>.
- Зачем:
- нужен ручной скилл для брейнсторма и дизайна, который удерживает
словарь смыслов (CONTEXT.md) и лёгкие ADR, активно прожаривает план
и не сваливается в реализацию.
- Что:
- SKILL.md: процесс (контекст → классификация → декомпозиция →
грилл → синтез опций → подтверждение → артефакт), единый HARD-GATE
«исследуй, но не меняй состояние» с поправкой на auto mode.
- artifacts/: шаблоны spec, research-note, adr, runbook, prd, context
(по файлу на тип для progressive disclosure).
- README.md с MIT-атрибуцией grill-with-docs (Pocock) и brainstorming
(obra/superpowers); шов для будущей фазы дивергенции в шаге 5.
- frontmatter переносим: Claude читает все поля, Codex — name+description.
- Проверка:
- python3 yaml-парс frontmatter; markdown-ссылки на artifacts/ резолвятся.
- Зачем:
- отображать в Claude Code текущий путь, ветку, модель и использование контекста/rate limits.
- Что:
- создан claude/.claude/statusline-command.sh с парсингом JSON и ANSI-форматированием.
- обновлён .gitignore для трекинга нового скрипта.
- Проверка:
- запуск скрипта в рабочей директории проекта: bash claude/.claude/statusline-command.sh.
- Зачем:
- необходимо подключить набор skills для расширения возможностей агента Opencode.
- Что:
- добавлена опция plugin с указанием репозитория superpowers в opencode.json.
- Проверка:
- cat opencode/.config/opencode/opencode.json.
- Зачем:
- локальные MCP/loopback-соединения уходили в SOCKS5 через hproxy.local из-за отсутствия IPv6 в NO_PROXY
- Python-приложения не видели прокси-переменные в lower-case
- Что:
- добавлены ::1 и [::1] в список NO_PROXY для IPv6 loopback
- добавлены lower-case переменные (http_proxy, https_proxy, all_proxy, no_proxy)
- функция proxy_off теперь сбрасывает все прокси-переменные
- Проверка:
- source ~/.bash_functions && proxy_on && echo $NO_PROXY && proxy_off
- Зачем:
- в Plan Mode ревью плана вызывало ~5 permission prompts (git, Write, rm),
хотя для плана git не нужен, а план уже является файлом.
- Что:
- добавлен fast path: явный `plan` или Plan Mode пропускают git-проверки
- base branch определяется лениво (только для code/code-vs-plan)
- resume упрощён через `2>/dev/null` (stderr → /dev/null, stdout = чистое ревью)
- cleanup пропускается в Plan Mode, best-effort вне его
- удалены deprecated permissions claude-diff-* из settings.local.json
- Проверка:
- `/codex-review plan` в Plan Mode — 0 permission prompts
- `/codex-review code` вне Plan Mode — работает как раньше
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Зачем:
- зафиксировать известные проблемы и план выделения скилла в отдельный репо.
- Что:
- добавлен TODO: resume переключает sandbox/reasoning (разобраться с плагином).
- добавлен TODO: pipe в определении base branch.
- добавлен TODO: отдельный репозиторий + статья на Хабр (высокий приоритет).
- Проверка:
- cat TODO.md.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Зачем:
- официальный плагин OpenAI может содержать идеи для улучшения скилла codex-review.
- Что:
- добавлен пункт TODO со ссылкой на openai/codex-plugin-cc.
- Проверка:
- cat TODO.md.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Зачем:
- Codex имеет доступ к репо в read-only sandbox и может сам читать diff — сбор в temp-файл избыточен.
- Что:
- шаг 1: автодетект дополнен проверкой branch-изменений (BASE_BRANCH...HEAD).
- шаг 2: добавлено определение base branch через origin/HEAD + fallback main/master.
- шаг 3: diff заменён на --name-only списки (unstaged+staged, branch как fallback).
- шаг 4: промпты передают список файлов и git-команды вместо <diff-path>.
- убраны temp-файлы claude-diff-*, preflight --shortstat, часть cleanup.
- TODO.md: задача отмечена как выполненная.
- Проверка:
- /codex-review code — одобрено Codex за 3 раунда, 0 permission prompts.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Зачем:
- Codex и так имеет доступ к репо в read-only sandbox, сбор diff избыточен.
- Что:
- добавлен пункт TODO: передавать список файлов вместо diff.
- Проверка:
- cat TODO.md.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Зачем:
- планы должны жить в TODO.md, AGENTS.md ссылается на него.
- Что:
- перенесён план по codex-review из AGENTS.md в TODO.md.
- в AGENTS.md добавлена ссылка на TODO.md.
- Проверка:
- cat TODO.md, cat AGENTS.md.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Зачем:
- Codex-ревью выявило permission bypass через Bash(timeout *) и
сохраняющиеся safety prompts на $() и > в bash-командах.
- Что:
- permission сужен до Bash(timeout 600 codex exec *), rm-паттерны конкретизированы.
- REVIEW_ID использует $RANDOM для энтропии, resume пишет в файл вместо pipe.
- добавлен TODO в AGENTS.md: план замены bash-паттернов на нативные инструменты.
- Проверка:
- /codex-review при следующем использовании.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Зачем:
- скилл генерировал множество промежуточных bash-команд, каждая из которых
требовала ручного подтверждения пользователя.
- poll-loop (while/sleep) мог зависнуть навсегда при сбое Codex.
- Что:
- добавлены permissions для типовых команд скилла (timeout, rm/Write для /tmp).
- uuidgen заменён на date +%s (меньше промптов).
- codex exec обёрнут в timeout 600 (10 мин) вместо poll-loop.
- resume оставлен как primary, свежий exec — fallback.
- добавлен захват session ID в Шаг 4.
- Проверка:
- /codex-review при следующем использовании.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Зачем:
- Claude Code перезаписывает settings.json при каждом «always allow», что создавало
конфликт с managed-копией из dotfiles при повторном запуске install.sh.
- Что:
- settings.json удалён из репозитория, Claude Code владеет им полностью.
- создан settings.local.json (базовые permissions + statusLine), деплоится через симлинк.
- install.sh: копирование + шаблон заменены на ln -sf с бэкапом и guard для edge cases.
- check.sh: проверка обновлена под симлинк вместо «файл + chmod 444».
- тесты: старый тест копирования заменён на 4 новых (симлинк, бэкап, директория, stow-миграция).
- Проверка:
- bash tests/test_install.sh (15 тестов).
- bash agents/.agents/skills/dotfiles-check/check.sh.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Зачем:
- скилл работал только с планами; нужна поддержка ревью кода и автодетект режима.
- Что:
- добавлен автодетект режима: plan, code, code-vs-plan.
- три отдельных промпта для каждого режима ревью.
- модель обновлена на gpt-5.4, reasoning effort = high.
- исправлен сбор diff (условный, не перезаписывающий).
- инструкции переведены на русский, промпты к Codex оставлены на английском.
- добавлен вывод пути к файлу плана для открытия в IDE.
- явные правила парсинга аргументов (model:..., reasoning level, путь к файлу).
- Проверка:
- /codex-review в Claude Code.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Зачем:
- нужен инструмент для итеративного ревью планов реализации через OpenAI Codex CLI.
- Что:
- добавлен SKILL.md для скилла codex-review: цикл до 5 раундов, Claude отправляет план → Codex рецензирует → Claude правит → повторяет до VERDICT: APPROVED.
- Проверка:
- вызвать `/codex-review` во время или после plan mode.
- Зачем:
- модели в opencode не имели доступа к поиску без платных API.
- Что:
- добавлен docker-compose для SearXNG (localhost:57458, без valkey).
- секрет подставляется из .env через generate-config.sh при старте.
- добавлен MCP-сервер searxng в конфиг opencode.
- env_file с fallback: .env.sample работает из коробки, .env опционален.
- Проверка:
- cd docker/searxng && docker compose up -d.
- curl http://localhost:57458/search?q=test&format=json.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Зачем:
- duckduckgo-mcp (npx) требует bun, которого нет в системе.
- Что:
- убран websearch из permissions (инструмент не существует в opencode).
- команда заменена на uvx duckduckgo-mcp-server (Python, работает без bun).
- Проверка:
- перезапустить opencode, убедиться что инструменты duckduckgo доступны.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Зачем:
- доступ к поиску в интернете для моделей без внешних MCP-серверов.
- Что:
- добавлен "websearch": "ask" в секцию permission.
- Проверка:
- открыть opencode, убедиться что websearch доступен как инструмент.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Зачем:
- существует два проекта opencode, ссылка устраняет путаницу.
- Что:
- название Opencode в таблице AI-инструментов обёрнуто в ссылку на anomalyco/opencode.
- Проверка:
- открыть README.md, убедиться что ссылка ведёт на правильный репозиторий.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Зачем:
- требуется обеспечение работы Claude, Codex и Gemini через корпоративный прокси.
- Что:
- добавлен глобальный параметр proxy.
- настроены переменные окружения для claude-acp, codex-acp и gemini.
- определены исключения для локальных адресов в NO_PROXY.
- Проверка:
- запуск Zed с проверкой подключения к AI агентам.
- Зачем:
- winget install не обновляет PATH текущей сессии; без перезапуска
chezmoi не находит pwsh и запускает скрипты через PS 5.1.
- Что:
- добавлен комментарий между установкой пакетов и chezmoi apply.
- Проверка:
- визуальная проверка README.md
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Зачем:
- chezmoi запускает скрипт через PS 5.1, где допустимы только
UTF8/Unicode/ASCII и т.д., но не utf8BOM (появился в PS 7).
- Что:
- заменено -Encoding utf8BOM на -Encoding UTF8 (в PS 5.1 пишет с BOM).
- Проверка:
- chezmoi -S "$HOME\dotfiles\chezmoi" apply (на Windows с PS 5.1)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Зачем:
- PS 5.1 читает UTF-8 без BOM как системную кодовую страницу;
байт 0x91 из «Бэкап» интерпретировался как кавычка, ломая парсер.
- Что:
- заменена кириллица в Write-Host/Write-Warning на английский текст
в run_20-configure-windows-terminal.ps1 и run_before_10-migrate-gitconfig.ps1.
- комментарии на русском оставлены (парсер их не обрабатывает).
- Проверка:
- chezmoi -S "$HOME\dotfiles\chezmoi" apply (на Windows)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Зачем:
- скрипт, написанный Codex, отличался по стилю от остального репозитория,
трудно читался из-за вложенных условий и отсутствия визуальной структуры.
- Что:
- добавлены секционные заголовки в стиле profile.ps1 (# ── Name ──────).
- извлечён ask_yes_no() — убрано дублирование промптов.
- WSL-логика вынесена в setup_wsl_hproxy() с flat early returns.
- миграция stow-симлинка вынесена в migrate_claude_stow_symlink().
- добавлены однострочные комментарии к хелперам и нетривиальным веткам.
- Проверка:
- bash tests/test_install.sh
- ./install.sh (идемпотентный повторный прогон)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Зачем:
- скилл ухудшал работу Codex при ревью, добавляя избыточный контекст.
- Что:
- удалены 5 файлов из agents/.agents/skills/differential-review/.
- через симлинки скилл автоматически пропал из Claude и Opencode.
- Проверка:
- grep -r differential-review agents/
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Зачем:
- нужно было убрать падение install.sh на абсолютных WSL-симлинках и существующей runtime-директории opencode.
- Что:
- убран `--restow` из вызова stow, чтобы install не падал на ссылках `~/.aws` и `~/.azure`.
- настройка `~/.config/opencode` переведена на ручную установку с backup существующего `opencode.json` и сохранением runtime-файлов.
- в tests/test_install.sh добавлены сценарии для WSL-симлинков и существующей директории opencode.
- Проверка:
- bash -n install.sh
- bash -n tests/test_install.sh
- ./tests/test_install.sh
- Зачем:
- нужно было убрать баги install.sh и сделать регрессии воспроизводимыми.
- Что:
- исправлена установка через stow в HOME, миграция ~/.claude и копирование settings.json без разрушения рабочей директории.
- стабилизирована WSL-логика через проверки интерактивности и защиту от дублирования boot command.
- добавлен tests/test_install.sh с regression-сценариями для install.sh.
- Проверка:
- bash -n install.sh
- bash -n tests/test_install.sh
- ./tests/test_install.sh
- Зачем:
- старая команда в wsl.conf дублировала записи в /etc/hosts при каждом ребуте.
- настройка hproxy.local не была задокументирована в репозитории.
- Что:
- создан идемпотентный скрипт scripts/setup-hproxy.sh (sed + append).
- в install.sh добавлен интерактивный вопрос о подключении скрипта в wsl.conf.
- в README.md добавлена документация по настройке hproxy.local (NAT и Mirror).
- Проверка:
- cat /etc/wsl.conf, wsl --shutdown, getent hosts hproxy.local.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Зачем:
- нужен воспроизводимый способ установки на новую машину и защита от перезаписи tracked-файлов ИИ-инструментами.
- Что:
- добавлен install.sh: stow всех пакетов, создание settings.local.json, chmod 444 на settings.json, автопатч .bashrc.
- claude/settings.json разделён на базовый (permissions, statusLine) и локальный (model, effortLevel в settings.local.json).
- добавлен .concept-software.ru в NO_PROXY в server-env-setup и bash_functions.
- README переработан: install.sh как рекомендуемый способ, документация двухуровневых настроек Claude, Developer Mode hint, расширенное описание VS Code прокси.
- Проверка:
- git clone + ./install.sh на чистой машине.
- Зачем:
- расширены возможности AI-ассистентов для работы с документами и презентациями
- Что:
- добавлен skill pdf для работы с PDF файлами
- добавлен skill doc для работы с Word документами
- добавлен skill slides для создания презентаций PowerPoint
- добавлен skill jupyter-notebook для работы с Jupyter ноутбуками
- добавлен skill spreadsheet для работы с таблицами (Excel/CSV)
- изменена модель Claude с sonnet на opus
- Проверка:
- проверка доступности skills в AI-ассистентах
- Зачем:
- предоставить ИИ-агентам контекст по структуре репозитория (Bash, Tmux, Vim, VS Code, AI skills) и принятым в нем стандартам.
- Что:
- создан файл `AGENTS.md` с описанием ключевых компонентов, способов развертывания (`stow`/`chezmoi`) и правил взаимодействия с Git.
- Проверка:
- файл успешно добавлен в репозиторий и доступен для чтения агентами.
- Зачем:
- позволить агенту выполнять базовые операции анализа репозитория без лишних подтверждений.
- Что:
- в `readonly-commands.toml` добавлены правила `allow` для `git status`, `git diff` и `git add`.
- Проверка:
- запуск `git status` не должен вызывать диалог подтверждения (если политики применены).
- Зачем:
- путь /home/dementev/ не работал на других машинах; модель была устаревшей.
- Что:
- команда statusline переведена на переносимый путь ~/.claude/statusline-command.sh.
- модель изменена с opus на sonnet.
- Проверка:
- stow claude && claude — статусбар должен отображаться корректно.
- Зачем:
- ускорение работы агента за счет уменьшения количества запросов на подтверждение безопасных операций.
- Что:
- в `readonly-commands.toml` добавлены разрешения для утилит: `getent`, `ip`, `which`, `command -v`, `stat`, `realpath`, `readlink`, `sort`, `uniq`, `wc`.
- разрешена автоматическая активация навыков (`activate_skill`).
- Проверка:
- выполнение команд из списка без появления диалога подтверждения.
- Зачем:
- обеспечить корректную работу расширений VS Code через прокси-сервер без ручной правки переменных окружения.
- Что:
- обновлен скрипт `server-env-setup`: добавлена проверка доступности `hproxy.local` через `getent`.
- реализован автоматический экспорт переменных `HTTP_PROXY`, `HTTPS_PROXY`, `ALL_PROXY` и `NO_PROXY` (в обоих регистрах).
- комментарии в скрипте переведены на русский язык.
- в политики Gemini (`readonly-commands.toml`) добавлены разрешения для команд `ls`, `echo` и `[`.
- Проверка:
- запуск `env | grep -i proxy` в терминале VS Code после перезагрузки окна.
- Зачем:
- улучшена читаемость конфигурации за счет логического упорядочивания полей.
- Что:
- поля model, statusLine и effortLevel перемещены в конец файла.
- удалены лишние пустые строки между элементами массива permissions.allow.
- Проверка:
- git diff HEAD~1 -- claude/.claude/settings.json.
- Зачем:
- Gemini CLI ожидает конфигурационные файлы политик в ~/.gemini/policies/.
- Что:
- файлы builtin-readonly.toml и readonly-commands.toml перенесены в новую директорию policies.
- Проверка:
- проверка структуры директорий ~/.gemini/policies/.
- Зачем:
- конфигурационный файл содержит лишние комментарии, которые можно удалить.
- Что:
- удалены комментарии с пояснениями в opencode.json.
- удалены лишние пустые строки для компактности.
- добавлен перевод строки в конце файла.
- Проверка:
- валидация JSON: cat opencode/.config/opencode/opencode.json | jq empty.
- Зачем:
- сделать текст более понятным и акцентировать внимание на поведении в Gemini.
- Что:
- переформулировано примечание для Gemini в описании способа B.
- Проверка:
- просмотр изменений через git diff.
- Зачем:
- необходим дополнительный уровень безопасности для предотвращения случайных изменений в репозитории
- Что:
- создан агент safe-plan для безопасного планирования (read-only)
- создан агент safe-build с защищенным доступом к shell
- установлен default_agent: "safe-plan"
- обновлены глобальные permissions: все операции требуют подтверждения, git push запрещен
- добавлен share: "manual"
- Проверка:
- проверка конфигурации через OpenCode UI
- Зачем:
- требуется передавать переменные из ~/.env.secrets в окружение VS Code Server в WSL.
- Что:
- добавлен stow-пакет vscode с файлом ~/.vscode-server/server-env-setup.
- реализована загрузка ~/.env.secrets через source в режиме fail-open с warning в stderr.
- обновлен README: раздел VS Code (WSL), установка через stow/вручную, reconnect и обработка конфликтов.
- Проверка:
- bash -n vscode/.vscode-server/server-env-setup.
- stow -nvt ~ vscode.
- запуск скрипта с валидным, отсутствующим и битым ~/.env.secrets в изолированном HOME.
- Зачем:
- runtime-файлы Claude Code (cache, credentials, history) попадали в Git через симлинк Stow.
- Что:
- создан файл claude/.claude/.gitignore с исключением всех файлов кроме skills и .gitignore.
- создан симлинк claude/.claude/skills → agents/.agents/skills.
- Проверка:
- git status показывает только claude/.claude/.gitignore как untracked.
- Зачем:
- необходимость корректной обработки amend-операций при коммитах.
- Что:
- добавлен шаг чтения текущего сообщения коммита перед amend.
- добавлен раздел "Специфические правила для Amend" с детальными инструкциями.
- добавлен пример 4 с логикой amend.
- Проверка:
- git log -1 --pretty=%B для проверки формата сообщения.
- Add .chezmoiroot to preserve stow structure
- Add .chezmoiignore to exclude Linux-only packages on Windows
- Add PowerShell scripts for path conversion and skills symlinks
- Update README with Windows installation instructions
- Tested: vim, agents, codex, claude, opencode configs work on Windows
- Зачем:
- новый режим networkingMode=mirror в WSL2 требует другого подхода к определению IP-адреса хоста.
- Что:
- добавлено определение режима WSL через проверку .wslconfig.
- при режиме mirror IP берется из Windows hosts файла.
- при режиме NAT IP вычисляется через маршрут по умолчанию.
- добавлена очистка символов \r при чтении Windows файлов.
- улучшены информативные сообщения для пользователя.
- Проверка:
- вызов функции update_hproxy в обоих режимах WSL2.
- Зачем:
- необходимо автоматически обновлять IP-адрес хоста при перезагрузке WSL или изменении сети.
- Что:
- добавлена функция update_hproxy в bash/.bash_functions.
- функция получает IP хоста через ip route.
- обновляет запись hproxy.local в /etc/hosts.
- Проверка:
- выполнить update_hproxy и проверить /etc/hosts.
- Зачем:
- привести формат commit body к виду, который используется в репозитории и ожидается в UI.
- Что:
- заменен плоский шаблон `Зачем/Что/Проверка` на markdown-список с подпунктами.
- добавлены явные требования к структуре тела коммита и количеству пунктов.
- обновлены примеры и heredoc-шаблон под новый формат.
- Проверка:
- git log -1 --pretty=format:'%s%n%n%b'.
- проверить, что секции выводятся как list в UI.
- Зачем:
- функция git с очисткой переменных прокси больше не нужна и усложняет поведение shell.
- Что:
- закомментирован блок функции git() в bash-конфигурации.
- отключена принудительная очистка HTTP_PROXY/HTTPS_PROXY/ALL_PROXY для вызовов git.
- Проверка:
- source ~/.bashrc.
- type git.
Зачем: Claude загружает user skills из ~/.claude/skills и не видел общий каталог ~/.agents/skills.
Что: добавлен пакет claude с symlink ~/.claude/skills на общие skills, исправлен YAML frontmatter skill conventional-commits, обновлен README с новой схемой и stow командой.
Проверка: stow -nvv claude и проверка лога rg "Loaded 1 unique skills" /tmp/claude-skills-check-2.log.
Зачем: улучшение визуального опыта работы в терминале с отображением git-ветки, venv и статуса последней команды.
Что: создан файл .bash_prompt с цветным двухстрочным prompt, индикацией git-ветки, активного venv и статуса exit code.
Проверка: source ~/.bashrc, проверить отображение в git-репозитории и с активированным venv.
Зачем: имя файла не отражало его содержимое (функции bash), что вводило в заблуждение.
Что: переименован файл, обновлены все ссылки в .bashrc, README.md, .env.example.
Проверка: ln -s dotfiles/bash/.bash_functions ~/.bash_functions, source ~/.bashrc, proxy_on.
Зачем: разделение публичных и приватных переменных окружения для безопасного хранения API ключей.
Что: создан шаблон .env.secrets.example, обновлен .bashrc для загрузки ~/.env.secrets, добавлено исключение в .gitignore, обновлена документация.
Проверка: cp bash/.env.secrets.example ~/.env.secrets, source ~/.bashrc, echo $CONTEXT7_API_KEY.
Зачем: переход на новый формат хранения скиллов для лучшей организации и расширяемости.
Что: удалён .skill.md файл, создана директория skills/conventional-commits/ с новой структурой.
Проверка: ls -la opencode/.config/opencode/skills/
Зачем: настройка рабочего окружения для инструмента opencode с поддержкой conventional commits.
Что: созданы конфигурационные файлы, добавлен bashrc, gitignore, документация и skill для коммитов.
Проверка: git status, проверка наличия файлов в opencode/.config/.
- Зачем:
- нужен централизованный контроль, версионирование и бэкап настроек окружения
- Что:
- создана модульная структура директорий под GNU Stow
- перенесены текущие конфигурации для bash, tmux, vim и zed
- Проверка:
- cd ~/dotfiles && stow -n -S tmux vim bash