# repo-bundle-review-apply > Bundle a local git repository into a zip excluding .gitignored files (optionally include sanitized .git metadata), submit it to an OpenAI API model for a long-running review, extract a unified diff patch from the response, apply the patch locally, and capture follow-up instructions. - Author: c7121 - Repository: c7121/agent-skills - Version: 20260104115421 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-07 - Source: https://github.com/c7121/agent-skills - Web: https://mule.run/skillshub/@@c7121/agent-skills~repo-bundle-review-apply:20260104115421 --- --- name: repo-bundle-review-apply description: Bundle a local git repository into a zip excluding .gitignored files (optionally include sanitized .git metadata), submit it to an OpenAI API model for a long-running review, extract a unified diff patch from the response, apply the patch locally, and capture follow-up instructions. --- # Repo Bundle Review Apply ## Goal Bundle a repo (without ignored files), send it to an OpenAI API model for feedback + a `git apply`-compatible patch, apply the patch, then follow the model’s post-apply instructions. ## Prerequisites - Set `OPENAI_API_KEY` (API access is separate from ChatGPT Pro/Plus UI subscriptions). - Choose a model ID your API project can access (optionally: `curl https://api.openai.com/v1/models -H "Authorization: Bearer $OPENAI_API_KEY"`). ## Run Review + apply: `python3 $CODEX_HOME/skills/repo-bundle-review-apply/scripts/repo_bundle_review_apply.py --repo . --model --message "Request feedback + a unified diff patch"` Manual UI mode (no API call; for ChatGPT “Pro/Thinking” reviews): `python3 $CODEX_HOME/skills/repo-bundle-review-apply/scripts/repo_bundle_review_apply.py --repo . --manual --message "Request feedback + a unified diff patch"` Fetch/save patch but don’t apply: `python3 $CODEX_HOME/skills/repo-bundle-review-apply/scripts/repo_bundle_review_apply.py --repo . --model --message "..." --no-apply` ## Outputs Writes artifacts to `/.codex-review/` by default: - `bundle.zip` - `prompt.md` (copy/paste this into ChatGPT UI in `--manual` mode) - `response.md` - `patch.diff` ## Common options - `--include-git none|metadata|full` (default: `metadata`; metadata sanitizes `.git/config` URLs) - `--artifact-dir ` (default: `.codex-review` under the repo root) - `--bundle-only` (only write `bundle.zip` and exit) - `--manual --manual-input file|stdin --manual-response-path ` (human-in-the-loop UI flow; waits for response) - `--no-background` (single synchronous request; more timeout-prone) - `--allow-git-dir-changes` (unsafe; default refuses diffs touching `.git/**`)