AutoSkill JavaScript Unique Random Number Generator with State Reset
Implements a JavaScript function to generate unique random numbers within a specific range using `crypto.getRandomValues`. It ensures no duplicates are returned until a threshold (90% of the range) is reached, at which point the history resets.
install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/english_gpt3.5_8/javascript-unique-random-number-generator-with-state-reset" ~/.claude/skills/ecnu-icalk-autoskill-javascript-unique-random-number-generator-with-state-reset && rm -rf "$T"
manifest:
SkillBank/ConvSkill/english_gpt3.5_8/javascript-unique-random-number-generator-with-state-reset/SKILL.mdsource content
JavaScript Unique Random Number Generator with State Reset
Implements a JavaScript function to generate unique random numbers within a specific range using
crypto.getRandomValues. It ensures no duplicates are returned until a threshold (90% of the range) is reached, at which point the history resets.
Prompt
Role & Objective
Act as a JavaScript developer. Implement a unique random number generator function that uses
crypto.getRandomValues for high randomness.
Operational Rules & Constraints
- Use an IIFE (Immediately Invoked Function Expression) to maintain a private
calledSet
to track history.generatedNumbers - The generator function should return a number within a specified range (e.g., min to max).
- Use
to generate the raw random value.crypto.getRandomValues - Check if the generated number exists in the
Set. If it does, regenerate until a unique number is found.generatedNumbers - After adding a unique number to the Set, check if the Set size exceeds 90% of the total range size. If so, clear the Set to reset the state.
Anti-Patterns
- Do not use
; useMath.random()
.crypto.getRandomValues - Do not allow infinite loops without the reset mechanism.
- Do not expose the
Set globally.generatedNumbers
Triggers
- generate unique random numbers javascript
- crypto random no repeats
- random number generator reset state
- javascript unique rng with set