In a German "Hauptsatz" (main clause), the flexed verb goes in the second position – counting grammatical units, not words.
Both of your examples follow this pattern:
- [Es] [ist] [eine Katze].
- [Manchmal] [ist] [es] [kalt].
Frequently, but not necessarily, the subject takes the first position in a sentence, like in your first example. But because in your second sentence the first position is taken by manchmal, the ist (verb/predicate) precedes the subject es.
An example where the first grammatical element is much longer:
[Die Zähne nach dem Essen zu putzen] [verringert] [das Risiko von Karies].
Side note (1):
In subordinate clauses ("Nebensatz"), the flexed verb comes last. This is one reason why learners sometimes struggle with spoken language: There may be a lot of information before the verb reveals what really happens. Example, based on your first sentence:
Es ist eine Katze, [die] [letzte Woche] [auf einer Ausstellung] [ganz überraschend] [einen Sonderpreis] [für ihr schönes Fell] [bekam].
You could write the exact same sentence and just use another verb - and your listener knows only after the whole sentence is spoken, what really happens:
Es ist eine Katze, [die] [letzte Woche] [auf einer Ausstellung] [ganz überraschend] [einen Sonderpreis] [für ihr schönes Fell] [ablehnte].
Side note (2):
German has two kinds of questions.
"Open" questions that use an interrogative word in the first place, followed by the flexed verb in position 2, just like main clauses. Here, the interrogative word marks the question as such.
[Wo] [ist] [die Katze]?
"Closed" questions (often referred as yes/no questions) have no interrogative word, but can be recognized by the verb in the first position:
[Ist] [die Katze] [da]?