Daily Skyscrapers
Play one date-stable skyline puzzle with the same verified visibility rules, browser-local history and a specialist streak separate from Today’s 6.
Every street is a Latin-square permutation
A Skyscrapers puzzle, also called Towers, represents building heights with the numbers 1 through N. A 5×5 city uses heights 1, 2, 3, 4 and 5 exactly once in every row and exactly once in every column. That base rule means each street is a permutation rather than an arbitrary sequence. Before you even read the skyline clues, a placed height removes that same value from every other cell in its row and column.
One calendar date maps to one reproducible specification
The Daily mode uses the local calendar date as an input to a deterministic selector. The same date produces the same board specification in that browser build, including size, difficulty, source and geometric variant. Moving through earlier dates does not mutate Today’s 6 and lets the specialist preserve a simple browser-local Daily history without pretending there is a server-side leaderboard.
Edge clues count what an observer can actually see
The numbers around the outside are visibility clues. Look from a clue into its row or column. The first building is always visible. After that, a building is visible only when it is taller than every building before it. A height 5 therefore hides all shorter heights behind it on a 5×5 board. The clue is the total number of record-high buildings encountered while scanning from that edge.
The extreme clues create strong deductions
Two clue values are especially direct. A clue of 1 means the tallest building must sit immediately next to that edge, because it blocks every shorter building behind it. A clue equal to N means the whole street must rise in order from 1 through N. Those placements then interact with the row and column uniqueness rules, often forcing additional heights far from the original clue.
Opposite clues describe the same street from both ends
A row can have a clue on the left, a clue on the right, both, or neither. When both are present they describe one permutation from opposite directions. A sequence that looks possible from the left may become impossible from the right. Pairing the two viewpoints is one of the most useful techniques on Medium and Hard boards because it removes whole street patterns rather than just single-cell candidates.
Pencil Notes support deeper candidate work
The game includes a Pencil Notes mode for cells that are not ready for a final height. Select a cell, enable Pencil Notes, and tap candidate numbers to add or remove them. Notes are browser-local and are included in autosave snapshots, so refreshing the page does not throw away a long deduction chain. Placing a final height clears the notes in that cell automatically.
Easy, Medium and Hard reduce edge information
Each size has separate Easy, Medium and Hard source pools. Easy sources expose the most edge clues, Medium removes more viewpoints, and Hard exposes the fewest. The generator may preserve a small number of starter heights when they are needed to keep a candidate uniquely determined. Difficulty therefore reflects the total information available from clues and givens rather than a cosmetic label.
The frozen bank is generated deterministically
V0.99 ships forty-five source puzzles: five sources for each combination of 4×4, 5×5 and 6×6 with Easy, Medium and Hard. The Python generator uses fixed seeds, constructs the complete city, selects edge clues and starter heights, and then runs an exact solver. Running the generator again reproduces the committed bank byte for byte instead of inventing a new release asset.
Every source is counted to exactly one solution
The generator does not assume that its intended city is unique. Its exact solver enumerates row permutations allowed by the visible clues and givens, rejects repeated column heights, and checks top and bottom visibility before accepting a complete board. A source is shipped only when the solution count is exactly one and that unique result matches the stored solution.
An independent JavaScript verifier repeats the proof
Release QA includes a separate verifier rather than trusting the generator alone. It rebuilds permutations independently, recounts all forty-five frozen sources, then applies all eight geometric rotations and reflections and checks the resulting 360 playable variants. It also tests 1,200 deterministic Practice selections and all 365 date-stable Daily specifications for the 2026 calendar.
Practice is reproducible from the URL seed
Practice mode writes a seed into the URL when one is not already present. The requested size, difficulty and seed deterministically select a frozen source and symmetry variant. Opening the same URL again restores the same city. Fresh Practice creates a different seed without changing the verified source-bank contract.
Daily Skyscrapers is separate from Today’s 6
Daily Skyscrapers chooses a size and difficulty from the date, then selects a deterministic verified board for that day. Completion history and streaks belong only to the Skyscrapers specialist. This does not insert Skyscrapers into the frozen Today’s 6 rotation and does not modify the existing 2026 Today’s 6 sequence.
Clean and Assisted results are kept separate
Using Hint, Check, Undo, Redo or Restart marks the current run Assisted. That makes the help state visible and prevents an assisted completion from silently replacing a clean personal best. Pencil Notes alone are a normal solving tool and do not mark the run Assisted. Records, autosaves and Daily history remain in local browser storage.
The interface is built for both phone and desktop play
On a phone, the city and its four clue bands scale together inside the available width, with a dedicated number pad under the board. On desktop, keyboard numbers enter heights, Backspace or Delete erases, N toggles Pencil Notes, H asks for a hint, and standard Ctrl/Cmd+Z and Ctrl/Cmd+Y shortcuts control Undo and Redo. Tapping an edge clue highlights the street it describes.
There is no fabricated ranking layer
Skyscrapers is a deterministic local logic game. The product does not claim a global rank, percentile, IQ score or server opponent. Progress reports only what the browser actually knows: local completions, clean completions, best move/time records and the specialist Daily streak. The puzzle engine and verifier require no paid API.
Visibility can be checked without guessing
A completed street gives an exact mechanical check: scan from the clue side, keep the tallest height seen so far, and increase the visible count only when a new maximum appears. During solving, partial streets still provide useful bounds. If a clue needs four visible buildings and three positions are already occupied by tall values, some remaining arrangements become impossible before the row is complete.
Starter heights are part of the verified puzzle, not random help
Some frozen sources include a small number of given heights. They are not hints added after selection and they do not change between openings of the same source. The generator keeps them only when the selected set of skyline clues would otherwise allow more than one complete Latin square. The exact solver counts the final clue-plus-given specification before the source is accepted.
Why 4×4 through 6×6 is the first specialist scope
Four by four teaches the visibility rule quickly, five by five creates richer opposing-clue deductions, and six by six is large enough for substantial permutation reasoning while still fitting comfortably on a phone. The first release deliberately stops there instead of shipping a poorly tested 7×7 mode. Additional sizes can be considered later only if generator speed, unique-solution verification and mobile interaction remain equally strong.
Want unlimited cities?
Switch to seeded Practice for unlimited verified boards across all three sizes and difficulties.
Open Skyscrapers →