…limitations of this hash-based stream cipher design?
One of the limitations of this hash-based stream cipher design would be that it does not offer any kind of “authentication”, nor any kind of “integrity-protection”.
Maybe you just forgot to describe how you will be handling authentication and integrity-protection, but it’s important not to forget about it.
I intend to use Skein…
That raises the question why you aren’t simply using Threefish as a well-vetted block cipher. After all, the design of Skein is based on the Threefish tweakable block cipher!
In the unlikely case you really need a stream-cipher because something prevents you from using a block-cipher, you could create one based on Threefish, which is bound to provide a bit more speed (when implemented correctly) than building a cipher based upon the Skein Hash Function Family.
Nota Bene:
As it’s not clear to me why someone would try to create a hash-based stream cipher while well-analyzed stream ciphers are available, I have skipped cryptanalysis – which means that your design may (or may not) have security issues I did not check on. In the end, I guess I somewhat chime in with Stephens commentI somewhat chime in with Stephens comment and simply don’t seem to have that “scientific interest” you mentioned in your commentthat “scientific interest” you mentioned in your comment.