SpyBara
Go Premium

plugins/measure.md 2026-09-27 23:59 UTC to 2026-09-28 22:01 UTC

This page contains 2 additions and 2 deletions.

2026
Fri 25 23:58 Mon 28 22:59

Измерение стоимости и использования плагина

Измерьте стоимость токенов плагина Claude Code, узнайте, используют ли его люди, и выберите события телеметрии для вопросов плагинов на уровне организации.

Каждый сеанс, в котором включен плагин, включает имена и описания его skills, agents и commands в контексте Claude, и эти токены учитываются в использовании пользователя независимо от того, используется ли плагин или нет. На этой странице показано, как увидеть это число для плагина, как его уменьшить, если вы поддерживаете плагин, и где отображается использование, чтобы вы могли определить, все ли еще используется плагин.

Эта страница предназначена для авторов и разработчиков плагинов. Если вы администрируете Claude Code для организации, раздел Измерение по всему парку охватывает те же вопросы на каждой машине.

Начните с раздела Измерение стоимости плагина.

Измерение стоимости плагина

Чтобы увидеть, что плагин добавляет в контекст Claude, запустите claude plugin details с именем плагина. Вы запускаете его в своей оболочке, а не в приглашении запущенного сеанса Claude Code. Плагин должен быть загружен: установлен, находиться в каталоге skills или передан с помощью --plugin-dir в той же команде, как в claude --plugin-dir ./formatter plugin details formatter.

Этот пример читает установленный плагин с именем formatter, который имеет два skills, команду, agent, hook и MCP server:

claude plugin details formatter
formatter 1.0.0
  Description: Formats and lints code on save
  Source: formatter@my-marketplace

Component inventory
  Skills (3)  format-all, format-code, lint-fix
  Agents (1)  style-reviewer
  Hooks (1)  PostToolUse  (harness-only — no model context cost)
  MCP servers (1)  formatter-tools  (tool schemas resolved at runtime; not counted)
  LSP servers (0)

Projected token cost
  Always-on:   ~146 tok   added to every session

Per-component (rounded)
  component       always-on  on-invoke
  format-code           ~40        ~30
  lint-fix              ~50        ~30
  style-reviewer        ~40        ~40
  format-all           < 20        ~30

  On-invoke cost is paid each time a skill or agent fires.
  Token counts are estimates and may differ from actual usage.

Каждая часть вывода отвечает на другой вопрос:

  • Component inventory: что Claude Code нашел в плагине. Commands считаются вместе с skills, поэтому format-all появляется под Skills. Hooks и MCP servers не получают оценку стоимости и не имеют строки per-component; чтобы увидеть, что добавляют MCP tools плагина, запустите /context в сеансе с включенным плагином и прочитайте категорию MCP tools.
  • Always-on: токены, которые имена и описания skills, agents и commands плагина добавляют к каждому сеансу, в котором включен плагин, независимо от того, запускается ли что-либо. Это число, которое несет каждый пользователь, и то, которое нужно уменьшить.
  • Per-component: каждая строка разбивает один skill, agent или command на его always-on долю и его on-invoke стоимость, которая является телом, загружаемым только при запуске этого компонента. Используйте столбец always-on, чтобы найти, какой компонент вносит наибольший вклад.

Снижение значения always-on

Если вы поддерживаете плагин, эти изменения уменьшают то, что он добавляет к каждому сеансу. Если вы только его используете, ваши варианты — отключить или удалить его; см. Управление установленными плагинами.

Значение always-on считает имя каждого компонента плюс его description и when_to_use frontmatter. Чтобы его снизить:

  • Сократите описания skill и agent.
  • Разделите большой плагин, чтобы пользователи устанавливали только нужные им компоненты.

Описание skill также то, что Claude сопоставляет с запросом, поэтому более короткое может остановить срабатывание skill. После сокращения описаний проверьте срабатывание с помощью tool_used: Skill grader в вашем eval suite.

Для того, что вносит каждый тип компонента, см. plugin components.

Стоимость, показанная пользователям перед установкой

Плагины в официальном marketplace показывают свою стоимость пользователям перед установкой. В /plugin, когда пользователь просматривает список плагинов marketplace и выбирает плагин, панель деталей показывает раздел Context cost с линией Every turn: и линией When invoked:. Когда значение always-on составляет 2000 токенов или более, линия Every turn: отображается выделенной.

Плагин в вашем собственном marketplace не имеет раздела Context cost.

Проверка использования плагина

Claude Code не сообщает об использовании плагина его автору. Использование записывается на машине каждого человека, который установил плагин, поэтому то, что вы можете узнать, зависит от вашего отношения к этим людям:

  • Вы администрируете Claude Code для их организации: события OpenTelemetry и Analytics API считают установки и активации skills на каждой машине. См. Измерение по всему парку.
  • Это товарищи по команде, которых вы можете спросить: собственный Claude Code каждого пользователя показывает им, используют ли они все еще плагин, в четырех местах: панель /plugin, /skill-doctor, /doctor и /usage. Все четыре — это команды, которые пользователь запускает в приглашении Claude Code в сеансе на своей собственной машине.
  • Ни то, ни другое: у вас нет сигнала об использовании Claude Code для этого плагина.

Не использовалось недавно в `/plugin`

На вкладке Installed в /plugin плагин, который пользователь установил из marketplace, перемещается под заголовок Not used recently после того, как он не использовался в течение как минимум 14 дней и 10 сеансов. Детали плагина также показывают линию Last used:. Для того, что пользователи делают с этим заголовком и линией, см. Поиск плагинов, которые вы больше не используете.

Заголовок Not used recently никогда не появляется для:

  • Плагинов, загруженных с помощью --plugin-dir или из каталога skills
  • Плагинов, включенных через управляемые параметры или смонтированных из seed directory
  • Плагинов, которые включают тему, стиль вывода, монитор или workflow, потому что они используются без отслеживаемого вызова

Language server плагина считается используемым, когда он доставляет диагностику или отвечает на запрос навигации по коду, поэтому плагин LSP, сервер которого активен в ваших сеансах, не указывается как неиспользуемый.

Когда организация пользователя устанавливает strictKnownMarketplaces, ни заголовок, ни линия Last used: не отображаются.

Поиск skills, которые никогда не запускаются

Запустите /skill-doctor, чтобы увидеть, что стоит каждый из ваших skills и как часто он используется. Он отмечает skills, которые находятся в списке skills Claude, но никогда не были вызваны, включая skills из плагинов.

В интерактивном сеансе отчет открывается на вкладке Stats менеджера /plugin. См. Поиск неиспользуемых skills для того, что охватывает отчет и где он доступен.

Неиспользуемые плагины в `/doctor`

Проверка /doctor перечисляет каждый установленный пользователем skill, MCP server и плагин и рекомендует отключить те, которые не использовались. См. /doctor в справочнике команд.

Доля использования в `/usage`

На плане Pro, Max, Team или Enterprise разбивка /usage приписывает недавнее использование skills, subagents, плагинам и MCP servers как доле от общего количества. См. Использование команды /usage.

Измерение по всему парку

Если вы администрируете Claude Code для организации, вы можете измерить стоимость и использование плагина на каждой машине из одного из этих источников:

События OpenTelemetry для установок и использования плагинов

Эти события OpenTelemetry и атрибуты отвечают на каждый вопрос плагина из вашего backend:

Вопрос Событие или атрибут OpenTelemetry
Какие плагины устанавливаются и откуда claude_code.plugin_installed, один за установку
Какие плагины активны в скольких сеансах claude_code.plugin_loaded, один за включенный плагин в начале сеанса
Какие skills активируются и какой плагин их владеет claude_code.skill_activated, с plugin.name и marketplace.name для skills плагина
Что сообщают hooks плагина claude_code.hook_plugin_metrics, выпускается только для hooks в плагинах официального marketplace
Что стоит плагин в расходах API plugin.name и marketplace.name на cost counter, установленные, когда активный skill или subagent принадлежит плагину

Скрытые имена плагинов в вашем backend

Плагины из официального marketplace сообщают свое имя плагина и имя marketplace в ваш backend дословно. Имя каждого другого плагина скрывается или опускается по умолчанию, включая плагин из собственного marketplace вашей организации. Уровень доверия плагина решает, какой.

Чтобы получить реальные имена для некоторых событий, установите переменную окружения OTEL_LOG_TOOL_DETAILS на 1 на машинах, которые экспортируют телеметрию, например в блоке env тех же управляемых параметров, которые настраивают экспортер:

Событие По умолчанию С OTEL_LOG_TOOL_DETAILS=1
plugin_loaded plugin.name и marketplace.name — это буквальная строка third-party Реальные имена
plugin_installed, skill_activated plugin.name и marketplace.name опущены; на skill_activated, skill.name — это custom_skill Реальные имена
Cost counter plugin.name — это third-party; marketplace.name отсутствует Реальный plugin.name; marketplace.name все еще отсутствует

На plugin_loaded, plugin_id_hash все еще идентифицирует каждый плагин по умолчанию, поэтому вы можете считать отдельные плагины третьих сторон.

Запрос Analytics API

На плане Enterprise Analytics API отвечает на вопрос "какие плагины устанавливает и вызывает моя организация" из записей Anthropic, без необходимости в экспортере. GET /v1/organizations/analytics/plugins возвращает количество установок и вызовов за плагин, за день на Claude Code и Cowork, которые вы можете группировать по пользователю, группе RBAC или продукту.

Активность плагина, которая достигает Anthropic без имени плагина, отображается в одной агрегированной строке third-party. Поиск плагинов в телеметрии говорит, какие плагины Claude Code сообщает по имени.

Аутентифицируйте запрос с помощью ключа API, который имеет область read:analytics, которую Primary Owner создает, как описано в разделе Доступ к данным программно.

См. справочник конечной точки для параметров и полей ответа.

Следующие шаги