Update. Even though I didn't use the DOT syntax exactly, I added some syntactic improvements so that expressinga more complex dependency graph is easier.
Now it allows for edges specified as
{1,2,3} {4,5,6} (skills 4, 5 and 6 all depend on 1, 2 and 3), and the levels now can be expressed as
1 {skill 1, skill 2, skill 3}