PuzzleTide Puzzle Generator

公式

ワードサーチ、クロスワード、数独を生成するMCPサーバー。印刷可能なPDFワークシート、テーマ別単語バンク、検証可能なLLM評価機能を備えています。ローカルファーストで、puzzletide.comの開発者による提供です。

Puzzle Tide Puzzle Generator MCPで何ができますか?

  • ワードサーチを生成 — カスタム単語、ファイル、またはバンドルされたテーマからワードサーチグリッドを作成します(puzzle_wordsearch_generateを使用)。
  • クロスワードを生成 — 標準的な番号付けと検証済みのヒントを持つインターロッキングクロスワードを生成します(puzzle_crossword_generateを使用)。
  • 数独を生成または解く — 解が一意に保証された数独を作成する(puzzle_sudoku_generate)、または81文字のパズル文字列を解く(puzzle_sudoku_solve)。
  • 数独を検証 — 数独グリッドの競合、解けるかどうか、解の一意性をpuzzle_sudoku_validateでチェックします。
  • 単語バンクを探索 — テーマの一覧表示、パターンによる単語検索、アナグラムの検索、またはランダムな単語の選択をwords_themeswords_matchwords_anagramwords_randomを使用して行います。
  • 検証可能なLLM評価を実行 — 再現可能なパズルベースのベンチマークタスクを生成し(eval_generate)、構築によって回答を採点します(eval_check)。

ドキュメント

PuzzleTide CLI — ワードサーチ、クロスワード、数独ジェネレーター

npm package Docs Agent skills smithery badge License: MIT

ワードサーチジェネレーター、クロスワードジェネレーター、数独ジェネレーター&ソルバーを 1つのローカルファーストなパズル生成CLIに統合 — 印刷可能なPDFワークシート、スターター 単語バンク、検証可能なLLM評価、バンドルされたエージェントスキル付き。 puzzletide.comの開発チームが提供。

インストール

npm install -g puzzletide
ptide --version

このパッケージは両方のバイナリをインストールします:

  • ptide
  • puzzletide

CLIでパズルを生成する理由

言語モデルにワードサーチの作成を依頼すると、半分の単語が壊れたグリッドが返ってきます。数独を依頼すると、通常は複数の解があるか、全く解けないものが返ってきます。グリッドはまさにLLMが苦手とし、決定論的コードが得意とする出力です。

PuzzleTide CLIはその決定論的コードです:

  • すべてのワードサーチの単語は配置され検証可能です — 配置座標は出力の一部であり、ジェネレーターはプロパティテスト済みです。
  • 生成されたすべての数独は、解が1つだけであることがチェックされます。
  • すべてのクロスワードは、返却前に自身のヒントに対して検証されます。
  • 同じ --seed を入力すれば、どのマシンでも同じパズルが出力されます。

このパッケージには SKILL.md エージェントスキルも同梱されているため、コーディングエージェント(Pi、Hermes、OpenClaw、その他SKILL.mdベースのシステム)は手書きのグリッドではなくCLIを利用します。

コマンドモデル

ptide <namespace> <operation> [input] [options]   # for humans
ptide run <tool-id> [input] [options] --json      # canonical, for scripts/agents
ptide tools list | search <q> | info <id> | docs <id>
ptide agent manifest

対話的に短いコマンドを使用し、自動化では正規のツールIDを使用します:

ptide sudoku generate --difficulty hard
ptide run puzzle.sudoku.generate --difficulty hard --json

ワードサーチジェネレーター

8方向の配置、簡単/普通/難しいのプリセット、自動サイズ調整グリッド(6~30)、アクセント/スペース/ハイフンの正規化。単語はフラグ、ファイル、またはバンドルされたテーマから取得します:

# Word search from your own words, printed in the terminal
ptide wordsearch generate --words "coral,shark,kelp,wave,tide"

# Themed printable word search (puzzle page + solution page)
ptide wordsearch generate --theme animals/ocean-animals --pdf ocean.pdf

# Kids mode: easy = forward-only words
ptide wordsearch generate --theme seasonal/halloween --difficulty easy

クロスワードジェネレーター

標準的なクロスワード番号付け、ヒントとグリッドの検証、テーマ単語に対する決定論的なフォールバックヒントを備えた連結配置。連結できない単語は、黙って削除されるのではなく報告されます:

# Crossword with your clues
ptide crossword generate --words "PARIS: Capital of France; TOKYO: Capital of Japan"

# From a JSON file, as a printable PDF
ptide crossword generate --file words.json --pdf review.pdf --title "Unit 4 Review"

数独ジェネレーターとソルバー

簡単、普通、難しい、エキスパートの数独(17~21の初期ヒント)を、一意性の保証、インスタントソルバー、競合、解決可能性、解の一意性を報告するバリデーター付きで提供:

ptide sudoku generate --difficulty expert --seed 42
ptide sudoku solve "53..7....6..195....98....6.8...6...34..8.3..17...2...6.6....28....419..5....8..79"
ptide sudoku validate --file puzzle.txt
ptide daily        # today's daily sudoku, same for everyone on a given UTC day

印刷可能なパズル: PDFワークシートとSVG

すべてのジェネレーターは、印刷可能なワークシート用に --pdf <file> を利用できます — パズルページと解答ページ(--paper letter|a4--no-solution-page で解答を省略) — そしてベクター画像用に --svg <file> を利用できます。教室用パケットのための印刷可能なワードサーチと数独シートは、ループ1つで作成できます:

for i in 1 2 3 4 5; do
  ptide sudoku generate --difficulty medium --seed "$i" --pdf "sudoku-$i.pdf" --title "Sudoku #$i"
done

既製のシートをお探しですか? ミステリーと殺人をテーマにした印刷可能なワードサーチ は読者に人気で、印刷可能なパズルには他にも数百種類あります。

単語バンクと単語ツール

30のスターターテーマ(海の動物、果物、宇宙、ハロウィンなど) — 閲覧、検索、パターンマッチ、アナグラム、ランダムピック。--words/--file で独自のリストを持ち込むか、puzzletide.comで完全なキュレーションコレクションを利用できます:

ptide words themes --search dinosaur
ptide words match "c_r_l"        # crossword-style pattern matching
ptide words anagram coral

ターミナルで遊べるハングマンゲームもあります: ptide play hangman

エージェントスキル

Piはこのnpmパッケージからバンドルされたスキルを直接読み込めます:

pi install npm:puzzletide

パッケージマニフェストは以下を宣言します:

{
  "pi": {
    "skills": ["./skills"]
  }
}

ワードサーチ、クロスワード、数独、印刷可能なパズル、エージェント評価の5つのスキルが含まれています。各スキルはローカルCLIを優先し、ptidepuzzletidenpx puzzletide をチェックします。スキルは自動的に何もインストールしません。エージェントはインストール前にユーザーに確認する必要があります。

Claude Desktop、Cursor、および任意のMCPクライアント向けMCPサーバー

コンパニオンパッケージ puzzletide-mcp は、すべての非対話型ツールをModel Context Protocol経由で公開します — 同じワードサーチジェネレーター、クロスワードジェネレーター、数独ジェネレーター/ソルバー、単語ツール、評価を、Claude Desktop、Cursor、Windsurf、または任意のMCPクライアントから呼び出せます:

{
  "mcpServers": {
    "puzzletide": {
      "command": "npx",
      "args": ["-y", "puzzletide-mcp"]
    }
  }
}

ツール名、引数、クライアントごとのセットアップについては docs/mcp.md を参照してください。

ツール

MCPサーバー(および ptide run <tool-id>)は15のツールを公開します:

  • puzzle_wordsearch_generate: カスタム単語、ファイル、またはテーマ別単語バンクからワードサーチグリッドを生成 — すべての配置は検証可能で、PDF/SVGで印刷可能。
  • puzzle_crossword_generate: 標準的な番号付けと検証済みヒントを備えた連結クロスワードを生成。
  • puzzle_sudoku_generate: 一意の解が保証された、簡単、普通、難しい、エキスパートの数独を生成。
  • puzzle_sudoku_solve: 81文字の文字列から数独を解き、解が一意かどうかを報告。
  • puzzle_sudoku_validate: 数独グリッドを検証 — 競合、解決可能性、解の一意性。
  • words_categories: 単語バンクのカテゴリを一覧表示。
  • words_themes: バンドルされたテーマ別単語リストを一覧表示または検索。
  • words_list: テーマ内の単語を長さや数でフィルタリングして一覧表示。
  • words_match: クロスワードスタイルのパターン(c_r_l)に一致する単語を検索。
  • words_anagram: 指定された文字のアナグラムを単語バンクから検索。
  • words_random: ランダムな単語を1つ選択(オプションで1つのテーマから)。
  • words_stats: 単語バンクの統計。
  • eval_generate: LLMやエージェントのベンチマーク用に、再現可能で客観的に採点可能なパズルタスクを生成。
  • eval_check: 生成された評価タスクの回答を構造的に採点 — 解答キーは信頼しない。
  • play_daily: 今日の日替わり数独を表示(UTC日付で全員共通)。

検証可能なLLM評価

パズルの解答は解答キーなしでチェック可能です。数独の解答はルールを満たし初期ヒントを保持しているかどうか、ワードサーチの解答はグリッド内の直線に沿って単語を綴っているかどうかで判断できます。これにより、パズルはLLM評価のクリーンなベンチマークタスクとなります — LLMジャッジは不要です:

ptide eval generate --type sudoku --n 20 --difficulty hard --seed 1 --out tasks.json
# ...run your model on tasks.json, collect [{id, answer}] ...
ptide eval check --tasks tasks.json --answers answers.json --json

(type, difficulty, n, seed) のタプルがタスクセットを完全に決定するため、再現可能なベンチマークの名前として機能します。

ライブラリ使用法

エンジンはTypeScriptとしてインポート可能で、CLIは不要です:

import { generateSudoku, generateWordSearch, wordSearchPdf } from 'puzzletide';

const sudoku = generateSudoku({ difficulty: 'hard', seed: 42 });
const search = generateWordSearch({
  words: ['coral', 'shark', 'kelp'],
  directions: ['E', 'S', 'SE'],
  seed: 7,
});
const pdfBytes = await wordSearchPdf(search, { title: 'Ocean Animals' });

その他のドキュメント:

オンライン版

ブラウザ版をお探しですか?

プライバシー

すべてローカルで実行されます。アカウント、APIキー、テレメトリー、ネットワークアクセスは不要です。

開発

npm install
npm run build     # tsc → dist/
npm test          # vitest + fast-check property tests (build first: CLI tests run dist/)

スターター単語バンクは、このパッケージ用に作成された汎用的なオリジナルリストです(scripts/wordbanks-source.jsonnpm run build:wordbanks でコンパイル)。テーマの貢献を歓迎します — ソースファイルにエントリを追加してビルドを実行してください。完全なキュレーション済みPuzzleTide単語バンクコレクションはpuzzletide.comの独自資産であり、このリポジトリには含まれていません。

PuzzleTide CLIの引用

あなたの研究でPuzzleTide CLIを使用する場合 — 例えばモデルベンチマークにおける検証可能なパズル評価など — 引用してください(またはGitHubの「このリポジトリを引用」ボタンを使用してください):

@software{puzzletide_cli,
  author  = {{Caravaca Labs}},
  title   = {PuzzleTide CLI: word search, crossword \& sudoku generator with verifiable LLM evals},
  year    = {2026},
  url     = {https://github.com/Caravaca-Labs/puzzletide-cli},
  note    = {From the makers of \url{https://puzzletide.com}}
}

プレーンテキスト: "PuzzleTide CLI (Caravaca Labs, 2026), https://github.com/Caravaca-Labs/puzzletide-cli — from the makers of https://puzzletide.com."

ライセンス

MIT © Caravaca Labs