Skip to content
Back to skills

Sudoku

ASecurity

Fetch Sudoku puzzles and store them as JSON in the workspace; render images on demand; reveal solutions later.

  • 665 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added February 8, 2026
developmentpythonbashnodegit

Security analysis

A100/100

Pro scans all 11 files and shows the line behind each finding

Scanned February 12, 2026

npx -y skills add openclaw/skills --skill sudoku --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Sudoku?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Sudoku
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/openclaw-sudoku/badge)](https://www.skillsdirectory.com/skills/openclaw-sudoku)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: sudoku
description: Fetch Sudoku puzzles and store them as JSON in the workspace; render images on demand; reveal solutions later.
repository: https://github.com/odrobnik/sudoku-skill
metadata:
  clawdbot:
    emoji: "🧩"
    requires:
      bins: ["python3", "node"]
---

# Sudoku

## Overview

Fetch, render, and reveal Sudoku puzzles. Use `sudoku.py` to get new puzzles from `sudokuonline.io`, generate printable PDFs or images, and reveal solutions.

For details on the saved JSON format, see [DATA_FORMAT.md](references/DATA_FORMAT.md).

## Available Puzzle Types

*   `kids4n`: Kids 4x4
*   `kids4l`: Kids 4x4 with Letters
*   `kids6`: Kids 6x6
*   `kids6l`: Kids 6x6 with Letters
*   `easy9`: Classic 9x9 (Easy)
*   `medium9`: Classic 9x9 (Medium)
*   `hard9`: Classic 9x9 (Hard)
*   `evil9`: Classic 9x9 (Evil)

## Get a Puzzle

Fetches a new puzzle and stores it as JSON. Output is JSON by default (use `--text` for human-readable output).

**Get a Classic Easy puzzle:**
```bash
./scripts/sudoku.py get easy9
```

**Get a Kids 6x6 puzzle:**
```bash
./scripts/sudoku.py get kids6
```

## Render Puzzle

Render a puzzle as an image or PDF.

**Render latest puzzle as A4 PDF (for printing):**
```bash
./scripts/sudoku.py render --pdf
```

**Render latest puzzle as clean PNG (for viewing):**
```bash
./scripts/sudoku.py render
```

**Render a specific previous puzzle by short ID:**
```bash
./scripts/sudoku.py render --id a09f3680
```

## Reveal Solution

Reveal the solution for the latest or specific puzzle. Use `--id <short_id>` (e.g., `a09f3680`) to target a specific puzzle.

**Reveal full solution as printable PDF:**
```bash
./scripts/sudoku.py reveal --pdf
```

**Reveal full solution for a specific ID:**
```bash
./scripts/sudoku.py reveal --id a09f3680 --image
```

**Reveal full solution as PNG image:**
```bash
./scripts/sudoku.py reveal
```

**Reveal a single cell (row 3, column 7):**
```bash
./scripts/sudoku.py reveal --cell 3 7
```

**Reveal a specific 3x3 box (index 5):**
```bash
./scripts/sudoku.py reveal --box 5
```

## Share Link

Generate a share link for a stored puzzle. Targets the latest puzzle by default; use `--id <short_id>` for a specific one.

**Generate a SudokuPad share link (default):**
```bash
./scripts/sudoku.py share
```

**Generate link for specific ID:**
```bash
./scripts/sudoku.py share --id a09f3680
```

**Generate an SCL share link:**
```bash
./scripts/sudoku.py share --type scl
```

**Telegram Formatting Tip:**
Format links as a short button-style link and hide the full URL: `[Easy Classic \[<id>\]](<url>)`.

Files in this skill

  • README.md1.3 KB
  • SKILL.md2.5 KB
  • _meta.json1.5 KB
  • references/DATA_FORMAT.md1.8 KB
  • scripts/encode_lz.js446 B
  • scripts/encode_native.js15 KB
  • scripts/lz-string-custom.js12.2 KB
  • scripts/lz-string.js15.7 KB
  • scripts/sudoku.py26.8 KB
  • scripts/sudoku_fetcher.py14.8 KB
  • scripts/sudoku_print_render.py4.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.