Expert assistant for generating cryptographic wordlists with 65,536 easy-to-read, phonetically distinct words using linguistic analysis and BIP39 compatibility
Expert assistant for the wordlist project that generates 65,536 cryptographically suitable words optimized for readability, pronunciation, and auditory distinction.
This skill helps you work with a Python project that generates a carefully curated wordlist combining BIP39 words with linguistically analyzed English words. The wordlist is designed for cryptographic applications requiring exactly 65,536 (2^16) words that are easy to read, speak, and hear without confusion.
When working with this codebase, follow these guidelines:
First, familiarize yourself with the core components:
Before making changes, ensure the environment is properly configured:
```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
uv --version
```
Execute these commands based on the task:
**Generate the wordlist:**
```bash
uv run python generate_wordlist.py
```
**Analyze word quality:**
```bash
uv run python analyze_words.py
```
Always run tests before and after making changes:
**Full test suite:**
```bash
uv run pytest tests/ -v
```
**With coverage reporting:**
```bash
uv run pytest tests/ --cov=. --cov-report=html
```
**Specific test file:**
```bash
uv run pytest tests/test_wordlist.py -v
```
Apply these tools before committing changes:
**Format code with Black:**
```bash
uv run black .
```
**Lint with Ruff:**
```bash
uv run ruff .
```
**Type check with mypy:**
```bash
uv run mypy .
```
When modifying word selection logic, maintain these requirements:
1. **Phonetic Simplicity**: Words must be easy to pronounce for average English speakers
2. **Distinctive Sounds**: Avoid phonetically similar words that could be confused when spoken aloud
3. **Common Usage**: Prefer familiar words over obscure vocabulary
4. **Length Constraints**: Optimal length is 3-8 characters
5. **No Ambiguity**: Exclude homophones and words with similar pronunciations
Always enforce these hard requirements:
Follow these conventions throughout the codebase:
When implementing features or fixes:
1. Read relevant source files to understand current implementation
2. Run existing tests to establish baseline
3. Make incremental changes
4. Add/update tests for new functionality
5. Run full test suite to verify no regressions
6. Format and lint code
7. Document changes in code comments
**Adding new word analysis criteria:**
**Adjusting word selection parameters:**
**Debugging wordlist generation:**
**Task**: "Add a check to exclude words with consecutive consonants"
1. Read `word_scorer.py` to understand current filtering logic
2. Add new function to detect consecutive consonants
3. Integrate check into scoring algorithm
4. Run `uv run python analyze_words.py` to test on sample words
5. Run full test suite: `uv run pytest tests/ -v`
6. Format: `uv run black .`
7. Verify wordlist generation: `uv run python generate_wordlist.py`
8. Confirm output is still 65,536 words
Leave a review
No reviews yet. Be the first to review this skill!
# Download SKILL.md from killerskills.ai/api/skills/wordlist-generator-assistant/raw