diff --git a/AGENTS.md b/AGENTS.md index 0c027ca..a2f57ee 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -44,6 +44,21 @@ This repository contains personal dotfiles and configurations for a highly produ * **Safe Commands:** `git status`, `git diff`, and `git add` are pre-approved in the policy. * **Commits:** Always use the `conventional-commits` skill for generating commit messages. Use the ` Способ B` (temporary file) if direct Heredoc causes issues. +## 📋 TODO + +### codex-review: убрать permission prompts + +Скилл `codex-review` (`agents/.agents/skills/codex-review/SKILL.md`) вызывает +safety warnings Claude Code на `$()` и `>` в bash-командах. Allow-list не помогает — +это отдельный слой проверок. + +**Решение:** переписать шаги скилла, заменив bash-паттерны на встроенные инструменты: + +- **Шаг 2 (Session ID):** Claude генерирует ID сам, без `$(date)` в bash. +- **Шаг 3 (Diff):** `git diff` → результат через Write tool вместо `>` redirect. +- **Шаг 7 (Resume):** stdout tool result вместо `> file 2>&1`. +- Шаги 4 и 9 — без изменений (`-o` и `rm -f` работают). + ## ⚠️ Important Files for Reference * `README.md`: Detailed installation and usage instructions. * `bash/.bash_functions`: Proxy and environment management functions. diff --git a/TODO.md b/TODO.md index d0e2f07..a6576c6 100644 --- a/TODO.md +++ b/TODO.md @@ -9,4 +9,4 @@ (поддержка `config.d/`) будет смержен — разбить конфиг на фрагменты и подключить через stow, как остальные пакеты. -Связанный PR: [anomalyco/opencode#16525](https://github.com/anomalyco/opencode/pull/16525) +Связанный PR: [anomalyco/opencode#16525](https://github.com/anomalyco/opencode/pull/16525) \ No newline at end of file diff --git a/agents/.agents/skills/codex-review/SKILL.md b/agents/.agents/skills/codex-review/SKILL.md index 31103e8..add8614 100644 --- a/agents/.agents/skills/codex-review/SKILL.md +++ b/agents/.agents/skills/codex-review/SKILL.md @@ -42,7 +42,7 @@ user_invocable: true ### Шаг 2: Сгенерировать Session ID ```bash -REVIEW_ID=$(date +%s | tail -c 9) +REVIEW_ID="$(date +%s)-${RANDOM}" ``` ### Шаг 3: Подготовить материал для ревью @@ -212,10 +212,10 @@ timeout 600 codex exec resume ${CODEX_SESSION_ID} \ Here's what I changed: [Список правок] -Please re-review. End with VERDICT: APPROVED or VERDICT: REVISE" 2>&1 | tail -200 +Please re-review. End with VERDICT: APPROVED or VERDICT: REVISE" > /tmp/codex-review-${REVIEW_ID}.md 2>&1 ``` -**Примечание:** `resume` не поддерживает `-o`. Вывод читается из stdout через `tail -200`. +**Примечание:** `resume` не поддерживает `-o`. Вывод перенаправляется в файл через `>`. Затем читай файл как обычно (Шаг 5). **Fallback** — если `resume` не сработал (сессия истекла, session ID не захвачен): diff --git a/claude/.claude/settings.local.json b/claude/.claude/settings.local.json index 601e87d..b25c965 100644 --- a/claude/.claude/settings.local.json +++ b/claude/.claude/settings.local.json @@ -104,9 +104,10 @@ "Bash(gh issue:*)", "Bash(gh repo:*)", "Bash(codex *)", - "Bash(timeout *)", - "Bash(rm -f /tmp/claude-*)", - "Bash(rm -f /tmp/codex-*)", + "Bash(timeout 600 codex exec *)", + "Bash(rm -f /tmp/claude-diff-*)", + "Bash(rm -f /tmp/claude-plan-*)", + "Bash(rm -f /tmp/codex-review-*)", "WebSearch", "mcp__claude_ai_Context7__resolve-library-id", "Write(/tmp/claude-plan-*)",