← Назад Harupa
2026-06-08RU EN UA BY PL

My Architect, частина 5: дистрибуція через Claude Code marketplace

Це фінал серії про My Architect — систему, в якій проєкт живе між сесіями AI-агента. У частині 1 я пояснював, навіщо агенту пам'ять і план. Сьогодні про останній шматок пазла: як усе це потрапляє на машину користувача за дві команди.

Проблема останньої милі

З боку користувача My Architect — це три речі. MCP-сервер @my-architect/mcp, який дає агенту тридцять із гаком інструментів. Skill myarchitect — поведінкові правила: коли агент сам заводить вузол під відкладений баг, а коли зупиняється і питає. І чотири slash-команди для типових сценаріїв.

Раніше інсталяція виглядала як інструкція на пів сторінки. Відкрий .mcp.json, впиши конфіг сервера, не переплутай назву змінної оточення. Скачай SKILL.md, поклади в ~/.claude/skills/, повтори на робочому ноутбуці. Кожен ручний крок — місце, де людина відвалюється, а в мене з'являється ще одна копія skill, яку треба не забути оновити.

Plugin marketplace у Claude Code закрив цю діру. Маркетплейс — це звичайний публічний git-репозиторій з manifest-файлом, плагін усередині нього — папка з конфігом, skill і командами. Жодної реєстрації, жодної модерації, жодного магазину: репо на GitHub і є канал дистрибуції.

Інсталяція очима користувача

Один раз експортувати токен (береться в Settings → Connect Agent на сайті):

export MCP_API_KEY=mcp_ВАШ_ТОКЕН

Далі дві команди всередині Claude Code:

/plugin marketplace add d7561985/my-architect-marketplace
/plugin install my-architect@my-architect-marketplace

Перевірка — /mcp: сервер my-architect має значитися підключеним.

За лаштунками Claude Code клонує репозиторій, парсить manifest, реєструє skill і slash-команди, а при старті сесії піднімає MCP-сервер командою npx -y @my-architect/mcp@latest. Користувач не редагував жодного файлу руками. Та сама інструкція на пів сторінки стиснулася до трьох рядків, і зламатися в них майже ніде.

Анатомія: два маніфести і markdown

Кореневий marketplace.json — тонка обгортка: ім'я, власник, список плагінів із посиланнями на папки. Поле $schema вказує на схему з json.schemastore.org, тож редактор підсвічує помилки ще до коміту.

Уся змістовна частина — у plugin.json плагіна:

{
  "name": "my-architect",
  "version": "1.4.0",
  "mcpServers": {
    "my-architect": {
      "command": "npx",
      "args": ["-y", "@my-architect/mcp@latest"],
      "env": {
        "MCP_API_KEY": "${MCP_API_KEY}",
        "MA_API_URL": "https://my-architect.app"
      }
    }
  }
}

Тут важливий один рядок: "${MCP_API_KEY}". Це підстановка з shell-оточення користувача в момент запуску. Репозиторій публічний, і секретам у ньому не місце — токен живе в користувача в ~/.zshrc і ніколи не покидає його машину.

Решта — markdown. SKILL.md з YAML frontmatter (name і description, за яким Claude вирішує, коли підвантажувати skill), і commands/*.md — чотири файли, кожен з яких стає slash-командою на кшталт /my-architect:next. Команди — тонкі промпт-обгортки над skill: «візьми наступну задачу і веди її за Workflow D».

Коду сервера тут немає

У репозиторії маркетплейсу немає ні рядка TypeScript. MCP-сервер живе в приватному продуктовому репо і публікується в npm, а плагін посилається на @my-architect/mcp@latest. Вийшла нова версія сервера з новими інструментами — користувачі отримують її при наступному запуску Claude Code, взагалі без дій зі свого боку і без релізу плагіна.

Зі skill ситуація зворотна, і це свідоме рішення. SKILL.md лежить у публічному репо як єдине джерело правди. Приватний продуктовий репозиторій копію не тримає принципово: я вже проходив період, коли одна версія skill жила в ~/.claude/skills/ як особиста інсталяція, друга в продукті, і вони тихо роз'їжджалися. Тепер правило записане прямо в CLAUDE.md маркетплейсу: редагуємо тут, пушимо звідси, користувачі тягнуть звідси. Будь-яка знайдена копія — застаріла за визначенням.

Дисципліна версій

У маркетплейсу є неочевидний наслідок: /plugin update my-architect спрацьовує лише якщо версія в plugin.json змінилася. Поправив формулювання в SKILL.md і запушив без bump — ніхто з користувачів цього не побачить, оновлення просто не запропонується. Тому правило жорстке: кожна видима зміна — це bump версії плюс запис у CHANGELOG, навіть якщо змінилося одне слово.

Перед публікацією — claude plugin validate .: обидва маніфести і frontmatter skill мають розпарситись. Реліз закривається командою claude plugin tag, яка звіряє версію в plugin.json, запис у маркетплейсі і створюваний git-тег між собою і лише потім ставить тег на кшталт my-architect--v1.4.0. Узгодженість версій перевіряє інструмент, а не моя уважність, і це правильний розподіл обов'язків.

Півтора місяця в changelog

Плагін живе з кінця квітня, і його changelog вийшов літописом того, як змінювалося моє розуміння роботи агента з архітектором:

  1. v1.0.0 (29 квітня) — skill як проактивний трекер беклогу плюс автоконфігурація MCP-сервера.
  2. v1.1.0 (29 травня) — Workflow C: документи на вузлах як source of truth, validate_project перед закриттям задачі.
  3. v1.2.0 (5 червня) — Workflow D: архітектор перестав бути журналом постфактум, skill тепер вимагає читати вузол і доки до коду і оновлювати їх по ходу роботи.
  4. v1.3.0 (7 червня) — чотири slash-команди: next, progress, doc, reconcile.
  5. v1.4.0 (7 червня) — жорсткіше правило іменування вузлів: сутність, а не робота, з лінтером на боці сервера.

Зауважте: чотири змістовні релізи за п'ять тижнів, і жоден не вимагав від користувачів нічого, крім /plugin update.

Підсумок серії

П'ять частин складаються в одну думку. Агент сильний рівно настільки, наскільки добрий зовнішній контур навколо нього.

У частині 1 — навіщо цей контур потрібен: пам'ять агента не контекстне вікно, а структура проєкту, яку він читає за один виклик. У частині 2 — на чому він стоїть: YAML-файли замість бази, атомарний запис і жива синхронізація з канвою. У частині 3 — як змусити агента планувати як архітектор: ієрархія, успадковувані вимоги, User Story Map. У частині 4 — робочий цикл від get_next_task до complete_task з документацією як частиною задачі. І сьогодні — остання миля: все це ставиться двома командами і оновлюється однією.

Спробувати можна на my-architect.app: акаунт, токен, дві команди в Claude Code. Якщо щось не зійдеться з тим, що я тут написав — напишіть мені, такі листи корисніші за похвалу.