ワンクリックで
besimple-tiny-broccoli
// Small-change wrapper: implement → run repo checks → atomic commit → run dedup (BASE_SHA..HEAD).
// Small-change wrapper: implement → run repo checks → atomic commit → run dedup (BASE_SHA..HEAD).
Deploy this repository to a new Google Cloud project using the repo's existing Cloud Run, Cloud Run Jobs, Cloud SQL, Secret Manager, and Artifact Registry scripts. Use when Codex needs to interpret a generic repo setup request as a deploy, discover the active gcloud operator/account/org/billing context, fail early on missing gcloud permissions or local prerequisites, or perform the actual Broccoli OSS GCP deployment behind an explicit apply step.
Non-interactive wrapper: plan-sketch -> auto-pick recommended options -> plan-write -> plan-critique-loop -> implement-from-plan -> claude-simplify-wrapper -> dedup -> code-review-loop. No PR creation and no Linear comments.
Run Claude's built-in /simplify skill on BASE_SHA..HEAD, validate checks, and commit.
Iterative review+fix loop for BASE_SHA..HEAD: generate findings, apply accepted fixes, run checks, commit, and re-review up to 3 iterations or until clean.
Dedupe-only pass for BASE_SHA..HEAD: remove duplicate code introduced by the diff or reuse existing shared utils; applies changes + commits.
Implement an approved plan doc step-by-step in application or systems codebases, including Node/TS, Python, and C/C++ repos (build/lint/test per step, atomic commits, progress log hygiene). Use when you have a plan/*.md and want to execute it.
| name | besimple-tiny-broccoli |
| description | Small-change wrapper: implement → run repo checks → atomic commit → run dedup (BASE_SHA..HEAD). |
Use this when the user request is already clear and you can safely implement directly (no plan docs), but you still want:
git rev-parse --show-toplevelgit status --porcelain is emptyuser.name / user.email configured)codex, claudededupBASE_SHA (required)Capture the base ref before any changes (used later for dedup):
BASE_SHA="$(git rev-parse HEAD)"
Do a one-time tooling detection + configuration so the per-step “build/lint” commands match the target repo.
Detect languages and entrypoints
package.json in repo root and common subprojects (for example functions/package.json).pyproject.toml, uv.lock, poetry.lock, requirements.txt.
Pick build/lint/typecheck commands (prefer repo-native scripts)npm run build, npm run lint, npm test).uv is clearly in use: use uv-based commands.poetry run ......., lint=......, lint=......, typecheck=..., lint/format=...git add -Agit commit -m "<imperative summary>" (example: Fix flaky upload retry).--allow-empty is prohibited).dedup against BASE_SHA (required)Ensure the working tree is clean, then run the dedupe loop:
if [ -n "$(git status --porcelain)" ]; then
echo "Working tree is not clean; commit or stash before running dedup." >&2
exit 1
fi
resolve_skill_dir() {
local name="$1"
local repo_root=""
repo_root="$(git rev-parse --show-toplevel 2>/dev/null || pwd)"
local candidates=(
"$repo_root/.agents/skills/$name"
"$repo_root/.claude/skills/$name"
"$HOME/.agents/skills/$name"
"$HOME/.codex/skills/$name"
"$HOME/.claude/skills/$name"
)
for d in "${candidates[@]}"; do
if [[ -d "$d" ]]; then
echo "$d"
return 0
fi
done
echo "Error: skill '$name' not found in repo-scoped or user-scoped skill dirs." >&2
return 1
}
DEDUP_SKILL_DIR="$(resolve_skill_dir dedup)"
python3 "$DEDUP_SKILL_DIR/scripts/run_dedup_loop.py" "${BASE_SHA}"
If dedup creates additional commits, re-run the Tooling config checks once at the end and fix only issues introduced by dedupe changes.
Do not interrupt/restart the dedup loop if it looks quiet; the loop script owns timeouts and retries.