If you use dfhack you can type 'showmood' in its console and it will list out exactly what the moody dwarf wants and what he has already collected.
For the collection, you'll get false positives on most moods. I think it's cloth that messes up the reading of what the dwarf has, causing 'got 1' or whatever to appear on all the items in the list even when the dwarf doesn't have 1 yet. I've also seen it show that a dwarf wants 3 bars of metal (as a primary material), but then the dwarf only gets 1 bar.
It will still tell you what items will go into the finished artifact, but that's only really useful for possessions and other moods with cryptic demands. You don't need a script to tell you that the fey dwarf screaming for 'silk cloth' wants silk cloth.
Thank you all for the replies and info. I will try to see if setting all my 65 dwarfs to haul stuff will get this guy his things
The situation still:
so, there are 12 yak bones and 2 logs in the workshop, rock blocks in a stockpile around the fort, and yarn cloth outside the fort, no leather yet but "showmood" displays this:
item 1: any logs, quantity 2 <got 1>
item 2: any bones, quantity 1 <got 0>
item 3: any leather, quantity 1 <got 0>
item 4: rock blocks: quantity 1 <got 0>
item 5: any yarn cloth, quantity 1 <got 0>
item 6: any leather, quantity 1 <got 0>
So, he's not taking the bones, wood and blocks despite them being right nearby...
I will try getting some random leather, see if that kickstarts him...
A thousand things can go wrong. I had huge piles of leather sit in my depot for a long time, until I noticed that it was in bins and my stockpile already had as many bins as it was configured to allow.
so if stuff is in bins the dwarf won't consider it available? All the cloth outside(the caravan that got killed had all 3 types) is in bins... And yes I always check for it to be claimed, not forbidden, learned my lesson after my freaking squad didn't touch the iron armor a goblin had left, even though I had assigned it to them and to be hauled.
PS:I know this is off-topic, but what does the fact my map has 1055 years of history mean?
Cheers