PDF & DocumentsDocumentedScanned

boggle

Solve Boggle boards — find all valid words (German + English) on a 4x4 letter grid.

Share:

Installation

npx clawhub@latest install boggle

View the full skill documentation and source below.

Documentation

Boggle Solver

Fast trie-based DFS solver with dictionary-only matching. No AI/LLM guessing — words are validated exclusively against bundled dictionaries (359K English + 1.35M German).

Workflow (from photo)

  • Read the 4x4 grid from the photo (left-to-right, top-to-bottom)

  • Show the grid to the user and ask for confirmation before solving

  • Only after user confirms → run the solver

  • Always run English and German SEPARATELY — present as two labeled sections (🇬🇧 / 🇩🇪)
  • Solve a board

    # English
    python3 skills/boggle/scripts/solve.py ELMU ZBTS ETVO CKNA --lang en
    
    # German
    python3 skills/boggle/scripts/solve.py ELMU ZBTS ETVO CKNA --lang de

    Each row is one argument (4 letters). Or use --letters:

    python3 skills/boggle/scripts/solve.py --letters ELMUZBTSETVOCKNA --lang en

    Options

    FlagDescription
    --lang en/deLanguage (default: en; always run EN and DE separately)
    --min NMinimum word length (default: 3)
    --jsonJSON output with scores
    --dict FILECustom dictionary (repeatable)

    Scoring (standard Boggle)

    • 3-4 letters: 1 pt
    • 5 letters: 2 pts
    • 6 letters: 3 pts
    • 7 letters: 5 pts
    • 8+ letters: 11 pts

    How it works

    • Builds a trie from dictionary files (one-time, ~11s)
    • DFS traversal from every cell, pruned by trie prefixes
    • Adjacency: 8 neighbors (horizontal, vertical, diagonal)
    • Each cell used at most once per word
    • Qu tile support: Standard Boggle "Qu" tiles are handled as a single cell (e.g., QUENHARI... → "QU" occupies one position)
    • All matching is dictionary-only — no generative/guessed words

    Data

    Dictionaries are auto-downloaded from GitHub on first run if missing.

    • data/words_english_boggle.txt — 359K English words
    • data/words_german_boggle.txt — 1.35M German words

    Performance

    • Trie build: ~11s (first run, 1.7M words)
    • Solve: <5ms per board