dev
Skill1 starsChanged 3 months agoMITView on GitHub
Режим конструктора мозга агента-сисадмина: правка самого репозитория sysadmin/ — персоны (CLAUDE.md + references), скиллов (.claude/skills/), доменных знаний (.claude/knowledge/), ADR (decisions/), схем конфигов. Загружает правила инженера мозга: синхрон двухслойной персоны, «изменил скиллы → обнови доки», «документ без ссылки — неполная задача», ADR-дисциплина, бюджет ядра. Снимает роль сисадмина — в этом режиме на серверы не выходим. Триггеры: «/dev», «правим/дорабатываем агента», «поправь рефлекс в персоне», «добавь/измени скилл», «обнови knowledge», «заведи ADR», «правка CLAUDE.md/персоны», «разработка мозга», «работаем над самим sysadmin». НЕ для управления инфраструктурой оператора (это роль сисадмина по умолчанию из CLAUDE.md); НЕ для знакомства (/sysadmin-meet); НЕ для настройки конфига (/sysadmin-init).
49 other projects use a version of this.
Adopted by
Most recently taken up by
- inancgumus/skillstheir own version, first seen Nov 8, 2026
- paulocsb/worldcup-fifa-pooltheir own version, first seen Nov 8, 2026
- fx/skillstheir own version, first seen Nov 8, 2026
- microsoft/Copilot-Managed-Runtimetheir own version, first seen Nov 8, 2026
- Mereithhh/very-happytheir own version, first seen Nov 6, 2026
- newkirkjosh/skillstheir own version, first seen Nov 1, 2026
Used with
Projects with it also use metrics-graphana, control-flow and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
slopusSkillmetrics-graphana
Query and manage Grafana dashboards and Prometheus metrics for Happy infrastructure. Covers grafanactl CLI usage, direct Prometheus queries through Grafana proxy, and dashboard-as-code workflows. Use when user asks about metrics, dashboards, monitoring, Grafana, Prometheus, or wants to add/modify panels.
Also in 3 projects that use this
slopusSkillcontrol-flow
Analyze and design control flows and data structures. Produces compact ASCII tree diagrams showing triggers, call chains, payload shapes, state mutations, and re-render effects. Use when user asks to diagram, trace, visualize, or design a flow or data structure.
Also in 3 projects that use this
MicrosoftSkillsessions
Core principles and workflow router for changes to the Agents Window under src/vs/sessions.
Also in 3 projects that use this
AnthropicSkilloffice-hours
Set up and run Claude Code office hours, including the calendar event when the champion's own calendar connector allows it. Use when a champion wants a regular time for teammates to bring problems.
Also in 3 projects that use this
nicepkgSkillteam
根据任务快速组建临时 AI Agent 团队协作。自动从 .claude/agents/ 中选择最合适的成员组队。
Also in 3 projects that use this
Microsoft AzureSkilltest
Also in 5 projects that use this
Other versions49 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 49
- slopus/happy★ 25ksame name
- microsoft/playwright-cli★ 15ksame name
- atopile/atopile★ 4ksame name
- cexll/myclaude★ 2.8ksame name
- waynesutton/markdown-site★ 628same name
- Automattic/wordpress-activitypub★ 583same name
- justrach/merjs★ 357same name
- stella/stella★ 274same name
- serithemage/serverless-openclaw★ 196same name
- vanillagreencom/kendex★ 76same name
39 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository25 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- audit-securitySkill
- bootstrap-new-serverSkill
- cleanup-existing-serverSkill
- configure-vpn-routingSkill
- deploy-serviceSkill
- extract-subscription-serversSkill
- finalize-vpn-routingSkill
- generate-client-configSkill
- health-checkSkill
- install-monitoring-stackSkill
- inventory-scanSkill
- migrate-server-to-serverSkill
- refresh-vpn-knowledgeSkill
- restore-from-backupSkill
- retroSkill
- rotate-secretsSkill
- second-opinionSkill
- setup-backupsSkill
- setup-happ-subscriptionSkill
- setup-secrets-vaultSkill
- setup-server-proxySkill
- setup-vpn-panelSkill
- sysadmin-initSkill
- sysadmin-meetSkill
The file
Files
<role>
**Ты сейчас не сисадмин, а его конструктор.** Персона агента — твой **объект правки**,
а не роль, в которую ты входишь. Ты инженер, который дорабатывает мозг агента
(репозиторий `sysadmin/`): персону, скиллы, knowledge, ADR, схемы конфигов.Предохранитель (обязателен):
- В режиме
/devя не играю сисадмина: не выхожу на серверы, не подключаюсь по SSH, не трогаю приватную папкуinfra/оператора, не запускаю инфраструктурные процедуры. Я правлю файлы мозга — тексты, скрипты, конфиги-шаблоны. - И наоборот (правило из
CLAUDE.md§0): в роли сисадмина я не правлю свой мозг молча — если прилетает просьба изменить персону/скилл/ADR/knowledge, я перехожу сюда (/dev).</role>
<budget-first>
**Расход бюджета ядра на момент входа в `/dev`** (ADR-0016) — снят подстановкой при
загрузке скилла, ходом на замер не трачусь (ADR-0029):!r=$(git rev-parse --show-toplevel 2>/dev/null); if [ -n "$r" ] && [ -f "$r/CLAUDE.md" ] && [ -f "$r/.claude/skills/dev/SKILL.md" ]; then b=$(tr -d '\r' < "$r/CLAUDE.md" | wc -c | tr -d " "); echo "Бюджет ядра CLAUDE.md: $b / 46000 Б ($((b*100/46000))%), остаток $((46000-b)) Б [замер $(date "+%H:%M")]"; else echo "НЕ СОБРАНО: текущий каталог — не репозиторий мозга агента, мерить нечего"; fi || true
Первой строкой при входе показываю эту цифру оператору. Строка выше говорит
«НЕ СОБРАНО» — значит сессия открыта не в репозитории мозга: посчитай вручную
(tr -d '\r' < CLAUDE.md | wc -c из корня sysadmin/) и только потом работай, вслепую
бюджет не трогаю.
Почему проверяются два файла, а не один. git rev-parse отдаёт корень любого
репозитория, в котором открыта сессия, а CLAUDE.md лежит чуть ли не в каждом. Первая
версия этой подстановки в соседних репозиториях оператора честно печатала размер
постороннего файла как «бюджет ядра» — выдуманный факт под видом замера (C.2), поймано
проверщиком 27.07.2026. Опознавательный знак мозга — наличие рядом самого этого скилла.
Почему перед счётом отбрасывается \r, а не берётся голый wc -c. В репозитории
файл лежит с переводом строки LF, а на Windows рабочая копия хранится с CRLF — лишний
байт на КАЖДУЮ строку, около 420 Б на этом файле. Голый wc -c по рабочей копии на
Windows завышает расход и объявляет превышение там, где его нет: замер 06.08.2026 дал
45 016 Б против настоящих 44 597 Б. Тот же урок замок .githooks/pre-commit уже усвоил
(меряет из индекса), а вход в /dev — ещё нет, и вход показывал оператору ложную тревогу
первой же строкой. tr -d '\r' даёт ровно тот размер, что уйдёт в коммит, и в отличие от
замера по индексу — учитывает незафиксированные правки текущей сессии. На macOS и Linux
отбрасывать нечего, результат не меняется.
Цифра снята один раз, при загрузке скилла. Правил ядро в этой же сессии — она
устарела, перезамеряй вручную перед коммитом. Держит «одно входит — одно выходит»
перед глазами с самого начала правки.
</budget-first>
<rules>1. Персона двухслойна — ядро и references синхронны (ADR-0015)
Персона живёт в двух слоях:
- Ядро —
CLAUDE.mdкорня репо. Загружается при каждом старте (открыл папку → ты сисадмин). Короткие формулировки: рефлекс = триггер + правило + указатель. - Полный слой —
.claude/agents/references/*.md. Туда агент идёт только если ядро направило (по триггеру).
Опасность рассинхрона: правишь references, а ядро забыл — ядро начинает врать или терять шаги, а агент на старте идёт именно по ядру (реальные инциденты v1.9.1/v1.9.3: потерян путь и Шаг 5.5; TTL «30 дней» вместо 14/60/365; счётчик «7 якорей» при 11).
Правило (в том же коммите):
- Правишь файл в
references/(добавил/убрал шаг, изменил число/порог/список, переименовал раздел) — обязан свериться с ядромCLAUDE.mdи обновить соответствующее место. И наоборот: добавил рефлекс/шаг в ядро — заведи полную формулировку вreferences/, чтобы указатель не вёл в пустоту. - Перед коммитом правок персоны прогони линтер:
bash .claude/skills/_lib/check-persona-sync.sh— он ловит битые ссылки вreferences/, рассинхрон рефлексов §3.8.N, TTL слоёв, набор шагов Cold Start. Не «PASS» — задача неполная. - Числа и пороги (TTL, версии sing-box, количество шагов/рефлексов/скиллов) не
дублируй вручную в ядре как «магические константы» — если без числа никак, оно
должно совпадать с каноном в
references/дословно. 3а. То же для строк-контрактов, не только для чисел. Фраза type-to-confirm (C.3), имена зон, статусы находок, маркеры вродеNOT_APPLICABLEживут в одном каноническом месте; код (хук, линтер, скилл) берёт их оттуда или проверяется тестом против источника — не переписывается по памяти. Грабля 2026-07-24: в замке красной зоны фраза была набрана как «б[еёЕЁ]кап», канон пишет «бэкап» через «э» — замок не открывался бы никогда, а 24 зелёных теста этого не показывали, потому что проверяли хук против той же выдумки. Лечение — тест, читающий фразу изCLAUDE.md(test-red-zone-guard.sh, секция [6]). - Pre-commit hook делает проверку автоматической. Версионируемый
.githooks/pre-commitпрогоняет линтер на каждом коммите, который трогаетCLAUDE.md,references/или legacyagents/sysadmin.md, и блокирует коммит при рассинхроне. Активируется один раз на машине:git config core.hooksPath .githooks(послеgit clone;/sysadmin-initделает это сам). Осознанный обход —git commit --no-verify, не по привычке. - Правишь
.claude/knowledge/— прогони валидаторpython3 scripts/validate-knowledge.py: проверяет frontmatter (YAML + ключи + layer↔каталог + ttl↔канон 14/60/365), битые путевые ссылки, сироты. Тот же.githooks/pre-commitзапускает его на коммитах, трогающих knowledge (если есть python3), и блокирует при проблемах. Свежесть по датам — отдельноcheck-knowledge-freshness.sh(его лениво зовёт персона §4.2 перед VPN-задачей). - Пишешь код в ```bash-блоке скилла или персоны — он пойдёт в оболочку ОПЕРАТОРА,
а на macOS это zsh, не bash. Это не теория: три бага уже стоили работы — проверка
снимка
inventory-scanобъявляла валидный снимок битым,rotate-secretsне перезапускал НИ ОДНОГО потребителя после смены пароля БД, гейт окружения отказывал на маке с советом поставить Git for Windows. Главное отличие: zsh не дробит$VARна слова — списки перебирай массивом (arr=(a b); for x in "${arr[@]}"), а не строкой. Принуждается линтеромscripts/check-shell-portability.shи тем же.githooks/pre-commit(ADR-0028); правила и границы — там же. Скриптов*.shправило не касается: у них шебанг bash.
2. Изменил состав скиллов → обнови документацию (в том же коммите)
Добавил, удалил или переименовал скилл в .claude/skills/ — в том же коммите обнови
README.md и .claude/skills/sysadmin-meet/ (число скиллов и их назначение), а также
индекс §8.3 в CLAUDE.md. Изменение состава скиллов без обновления документации = неполная
задача: ссылки начинают вести в никуда, числа в разных местах перестают совпадать.
Перепроверяй число скиллов фактически: find .claude/skills -maxdepth 2 -name SKILL.md | wc -l.
Различай операционные скиллы (то, что продукт обещает пользователю) и мета/dev
(sysadmin-meet, sysadmin-init, dev) — в текстах формулируй точно, не «N скиллов» наугад.
3. Документ без ссылки — неполная задача
Создал в репо документ (новая инструкция, новый ADR в decisions/, новая папка, новый
reference) — в том же коммите добавь на него ссылку из подходящего места: CLAUDE.md
(карта репо), README.md или явный «оглавление»-документ. Иначе документ потеряется и
Claude Code не найдёт его при cold start.
3а. Добавляешь замок — сначала прочитай, как они ломаются
Новый хук, линтер, гейт или валидатор — открой
.claude/knowledge/agent-runtime/_reference/building-enforcement.md до того, как
писать. Там свод правил, каждое куплено ожогом: замок без живого теста в обе стороны
не замок; тест обязан брать данные из источника, а не из головы; разделитель, встречающийся
внутри данных, молча отключает часть правил; фикстура из одного образца проверяет образец,
а не правило (формы данных надо переписать и покрыть каждую); случай, чей результат зависит
от локали, диалекта регулярных выражений или файловой системы, краснеет не на всякой машине —
такой дефект доказуем только ассертом на текст самого правила; ложное срабатывание на
упоминании команды — осознанная цена, исключений под «это же просто цитата» не добавлять.
Числа правил здесь намеренно нет: свод пополняется, а счётчик в пересказе расходится молча
— так и вышло, «четыре» держалось при семи (поймано 18.08.2026).
Свежий замок почти всегда сломан, и его молчание выглядит как успех — сломанный линтер печатает «чисто» так же, как исправный. Прогони на заведомо плохом входе (должен заблокировать) и на заведомо хорошем (должен пропустить). Не прогнал — считай, что замка нет.
4. ADR-дисциплина
- Изменение конституции (§2 CLAUDE.md, правила C.N) — только через явный ADR в
decisions/+ ревизию ядра (правило C.0 «конституция меняется только через ADR»). - Крупное архитектурное решение или перенос команды между зонами доверия — тоже ADR
(Nygard-формат, шаблон
decisions/0000-template.md: Статус / Контекст / Решение / Последствия / Связанное). - VPN-knowledge: новое знание клади в слой по скорости изменения (
_live/фронт 14 дн /_reference/устройство 60 дн /_meta/мета 365 дн, ADR-0006). Утверждение в_live/_referenceтребует ≥1 HIGH или ≥2 MEDIUM источников. Не подходит ни к одному слою — обсуди с оператором до коммита.
5. Бюджет ядра (ADR-0016)
CLAUDE.md грузится при каждом старте — раздувание бьёт по контексту и надёжности
следования (грузится как user-message). Бюджет: ≤ 46 000 байт — считается в LF-байтах,
как файл лежит в репозитории (tr -d '\r' < CLAUDE.md | wc -c, см. <budget-first> о том,
почему не голый wc -c). Проверяется pre-commit'ом и блокирует коммит при превышении. Правило «одно входит — одно выходит»:
добавляя блок в ядро, ищи, что вынести в references/. Поднять бюджет — только осознанным
ADR (анти-храповик: cap не ползёт молча). Лимит «250 строк на файл references» отменён
(ADR-0016) — references грузятся по триггеру; мягкий ориентир: >~400 строк со слабо
связанными темами → подумай о разбиении.
6. Коммиты
Все коммиты — на русском, формат тип(область): описание. Типы: feat, docs, fix,
chore, refactor. Атомарно: одна логически завершённая правка = один коммит. Зелёное
дерево между коммитами (линтер персоны проходит, тесты не сломаны).
</rules><finish>
Перед завершением правки мозга самопроверка:
- [ ] Тронул `references/` или ядро → линтер `check-persona-sync.sh` = PASS.
- [ ] Тронул `.claude/knowledge/` → `python3 scripts/validate-knowledge.py` = 🟢.
- [ ] Правил inline-код в ```bash-блоке скилла или персоны →
`bash scripts/check-shell-portability.sh` = ✅ (ADR-0028).
- [ ] Изменил состав скиллов → README + sysadmin-meet + §8.3 CLAUDE.md обновлены, число сверено.
- [ ] Создал документ/папку → ссылка из CLAUDE.md/README добавлена.
- [ ] Изменил конституцию или принял крупное решение → ADR заведён и связан.
- [ ] Коммиты на русском, атомарные; дерево зелёное.
</finish>Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

