Skip to content

Latest commit

 

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cli-agents

cli-agents вызывает внешние Claude и Codex через их штатные CLI. Основные сценарии: независимый review, продолжительная дискуссия и multi-model panel/debate. Gemini CLI остаётся необязательным совместимым провайдером.

Обёртка использует binary из текущего $PATH, provider default и стабильные Claude aliases. Версии моделей и размеры контекста намеренно не зашиты в код: они меняются независимо от плагина.

Установка

Через личный marketplace:

/plugin marketplace add SVS696/svs-skills
/plugin install cli-agents@svs

Provider CLI устанавливаются и авторизуются отдельно. Для основной работы нужны claude и/или codex; gemini не обязателен.

command -v claude codex gemini
claude --version
codex --version

Быстрый старт

cd "${CLAUDE_PLUGIN_ROOT}/skills/cli-agents"

python3 cli_caller.py --model claude-opus \
  --stream \
  --cwd /path/to/project \
  --systemprompt architect_reviewer \
  --prompt "Проведи независимый read-only review ADR"

В Codex каталог обычно доступен как $HOME/.agents/skills/cli-agents.

По умолчанию вызовы read-only. Для явно порученной реализации добавь --access workspace-write. Режим inherit полностью доверяет локальному provider config.

Профили

  • codex, codex-review, codex-review-uncommitted, codex-json;
  • claude, claude-opus, claude-sonnet, claude-haiku;
  • gemini, gemini-json — только необязательная совместимость.

Конкретный model ID передаётся отдельно:

python3 cli_caller.py --model codex \
  --provider-model gpt-5.6-sol \
  --prompt "Проверь решение"

Полный контракт, timeout semantics, правила сессий и council описаны в skills/cli-agents/SKILL.md.

Council

Panel собирает независимые ответы параллельно и синтезирует вывод:

python3 agent_council.py --mode panel \
  --agents codex,claude-opus \
  --synthesize-with claude-opus \
  --topic "Range или hash partitioning?" \
  --cwd /path/to/project \
  --output /tmp/partition-panel.md

Debate передаёт каждому участнику полный транскрипт предыдущих ходов:

python3 agent_council.py --mode debate \
  --agents codex,claude-opus \
  --rounds 4 \
  --topic "SQS или Kafka?" \
  --cwd /path/to/project \
  --output /tmp/queue-debate.md

Что изменилось в 3.0.2

  • Claude получает роль и execution boundary через настоящий --append-system-prompt; пользовательский запрос остаётся отдельным user message;
  • потоковый parser устойчив к пустым, скалярным и частично повреждённым JSONL-events;
  • live-вывод больше не склеивает текст вокруг tool calls и не дублирует финал в интерактивном терминале;
  • read-only review проверен живыми Claude Haiku/Sonnet без plan-file, рекурсии и вызова ExitPlanMode.

Что изменилось в 3.0.1

  • системные промпты переписаны по текущему OpenAI Prompting Cookbook/GPT-5.6 guidance: outcome-first, evidence и access boundaries, явный output contract и stop rule;
  • удалены ложные утверждения про Zen MCP server, full repository access и устаревший /review;
  • фактические --access и --cwd теперь входят в execution context каждого непустого вызова;
  • read-only Claude запускается в --safe-mode с явно запрещёнными write-tools, чтобы hooks/plugins и plan-notes не нарушали изоляцию review;
  • добавлен --stream: Claude partial text и Codex JSONL-прогресс показываются вживую, без сырого event dump; при redirect чистый финал остаётся в stdout, а прогресс уходит в stderr;
  • council не заставляет модель выбирать при недостатке evidence и не принимает большинство голосов за доказательство.

Что изменилось в 3.0.0

  • удалены устаревающие aliases конкретных Gemini/Codex model ID;
  • codex использует текущий CLI/config default;
  • Claude-профили используют aliases opus, sonnet, haiku;
  • добавлен --provider-model для явного provider model ID;
  • read-only стал default для всех внешних вызовов;
  • Gemini больше не запускается с --yolo; deprecated -p заменён позиционным prompt;
  • неизвестный system prompt теперь даёт ошибку вместо тихого fallback;
  • исправлен Codex resume, который раньше получал неподдерживаемые flags;
  • council больше не использует неоднозначный provider-global --session last;
  • --idle-timeout и hard --timeout разведены в документации и CLI council;
  • timeout завершает process group целиком;
  • удалён заброшенный Ollama/n8n server layer с древними моделями и абсолютными путями.

Изменение намеренно несовместимо со старыми именами вроде gemini-3-pro и codex-gpt-5.5. Используй базовый профиль и --provider-model.

Разработка

python3 -m unittest discover -s tests -v
python3 -m compileall -q skills/cli-agents
python3 skills/cli-agents/cli_caller.py --model codex --info
python3 skills/cli-agents/cli_caller.py --model claude-opus --info

Структура:

skills/cli-agents/
├── SKILL.md
├── cli_caller.py
├── agent_council.py
└── systemprompts/
tests/
├── test_agent_council.py
├── test_cli_caller.py
└── test_contract.py

Лицензия

MIT

About

Claude Code skill: direct CLI wrappers for Gemini/Codex/Qwen/Claude + multi-agent council (panel/debate) and code-review tools

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages