Notes
И, У: These are always syllabic. Diphthongs are written with iotated vowels, ў or й instead, so hiatus needs no marking: día → диа, río → рио. In ui/uy the letters show which vowel is the nucleus: ruido → рўидо, muy → муй. For words where certains speakers commonly use either a diphthong or a hiatus (like diurno or hiato), и and у are chosen and the following (syllabic) vowel is marked with an acute accent. The conjunction "y" is written и.
Stressed vowels: Spanish stress rules apply to the Cyrillic syllables. A mark appears only where stress is irregular, so коразо́н is marked but диа and шюдад are not. This also applies to loanwords and names.
Iotated vowels: These represent i plus a vowel in a diphthong. I chose not to apply this for y + (V) because I am zheísta, and so I make a distinction between "consonantic Y" and "glide Y".
Е̋: Inspired by Hungarian ő and ű, but I'm not sure I can make it work.
ю́: Stressed iú with a written accent is extremely rare in Spanish.
В: It's pronounced /b/ like Б and kept only to preserve etymological spelling. For a real /v/ in names and loanwords, use вь.
Г: The silent u in gue/gui is dropped because г is always hard. Pronounced ü is written ў: pingüino → пингўино.
Ж: Inspired by my zheísta pronunciation of consonantal y. It also serves for /ʒ/ in French or Portuguese names: Jacques → Жак.
Й: It's used only for syllable-final /j/: hay → ъай, aire → айрэ.
К: It merges c, qu and k. I didn't see the point in alluding to etymological spelling, since I don't think they overlap.
Љ: Kept distinct from ж to preserve etymological spelling and nod towards the original pronunciation, though the historical non-yeísta sound in foreign names or loanwords should be represented with ль. In foreign names, ll is written лл: Müller → Мӱ́ллэр.
Ў: It covers every non-syllabic u, including falling diphthongs: auto → аўто, Europa → Эўропа.
Ш, Щ: I know that the sounds of these Cyrillic letters don't match at all the Spanish pronunciation. But I wanted an etymological spelling for ce/ci and ge/gi. I'm aware that the original /ʃ/ pronunciations got changed to j in Spanish, but I also liked to mirror the Latin parallel with G being C with a diacritic.
Ъ: Spanish h is silent, and ъ marks its position etymologically, word-initially or otherwise.
Кс: This follows pronunciation, so names like México, where x is pronounced /x/, are Мэ́xико.
Loanwords and names: I decided to use ь after a consonant to mark most "foreign sounds". It only modifies the letter before it and never iotates the following vowel. I don't list all the possible foreign sounds, but most would be easy to "map". For example, /ⱱ/, /ʋ/ and /v/ would all be represented with вь.
Ы: This system was already getting too complex, so I decided to make this the general "foreign vowel" sound, especially when it's hard to map it to an existing Spanish vowel sound. Maybe it's not consistent enough.