# Random Number Generator

> Generate random numbers with Python standard library utilities. Use when asked for a random number generator agent skill, RNG, random integer, random float, dice roll, random choice, weighted random choices, list shuffle, sample without replacement, secure random integer, cryptographic randomness, secure token, random password candidate, password entropy, or hex token.

- Skill: `zazencodes/random-number-generator` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add zazencodes/random-number-generator`
- Raw SKILL.md: https://api.skillmd.com/api/skills/zazencodes/random-number-generator/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- License: MIT
- Author: zazencodes (https://skillmd.com/u/zazencodes)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/zazencodes/random-number-generator

---


# Random Number Generator

## Overview

Generate random values by running the bundled Python script from this skill. The script uses only Python's standard `random` and `secrets` modules and prints JSON by default so results are easy to parse.

## Execution Rule

Run commands from this skill directory, so `scripts/random_number.py` resolves relative to this `SKILL.md`. If the shell is not already in the skill directory, change into the directory containing this file first.

Prefer Python launchers in this order:

1. `python3`
2. `py -3` on Windows
3. `python` only after confirming it is Python 3

If Python 3 is unavailable, tell the user that this skill requires Python 3 and do not fake a random result.

## Quick Start

```bash
python3 scripts/random_number.py random-int --low 1 --high 100
```

On Windows PowerShell:

```powershell
py -3 scripts/random_number.py random-int --low 1 --high 100
```

To generate a batch of random numbers, pass the `--size` flag:

```bash
python3 scripts/random_number.py random-int --low 1 --high 100 --size 5
```

## Commands

Random integer (single or batch):

```bash
python3 scripts/random_number.py random-int --low 1 --high 6 --size 5
```

Random float (single or batch):

```bash
python3 scripts/random_number.py random-float --low 0 --high 1 --size 5
```

Choices with replacement:

```bash
python3 scripts/random_number.py random-choices --population-json '["red","blue","green"]' --k 2
```

Weighted choices with replacement:

```bash
python3 scripts/random_number.py random-choices --population-json '["red","blue","green"]' --weights-json '[5,2,1]' --k 3
```

Shuffle a list:

```bash
python3 scripts/random_number.py random-shuffle --items-json '[1,2,3,4,5]'
```

Sample without replacement:

```bash
python3 scripts/random_number.py random-sample --population-json '["a","b","c","d"]' --k 2
```

Secure hex token(s):

```bash
python3 scripts/random_number.py secure-token-hex --nbytes 16 --size 3
```

Secure integer(s) from `0` up to but not including `upper-bound`:

```bash
python3 scripts/random_number.py secure-random-int --upper-bound 1000 --size 5
```

## Choosing Secure vs Standard Randomness

Use `secure-token-hex` or `secure-random-int` for new random password candidates, tokens, invite codes, or any user request that mentions secure, cryptographic, crypto-safe, token, random password, password entropy, or password.

Do not use this skill to accept, store, transform, validate, or repeat existing passwords, API keys, bearer tokens, cookies, or credentials. Only generate new random values on direct user request.

Use the standard random commands for dice, games, simulations, sampling, shuffling, randomized examples, and everyday random selection.

## JSON Input

Pass lists through JSON flags such as `--population-json`, `--items-json`, and `--weights-json`. In Bash, zsh, and PowerShell, wrap JSON in single quotes as shown above. For shells that do not support single quotes, escape the double quotes or use a shell that does.

## Output

Default output is JSON. Examples:

```text
[42]
[14, 82, 33, 91, 5]
["red", "green"]
["<secure-hex-output>"]
```

## Available Script

- `scripts/random_number.py` - Command-line wrapper around Python `random` and `secrets` standard-library functions. Run `python3 scripts/random_number.py --help` for the full interface.

