Of course you need the played field you relied on it in the order by clause. You can use the result of a select in a from clause of another select.
SELECT SUM(skips) from (SELECT CASE WHEN action='skip' THEN 1 ELSE 0 END as skips, played
FROM words_moves WHERE gid = 3 ORDER BY played DESC
LIMIT 6) as skipscount;
words=> SELECT SUM(skips) from (SELECT CASE WHEN action='skip' THEN 1 ELSE 0 END as skips, played words(> FROM words_moves words(> WHERE gid = 3 words(> ORDER BY played DESC words(> LIMIT 6) as skipscount; sum ----- 6 (1 row)