From c460745bcbc390ae59123a76edf1f1214e659aae Mon Sep 17 00:00:00 2001 From: Christian Gunderman Date: Wed, 13 May 2026 10:12:43 -0700 Subject: [PATCH] fix(bot): enforce github-first discovery and forbid local fishing - Updates the `issue-fixer` skill to strictly forbid the use of local tools (like lint, tsc, grep) for finding tasks. - Updates `scheduled.md` to clarify that local tools are for verification only. --- tools/gemini-cli-bot/.gemini/skills/issue-fixer/SKILL.md | 5 +++-- tools/gemini-cli-bot/brain/scheduled.md | 4 ++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/tools/gemini-cli-bot/.gemini/skills/issue-fixer/SKILL.md b/tools/gemini-cli-bot/.gemini/skills/issue-fixer/SKILL.md index 7fa7cb428c..274e2463fb 100644 --- a/tools/gemini-cli-bot/.gemini/skills/issue-fixer/SKILL.md +++ b/tools/gemini-cli-bot/.gemini/skills/issue-fixer/SKILL.md @@ -13,10 +13,10 @@ maintain existing PRs to reduce the repository backlog. ## High-Level Expectations 1. **Maintenance**: Prioritize driving existing `bot-fix` PRs to completion. Check for CI failures, merge conflicts, or requested changes. -2. **Discovery**: Find open issues labeled `effort/small`. Prioritize those with clear reproduction steps. +2. **Discovery**: Find open issues labeled `effort/small`. Prioritize those with clear reproduction steps. You are STRICTLY FORBIDDEN from using local commands (e.g., `npm run lint`, `npm run typecheck`, or grepping for TODOs) to find new work. 3. **Autonomous Implementation**: You are responsible for the entire fix: research, code changes, and test verification. 4. **Surgical Precision**: Changes must be minimal and strictly focused on the identified issue. Avoid "drive-by" refactoring. -5. **Local Verification**: You MUST run `npm run preflight` locally and iterate on any failures before finalizing your PR. +5. **Local Verification**: You MUST run `npm run preflight` locally and iterate on any failures before finalizing your PR. Local commands are for VERIFICATION ONLY, never for discovery. 6. **Expert Mentions**: Identify the domain expert for the affected files and CC them in the PR description. 7. **Focused Contributions**: Limit your active PRs to ~10 at a time. Try to complete existing PRs before opening new ones. If a maintainer closes a PR, that may be an indication that they are rejecting the fix. @@ -26,6 +26,7 @@ maintain existing PRs to reduce the repository backlog. - If any require attention (CI failure, requested changes), focus your entire run on resolving ONE of them. - Do NOT start a new issue fix if an existing PR needs work. 2. **Search for Candidates**: If no PRs need attention, search for `effort/small` issues: `gh issue list --label "effort/small" --limit 10`. + - **CRITICAL**: Do NOT run local discovery commands (e.g., `npm run lint`, `npm run typecheck`) to look for "easy fixes". `gh issue list` is your ONLY source for new tasks. 3. **Select ONE Issue** and implement a fix on a new branch. 4. **Verify** via `npm run preflight`. 5. **Use the `prs` Skill** to stage changes and prepare the draft PR (label: `bot-fix`). diff --git a/tools/gemini-cli-bot/brain/scheduled.md b/tools/gemini-cli-bot/brain/scheduled.md index dc731e63ba..1b4c017468 100644 --- a/tools/gemini-cli-bot/brain/scheduled.md +++ b/tools/gemini-cli-bot/brain/scheduled.md @@ -83,6 +83,10 @@ For any detected bugs, bottlenecks, or opportunities: - **Delegation Guidelines**: Do NOT delegate to the 'generalist' agent. Delegate data-intensive tasks (like repository metrics collection) to the 'worker' agent. +- **Verification vs. Discovery**: Local commands (e.g. `npm run lint`, + `npm run typecheck`) are for VERIFYING fixes to explicitly assigned tasks + only. They must NEVER be used for unprompted "fishing expeditions" to find new + work. - **Monorepo Build Order**: When verifying the workspace or diagnosing errors, you MUST run `npm run build` BEFORE running `npm run typecheck`. In a clean state, `tsc` will report widespread errors (TS6305) if the project's build