Turn the agent's most recent mistake into an enforced ThumbGate prevention rule (a PreToolUse block gate) so the same bad tool call is intercepted before it runs again, in this and every future session across Claude Code, Cursor, Codex, Gemini, Amp, and Cline. Captures the failure with the capture_feedback MCP tool, then force-promotes it via `npx thumbgate force-gate` so it is enforced, not just logged. Use when the user says "guard against this", "block this from happening again", "never do that again", "make that a rule", "stop the agent from repeating that", or right after a bad action or thumbs-down that should become a hard rule. Do NOT use to merely log a thumbs-up/down without enforcement (use the thumbgate-feedback skill), to recall prior context before starting work (use the Agent Memory skill), or to list rules that already exist (use the thumbgate-rules skill).
Resources
1Install
npx skillscat add igorganapolsky/thumbgate/thumbgate-guard Install via the SkillsCat registry.
ThumbGate Guard
Escalate the agent's most recent mistake into an enforced ThumbGate prevention rule — a
PreToolUse block gate that intercepts the same bad tool-call shape before it runs again, in this
session and every future one (Claude Code, Cursor, Codex, Gemini, Amp, Cline).
This skill wraps existing ThumbGate capability and adds no new logic — it routes to the realcapture_feedback + force-promote path.
Workflow
- Name the mistake. From the recent conversation, state the specific bad action in one
sentence (e.g.git push --force origin main,DROP TABLE users, deploy without tests). - Capture it with the
capture_feedbackMCP tool:signal: "down",context,whatWentWrong,whatToChange,tags. If the user only gave a vague signal, pass the recent
turns asconversationWindow/chatHistoryfor history-aware distillation instead of refusing. - Promote it to an enforced gate:
This prints the newnpx thumbgate force-gate "<one-sentence context of the mistake>"gateIdand the active gate count. - Confirm enforcement. Show the user the promoted rule and state that it is now a PreToolUse
block — not just a logged note.
Full capture_feedback field contract, force-gate flags, and the guided first-rule walkthrough
(npx thumbgate quickstart) are in
references/capture-and-promote.md.
Example
Input: "the agent force-pushed to main and overwrote a teammate's commit — never again"
Action:
capture_feedback→signal: down,context: "agent force-pushed to main, overwrote a teammate's commit",whatWentWrong: "destructive force-push to a shared branch",whatToChange: "block force-push to main",tags: "git,force-push".npx thumbgate force-gate "force-push to main overwrote a teammate's commit".- Report: the real
gateId+ "force-push to main is now blocked as a PreToolUse check."
Troubleshooting
- "Vague feedback rejected": add
whatWentWrong+whatToChange, or passconversationWindow
so it can distill from history. force-gateprints nothing or errors: ThumbGate may not be wired — run the thumbgate-doctor skill.- Rule didn't fire next time: confirm it is active with the thumbgate-rules skill and that
hooks are installed (thumbgate-doctor).
Quality checklist (self-verify before delivering)
- I named one specific bad tool-call shape, not a vague complaint.
- I captured it with
capture_feedback(signal: down) includingwhatWentWrong+whatToChange. - I promoted it with
npx thumbgate force-gateand reported the realgateId. - I confirmed it is now enforced as a PreToolUse block, not just logged.
- I added no new logic — only the existing capture + force-promote paths were used.