Claude Info
Код-ревью

cc-feedback

obsfx/cc-feedback

Claude Code плагин для разработчиков, которые хотят оставаться в контексте агентного кодинга. Находит аннотации @feedback в исходниках, реализует запрошенные изменения и оставляет @agent-response для ревью перед коммитом.

Установка

terminal
bash
git clone https://github.com/obsfx/cc-feedback.git

README

feedbacks

Одна из главных вещей, которую я понял в процессе агентного кодинга — это необходимость оставаться в контексте и не терять нить происходящего. Иногда агенты делают глупые и неэффективные вещи. Нужно вмешиваться вовремя, чтобы не наломать дров в будущем. Всё встало на своё место после того, как я прочитал короткий пост от создателя Django. Я всегда ищу способ добавить комментарии к работе агента и передать их ему до того, как что-то попадёт в git. Так я разработал этот небольшой плагин для Claude Code. Он предельно прост. Я добавляю аннотации // @feedback: прямо в редакторе, а агент их читает и отвечает на них. Просто, без лишнего — и вполне достаточно для ревью и внесения правок.

Плагин для Claude Code, который находит аннотации @feedback в исходном коде и реализует запрошенные изменения.

Рабочий процесс

mermaid
graph LR
    A["Добавить @feedback комментарии"] --> B["/feedbacks:address"]
    B --> C["Проверить изменения + @agent-response"]
    C --> D["/feedbacks:resolve"]
    D --> E["Чистый код → коммит"]

Установка

bash
# Добавить маркетплейс
claude plugin marketplace add obsfx/cc-feedback

# Установить плагин
claude plugin install feedbacks

Или в интерактивном режиме Claude Code:

/plugin marketplace add obsfx/cc-feedback /plugin install feedbacks

Как это работает

Расставьте комментарии @feedback в коде с описанием желаемых изменений. Плагин найдёт их, реализует изменения и оставит @agent-response для проверки.

До:

js
// @feedback: extract this into a reusable hook
export function Component() {
  const [data, setData] = useState([]);
  useEffect(() => { fetchData().then(setData); }, []);
  return <List items={data} />;
}

После:

js
// @feedback: extract this into a reusable hook
// @agent-response: extracted to hooks/useData.ts
export function Component() {
  const data = useData();
  return <List items={data} />;
}

Поддерживаемые стили комментариев

Работает с синтаксисом комментариев любого языка:

СтильЯзыки
// @feedback: ...JS, TS, Java, Go, C, Rust, Swift
# @feedback: ...Python, Ruby, Shell, YAML
/* @feedback: ... */CSS, SCSS, C (блочный)
<!-- @feedback: ... -->HTML, XML, Vue
-- @feedback: ...SQL, Lua, Haskell

Использование

Команда /feedbacks:address

Явно сканирует и обрабатывает все аннотации @feedback в кодовой базе:

/feedbacks:address /feedbacks:address src/components/
  • Находит все аннотации @feedback
  • Пропускает уже обработанные (те, у которых есть @agent-response)
  • Реализует каждое изменение
  • Добавляет @agent-response: <краткое описание> для проверки

Команда /feedbacks:list

Выводит список всех аннотаций @feedback с их статусом и ответами агента:

/feedbacks:list /feedbacks:list src/components/

Команда /feedbacks:resolve

Удаляет все строки с аннотациями @feedback и @agent-response из кодовой базы, оставляя чистый код, готовый к коммиту:

/feedbacks:resolve /feedbacks:resolve src/components/

Проактивное обнаружение

Плагин также включает агента, который замечает аннотации @feedback во время работы над другими задачами и предлагает их обработать.

Жизненный цикл аннотации

mermaid
stateDiagram-v2
    [*] --> Unaddressed : разработчик добавляет feedback
    Unaddressed --> Addressed : агент реализует изменения и отвечает
    Addressed --> Resolved : команда resolve удаляет аннотации
    Resolved --> [*]

Компоненты

КомпонентНазначение
/feedbacks:addressСканировать и реализовать все feedback'и
/feedbacks:listВывести все аннотации со статусом
/feedbacks:resolveУдалить аннотации для чистого коммита
feedback-protocol skillЗнание протокола, автозагрузка при необходимости
feedback-addresser agentАвтономный исполнитель, проактивное обнаружение

Лицензия

MIT

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