Наша собственная статистика посещений включена всегда. Google Analytics помогает нам понять, как пользуются нашими публичными страницами (но не вашим рабочим пространством после входа), и включается только с вашего разрешения. См. нашу политику конфиденциальности.

Разделы · 24
  1. 01Коротко: один SKILL.md, четыре папки, один счёт за 9 вызовов API
  2. 02Что такое Agent Skills: SKILL.md с шестью полями
  3. 03SKILL.md для анализа отзывов о конкурентах целиком
  4. 04Пять точек входа — пять наборов правил для frontmatter
  5. 05Skills в Claude Code: ~/.claude/skills или .claude/skills
  6. 06Skills в Codex: .agents/skills и config.toml
  7. 07Antigravity CLI и Gemini CLI: папки переехали
  8. 08Skills в Gemini: 17 ноября Gems станут доступны только для чтения, а скрипты останутся без доступа к сети
  9. 09Один реальный цикл обмена: вызов, который отправляет модель, и данные, которые мы возвращаем
  10. 10Девять вызовов: сколько отзывов возвращают G2, Capterra, Trustpilot и Amazon
  11. 11Главная ловушка: разделяйте средние оценки Trustpilot по источнику
  12. 12Один и тот же продукт, три сайта, разные жалобы
  13. 13Как выглядит готовый отчёт
  14. 14Как сделать отчёт еженедельным: где можно запускать Skill по расписанию
  15. 15Где разметка по ключевым словам не срабатывает: отзывы не на английском и отзывы об устройствах
  16. 16Расчёт контекста: 31 581 символ на MCP-инструменты против 363 символов на Skill
  17. 17Сколько стоит один отчёт
  18. 18Ошибка в скрипте: «finalizing» ещё не означает завершения
  19. 19Чего этот Skill не умеет и на что обратить внимание
  20. 20Новости отрасли
  21. 21Когда эти выводы неприменимы
  22. 22FAQ
  23. 23Что почитать дальше
  24. 24Источники

Один SKILL.md для четырёх ИИ-инструментов: Skill для анализа отзывов о конкурентах

Один SKILL.md для анализа отзывов о конкурентах в Claude Code, Codex, Antigravity CLI и Gemini, проверенный по официальной документации каждого продукта. За девять реальных вызовов API мы получили 967 отзывов, заплатив $0,0125.

Иллюстрация: в центре бирюзовая папка, из которой торчит один лист. От неё к четырём столам тянутся четыре пунктирные линии. На трёх столах лежит такая же небольшая папка. На крайнем правом столе тоже есть папка, но рядом с ней лежит отключённый сетевой кабель. Над папкой парят карточки отзывов со звёздами, сложенные в три небольшие стопки.

Мы написали один SKILL.md для «анализа отзывов о конкурентах» и оформили его frontmatter в соответствии со спецификацией Agent Skills. Согласно официальной документации каждого продукта, этот файл без изменений загружается в Claude Code, Codex и Antigravity CLI. На своей машине мы запускали скрипты Skill, валидатор спецификации и API данных; Codex и Antigravity мы не устанавливали. Приложение Gemini может импортировать этот Skill, но его скрипты не имеют доступа к интернету, поэтому Skill не может получать там данные.

26 октября 2026 г. с 17:25 до 17:55 SGT Skill подготовил один отчёт по трём инструментам для управления проектами. Он сделал 9 вызовов API для G2, Capterra и Trustpilot, прочитал 967 отзывов, а плата за API составила $0,012501. Главный риск оказался в данных, а не в инструментах. На Trustpilot у пяти компаний средняя оценка отзывов без приглашения составила от 1,29 до 2,77 звезды, а отзывов по приглашению — от 4,07 до 4,89 звезды.

Изометрическая иллюстрация: папка в центре квадратной платформы обозначает Skill. В каждом углу — док с такой же маленькой папкой, по одному доку на каждый ИИ-инструмент. На заднем плане стоит сетевая стойка, от неё к трём докам тянутся провода. Провод к четвёртому доку обрывается на полпути; разрыв отмечен бирюзовой пунктирной линией, потому что скрипты Skill в приложении Gemini не имеют доступа к сети.

Коротко: один SKILL.md, четыре папки, один счёт за 9 вызовов API

Эта статья отвечает на один практический вопрос. Вы уже используете файлы Skill в Claude Code. Ваши коллеги работают в Codex или Antigravity CLI. Может ли вся команда пользоваться одним SKILL.md для анализа отзывов о конкурентах? До первого вызова API мы записали три критерия успеха.

Во-первых, frontmatter должен соответствовать спецификации Agent Skills по каждому полю. Во-вторых, путь к папке и способ вызова Skill должны браться из документации самого продукта. В-третьих, плата за API должна равняться цене из каталога, умноженной на число вызовов, без каких-либо расхождений. Все три критерия выполнены. Один продукт прошёл проверку лишь наполовину.

В таблице четыре продукта сравниваются бок о бок. Каждая ячейка заполнена по документации поставщиков, которую мы изучили 26 октября 2026 г. Ссылки приведены в разделах ниже. Последний столбец отвечает на один вопрос: может ли собственный скрипт Skill обратиться к api.everyinfra.com? Без этого Skill не сможет выполнить свою задачу.

ПродуктПапка проектаЛичная папкаКак вызватьМожет ли скрипт получать данные?
Claude Code.claude/skills/<name>/SKILL.md~/.claude/skills/<name>/SKILL.md/name, или Claude выбирает его по описаниюВ локальных сессиях да; в Cowork и облачных сессиях нет.
Codex (CLI, IDE, десктопное приложение).agents/skills, от рабочей папки вверх до корня репозитория$HOME/.agents/skills$name, /skills или Codex выбирает его самДа.
Antigravity CLI.agents/skills/~/.gemini/antigravity-cli/skills//skills для вывода списка, либо агент выбирает Skill самДа.
Приложение GeminiНе используется (загрузка выполняется на странице Skills)Не используется/ или @ и имя SkillНет: скрипты, которым нужен интернет, не поддерживаются.

Первая и третья строки отличаются в одном важном отношении. Claude Code использует для проектов .claude/skills. Codex, Antigravity CLI и уже закрытый Gemini CLI читают .agents/skills. Поэтому в репозитории, рассчитанном на все эти инструменты, можно хранить Skill в .agents/skills/competitor-review-analysis/ и добавить символьную ссылку на него в .claude/skills/. В документации Claude Code сказано, что папка Skill может быть символьной ссылкой. В документации Codex сказано, что Codex переходит по символьным ссылкам на папки Skill (документация Claude Code по Skill; Codex Build skills).

Что такое Agent Skills: SKILL.md с шестью полями

Agent Skills — открытый формат. Skill — это папка, в которой есть как минимум один файл SKILL.md. Файл начинается с блока frontmatter в формате YAML, после которого идут инструкции в Markdown (спецификация Agent Skills). Спецификация определяет шесть полей. Два из них обязательны: name и description.

Четыре поля необязательны: license, compatibility, metadata и allowed-tools. Поле name должно содержать от 1 до 64 символов: строчные латинские буквы, цифры и дефисы. Оно не может начинаться или заканчиваться дефисом, не может содержать два дефиса подряд и должно совпадать с именем папки. Поле description должно содержать от 1 до 1 024 символов и описывать, что делает Skill и когда его использовать. В спецификации allowed-tools помечено как экспериментальное, поэтому поддержка в разных агентах отличается.

Формат экономит контекст за счёт «постепенного раскрытия» (progressive disclosure), у которого три уровня. В начале сессии агент загружает только name и description каждого Skill, по оценке спецификации это около 100 токенов. Когда задача соответствует описанию, агент читает весь SKILL.md. Спецификация рекомендует укладываться в 5 000 токенов и 500 строк. Файлы из scripts/ и references/ загружаются, только когда они нужны для выполнения шагов (Agent Skills specification). Anthropic описала ту же идею 16 октября 2025 года: сначала дать агенту оглавление (Anthropic on Agent Skills).

Поля name и description нашего Skill вместе занимают 363 символа. При среднем значении около 4 символов на токен это примерно 91 токен, что близко к оценке спецификации. Полный SKILL.md содержит 51 строку и 3 426 символов, что намного меньше лимита в 500 строк. Эти два числа понадобятся ниже, в разделе о контексте.

SKILL.md для анализа отзывов о конкурентах целиком

Вот файл полностью. Кроме него, в папке Skill лежат два скрипта и один список ключевых слов. scripts/fetch_reviews.py обращается к API данных EveryInfra. scripts/classify.py по правилам ключевых слов размечает каждый отзыв темами. references/themes.md содержит ключевые слова.

markdown
---
name: competitor-review-analysis
description: Pull public reviews for 2-5 competing products from G2, Capterra, Trustpilot or Amazon through the EveryInfra data API, tag each review with a theme, and write a comparison report with counts, shares and quotes. Use when the user asks to compare competitor reviews, find what customers complain about, or build a review-based battlecard.
license: MIT
compatibility: Needs network access to api.everyinfra.com, Python 3.9+, and an EVERYINFRA_API_KEY environment variable. Does not run inside the Gemini app, where skill scripts cannot reach the internet.
metadata:
  version: "1.1"
  author: everyinfra-blog-example
---

# Competitor review analysis

## Inputs to confirm first
1. The products to compare (2-5). For each one, get the exact review page:
   G2 `https://www.g2.com/products/<slug>`, Capterra `https://www.capterra.com/p/<id>/<name>/`,
   Trustpilot domain such as `clickup.com`, Amazon `https://www.amazon.com/dp/<ASIN>`.
   Use the URL, not the product name. Product names change (Capterra lists monday.com as "monday AI Work Platform").
2. The theme set: `saas` or `hardware` (see references/themes.md). Ask if unclear.

## Steps
1. Fetch: run `python3 scripts/fetch_reviews.py --plan plan.json --out raw/`.
   One request per product per source. The script waits 7 s between requests,
   retries 429 with the `retry_after` value, and sends slow requests with `"mode":"async"`.
2. Check counts: read `raw/summary.json`. A source with 0 rows was not charged.
   Do not treat a short page as "no more reviews". Write the counts into the report.
3. Tag: run `python3 scripts/classify.py raw/ --themes saas > tagged.json`.
   The script tags by keyword rules, so the same input gives the same output.
4. Read 5 tagged reviews per theme and check that the tag fits. If a keyword
   matches the wrong words (v1 had `plan`, which matched "planning"), fix
   references/themes.md and run step 3 again. Note each change in the report.
5. Write `report.md` with these sections, in this order:
   - Table: product x source -> reviews read, average rating, charged USD.
   - Table: theme x product -> count and share of reviews that mention it.
   - Top 3 complaints per product, each with one short quote and its review URL.
   - Limits: what the sample cannot show (see below).

## Rules
- Report rating scales as they are: G2 and Capterra 1-5, Trustpilot 1-5 stars, Amazon 1-5 stars.
  Do not average across sources.
- Split Trustpilot by the `source` field: `Organic` (the reviewer came on their own) versus
  invitation sources (`BasicLink`, `InvitationApi`, `FileUploadInvitation`, `Shopify` and others).
  Report the average for each group. Never report one Trustpilot average for a company.
- Theme keywords are per language. For reviews that are not in English, use the matching set
  (for example `saas_es`), or report them as untagged.
- Do not print reviewer names. Quote at most 25 words per review.
- Amazon returns only the reviews shown on the product page (usually 10-15). Say so.
- Cost: every request costs the `price_usd` from `GET /api/v1/social/catalog`. Add up `billing.charged_usd` from the responses; do not estimate.

## Limits to state in every report
- The sample is the newest page of each source, not all reviews.
- Trustpilot reviews of a software company are often about billing and support, not the product. Read them as a separate signal.

Несколько строк нужны только ради переносимости файла. Во frontmatter используются пять из шести полей спецификации. Расширения Claude Code, такие как model, context: fork или argument-hint, не используются. Строка compatibility указывает требования к доступу к сети и API-ключу.

Тот, кто импортирует файл в приложение Gemini, сразу увидит, что запустить его там нельзя. Пути к скриптам указаны относительно корня Skill, а ссылки на файлы остаются на первом уровне вложенности, как требует спецификация (спецификация Agent Skills). Два правила мы добавили только после анализа данных: «разделять Trustpilot по источнику» и «ключевые слова для каждого языка». Почему — объясняют следующие разделы.

Мы не проверяли файл на глаз. В 17:56 SGT мы запустили эталонный валидатор skills-ref 0.1.1 из репозитория спецификации (agentskills/skills-ref) и проверили три варианта файла. Исходный файл прошёл проверку с результатом Valid skill. Для копии с context: fork и model: haiku валидатор выдал «Unexpected fields in frontmatter: context, model».

Для копии с name: Review_Skill валидатор выдал две ошибки: имя должно быть в нижнем регистре и содержит недопустимые символы. Это соответствует документации Claude Code. В локальной версии Claude Code поддерживаются все поля из таблицы в документации. При загрузке в claude.ai, через Skills API и с помощью package_skill.py допускаются только шесть полей спецификации. Любое дополнительное поле приводит к ошибке (документация Claude Code по Skill).

ВыборкаИзменениеРезультат skills-ref 0.1.1Переносимость
ИсходныйНетValid skillДа.
Негативный тест 1Добавлены context: fork и model: haikuОшибка: неожиданные поля context, modelРаботает в локальном Claude Code; загрузка в claude.ai не проходит.
Негативный тест 2name: Review_SkillОшибка: нужен нижний регистр; недопустимые символыНет.

Пять точек входа — пять наборов правил для frontmatter

Прежде чем класть один файл в несколько мест, проверьте, что принимает каждая точка входа. В таблице указаны только правила, которые прямо названы в документации самих продуктов. Если документация об этом молчит, в ячейке написано «нет в документации».

Точка входа`name``description`Поля вне спецификацииДругие ограничения
Спецификация Agent SkillsОбязательное; 1–64 символа; строчные буквы, цифры, дефисы; совпадает с именем папкиОбязательное; 1–1 024 симв.Не входят в спецификациюРекомендуется, чтобы тело было короче 500 строк.
Claude Code, локальноНеобязательное; по умолчанию имя папкиРекомендуемое; отображается 1 536 симв.model, context, hooksНеизвестные поля игнорируются.
Загрузка в claude.ai и Skills APIОбязательное; ≤64 символов; без «claude» и XMLОбязательное; ≤1 024 симв.Лишнее поле — ошибкаМенее 30 МБ; без доступа к сети.
CodexОбязательноеОбязательноеИнтерфейс и зависимости задаются в agents/openai.yamlПервый список занимает 2% контекста или 8 000 символов.
Точка входа`name``description`Поля вне спецификацииДругие ограничения
AntigravityНеобязательное; по умолчанию имя папкиОбязательноеНет в документацииНет в документации.
Приложение GeminiТолько строчные буквы, слова через дефисДлина в документации не указанаНет в документацииВсего 100 МБ; у скриптов нет доступа в интернет.

Таблица показывает, почему мы используем только поля спецификации. Спецификация описывает общее подмножество. Локальный Claude Code предъявляет меньше всего требований, а загрузка на claude.ai строже всех. Ориентируйтесь на самую строгую точку входа — тогда файл примут все остальные.

Документация сходится и в том, как писать description. Когда установлено много Skills, Codex в первую очередь сокращает описания, поэтому ключевой сценарий и слова-триггеры ставьте в начало (Codex Build skills). Claude Code обрезает описание на 1 536 символах, поэтому основной сценарий использования указывайте первым (Claude Code skills docs). Первый совет Google: определить, когда использовать Skill (About the transition from Gems to skills).

Первое предложение нашего описания говорит, что делает Skill, с каких сайтов и через какой API. Второе перечисляет запросы пользователя, по которым его нужно запускать. Всего в описании 337 символов, так что ни одна точка входа его не обрежет.

Skills в Claude Code: ~/.claude/skills или .claude/skills

Claude Code читает Skills из пяти мест: из корпоративной папки (.claude/skills/ в папке управляемых настроек), личной (~/.claude/skills/<name>/SKILL.md), проектной (.claude/skills/<name>/SKILL.md), вложенных папок и папок, добавленных через --add-dir. При совпадении имён корпоративный Skill имеет приоритет над личным, а личный — над проектным (Claude Code skills docs). Проектный Skill можно закоммитить, и каждый участник команды получит его вместе с кодом. Личный Skill работает во всех репозиториях на вашей машине. Claude Code ищет проектные Skills от папки запуска до корня репозитория, поэтому сессия в packages/frontend/ всё равно видит Skill из корня.

Для еженедельного отчёта о конкурентах важны три ограничения. Во-первых, сессии Cowork и облачные сессии, включая облачные задачи по расписанию, не читают ~/.claude/skills/ на вашей машине. Они загружают только Skills, которые вы включили в аккаунте claude.ai. Если Skill лежит только в локальной папке, облачная задача по расписанию сообщит, что не может его найти.

Задачи по расписанию в десктопном приложении выполняются на вашем компьютере, поэтому они читают ~/.claude/skills/ (та же документация, раздел «Use skills in Cowork and cloud sessions»). Во-вторых, при загрузке в claude.ai принимаются только шесть полей спецификации. В-третьих, у списка Skills есть бюджет: для каждого description вместе с when_to_use отображается не более 1 536 символов.

Весь список получает 1% контекстного окна модели, и первыми лишаются описаний наименее используемые Skills. После автоматического сжатия контекста Claude Code заново подключает недавние Skills, по первым 5 000 токенов каждого, но не более 25 000 токенов в сумме (та же документация). Поэтому наше описание укладывается в 337 символов, а ключевой сценарий использования стоит в первом предложении.

У Claude Code есть и расширения, которые работают только в нём. model переключает модель на текущий ход. context: fork запускает Skill в отдельном контексте субагента, и в основную сессию возвращается только результат (skills docs; subagents docs). allowed-tools заранее разрешает инструменты, а строки с командами ! подставляют актуальные данные в тело Skill. Эти функции полезны, но файл, который их использует, перестаёт быть переносимым.

Наш общий файл соответствует спецификации. Если нужно поведение только для Claude Code, положите в личную папку второй Skill с тем же именем. По правилу «личный имеет приоритет над проектным» Claude Code выберет его, а другие инструменты продолжат читать версию, соответствующую спецификации. С context: fork 967 исходных отзывов не попадают в основную сессию.

Можно также дать модели вызывать инструменты вместо запуска скрипта. Добавьте удалённый MCP-сервер EveryInfra в Claude Code. Мы проверили эту команду в одной из прошлых статей, поэтому здесь она приведена как пример конфигурации:

bash
export EVERYINFRA_API_KEY="<your API key>"
claude mcp add --transport http everyinfra https://api.everyinfra.com/mcp \
  --scope user --header 'Authorization: Bearer ${EVERYINFRA_API_KEY}'
claude mcp get everyinfra

В Claude Code поиск MCP-инструментов включён по умолчанию. При старте сессии загружаются только названия инструментов и инструкции сервера, а определения инструментов подгружаются по мере необходимости (Claude Code MCP docs). Это меняет расчёт контекста в одном из следующих разделов.

Skills в Codex: .agents/skills и config.toml

Skills в Codex тоже построены на открытом стандарте Agent Skills, и в SKILL.md обязательны name и description (Codex Build skills). Codex ищет Skills в расположениях четырёх типов. На уровне репозитория это .agents/skills в каждой папке от рабочей папки до корня репозитория. На уровне пользователя — $HOME/.agents/skills. На уровне администратора — /etc/codex/skills.

Системные Skills поставляются вместе с Codex. Если у двух Skills одинаковое имя, Codex их не объединяет, и в списке выбора могут появиться оба. В CLI или расширении для IDE введите /skills либо упомяните Skill, поставив перед его именем $. Codex также может выбрать Skill по описанию. В ChatGPT перед именем Skill ставят @.

На то, как писать описание, влияют два числа из документации Codex. По умолчанию первый список Skills занимает не более 2% контекстного окна модели или 8 000 символов, если размер окна неизвестен. Настройка skills.max_context_tokens меняет этот бюджет, максимум до 10 000 токенов. Если установлено много Skills, Codex сначала сокращает описания, затем исключает часть Skills и выводит предупреждение (Codex Build skills). Необязательный файл agents/openai.yaml задаёт отображаемое имя, политику allow_implicit_invocation и зависимости от инструментов MCP. Он лежит в папке Skill, а другие инструменты его игнорируют, поэтому Skill остаётся переносимым.

Чтобы подключить удалённый MCP-сервер EveryInfra в Codex, добавьте таблицу [mcp_servers.<name>] в ~/.codex/config.toml (Codex MCP docs). В доверенном проекте можно использовать .codex/config.toml. Это пример конфигурации, в локальной установке Codex мы его не запускали:

toml
[mcp_servers.everyinfra]
url = "https://api.everyinfra.com/mcp"
bearer_token_env_var = "EVERYINFRA_API_KEY"
enabled_tools = ["everyinfra_list_capabilities", "everyinfra_call_api", "everyinfra_get_job"]
default_tools_approval_mode = "writes"
tool_timeout_sec = 120

По результатам тестов мы задали две из этих строк. enabled_tools оставляет только 3 инструмента. В 17:25 SGT вызов tools/list к MCP-серверу EveryInfra вернул 25 инструментов, и некоторые из них создают или удаляют ключи, меняют настройки либо открывают тикеты. Отчёту по отзывам ничего из этого не нужно. tool_timeout_sec равен 120 секундам, потому что по умолчанию Codex ждёт ответа на каждый вызов инструмента только 60 секунд (Codex MCP docs).

Наши синхронные вызовы в 17:28 и 17:30 SGT заняли 87,8 и 88,3 секунды. Со значением по умолчанию Codex перестаёт ждать раньше, чем API успевает ответить. default_tools_approval_mode = "writes" запрашивает подтверждение перед любым инструментом, не помеченным как «только для чтения». За каждый вызов everyinfra_call_api взимается плата, поэтому сервер не помечает этот инструмент как «только для чтения», и Codex каждый раз запрашивает подтверждение. Если вы готовы к этим расходам, задайте tools.everyinfra_call_api.approval_mode только для этого инструмента.

Antigravity CLI и Gemini CLI: папки переехали

18 июня 2026 года Google заменил Gemini CLI на Antigravity CLI. Об этом написано в начале страницы о Skills на сайте документации Gemini CLI (Gemini CLI Agent Skills docs). Формат Skill остался прежним, а папки изменились. Gemini CLI использовал ~/.gemini/skills/ для пользователей и .gemini/skills/ для рабочих пространств, а .agents/skills/ служил псевдонимом для обоих.

Antigravity CLI использует .agents/skills/ для рабочих пространств и ~/.gemini/antigravity-cli/skills/ для глобальных Skills (Antigravity CLI migration docs). Десктопное приложение Antigravity использует ещё одну глобальную папку: ~/.gemini/config/skills/ (Antigravity skills docs). Это единственный случай, когда мы советуем держать две копии, по одной в каждой папке.

Antigravity требует только description. Если name нет, используется имя папки (та же документация). В нашем Skill заданы оба поля, так что это его не касается. Минимальные шаги показаны в Google Codelab от 25 сентября 2026 года.

Создайте .agents/skills/<name>/SKILL.md, запустите agy, выведите список Skills командой /skills и задайте вопрос (Google Codelabs). На Reddit один пользователь спрашивал, как настроить Skills в Antigravity, и просил показать структуру папок, а не дать ссылку на документацию (обсуждение в r/google_antigravity). Эта структура приведена в таблицах выше.

Antigravity перенёс MCP-серверы из settings.json в отдельный файл mcp_config.json. Глобальный файл: ~/.gemini/config/mcp_config.json, проектный: .agents/mcp_config.json. Для удалённых серверов ключ адреса сменился с url или httpUrl на serverUrl (Antigravity CLI migration docs). Есть и список разрешённых инструментов, enabledTools.

По умолчанию он ждёт 3 минуты на вызов инструмента и 5 минут на подключение (Antigravity MCP docs). Это дольше, чем в Codex, поэтому для наших 88-секундных вызовов тайм-аут менять не нужно. Пример конфигурации, локально не запускался:

json
{
  "mcpServers": {
    "everyinfra": {
      "serverUrl": "https://api.everyinfra.com/mcp",
      "headers": { "Authorization": "Bearer <your API key>" },
      "enabledTools": ["everyinfra_list_capabilities", "everyinfra_call_api", "everyinfra_get_job"]
    }
  }
}

Skills в Gemini: 17 ноября Gems станут доступны только для чтения, а скрипты останутся без доступа к сети

30 сентября 2026 года Google объявил, что Skills заменят Gems. Skills «полностью построены на открытом стандарте SKILL.md на основе Markdown», поэтому Skills с других платформ можно копировать в приложение Gemini (Google Workspace Updates, 2026-09-30). В обновлении от 13 октября говорилось, что в тот же день Skills начали появляться в приложении Gemini, а завершить развёртывание планируется к середине ноября. Запуск в приложениях Workspace отложен до дальнейших объявлений (Google Workspace Updates, 2026-10-13).

Два источника Google называют для Gems разные даты, поэтому проверьте тип своего аккаунта. В посте Workspace от 30 сентября сказано, что 17 ноября Gems переедут в панель настроек, а пользователи «смогут по-прежнему создавать, редактировать и использовать их». Бизнес-аккаунты лишатся Gems не раньше 1 марта 2027 года. Страница справочного центра для личных аккаунтов описывает более строгие условия. В личных аккаунтах Google пользователей от 18 лет Gems 17 ноября 2026 года превратятся в Skills только для чтения. Их можно будет просматривать, но нельзя будет использовать или редактировать.

17 декабря 2026 года Gems будут удалены из приложения Gemini (Gemini Help: About the transition from Gems to skills). Значит, «только для чтения с 17 ноября» верно лишь для личных аккаунтов. Бизнес-аккаунты Workspace перейдут в марте 2027 года, а образовательные — в июне 2027 года. Блог Google согласуется со справочным центром (Google blog: Let skills in Gemini tackle your most repetitive tasks).

Скриншот раздела справки Gemini «Upload a file or folder to create a skill». Бирюзовая рамка выделяет строку «Scripts that require access to the internet are not supported». Ниже идут шаги загрузки и поддерживаемые типы файлов.
В инструкции по загрузке Gemini сказано, что скрипты, которым нужен интернет, не поддерживаются. Данные на 26 октября 2026 года. Скриншот справки Gemini

От двух предложений в справочном центре зависит, сможет ли этот Skill работать в приложении Gemini. Пока скрипты, которым нужен доступ в интернет, не поддерживаются. Скрипты не могут выполнять действия на внешних сайтах или отправлять им запросы (Gemini Help: Create & manage skills for Gemini Apps). На той же странице перечислены правила загрузки.

SKILL.md должен лежать в корневой папке, имя должно быть записано строчными буквами, а слова в нём разделены дефисами. Общий размер всех файлов не должен превышать 100 МБ. Текстовые файлы, например .py, .sh, .md, .json и .csv, подходят, а .docx и .xlsx — нет. Наш Skill соответствует всем требованиям к формату и импортируется, но в приложении Gemini fetch_reviews.py не может получить данные.

Gemini здесь не одинок. Claude Skills API запускает Skills в контейнере для выполнения кода «без доступа к сети», поэтому Skills «не могут выполнять внешние вызовы API». Там есть и дополнительное правило для имени: name не может содержать зарезервированные слова «anthropic» или «claude», а также XML-теги (Claude Skills API guide). В обоих случаях ответственность следует разделять так: «Skill — за процесс, коннектор — за данные».

В приложении Gemini данные получают подключённые приложения. В Claude в браузере и через API их получает MCP-коннектор. Тело Skill только говорит модели, какие шаги выполнить и какой отчёт написать. Справочный центр также сообщает, что Skills пока не работают с Canvas и Deep Research (About the transition from Gems to skills).

Один реальный цикл обмена: вызов, который отправляет модель, и данные, которые мы возвращаем

И скрипт, и вызов MCP-инструмента на нашей стороне приводят к одному и тому же запросу. На карточке ниже показан реальный MCP-вызов tools/call в 17:46:24 SGT. Модель вызвала everyinfra_call_api, чтобы получить одно- и двухзвёздочные отзывы о ClickUp на Trustpilot за последние 3 месяца, не более 50 отзывов. API ответил за 27,8 секунды, вернул 7 отзывов и списал $0,001389.

Скриншот реального MCP-вызова EveryInfra к everyinfra_call_api за отзывами о clickup.com на Trustpilot: stars one и two, date last3months, limit 50. В ответе count 7; у первого отзыва rating 1, source Organic, country AU, posted_at 2026-10-20 и скрытое имя автора. В блоке оплаты charged_usd 0.001389; бирюзовые рамки выделяют stars, count, source и charged_usd.
Один реальный цикл обмена через MCP; имя автора отзыва скрыто. 26 октября 2026 года, 17:46 SGT. Скриншот ответа MCP EveryInfra

Тот же запрос в виде прямого вызова API данных через curl выглядит так. $EVERYINFRA_API_KEY берётся из переменной окружения и никогда не записывается в файл:

bash
curl -s -X POST https://api.everyinfra.com/api/v1/social \
  -H "Authorization: Bearer $EVERYINFRA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"platform":"trustpilot","action":"reviews","params":{"company":"clickup.com","stars":["1","2"],"date":"last3months","limit":50}}'

В каталоге для trustpilot/reviews указано 24 поля ответа (каталог EveryInfra). Skill использует перечисленные ниже поля. Мы сверили название и назначение каждого поля с response_fields и platform_field_meanings из каталога.

ПолеЗначение (по каталогу)Как его использует Skill.
id, urlID отзыва и ссылкаУдаление дублей; добавление ссылки к каждой цитате.
title, textЗаголовок и текстРазметка по ключевым словам.
rating, rating_scaleЗвёзды и шкалаСреднее по группе источников.
sourceИсточник отзываРазделение органических отзывов и отзывов по приглашению.
ПолеЗначение (по каталогу)Как его использует Skill.
verification_levelУровень проверки (отзыв по приглашению или органический отзыв)Сверка с source.
language, countryЯзык и странаВыбор набора ключевых слов.
experience_at, posted_atДата использования; дата публикацииОтбор отзывов за нужный период.
ПолеЗначение (по каталогу)Как его использует Skill.
reply_textОтвет компанииДоля ответов.
author_nameОтображаемое имя автора отзываНикогда не выводится в отчёт.

Поля G2 и Capterra подходят для анализа B2B-закупок. Первая запись g2/reviews имеет record_type summary и содержит общий рейтинг, число отзывов и наиболее часто упоминаемые плюсы и минусы. За ней идут отдельные отзывы. В каждой записи capterra/reviews есть pros, cons, отдельные оценки удобства использования и поддержки, а также switching_reasons. В каталоге отмечено, что switching_reasons — самое полезное поле для анализа конкурентов (каталог EveryInfra).

Девять вызовов: сколько отзывов возвращают G2, Capterra, Trustpilot и Amazon

С 17:25 до 18:31 SGT мы отправили всего 31 запрос. За 23 из них списали средства, за 8 — нет: четыре запроса получили ответ 429, один завершился тайм-аутом, а три вернули пустой результат. Общая сумма составила $0,032794. В таблице приведены 11 запросов, на которых построен отчёт по ПО, включая два, за которые средства не списывались.

SGTВозможностьОбъектlimitПолучено отзывовВремяСписано.
17:25g2/reviews, синхронноAsana10020 и 1 сводная запись—$0.001389.
17:27g2/reviews, синхронноmonday.com100Тайм-аут, 50390.4 s$0.
17:28g2/reviews, синхронноClickUp10020 и 1 сводная запись87.8 s$0.001389.
17:30capterra/reviewsAsana, по названию1005088.3 s$0.001389.
SGTВозможностьОбъектlimitПолучено отзывовВремяСписано.
17:32capterra/reviews«monday.com», по названию1000, средства возвращены67.5 s$0.
17:33capterra/reviewsClickUp, по названию10010022.3 s$0.001389.
17:33capterra/reviewsmonday.com, по URL продукта1009747.3 s$0.001389.
17:34g2/reviews, асинхронноmonday.com10050 и 1 сводная запись2,1 с до получения ID задачи$0.001389.
SGTВозможностьОбъектlimitПолучено отзывовВремяСписано.
17:34trustpilot/reviewsasana.com20020044.5 s$0.001389.
17:35trustpilot/reviewsmonday.com20020037.3 s$0.001389.
17:36trustpilot/reviewsclickup.com20020042.4 s$0.001389.

Три вывода из этой таблицы вошли в SKILL.md. Первый: Capterra ничего не нашла по названию «monday.com». Сейчас Capterra называет продукт «monday AI Work Platform» (страница продукта на Capterra). Наш API вернул 0 записей, а плата за вызов была возвращена.

По URL продукта API вернул 97 отзывов. Поэтому на первом шаге Skill запрашивает URL, а не названия. Второй вывод: синхронные вызовы G2 подходят вплотную к 85-секундному лимиту синхронного режима. Вызов для monday.com прервался по тайм-ауту через 90,4 секунды, а в ответе было сказано «Not charged» и предложено "mode":"async".

В асинхронном режиме мы получили ID задачи за 2,1 секунды, и задача вернула 50 отзывов. Третий: тот же запрос к G2 по Asana в синхронном режиме вернул 20 отзывов. В 17:48 SGT скрипт Skill отправил его ещё раз в асинхронном режиме и получил 50, причём все 20 прежних отзывов оказались среди них. Цена та же, а отзывов в асинхронном режиме в 2,5 раза больше.

Горизонтальная столбчатая диаграмма: лимит в каждом запросе и число полученных отзывов при цене $0,001389 за вызов. G2 по Asana вернул 20 отзывов в синхронном режиме и 50 в асинхронном при лимите 100. Capterra вернула 50 для Asana, 97 для monday.com и 100 для ClickUp. Trustpilot вернул 200 из 200 для Asana, 81 для monday.com на испанском и 10 для ClickUp на испанском. Amazon вернул 13 из 100 для пауэрбанка Anker.

Стоимость за 1 000 отзывов зависит от того, сколько отзывов возвращает один вызов: эти возможности тарифицируются за вызов, а не за отзыв. Trustpilot возвращает 200 отзывов за вызов, это около $0.0069 за 1 000. Capterra возвращает 100, около $0.0139. G2 async возвращает 50, около $0.0278. G2 sync возвращает 20, около $0.0695.

Amazon возвращает 13 отзывов на товар, около $0,1068, так что разница примерно 15-кратная. Небольшое число отзывов с Amazon — не ошибка. В примечаниях каталога к amazon/reviews сказано, что сайт каждой страны отдаёт только избранные отзывы со страницы товара (каталог EveryInfra). Обычно это 10–15 отзывов на товар, а не вся история. Мы прочитали отзывы об одном и том же пауэрбанке UGREEN в 17:38 и 17:54 SGT. Оба раза вернулись 13 отзывов с одинаковыми ID, так что эти 13 представляют собой стабильный «избранный» набор, а не случайную выборку.

Горизонтальная столбчатая диаграмма стоимости API за 1 000 отзывов при цене $0.001389 за вызов. Trustpilot (200 за вызов): $0.0069; Capterra (100 за вызов): $0.0139; G2 async (50 за вызов): $0.0278. G2 sync (20 за вызов): $0.0695, Amazon (13 за вызов): $0.1068.

Было и четыре ответа с кодом 429. С 17:37:59 до 17:38:50 SGT мы отправляли вызовы с интервалом 7 секунд, и четыре из них были отклонены. В каждом ответе были указаны лимит ключа в 10 запросов в минуту, retry_after, равный 1 секунде, и сообщение «Nothing was charged». Часть лимита за эту минуту уже израсходовали другие запросы.

Скрипт ждал retry_after плюс обычный интервал, и все повторные попытки прошли успешно. Для тестового ключа мы установили лимит 10 запросов в минуту. По умолчанию у аккаунта 60 запросов в минуту на все ключи вместе, и лимит растёт с общей суммой пополнений баланса (страница тарифов). Лимит своего ключа проверьте в консоли.

Главная ловушка: разделяйте средние оценки Trustpilot по источнику

В большинстве сравнительных таблиц у каждой компании одна средняя оценка на Trustpilot. Наши данные показывают, что это число мало что значит. С 17:34 до 17:44 SGT мы прочитали 200 самых новых отзывов на Trustpilot о шести компаниях (у Holded их всего 48) и сгруппировали их по полю source. Organic означает, что автор нашёл страницу сам. BasicLink, InvitationApi, FileUploadInvitation и Shopify означают, что компания отправила приглашение.

КомпанияОрганические отзывыСредняя оценка органических отзывовОтзывы по приглашениюСредняя оценка отзывов по приглашениюРазницаОбщая средняя оценка.
Asana1991.901——1.90.
monday.com1451.53554.512.982.35.
ClickUp372.511634.892.384.45.
Holded352.77134.691.923.29.
КомпанияОрганические отзывыСредняя оценка органических отзывовОтзывы по приглашениюСредняя оценка отзывов по приглашениюРазницаОбщая средняя оценка.
Anker1322.14684.622.482.98.
UGREEN211.291794.072.783.77.
Гантельная диаграмма средних оценок на Trustpilot для органических отзывов и отзывов по приглашению у пяти компаний. monday.com: 1,53 у органических (145 отзывов) и 4,51 у отзывов по приглашению (55); ClickUp: 2,51 (37) и 4,89 (163); Holded: 2,77 (35) и 4,69 (13). Anker: 2,14 (132) и 4,62 (68); UGREEN: 1,29 (21) и 4,07 (179). Asana не показана, потому что 199 из 200 её отзывов органические.

По общей средней оценке у ClickUp 4,45 звезды, а у Asana 1,90, так что ClickUp выглядит намного лучше. Если разделить группы, средние оценки органических отзывов у обеих компаний низкие: 2,51 и 1,90. Большая часть разницы связана с приглашениями. 163 из 200 самых новых отзывов о ClickUp пришли по ссылке-приглашению. У monday.com та же картина: средняя оценка 145 органических отзывов составляет 1,53 звезды, а 55 отзывов по приглашению — 4,51.

С брендами электроники то же самое. 178 отзывов о UGREEN пришли из автоматических приглашений магазина на Shopify, а 21 органический отзыв в среднем даёт 1,29 звезды. Наше объяснение простое. Люди, которые приходят сами, часто пишут, потому что что-то пошло не так. Люди, получившие приглашение, часто пишут сразу после покупки.

Если смешать эти группы, среднее будет измерять, сколько приглашений рассылает компания, а не что думают клиенты. У анализа есть ограничения. Каждая выборка состоит из 200 самых новых отзывов, и охваченные периоды сильно различаются. Мы не оценивали подлинность отзывов и не даём оценок практике приглашений ни одной компании.

Кроме того, «последние 200» охватывают очень разные периоды. 200 отзывов Asana приходятся на период с 31 января 2022 года по 3 октября 2026 года, почти пять лет. Отзывы monday.com охватывают период с 15 декабря 2024 года по 24 октября 2026 года. Отзывы ClickUp охватывают период с 1 апреля 2026 года по 22 октября 2026 года, меньше семи месяцев. Самый короткий период у UGREEN: с 30 августа 2026 года по день, когда мы их прочитали, 26 октября 2026 года.

Меньше чем за два месяца UGREEN собрал 200 отзывов, и 178 из них пришли из приглашений магазина. Получается, что одна выборка охватывает отзывы новых покупателей за два месяца, а другая — отзывы давних пользователей за пять лет. В отчёте также следует привести все источники к одному периоду, например с помощью параметра Trustpilot date: "last6months". На этот раз мы не ограничивали период, потому что хотели увидеть полную картину.

По одному только сайту это разделение не увидеть. В справочном центре Trustpilot сказано, что любая компания может бесплатно приглашать клиентов, рассылая ссылки. Автоматические приглашения (BCC в email, интеграции с магазинами, API) дают отзывы с пометкой «Verified». Приглашения «Basic Link» дают отзывы с пометкой «Unprompted review» (Trustpilot Help: Trustpilot invitation methods).

Мы проверили страницу ClickUp. Пятизвёздочный отзыв с пометкой «Unprompted review» на сайте в API имеет source: BasicLink и verification_level: invited. Однозвёздочный отзыв на той же странице с той же пометкой имеет source: Organic и verification_level: not-verified (Trustpilot: ClickUp reviews). Сайт называет оба отзыва «Unprompted», а API их различает.

Поэтому в разделе Rules нашего Skill сказано: «разделять по источнику, никогда не сводить к одному среднему». Собственные правила Trustpilot для бизнеса требуют рассылать приглашения без предвзятости (Trustpilot Guidelines for Businesses). Эти правила регулируют то, как компании приглашают клиентов. Они не меняют того, что авторы, пришедшие по приглашению, отличаются от тех, кто пишет сам.

Иллюстрация с весами. На левой чаше лежит аккуратная стопка карточек с отзывами, пришедших через почтовую щель, на них много звёзд. На правой чаше лежит беспорядочная кучка карточек, которые оставили люди, вошедшие через открытую дверь, в основном с одной звездой. Чаши находятся на заметно разной высоте, а пунктирная бирюзовая линия разделяет две стороны.
Иллюстрация: отзывы по приглашению и отзывы без приглашения нельзя класть на одни весы. Сгенерированная иллюстрация к статье, без данных

Один и тот же продукт, три сайта, разные жалобы

Темы тоже меняются от сайта к сайту. Ниже приведены данные по Asana: 50 отзывов с G2 (асинхронно), 50 с Capterra и 200 с Trustpilot. Мы разметили их по правилам ключевых слов Skill версии v1.1, и один отзыв может попасть в несколько тем.

ТемаG2 (50)Capterra (50)Trustpilot (200).
Цены и оплата14%18%43%.
Поддержка12%14%46%.
Сложность освоения26%22%5%.
Удобство использования30%22%7%.
ТемаG2 (50)Capterra (50)Trustpilot (200).
Автоматизация22%38%7%.
Мобильные6%2%5.5%.
Сгруппированная столбчатая диаграмма доли отзывов об Asana, в которых упоминается каждая тема, на G2, Capterra и Trustpilot. Цены: 14 %, 18 % и 43 %; поддержка: 12 %, 14 % и 46 %; сложность освоения: 26 %, 22 % и 5 %. Удобство использования: 30 %, 22 % и 7 %; автоматизация: 22 %, 38 % и 7 %; мобильная версия: 6 %, 2 % и 6 %. На Trustpilot поддержку и цены упоминают гораздо чаще, чем на двух других сайтах.

Большинство авторов отзывов на G2 и Capterra работают в командах, которые пользуются продуктом. Они пишут о функциях, например о сложности освоения и автоматизации. На Trustpilot 46 % отзывов об Asana упоминают поддержку, а 43 % — цены или оплату. Большинство из них касаются продления подписки, возвратов средств и заблокированных аккаунтов. У monday.com похожая картина: на Trustpilot 35 % отзывов посвящены ценам и 29 % — поддержке.

ClickUp выбивается из общей картины: на первом месте у него автоматизация — 39,5 %, что соответствует странице, полной активных пользователей, пришедших по приглашению. Сводные записи G2 содержат собственные цифры G2. У Asana 4,4 звезды на основе 14 051 отзыва, и среди минусов чаще всего упоминается «Learning Curve» (605 упоминаний). У monday.com 4,7 звезды на основе 17 294 отзывов, у ClickUp — 4,6 на основе 15 159 (G2: Asana reviews).

Поэтому в разделе Limits нашего Skill об этом сказано прямо. Отзывы о софтверной компании на Trustpilot в основном касаются оплаты и поддержки. Воспринимайте их как отдельный сигнал и не объединяйте с G2 и Capterra.

Это цифры второй версии. В первом списке ключевых слов в теме цен было слово plan с сопоставлением по префиксу. Шаг 4 Skill предписывает прочитать по 5 размеченных отзывов на каждую тему. Когда мы это сделали, Capterra показала для Asana 58 % по теме цен, и многие из этих отзывов были о «project planning».

Подсчёт слов в этих 50 отзывах с Capterra нашёл planning 13 раз. Префикс app в теме мобильной версии также совпал с appreciate 6 раз и с approval или approvals 4 раза. Мы перешли на сопоставление по целым словам и удалили plan, app, agent и simple. После этого доля темы цен у Asana на Capterra упала с 58 % до 18 %, на G2 — с 30 % до 14 %, а на Trustpilot — с 48,5 % до 43 %.

Отсюда два вывода. Правила по ключевым словам дёшевы и дают воспроизводимый результат, но человек должен выборочно их проверять. Шаг 4 нельзя считать формальностью: при первом же запуске он исправил неверный результат до того, как тот попал в отчёт.

Как выглядит готовый отчёт

Анимированный цикл из шести шагов. Шаг 1, обнаружение: только name и description, 363 символа в контексте; шаг 2, активация: чтение полного SKILL.md, 3 426 символов. Шаг 3, загрузка через fetch_reviews.py с интервалом 7 секунд и ожидание retry_after при 429; шаг 4, ожидание задачи G2 async до статуса succeeded. Шаг 5, разметка через classify.py и разделение Trustpilot по источникам; шаг 6, отчёт со стоимостью как суммой charged_usd. В центре надпись: 3 конкурента × 3 сайта отзывов = 9 вызовов, $0,012501 и 967 отзывов.

Шаг 5 Skill задаёт структуру отчёта. Вот первая таблица, заполненная данными этого запуска: число прочитанных отзывов, средняя оценка и стоимость для каждого продукта на каждом сайте. Три сайта остаются в отдельных столбцах, общего среднего нет. В ячейке Trustpilot указаны общее среднее и отдельно средние органической группы и группы по приглашению, как требует раздел Rules.

ПродуктG2: отзывы / средняя оценкаCapterra: отзывы / средняя оценкаTrustpilot: отзывы / общая средняя оценка (органические / по приглашению)Плата за API.
Asana50 / 4.3850 / 4.76200 / 1,90 (1,90 / всего 1 отзыв)$0.004167.
monday.com50 / 4.6497 / 4.57200 / 2.35 (1.53 / 4.51)$0.004167.
ClickUp20 / 4.22100 / 4.60200 / 4.45 (2.51 / 4.89)$0.004167.

В третьей части отчёта перечислены три главные жалобы по каждому продукту, у каждой — короткая цитата и ссылка. Мы взяли заголовки недавних органических одно- и двухзвёздочных отзывов на Trustpilot. Каждый заголовок — одна строка, написанная автором. Имена авторов не приводятся. Для Asana: «Ruthless company» от 3 октября 2026 года, «Forever free doesn't mean forever free» от 1 октября и отзыв от 28 сентября, где политику отмены называют «sneaky».

Для monday.com: три отзыва от 24, 22 и 21 октября 2026 года, причём в двух заголовках упоминается «customer service». Для ClickUp: отзыв от 20 октября 2026 года «Inflexible, manual „subscription“ model» о требовании уведомить о сокращении числа мест за 30 дней. Отзыв от 5 октября описывает блокировку аккаунта после оплаты. Эти заголовки соответствуют данным таблицы тем. На Trustpilot все три компании чаще всего критикуют за оплату и поддержку, а не за функции.

В последней части отчёта перечислены ограничения. Выборка включает последнюю порцию отзывов с каждого сайта. У Asana на Trustpilot нет группы отзывов по приглашению для сравнения. Список ключевых слов v1.1 выборочно проверен всего по 5 отзывам для каждой темы.

Мы не позволили модели писать цифры. Все числа в таблице вычислили скрипты по ответам API. У модели было две задачи. На шаге 4 она читала выборки, чтобы найти ошибки в ключевых словах, а на шаге 5 оформляла таблицы и цитаты. С первой задачей модель хорошо справляется, только если попросить её фиксировать в отчёте каждое изменение. Со второй проблем почти не бывает.

Как сделать отчёт еженедельным: где можно запускать Skill по расписанию

Естественный ритм для отзывов о конкурентах: раз в неделю, по понедельникам. Ниже описано, где каждый продукт может запускать этот Skill по расписанию с доступом к сети. Запланированные задачи в десктопном Claude Code выполняются на вашей машине и читают ~/.claude/skills/. Облачные запланированные задачи каждый раз запускают новую облачную сессию. Локальную папку они не читают. Они используют только Skills, включённые в вашем аккаунте claude.ai, или Skills из .claude/skills/ в репозитории (Claude Code skills docs).

На DevDay 29 сентября 2026 года OpenAI представила Codex Cloud, который выполняет задачи, пока ваш ноутбук закрыт (DevDay 2026 community recap). В документации Codex нет чёткого указания на то, что облачные задачи читают .agents/skills из репозитория. Мы это не проверяли, поэтому выводов не делаем. В приложении Gemini есть расписания, позволяющие запускать задачу с выбранным Skill (Create & manage skills for Gemini Apps). Но, как сказано выше, скрипты в таких Skills не имеют доступа к интернету.

Теперь посчитаем на год. Один отчёт по ПО из 9 вызовов в неделю даёт 468 вызовов в год, или $0,650052 платы за API. Еженедельный отчёт по устройствам из 5 вызовов добавляет 260 вызовов и $0,36114. В нашем тесте самый медленный синхронный вызов занял 88 секунд. С 7-секундными интервалами и примерно 5 минутами на асинхронную задачу G2 один отчёт из 9 вызовов занимает меньше 10 минут.

Ключа с лимитом 10 запросов в минуту достаточно. Если тот же ключ обслуживает и другие задачи, считайте ответ 429 нормальной ситуацией и повторяйте запрос. Claude Code 2.1.310, вышедший 23 октября 2026 года, сделал инструмент Monitor доступным в большем числе типов развёртывания. С его помощью можно отслеживать длительную асинхронную задачу вместо того, чтобы оставлять скрипт в цикле ожидания (Claude Code changelog).

Где разметка по ключевым словам не срабатывает: отзывы не на английском и отзывы об устройствах

Ключевые слова зависят от языка. Мы запросили испанские отзывы о monday.com на Trustpilot с lang: "es". Запрос с лимитом 200 вернул 81 отзыв; самый новый был датирован 28 декабря 2023 года. При использовании английских ключевых слов 80 из 81 отзыва остались без темы. С испанским списком saas_es из Skill число неразмеченных отзывов снизилось до 45.

У ClickUp всего 10 испанских отзывов. У Holded, испанского сервиса для бухгалтерии, на Capterra 100 отзывов, и около 76 из них, судя по тексту, написаны на испанском. После применения английских правил без разметки осталось 74 отзыва, после испанских — 21. Trustpilot также не полностью охватывает отзывы о Holded.

В 17:44 SGT вызов без lang вернул 48 отзывов, все с пометкой en. В 18:29 и 18:30 SGT вызовы с lang: "es" и language: "es" вернули 0 записей, и по ним был выполнен возврат средств. На испанском сайте Trustpilot у Holded 2 444 отзыва (Trustpilot Spain: Holded). Значит, в этом запуске испанские отзывы Holded получить не удалось, и в отчёте нужно указать «Выборка Trustpilot: только 48 англоязычных отзывов».

С отзывами об устройствах проблема другая. Для трёх пауэрбанков на 20 000 мА·ч (Anker, UGREEN, INIU) Amazon US вернул по 13 рекомендуемых отзывов; средние оценки составили 4,92, 4,92 и 4,62 звезды. Это значительно выше средних оценок органических отзывов двух брендов на Trustpilot — 2,14 и 1,29, поскольку среди рекомендуемых отзывов Amazon преобладают полезные и положительные. На Trustpilot в 26% отзывов об Anker упоминаются проблемы с долговечностью, например устройство сломалось или перестало работать. Ни в одном из 13 отзывов Amazon об этом не говорится.

Кроме того, список ключевых слов для устройств плохо охватывает темы в отзывах на Trustpilot: 101 из 200 отзывов об Anker и 127 из 200 отзывов о UGREEN остались без темы. В основном это отзывы о доставке, возвратах и поддержке, а этих тем в списке для устройств нет. Мы не меняли список, чтобы цифры выглядели лучше. В отчёте указано число неразмеченных отзывов.

Расчёт контекста: 31 581 символ на MCP-инструменты против 363 символов на Skill

Skills и MCP часто сравнивают, но контекст они расходуют по-разному. В 17:25 SGT мы получили tools/list MCP-сервера EveryInfra. 25 определений инструментов занимают в сумме 31 581 символ, то есть около 7 895 токенов из расчёта 4 символа на токен. 11 инструментов помечены как только для чтения, а 5 как деструктивные.

Три инструмента, которые нужны этому Skill, everyinfra_list_capabilities, everyinfra_call_api и everyinfra_get_job, занимают в сумме 3 314 символов. При старте сессии Skill добавляет в контекст только свои name и description: 363 символа, около 91 токена. Полный SKILL.md содержит 3 426 символов и загружается только при использовании.

Горизонтальная столбчатая диаграмма объёма символов, которые попадают в контекст. Запись Skill в списке (name и description): 363 символа, около 91 токена. Полный SKILL.md, читается только при использовании: 3 426 символов, около 857 токенов. Определения 3 нужных ему инструментов MCP: 3 314 символов, около 829 токенов. Все 25 определений инструментов MCP: 31 581 символ, около 7 895 токенов.

У этих цифр есть ограничения. В Claude Code поиск инструментов MCP включён по умолчанию, и при старте сессии загружаются только названия инструментов и инструкции сервера. Поэтому в Claude Code 25 инструментов не расходуют 7 895 токенов сразу (документация Claude Code по MCP). Для других хостов сверьтесь с их документацией. В Codex и Antigravity есть списки разрешённых инструментов (enabled_tools, enabledTools).

Сократите 25 инструментов до 3, и объём определений упадёт с 31 581 до 3 314 символов. Спецификация MCP рассматривает readOnlyHint и destructiveHint как подсказки для клиента, а не как гарантии безопасности («MCP specification: Tools»). Список разрешённых инструментов надёжнее подсказок. Наш совет: пусть Skill отвечает за процесс и формат отчёта, а в MCP откройте только 3 инструмента для данных. Если используете и то и другое, в Skill должно быть указано: «используй everyinfra_call_api, а не другие инструменты».

Сколько стоит один отчёт

Стоимость на стороне API мы рассчитали по price_usd из каталога. В каталоге на 26 октября 2026 года g2/reviews, capterra/reviews, trustpilot/reviews и amazon/reviews стоят по $0,001389 за вызов. Ни у одной из этих возможностей нет пометки о тарификации за запись. Один вызов возвращает до max_limit отзывов: 100 для G2, Capterra и Amazon и 200 для Trustpilot (каталог EveryInfra). Отчёт по ПО о 3 конкурентах на 3 сайтах требует 9 вызовов: 9 × $0,001389 = $0,012501.

Списания составили ровно $0.012501, расхождение нулевое. В отчёт вошли 967 отзывов, около $0.0129 за 1 000 отзывов. Отчёт по железу для 3 пауэрбанков требует 3 вызовов Amazon и 2 вызовов Trustpilot: 5 × $0.001389 = $0.006945 за 439 отзывов. Тайм-ауты, пустые результаты и ответы 429 ничего не стоят, поэтому повторные попытки не увеличивают счёт.

ПунктЦена за единицуВызовыСуммаПримечания.
Отчёт по ПО (G2 + Capterra + Trustpilot)$0,001389 за вызов9$0.012501967 отзывов.
Отчёт по устройствам (Amazon + Trustpilot)$0,001389 за вызов5$0.006945439 отзывов.
Отчёт по ПО каждую неделю в течение года$0,001389 за вызов468$0.650052Каждую неделю одни и те же 9 вызовов.
Все фактически выполненные вызовы для этой статьи—31 запрос, оплачены 23$0.032794Включая 1 вызов amazon/search ($0,002236).

ИИ-продукты оплачиваются по подписке, а не за каждый вызов. Эти публичные цены мы проверили 26 октября 2026 года. Claude Pro стоит $20 в месяц или $17 в месяц при оплате за год и включает Claude Code (Claude pricing). ChatGPT Plus стоит $20 в месяц (OpenAI Help). На тарифе Plus Codex работает в CLI, расширении для IDE и веб-версии (Codex pricing). Google AI Pro стоит $19,99 в месяц и включает базовый объём использования Antigravity (Google AI plans).

По сравнению с этими подписками плата за API невелика. Главная статья расходов — ресурс тарифного плана, который модель использует для чтения 967 отзывов. Ни один поставщик не публикует расход этого ресурса в пересчёте на один отзыв, а мы его не измеряли, поэтому конкретных цифр не приводим.

Ошибка в скрипте: «finalizing» ещё не означает завершения

При первом реальном запуске в скрипте Skill обнаружилась ошибка, и этот урок заслуживает отдельного раздела. В 17:48 SGT fetch_reviews.py отправил запрос по Asana на G2 в асинхронном режиме и начал опрашивать задачу. Первый же статус, отличный от running или queued, он принял за завершение. На 306-й секунде он получил finalizing, сохранил 0 записей и остановился. В 17:55 SGT мы вручную проверили ту же задачу.

Её статус был succeeded, и все 51 запись (50 отзывов и 1 итоговая запись) были на месте. Исправление: считать финальными только succeeded, failed, canceled и expired, а при любом другом статусе продолжать ждать. Такие ошибки хорошо прячутся внутри Skill. Увидев «0 записей», модель не задумываясь напишет «новых отзывов на G2 нет». Поэтому шаг 2 Skill требует проверять счётчики, вписывать 0 в отчёт и никогда не трактовать 0 как «отзывов нет».

Ответы чётко описывают ошибки и правила списания, и скрипту остаётся только их прочитать:

  • 429: error.code равен rate_limited, retry_after указан в секундах, а в ответе сказано «Nothing was charged». Подождите и повторите попытку.
  • Тайм-аут 503: error.code равен timeout, а billing.charged равно false. Переключитесь на "mode":"async" или уменьшите limit.
  • Пустой результат: count равен 0, а refund.status равен succeeded. Списанные средства возвращаются автоматически.
  • Асинхронный режим: ответ 202 возвращает job_id и poll_url. Списание происходит при отправке. Опрашивайте GET /api/v1/jobs/{job_id}, пока не получите финальный статус.

Чего этот Skill не умеет и на что обратить внимание

Вот чего Skill не умеет и что он должен делать с осторожностью. В приложении Gemini и Claude Skills API скрипты Skills не имеют доступа к сети, поэтому данные должен получать коннектор или MCP. Облачные сессии Claude Code и запланированные облачные задачи не читают локальную папку ~/.claude/skills/. Включите Skill в аккаунте claude.ai или закоммитьте его в репозиторий. В Claude Skills API поле name не может содержать «claude» или «anthropic».

Наше имя подходит, а вот Skill с именем claude-review-helper не загрузится. Amazon отдаёт на странице товара только рекомендуемые отзывы, поэтому не вычисляйте по ним «долю негативных отзывов». Не сравнивайте компании на Trustpilot без разбивки отзывов по источникам. Составляйте отдельный список ключевых слов для каждого языка и каждой категории и указывайте охват в отчёте.

Что касается законов и правил платформ, мы описываем только методы работы с данными и не даём юридических советов. 14 августа 2024 года Федеральная торговая комиссия США объявила об окончательном правиле. Оно запрещает фейковые и купленные отзывы, а также вознаграждения, зависящие от положительного отзыва (FTC press release; 16 CFR Part 465). Правило касается того, как компании получают отзывы.

Чтение публичных отзывов для анализа конкурентов — другое дело. Тем не менее не включайте имена авторов отзывов в отчёты и ограничивайте цитаты одной-двумя строками. В разделе Rules этого Skill это уже прописано.

Новости отрасли

  • 29 сентября 2026 года, OpenAI DevDay: плагины стали общим способом поставки решений в ChatGPT и Codex. Один плагин может содержать Skills и MCP-серверы, а при отправке на публикацию теперь можно отслеживать ход проверки (DevDay 2026 community recap; OpenAI DevDay recap). Что это значит для вас: этот Skill и MCP-сервер EveryInfra можно распространять в составе одного плагина. Такой плагин можно установить и в веб-версии ChatGPT (ChatGPT Skills & Plugins).
  • 30 сентября 2026 года, Google: Skills заменяют Gems. Развёртывание в приложении Gemini началось 13 октября. Gems в личных аккаунтах станут доступны только для чтения 17 ноября и исчезнут 17 декабря (Workspace Updates; Gemini Help). Что это значит для вас: если вы используете Gems для сводок по конкурентам, экспортируйте инструкции и файлы до 17 декабря. Получать данные внутри Skills в приложении Gemini по-прежнему нельзя.
  • 19–23 октября 2026 года — три релиза Claude Code. Версия 2.1.304 (19 октября 2026 года) повторно отправляет список Skills после сжатия контекста, а /reload-skills теперь отправляет только новые или изменённые Skills. В версии 2.1.309 (22 октября 2026 года) исправлена работа одноимённых Skills в папках --add-dir: теперь они запускаются как <folder>:<name>. Версия 2.1.310 (23 октября 2026 года) сделала инструмент Monitor доступным на большем числе платформ (Claude Code changelog). Что это значит для вас: в длинной сессии с множеством отчётов Skills больше не выпадают после сжатия контекста.
  • 14 октября 2026 года GPT-5.5 убрали из Codex при входе через ChatGPT, её место заняли GPT-6.1 Sol и другие модели (Codex pricing). Что это значит для вас: шаги Skill остаются прежними, но повторите выборочную проверку на шаге 4. При тех же правилах ключевых слов новая модель может выбрать другие цитаты.
  • 25 сентября 2026 года Google опубликовала Codelab о Skills для Antigravity CLI. В нём используется .agents/skills, а сторонние Skills устанавливаются командой npx skills add (Google Codelabs; vercel-labs/skills). Что это значит для вас: .agents/skills становится общей папкой проекта для разных инструментов, поэтому новые Skills кладите в первую очередь туда.

Когда эти выводы неприменимы

Выборки небольшие, поэтому начнём с ограничений. Доли тем рассчитаны по 20–200 последним отзывам на каждом сайте, а не по всем отзывам, и на следующей неделе цифры изменятся. Вывод «органические отзывы на 1,9–3,0 звезды ниже» получен по одному замеру пяти компаний. У Asana нет сопоставимой группы приглашённых отзывов, поэтому она не входит в этот диапазон. Правила ключевых слов v1.1 выборочно проверены на 5 отзывах по каждой теме.

Слово «support» также совпадает с описаниями функций вроде «supports multiple views», и эту погрешность мы не измеряли. Пути к папкам и поведение четырёх продуктов взяты из документации самих поставщиков, прочитанной 26 октября 2026 года. Конфигурации MCP для Codex и Antigravity — это примеры настройки, которые мы не запускали. На своей машине мы проверили скрипты Skill, валидатор спецификации и API EveryInfra. Если ваших конкурентов нет на G2, Capterra, Trustpilot или Amazon, выберите в каталоге подходящую возможность, например google_play/reviews, app_store/reviews или yelp/reviews.

FAQ

Что означает «skill.md must start with yaml frontmatter (---)»? Источник: автодополнение Google «skill.md must start with yaml frontmatter (---)», проверено 26 октября 2026 года. Первая строка SKILL.md должна быть ---. В документации Claude Code сказано, что frontmatter читается, только если открывающий --- стоит на первой строке. Иначе весь файл считается телом. Если YAML не разбирается, Skill всё равно загрузится, но без полей (Claude Code skills docs). Запустите agentskills validate из skills-ref, чтобы поймать это заранее.

Где хранятся Skills в Codex? Источник: автодополнение Google «codex skills location» и «codex skills folder». В репозитории используйте .agents/skills на любом уровне от рабочей папки до корня репозитория. Для одного пользователя — $HOME/.agents/skills. Для всей машины — /etc/codex/skills. Codex переходит по символическим ссылкам (Codex Build skills).

Как Skills в Claude Code помогают экономить токены? Источник: автодополнение Google «claude code skills to reduce token usage». В начале сессии Skill добавляет только своё имя и описание, у этого Skill это 363 символа. Тело загружается только при использовании. Делайте описание коротким и ставьте основной сценарий в начало. Для редко используемых Skills укажите "name-only" в skillOverrides (Claude Code skills docs). Длинные справочные тексты кладите в references/, а не в тело.

Как исправить «skill.md description cannot contain xml tags»? Источник: автодополнение Google «skill.md description cannot contain xml tags». Это проверяют Claude Skills API и механизм загрузки в claude.ai. Ни name, ни description не могут содержать XML-теги, а name не может содержать «claude» или «anthropic» (Claude Skills API guide). Замените любой текст вида <...> в описании обычными словами.

Могут ли Agent Skills вызывать внешние API в приложении Gemini? Источник: автодополнение Google «agent skills claude» и «gemini skills», а также текст справки Gemini. Пока нет. В справочном центре сказано, что скрипты, которым нужен интернет, не поддерживаются. Скрипты не могут отправлять запросы на внешние сайты (Gemini Help). Получайте данные через подключённые приложения Gemini, а в Skill оставьте только шаги и форматы.

Безопасно ли устанавливать Skills для Claude Code с GitHub? Источник: автодополнение Google «claude code skills github» и «claude code skills marketplace». Skills могут содержать скрипты, поэтому перед установкой прочитайте SKILL.md и файлы в каталоге scripts/. Gemini CLI показывает предупреждение о безопасности при установке Skill (Gemini CLI Agent Skills docs). Примеры Skills от Anthropic и OpenAI лежат в anthropics/skills и openai/skills. OpenAI также рассказывает, как тестировать Skills с помощью evals (Testing Agent Skills Systematically with Evals).

Что почитать дальше

Источники

  1. «Extend Claude with skills», Anthropic (документация Claude Code), дата обращения 2026-10-26, https://code.claude.com/docs/en/skills
  2. «Agent Skills Specification», agentskills.io, дата обращения 2026-10-26, https://agentskills.io/specification
  3. «skills-ref reference validator», agentskills (GitHub), 0.1.1, запуск 2026-10-26, https://github.com/agentskills/agentskills/tree/main/skills-ref
  4. «Build skills», OpenAI (документация Codex), дата обращения 2026-10-26, https://developers.openai.com/codex/build-skills
  5. «Model Context Protocol», OpenAI (документация Codex), дата обращения 2026-10-26, https://developers.openai.com/codex/mcp
  6. «Agent skills», Google Antigravity Docs, дата обращения 2026-10-26, https://antigravity.google/docs/skills/
  7. «Migration - Antigravity CLI», Google Antigravity Docs, дата обращения 2026-10-26, https://antigravity.google/docs/cli/gcli-migration
  8. «MCP», Google Antigravity Docs, дата обращения 2026-10-26, https://antigravity.google/docs/mcp
  9. «Agent Skills», документация Gemini CLI, дата обращения 2026-10-26, https://geminicli.com/docs/cli/skills/
  10. «Introducing skills in the Gemini app and Workspace, plus what's next for Gems», Google Workspace Updates, 2026-09-30, https://workspaceupdates.googleblog.com/2026/09/skills-gemini-app-workspace.html
  11. «An update on the launch of skills in the Gemini app and Workspace», Google Workspace Updates, 2026-10-13, https://workspaceupdates.googleblog.com/2026/10/an-update-on-launch-of-skills-in-gemini-app-and-workspace.html
  12. «Let skills in Gemini tackle your most repetitive tasks», блог Google, 2026-09-30, https://blog.google/products-and-platforms/products/gemini/automate-tasks-with-skills/
  13. «Create & manage skills for Gemini Apps», справка Gemini, дата обращения 2026-10-27, https://support.google.com/gemini/answer/17094296
  14. «About the transition from Gems to skills», справка Gemini, дата обращения 2026-10-27, https://support.google.com/gemini?p=gems_to_skills
  15. «Using Agent Skills with the API», Anthropic (документация Claude), дата обращения 2026-10-26, https://docs.claude.com/en/api/skills-guide
  16. «Connect Claude Code to tools via MCP», Anthropic (документация Claude Code), дата обращения 2026-10-26, https://code.claude.com/docs/en/mcp
  17. «Claude Code changelog», Anthropic, версии с 2.1.304 по 2.1.310 (с 2026-10-19 по 2026-10-23), https://code.claude.com/docs/en/changelog
  18. «Equipping agents for the real world with Agent Skills», Anthropic, 2025-10-16, https://www.anthropic.com/research/equipping-agents-for-the-real-world-with-agent-skills
  19. Каталог данных EveryInfra GET /api/v1/social/catalog, EveryInfra, дата обращения 2026-10-26 17:25 SGT, https://api.everyinfra.com/api/v1/social/catalog
  20. EveryInfra MCP (tools/list, tools/call), EveryInfra, вызовы 2026-10-26 в 17:25 и 17:46 SGT, https://api.everyinfra.com/mcp
  21. Страница продукта «monday AI Work Platform», Capterra, дата обращения 2026-10-26 (при доступе из скрипта возвращается 403; страница прочитана через браузерный движок), https://www.capterra.com/p/147657/monday-com/
  22. «Trustpilot invitation methods», справочный центр Trustpilot, дата обращения 2026-10-26, https://help.trustpilot.com/s/article/Trustpilot-invitation-methods?language=en_US
  23. «ClickUp Reviews», Trustpilot, дата обращения 2026-10-26 (при доступе из скрипта возвращается 403; страница прочитана через браузерный движок), https://www.trustpilot.com/review/clickup.com
  24. «Guidelines for Businesses», Trustpilot, дата обращения 2026-10-26, https://corporate.trustpilot.com/legal/for-businesses/guidelines-for-businesses
  25. «Asana Reviews», G2, дата обращения 2026-10-26 (при доступе из скрипта возвращается 403; страница прочитана через браузерный движок), https://www.g2.com/products/asana/reviews
  26. «Tools», спецификация Model Context Protocol 2025-06-18, дата обращения 2026-10-26, https://modelcontextprotocol.io/specification/2025-06-18/server/tools
  27. «Plans & pricing», Claude, дата обращения 2026-10-26, https://claude.com/pricing
  28. «What is ChatGPT Plus?», справочный центр OpenAI, дата обращения 2026-10-26, https://help.openai.com/en/articles/6950777-what-is-chatgpt-plus
  29. «Pricing», OpenAI (документация Codex), дата обращения 2026-10-26, https://developers.openai.com/codex/pricing
  30. «Google AI Pro & Ultra», Google, дата обращения 2026-10-26, https://gemini.google/subscriptions/
  31. «How to use AI Agent Skills (with Antigravity CLI)», Google Codelabs, 2026-09-25, https://codelabs.developers.google.com/antigravity/how-to-create-agent-skills-for-antigravity-cli
  32. «How do you actually set up Antigravity agent skills?», Reddit r/google_antigravity, дата обращения 2026-10-26, https://www.reddit.com/r/google_antigravity/comments/1qvrxxx/how_do_you_actually_set_up_antigravity_agent/
  33. «Federal Trade Commission Announces Final Rule Banning Fake Reviews and Testimonials», FTC, 2024-08-14, https://www.ftc.gov/news-events/news/press-releases/2024/08/federal-trade-commission-announces-final-rule-banning-fake-reviews-testimonials
  34. «16 CFR Part 465, Rule on the Use of Consumer Reviews and Testimonials», eCFR, дата обращения 2026-10-26, https://www.ecfr.gov/current/title-16/chapter-I/subchapter-D/part-465
  35. «Create custom subagents», Anthropic (документация Claude Code), дата обращения 2026-10-26, https://code.claude.com/docs/en/sub-agents
  36. «DevDay 2026 announcements and developer resources», OpenAI Developer Community, 2026-09-29, https://community.openai.com/t/devday-2026-announcements-and-developer-resources/1402006
  37. «DevDay 2026 Recap», OpenAI, 2026-09-29, https://openai.com/index/devday-2026-recap/
  38. «Skills & Plugins», ChatGPT Learn, дата обращения 2026-10-26, https://learn.chatgpt.com/docs/skills-and-plugins
  39. «vercel-labs/skills», GitHub, дата обращения 2026-10-26, https://github.com/vercel-labs/skills
  40. «anthropics/skills», GitHub, дата обращения 2026-10-26, https://github.com/anthropics/skills
  41. «openai/skills», GitHub, дата обращения 2026-10-26, https://github.com/openai/skills
  42. «Testing Agent Skills Systematically with Evals», блог OpenAI Developers, 2026-01-22, https://developers.openai.com/blog/eval-skills
  43. Отзывы о Holded (испанская версия сайта), Trustpilot, дата обращения 2026-10-26, https://es.trustpilot.com/review/holded.com

Справка BL-54