A Handpainted Dye Technique
Here is one way I paint wool yarn. It will work with all animal fibers including silk.
I use acid dyes purchased from Dharma Trading Company in California, but there are other dyes for protein fibers that work pretty much the same way. Also, the food coloring you can buy in the grocery store can be used in exactly the same way.
First, I knitted blanks on my knitting machine because I aimed for long stripes of color, and this is the easiest way for me to get that result. I chose loosely knitted for this dyeing. You can also hand knit with extra big needles to get your own blank, or just go ahead and paint your skein directly though you won't get long strips of color, but probably will get something you'll like anyway.
Wool needs to be soaked for an hour prior to dyeing. Unfortunately, silk requires a whole day. This step insures the fibers will be thoroughly wetted, so the dye can penetrate where you place it. I also use a small bit of Synthrapol though dishwashing liquid will probably work almost as well.
After an hour, I take my wool out and spin out the excess water in my washer on the spin cycle. I know many don't have machines that allow them to do this, so wrapping in towels and leaving for awhile will work. Plus, salad spinners can work for small amounts of wool. If my washer didn't allow me to do this, I would buy an extractor that removes extra water from laundry before it goes in the dryer and use that.
Here, I've mixed a little dye in warm water and added a splash of vinegar. That's the mordant that assists the dye to bind with the fibers. You can also use citric acid.
I've placed the yarn blanks on plastic wrap and begun painting. I wanted less distinctive striping this time, so you can see that I've purposely created extra irregular lines.
After I finished painting, I wrapped up the blanks with more plastic wrap and then folded into a packet.
If I did a lot of this painting technique, I would probably explore using baking parchment because I don't like to create plastic waste. I think parchment would work because that splash of vinegar in the dye really helps it to bind quickly, so I don't think colors would mingle and migrate too much if at all.
And I did the solid blue in the same way.
Then, I placed the packets in a pot with a steamer to keep the yarn out of the water. I mentioned in a previous comment that a bowl with a plate on top of it inside the pot will work too. Put on the lid and steam for less than an hour.
When it's cool and still wet, I unravel the blank and wind it off on a niddy noddy, a skein maker that most hand spinners utilize, but you can get a good result by wrapping the yarn around your elbow up to the palm of your hand.
I found this photo of a woman using chair legs. An even better idea!
Twist into skein and dry.
I twisted mine together to see how they'll look knitted together.
Great information here! Thank you for sharing. The colors turned out very pretty and will look great once they are knit up!
Thanks @jamethiel! I made a baby hat with the yarn. I'll post a picture soon. :)
Thank you very much for sharing your process, @kimmac. It looks very time consuming as you have to knit it and then unravel it. I am looking forward to seeing the result of that striping :D
I'm going to post a picture today for needleworkmonday. :)
What lovely yarn - and a great instruction!
I really have to start dyeing. I have some yarn bought especially for it and several skeins of sock yarn - they were a gift and I detest the color. Theoretically I could start right now since I have my "beginner's kit":

You are ready to go! Looking forward to seeing what you!
Hi Kimmac, you should change your tag from "needlework" to "needleworkmonday" - that way more people can see it and read about dyeing :)
I wasn't sure if dyeing could fall under needlework, but will post the hat I made today under needleworkmondays. I'm going to try to link to the dyeing post.