--- name: corp-new description: >- Создаёт новый отдел штаба: папку `corp-<слово>` рядом со штабом, файл правил, папку скиллов, папку задач `tasks/` и связь со штабом в правилах в обе стороны. Если штаба ещё нет, сначала ставит его из agent-starter. Применять по /corp-new, «создай отдел», «новый отдел», «заведи отдел <домен>». disable-model-invocation: true --- # corp-new: новый отдел штаба Штаб это главная папка работы с агентом: файл правил, `me.md`, карта отделов. Отдел это соседняя папка штаба со своим файлом правил, скиллами и задачами, например `corp-sales` или `corp-learn`. Отдел знает свой штаб, штаб знает свои отделы: связь записана в правилах с обеих сторон. Скилл идёт по шагам и отвечает таблицей ✓/✗. Правила отдела за человека он не пишет: ставит каркас с пустыми местами, их человек заполняет сам или вместе с агентом через /grill-me. Чужие файлы не трогает, незакоммиченную работу не выбрасывает. GitHub не нужен: отдел живёт в локальной папке. Команды даны для macOS и Linux (zsh, bash). На Windows агент делает то же средствами PowerShell. ## 1. Найти штаб Штаб узнаётся так же, как в скилле `hq` (шаг 1): папка с `me.md` или `stack/harness.md`. Где искать, по порядку: ```sh for d in . .. ../hq ~/Documents/GitHub/hq ~/hq; do { [ -e "$d/me.md" ] || [ -e "$d/stack/harness.md" ]; } && (cd "$d" && pwd -P) done | sort -u ``` - Нашёлся один — это штаб; дальше его путь `HQ`, папка репозиториев `ROOT` — его родитель. - Нашлось несколько — спросить одной строкой, какой. - Открыт отдел, и в его файле правил есть ссылка на штаб (`../<папка>`) — штаб берётся по ней. - Не нашлось — шаг 2. ## 2. Штаба нет: поставить из agent-starter Папка штаба по умолчанию — `~/Documents/GitHub/hq`, если есть `~/Documents/GitHub`; иначе спросить одной строкой, где держать репозитории. Путь только латиницей. ```sh ROOT=~/Documents/GitHub; HQ="$ROOT/hq" git clone https://github.com/serejaris/agent-starter.git "$HQ" git -C "$HQ" remote rename origin upstream # обновления стартера — git pull upstream main mkdir -p "$HQ/stack" ``` Дальше в папке штаба пройти скилл `hq` этого штаба (`$HQ/.agents/skills/hq`): он определит харнес, поставит главный файл правил и `me.md`. Пустые правила штаба заполняются по образцу из шага 5 скилла `hq`, словами человека. Проверка: в `$HQ` есть `AGENTS.md` и `CLAUDE.md` (один из них симлинк на другой), `.agents/skills/hq`, `stack/harness.md`. ## 3. Имя отдела Имя папки — `corp-<домен>` латиницей в нижнем регистре: `corp-sales`, `corp-learn`. Человек назвал отдел по-русски — предложить имя одной строкой и взять его ответ. Если домен уже есть у другого отдела штаба (карта отделов в правилах штаба) — спросить, новый ли это отдел, до любых правок. ```sh SLUG=corp-<домен>; D="$ROOT/$SLUG" test -d "$D" && echo "папка есть" grep -n "$SLUG" "$HQ/AGENTS.md" "$HQ/CLAUDE.md" 2>/dev/null ``` - Папка есть — каркас не ставить: только связь (шаг 6) и проверка (шаг 7). Нет папки `tasks/`: создать её, как в шаге 4. ## 4. Каркас отдела ```sh mkdir -p "$D/.agents/skills" "$D/.claude" "$D/tasks" touch "$D/tasks/.gitkeep" ln -s AGENTS.md "$D/CLAUDE.md" ln -s ../.agents/skills "$D/.claude/skills" git -C "$D" init -b main ``` `$D/AGENTS.md` — ровно этот каркас, `` — имя папки штаба: ~~~markdown # Это отдел штаба `../`: там общие правила, карта отделов и `me.md`. ## Назначение <одна-две строки: что хранит и делает этот отдел> ## Канон - <путь/файл> — <что здесь живёт>. ## Задачи Задачи отдела лежат в `tasks/`. ## Границы - Секреты, токены, пароли и платёжные данные не хранить. - Не копировать содержимое отдела в другие папки; ставить ссылку на файл-владелец. - Карту отделов не дублировать: она живёт в штабе. ## Проверка ```bash git diff --check ``` ~~~ `$D/README.md` — одна строка: ` — <домен одной строкой>. Правила для агентов — в AGENTS.md.` `.agents/skills/` остаётся пустой, пока у отдела не появятся свои скиллы. `tasks/` пустая, в ней только `.gitkeep`. ```sh git -C "$D" add -A && git -C "$D" commit -m "chore: init $SLUG" ``` ## 5. Репозиторий на GitHub: только по желанию Шаг делается, только если человек сам попросил держать отдел на GitHub. Иначе пропустить. Нужен `gh` с входом в аккаунт (`gh auth status`); репозиторий только приватный, в отделах рабочие данные человека. ```sh gh repo create "$SLUG" --private --source "$D" --remote origin --push ``` ## 6. Связь со штабом в правилах - **Штаб → отдел.** В карту отделов файла правил штаба (или в `projects.md`, если карта вынесена туда) дописать отдел в том формате, который там уже есть: таблица — строкой таблицы, список — пунктом. Путь всегда `../`, в строке сказано, где лежат задачи отдела: `- <Имя отдела>: ../. Задачи отдела лежат в ..//tasks/.` Если правила штаба сами говорят, какие отделы вписывать в карту, — следовать им. - **Отдел → штаб.** Первая строка после заголовка `AGENTS.md` отдела: «Это отдел штаба `../` …» (каркас из шага 4). У существующего отдела без неё — дописать её. Нет раздела «Задачи»: дописать строку «Задачи отдела лежат в `tasks/`». Коммит в штабе — только этой правки; push — если так велят правила человека. ## 7. Проверка и отчёт ```sh [ "$(readlink "$D/CLAUDE.md")" = AGENTS.md ] && echo "✓ CLAUDE.md -> AGENTS.md" [ "$(readlink "$D/.claude/skills")" = ../.agents/skills ] && echo "✓ .claude/skills -> ../.agents/skills" [ -d "$D/tasks" ] && echo "✓ tasks/" grep -q "\.\./$(basename "$HQ")" "$D/AGENTS.md" && echo "✓ отдел ссылается на штаб" grep -q "Задачи отдела лежат в" "$D/AGENTS.md" && echo "✓ в правилах отдела сказано, где задачи" grep -q "\.\./$SLUG\|\`$SLUG\`" "$HQ/AGENTS.md" "$HQ/CLAUDE.md" "$HQ/projects.md" 2>/dev/null && echo "✓ штаб ссылается на отдел" ``` Связь в обе стороны проверяет и скилл `hq` (шаг 5): после создания отдела «проверь штаб» даёт по нему ✓. Отчёт человеку — таблица ✓/✗ по шагам, строка, добавленная в карту отделов штаба, и что заполнить дальше: назначение и канон отдела. Заполнить их человек может сам или вместе с агентом через /grill-me.