Fill the grid with the digits 1 to 7. The numbers within the bold border represent the height of the skyscraper in each cell. Each row and column in that square has exactly one of each digit. The numbers outside the bold border tell you how many skyscrapers you can see from that vantage point.
If the difference between two cells is 1 then there is a white dot. If digit in a cell is the half from a neighboring cell then there is a black dot. The dot between two cells with 1 and 2 can have any of these two colors.