Agent skill
human-gating-antipattern
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/human-gating-antipattern
SKILL.md
Human Gating Anti-Pattern Skill
Version: 1.0.0 Compiler: manual (bootstrap) Last Updated: 2026-01-22
Recognize and avoid using humans as proxies for automatable verification tasks.
When to Activate
Use this skill when:
- About to ask user to test something
- About to ask user to click something
- About to ask user for a screenshot
- About to ask user to verify UI
- Tempted to write "please check if"
Core Principles
1. Humans Are Not CI Systems
Every request to a human for verification is a context switch for them and a blocking wait for you.
Humans have better things to do than be button-clicking proxies for AI agents.
2. Recognize the Pattern
Before asking a human to do something, ask yourself - could a script do this?
Most verification tasks feel like they need humans but are actually automatable.
3. The Ratio Matters
Time spent writing automation vs time saved by not asking humans tips heavily toward automation after 2-3 iterations.
One click feels fast; ten iterations of one click is slow.
4. Respect Human Attention
Human attention is precious and finite; spend it only on tasks that genuinely require judgment.
Good agent-human collaboration reserves humans for what only humans can do.
Workflow
Phase 1: Recognize
Identify when you are about to human-gate.
- Notice phrases like "please test this", "can you check if", "click this and tell me"
- Notice when you are waiting for human confirmation to proceed
- Notice when you are asking for verification of something that has a clear pass/fail
Outputs: Recognition that human-gating is about to occur
Phase 2: Assess
Determine if the task is genuinely human-required.
- Ask - is this a judgment call or a binary verification?
- Ask - could I write a script to do this in under 5 minutes?
- Ask - how many iterations might this require?
- Ask - what am I actually asking the human to do?
Outputs: Classification (automatable vs genuinely human-required)
Phase 3: Redirect
If automatable, redirect to autonomous testing instead.
- Identify the right tool (Puppeteer, curl, script, etc.)
- Write the verification test
- Run it yourself
- Report results with evidence
Outputs: Automated test execution, Evidence-backed result
Phase 4: Escalate Properly
If genuinely human-required, escalate with full context.
- Explain what you already tried and verified
- Be specific about what subjective judgment you need
- Provide screenshots/evidence gathered so far
- Make the human task as minimal as possible
Outputs: Well-scoped request for human judgment
Patterns
| Pattern | When | Do | Why |
|---|---|---|---|
| Self-Verification Check | About to type "please test" or "can you verify" | Pause and ask whether this could be automated | The pause creates space to redirect to better approaches |
| Screenshot Instead of Ask | Need to show something to the user | Take a screenshot programmatically and include it in your response | Shows the result without requiring human action |
| Iteration Threshold | Already asked human to verify something once | Automate before the second request | One iteration might be acceptable; two indicates a pattern that should be automated |
| Evidence-First Escalation | Must escalate to human for genuine judgment | Include all evidence gathered, attempts made, and specific question needing judgment | Respects human time by making their task as efficient as possible |
Anti-Patterns to Avoid
| Anti-Pattern | Why It Fails | Instead |
|---|---|---|
| Button-Click Proxy | Human becomes a test runner; slow, frustrating, breaks flow | Write Puppeteer script to click and verify |
| Refresh-and-Check | Human is doing what curl or a browser script could do | Automate the refresh and assertion |
| Screenshot Request | Async back-and-forth; manual image comparison | Take screenshot programmatically during automated test |
| Manual Regression Testing | Human is running a test suite manually | Write automated tests for each scenario |
| Polling for Status | Human is a glorified while-loop | Poll programmatically with appropriate waits |
| Lazy Verification | Short-term laziness becomes long-term inefficiency | Invest 2 minutes in automation; save 20 minutes of back-and-forth |
Quality Checklist
Before completing:
- Recognized potential human-gating before acting on it
- Assessed whether the task is genuinely human-required
- If automatable, wrote and ran verification test instead
- If genuinely human-required, provided full context and minimal task scope
- Avoided asking for the same type of verification twice without automating
Examples
Verifying a CSS fix
BAD: "I made the CSS change. Can you refresh the page and check if the button is now blue?"
GOOD: Write Puppeteer script that loads page, finds button, extracts computed style, asserts color is blue.
Report: "CSS fix applied. Automated test confirms button color is now #0066cc. Screenshot attached."
Verifying an API endpoint
BAD: "I fixed the endpoint. Can you try calling it and see if it returns 200?"
GOOD: Use curl or httpx to call the endpoint, assert status code, log response.
Report: "Endpoint fix deployed. curl confirms 200 response. Response body: {...}"
Subjective design review (genuinely human-required)
BAD: "Does this look good?" (too vague)
GOOD: "I've implemented the layout change. Here's a screenshot. Specific question: Is the spacing between these elements appropriate for the design system, or should it be adjusted? I verified it renders correctly on mobile and desktop (screenshots attached)."
References
- Autonomous testing skill - for how to write verification tests
- Iterative debugging skill - for how to verify fixes
- Session insight - realized during Oracy debugging that asking human to repeatedly test UI was inefficient
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?