password-generatorlisted
Install: claude install-skill vslipchenko/ai
# Password Generator
Produce passwords and passphrases whose randomness actually comes from a
cryptographically secure random number generator, not from the model.
**Why a script and not just "think of a random string": an LLM's output is
not a source of entropy** — sampled tokens are statistically biased and, given
the conversation, effectively predictable. A "random-looking" string typed by
the model is not a secure password no matter how random it looks. This skill
always shells out to `scripts/generate_password.{py,mjs}`, which use a real
CSPRNG (Python's `secrets` module / Node's `crypto.randomInt`), for every
character or word chosen.
`<SKILL_DIR>` below is this skill's own announced base directory (the path
shown when this skill loads, ending in `.../skills/password-generator`).
## Step 1 — Resolve mode and parameters
Two modes:
| Mode | What it produces | Good for |
|---|---|---|
| `password` | random characters from chosen classes (lower/upper/digits/symbols) | sites/systems with fixed complexity rules |
| `passphrase` | N words from the bundled 7,776-word EFF diceware list | memorable, typed-by-hand secrets, master passwords |
Default to `password` unless the user says "passphrase," "memorable," "words,"
or similar, or the target system disallows symbols (in which case a
passphrase is often the better fit than a stripped-down password).
Ask only if genuinely ambiguous; otherwise use sane defaults and mention them
in the result so the user can redirect:
- **