К основному содержанию
скилл CX Codex

agent-interface-design — скилл для Claude Code: интерфейсы для агентов

Помогает проектировать инструменты, скрипты и CLI, которые вызывает агент: параметры и описания сами объясняют, как этим пользоваться. Пригодится при сборке MCP-сервера или когда агент раз за разом ошибается с уже имеющимся инструментом.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add Neeeophytee/finding-unknowns-skills --skill agent-interface-design -a claude-code
Открыть на GitHub

Что делает agent-interface-design

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

Дальше смысл переносится в параметры. Перечисление вместо свободного текста, например pending | in_progress | completed, описывает всё состояние без единой фразы прозы. Имена даются по намерению, а не по реализации. Где позволяет система типов, неверные состояния делаются невыразимыми. Поведенческие указания уходят в описание самого инструмента, в точку вызова, и больше нигде не дублируются.

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

Какие задачи решает

  • переписать параметры инструмента так, чтобы агент вызывал его правильно
  • убрать из описания инструмента прозу, которая дублирует глобальные инструкции
  • найти настоящую причину, по которой агент раз за разом ошибается с инструментом
  • решить, какие инструменты держать в контексте, а какие открывать по запросу
  • проверить сигнатуру на всех существующих вызовах перед переименованием

Примеры запросов агенту

  • Посмотри логи вызовов и скажи, почему агент неправильно использует этот инструмент
  • Перепиши описание и параметры этого MCP-инструмента по скиллу agent-interface-design
  • Проверь сигнатуру этой функции: какие ошибки она всё ещё допускает и нужен ли ограничитель

Как установить agent-interface-design

1Через Skills CLI (Vercel)

npx skills add Neeeophytee/finding-unknowns-skills --skill agent-interface-design -a claude-code

2Вручную: положить файлы

~/.claude/skills/agent-interface-design/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/agent-interface-design/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о agent-interface-design

Как установить agent-interface-design в Claude Code?

Выполните npx skills add Neeeophytee/finding-unknowns-skills --skill agent-interface-design -a claude-code. Файл скилла окажется по пути ~/.claude/skills/agent-interface-design/SKILL.md.

Что делает agent-interface-design?

Помогает проектировать инструменты, скрипты и CLI для вызова агентом так, чтобы интерфейс сам объяснял своё использование. Смысл переносится в параметры и описание, а не в примеры и длинный текст.

Для каких платформ подходит этот скилл?

Claude, Codex, Cursor, GitHub Copilot, Gemini CLI и OpenCode — для каждой свой способ установки. Есть также путь для Windsurf (Devin Desktop).

Исходный текст

SKILL.md · MIT
---
name: agent-interface-design
description: Design tools, scripts, and CLIs that an agent will call, so the interface teaches its own use instead of a wall of prose and examples. Use when building an MCP server or tool definition, writing an agent-facing script, or when an agent keeps misusing a tool it already has.
---

# Agent interface design

Examples teach one path and quietly fence off the others: shown three ways to call a tool, a model tends to produce those three. A well-designed interface teaches the whole space at once. The parameters say what is possible, the description says what is expected, and there is very little left to write.

## Steps

1. Find out how the tool is actually being misused before redesigning it. Read transcripts, logs, or the user's complaint. Misuse is an interface symptom first and a documentation symptom second, and the fix is usually a rename or a type, not a paragraph.
2. Push meaning into the parameters:
   - Enumerate instead of accepting free text. A status of `pending | in_progress | completed` teaches the whole state machine without a sentence of prose.
   - Name for intent rather than implementation, so the right call is the one that reads correctly.
   - Make invalid states unrepresentable wherever the type system allows it. A parameter that cannot express a mistake needs no warning about that mistake.
3. Put behavioral instruction in the tool's own description, at the point of use, and only there. The same guidance restated in a global preamble is how a codebase grows contradictions.
4. Treat the urge to add a usage example as a diagnostic: it usually means a parameter is underspecified. Fix the interface first. Keep an example only for a format that genuinely cannot be guessed, such as a bespoke query syntax.
5. Decide what is resident and what is discoverable. Tools needed on most turns belong in context; tools needed rarely should be findable on demand so they cost nothing until they're wanted.
6. Finish by naming the mistake the design still permits, and say whether it is cheap enough to live with or needs an explicit guardrail.

## Guardrails

- A description that has to explain what a parameter means is a parameter that needs a better name.
- Irreversible and high-stakes operations are the exception to all of the above: there, explicit constraint and confirmation beat elegance.
- Never redesign a signature without first finding every existing caller.
- Terseness is not the goal; expressiveness is. Cutting a description that carried real behavior is a worse outcome than a description that ran long.

© Neeeophytee · MIT · Neeeophytee/finding-unknowns-skills

Похожие скиллы

Все скиллы по теме «Настройка агента: память, контекст, субагенты» →
setup-matt-pocock-skills Matt Pocock Скилл настраивает репозиторий для инженерных скиллов Matt Pocock: задаёт трекер задач, метки триажа и расположение доменной документации. Запустите его перед первым использованием остальных скиллов. 1 052 851установок ask-matt Matt Pocock Помогает выбрать подходящий скилл или рабочий поток из набора Matt Pocock. Пригодится, когда непонятно, с чего начать задачу: от идеи до разбора бага. 766 587установок to-tickets Matt Pocock Разбивает план, спецификацию или переписку на небольшие сквозные задачи и отмечает, какие из них блокируют остальные. Пригодится, когда нужно согласовать порядок работы до публикации задач в трекере. 711 230установок writing-plans Jesse Vincent Скилл превращает требования к многошаговой задаче в подробный план реализации до начала работы с кодом. Пригодится, когда исполнителю нужно зафиксировать файлы, интерфейсы и проверки. CX Codex 282 859установок caveman-review JuliusBrussee Пишет замечания к коду одной строкой: место, проблема, исправление. Пригодится, когда ревью диффа или PR надо пройти быстро и без воды. CX Codex +1 411 800установок caveman-compress JuliusBrussee Сжимает CLAUDE.md, списки задач и другие текстовые файлы в краткий формат, сохраняя читаемую резервную копию. CX Codex +1 411 500установок

Из того же набора5

Спонсоры проекта

Компании, которые помогают держать аналитику открытой