You should have a bunch of "Dinner" calendar events. The events need to be named "Dinner" or start with "Dinner:" to show up here.
Mark your expected attendance in your calendar program.
To sign up for cooking I would change the name of a single instance to "Dinner: Jeff cooking". The code looks for the word "cook" and will alert if the next dinner doesn't have a cook signed up.
To inviting a guest either change the name to include them ("Dinner: Jeff cooking, +Mike") or invite them to that instance of the event as a regular calendar participant