human-like-interaction
Skill10 starsChanged 2 months agoApache-2.0View on GitHub
Control interaction cadence with four named profiles (DETERMINISTIC/BALANCED/HUMAN_LIKE/CUSTOM) backed by a seeded PRNG, so human-like behavior is reproducible, inspectable and configurable.
In this repository16 other files it gives its agents.
- browser-forensicsSkill
- browser-interactionSkill
- browser-state-recoverySkill
- dom-inspectionSkill
- dom-mutationSkill
- dom-targetingSkill
- extension-troubleshootingSkill
- mcp-troubleshootingSkill
- page-annotationSkill
- project-captureSkill
- project-reconstructionSkill
- regression-testingSkill
- selector-recoverySkill
- tab-managementSkill
- viewport-testingSkill
- visual-dom-comparisonSkill
The file
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 21
Default profile is DETERMINISTIC (zero delay) — legacy behavior is preserved until you opt in.
- Very specific: line 60
If a site still flags automation, remember the platform does not spoof fingerprints/UA here — combine with emulate_device and honest …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Skill: Human-Like Interaction
PURPOSE
Make automation cadence explicit and reproducible. The timing engine is a deterministic seeded PRNG (Mulberry32) plus a timing model — never untraceable random delays. Every profile, drawn delay and action timing is inspectable, satisfying the Human Mode Safety contract: traceable, configurable, deterministic by default.
WHEN TO USE
- Interacting with rate-limited or bot-detection-sensitive UIs where machine-instant events trigger guards.
- Reproducing an interaction bug that only appears with real user timing (hesitation, slow typing).
- Making recorded demos/replays feel human.
- The opposite: pinning DETERMINISTIC to guarantee identical timings across replay and regression runs.
- Comparing two automation runs byte-for-byte in a report — the seed makes timing a controlled variable.
PREREQUISITES
- MCP server running; interactions dispatch in the extension or Node simulation context.
- Default profile is DETERMINISTIC (zero delay) — legacy behavior is preserved until you opt in.
WORKFLOW
set_interaction_profile {profile}— choose the mode for all subsequent interactions:DETERMINISTIC— zero delays everywhere, one trajectory step; fully reproducible.BALANCED— small natural delays (move 30–80ms, click 40–120ms, type 20–60ms, key 30–90ms), hesitation 0.08, 3 trajectory steps, seed 1337. Routine automation against rate-limited UIs.HUMAN_LIKE— realistic cadence (move 90–260ms, click 120–420ms, type 60–180ms, key 70–220ms), hesitation 0.22 with 300–900ms pauses, 8-step curved trajectories, seed 4242.
- For exact control use
CUSTOMwithcustomoverrides:moveDelayMs,clickDelayMs,typeDelayMs,keyDelayMs({min,max}),hesitationProbability,trajectorySteps— unspecified fields fall back to BALANCED values. - Pass
seed(here or with any profile) to make every drawn delay reproducible: identical seed + identical action order ⇒ identical timings. - Drive interactions normally (browser-interaction skill) —
click_element {mode: "human-like"}consumes the active profile; typing draws per-character delays; pointer moves follow slightly-curved smoothstep-eased waypoints, never teleporting. get_interaction_profile {}— audit:activeProfile, full effectiveprofile(all timing ranges),availableProfiles, andlastActionTiming(action,requestedModevsactualMode, per-phasetimings[],totalDurationMs).- Compare runs: same seed ⇒ same
timingsarrays; different seed ⇒ new draw from the same distribution. A profile switch resets the RNG to that profile's seed.
TOOLS
set_interaction_profile, get_interaction_profile, click_element, type_text, press_keyboard_shortcut, hover_element, drag_and_drop
EXAMPLES
tools/call set_interaction_profile { "profile": "HUMAN_LIKE" }
tools/call set_interaction_profile { "profile": "HUMAN_LIKE", "seed": 90210 }
tools/call set_interaction_profile { "profile": "CUSTOM", "custom": { "clickDelayMs": { "min": 150, "max": 300 }, "typeDelayMs": { "min": 40, "max": 90 }, "hesitationProbability": 0.1, "trajectorySteps": 5 } }
tools/call click_element { "selector": "#buy-now", "mode": "human-like" }
tools/call get_interaction_profile {}FAILURE MODES
- Unknown profile name — the engine throws listing the four valid names; check spelling/case (names are uppercase).
- Timings look random across runs — you did not pin a
seed, or you switched profiles (which resets to that profile's default seed). - Tests slowed down — HUMAN_LIKE adds up to ~420ms per click and per-character typing delays; use DETERMINISTIC or BALANCED in regression contexts.
- "Human-like didn't run" —
click_elementmode defaults tonormal; the profile only shapes timing when the action honors it (modehuman-likeor CUSTOM/HUMAN_LIKE active). ChecklastActionTiming.actualMode.
VALIDATION
get_interaction_profilereturns the effective profile with concrete min/max ranges — not just the name.lastActionTimingmust showrequestedMode,actualMode, atimingsarray (one entry per phase) andtotalDurationMsconsistent with the sum.- Reproducibility check: re-run the same action with the same seed;
timingsshould match exactly.
RECOVERY
- Unwanted cadence:
set_interaction_profile { "profile": "DETERMINISTIC" }restores zero-delay behavior immediately. - Skewed distribution after long sessions: re-set the profile (or re-send the seed) to reset the PRNG state.
- If a site still flags automation, remember the platform does not spoof fingerprints/UA here — combine with
emulate_deviceand honest reporting of what is and is not applied.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

