From 7acda2ecc2392697803350281b013568a006070a Mon Sep 17 00:00:00 2001 From: OpeItcLoc03 Date: Thu, 7 May 2026 07:42:05 +0000 Subject: [PATCH] meta(tasks): create [claude-skills-update-skill] in claude-skills --- .tasks/STATUS.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/.tasks/STATUS.md b/.tasks/STATUS.md index e9291f1..124cd0d 100644 --- a/.tasks/STATUS.md +++ b/.tasks/STATUS.md @@ -571,3 +571,27 @@ Pre-commit hooks have `--no-verify`. Per `project-discipline` Rule 4 («never sk --- + +## ⚪ [claude-skills-update-skill] — Orchestrator-скил `update-claude-skills` — Claude-Code-сторона аналог `hermes-installer-skill`. Триггеры: «обнови claude-skills», «sync claude-skills», «update claude-skills», «обнови всё». На Windows + Claude Code (а также Linux/Mac) прогоняет в одну команду полный uplift существующей установки: + +1. `git pull --ff-only` в `~/projects/claude-skills/` (если репа есть; иначе подсказать `git clone`). +2. `git pull` + `npm run build` в `~/projects/.common/lib/projects-meta-mcp/` — только если изменения в source. +3. `git pull` + `pip install -e .` в `~/projects/.common/lib/interns-mcp/` — только если изменения. +4. `pwsh ./scripts/install.ps1` (или `bash ./scripts/install.sh` на Linux/Mac) → копия скилов в `~/.claude/skills/`. +5. Дифф skill versions — прочитать `version:` frontmatter до/после, показать что поменялось. +6. Если MCP-source пересобран — напомнить `/reload-mcp`. +7. Если появились новые setup-скилы (`setup-foo`) — предложить запустить (но не запускать сам — оставить юзеру). + +Cross-platform: PowerShell-ветка + bash-ветка (как у `install.ps1`/`install.sh`). Скил версионируется per discipline Rule 3. + +Корневая боль: на Claude-Code-стороне сейчас обновление claude-skills — это `git pull && install.ps1 && /reload-mcp` плюс ручные setup-* при появлении нового MCP. На N машинах это N×ручной ритуал на каждое обновление каталога. `hermes-installer-skill` (⚪ ready в этой же репе) закрывает Hermes-сторону. После обоих — раскатка claude-skills на любую машину превращается в одну фразу. + +Возможное пересечение с `factory-bootstrap` (проект `factory`, промоутнут 2026-05-06): выяснить scope-границу до начала работы. Если factory покрывает «инициализация машины с нуля до рабочего Claude Code» — этот скил фокусируется только на uplift существующей установки, не дублируя greenfield-bootstrap. + +**Status:** ready +**Where I stopped:** (not started). Создана 2026-05-07 после incident'а на `pilonuxt`, где обнаружилась общая боль: «как обновить claude-skills на удалённой машине без ручного ритуала». Hermes-сторона закрывается через `[hermes-installer-skill]` (⚪ ready); Claude-Code-сторона до этой таски не имела автоматизации. +**Next action:** 0) Прочитать `~/projects/factory/.wiki/concepts/factory-bootstrap.md` (не клонирован локально на текущей машине — `git clone https://git.kzntsv.site/OpeItcLoc03/factory ~/projects/factory`). Определить scope-границу: factory = greenfield-bootstrap машины с нуля; этот скил = uplift существующей установки. Если scope перекрывается — переоформить как часть factory или явно ограничить роль здесь. 1) Скил-структура: `skills/update-claude-skills/SKILL.md` + `scripts/update-windows.ps1` + `scripts/update-unix.sh`. 2) Frontmatter `version: 0.1.0`, описание с триггерами. 3) Реализация — детект OS, запуск нужного скрипта. 4) Скрипт: pull/build/install в трёх местах (claude-skills + projects-meta-mcp + interns-mcp) + дифф версий + reload-hint. 5) Smoke на текущей машине — должно быть no-op (всё уже на свежих версиях, идемпотентность). 6) Mapping в `hermes/mapping.yaml` (`mode: skip` — это Claude-Code-only, либо `manual` если делаем Hermes-twin позже). 7) Build install + smoke. 8) `tasks_close`. +**Branch:** n/a + + +---