npx skills add ...
npx skills add samber/dev-event-organizer-skills --skill event-volunteer-experience
Design what a volunteer gets when they are not standing at a post, and how one edition closes with them - off-duty time they can actually use, the volunteer-specific hospitality top-up on the event's general standard, recognition not tied to a shift, a public thank-you, and the past-volunteer list next edition's recruitment starts from. Use whenever the user mentions looking after volunteers beyond their shift, whether volunteers get to see a talk, a volunteer lounge or volunteer meal, thanking volunteers after the event, or bringing the same volunteers back next edition - even if they never say "volunteer experience". Do NOT use for recruitment, roles, shifts or briefing - use samber/dev-event-organizer-skills@event-volunteers instead.
npx skills add samber/dev-event-organizer-skills --skill event-volunteer-experience
You look after the people samber/dev-event-organizer-skills@event-volunteers already recruited, in the two windows that skill leaves alone: the hours they are not standing at a post, and the weeks after the event ends.
Two inputs, neither of them yours to write: a finished shift grid, and a general hospitality standard.
Three outputs:
samber/dev-event-organizer-skills@event-volunteers draws the split from its own side. Every rung of its recognition menu is tied to a shift, and it routes recognition landing after the event here: the published thank-you naming volunteers, the retained past-volunteer list, the alumni loop. Shift food, the t-shirt and a seat in the room you are staffing stay there, and are not re-decided here.
Correct that line in exactly one direction, and say so when you do: off-duty care in this edition is also yours. That skill speaks to arrival buffers and shift length; it never speaks to what a volunteer does, eats, or sits on while off post.
Never re-open roster size, shift length or the sizing arithmetic. Hand a requirement upstream instead. "Every volunteer needs one continuous block off post" is an input to that skill's bottom-up sizing, not an edit you make here.
One rung sits in both menus, and this is the split. samber/dev-event-organizer-skills@event-volunteers carries "thanks by name at the end of the shift" inside its shift-recognition menu: a spoken, in-the-moment thanks its own text excludes from publication ("Publishing a volunteer's name is the option that would carry that exposure, and it is not on this menu"). The published post-event thank-you is yours - a names list, a consent ask, an opt-out. Never let one message serve as both, or the consent gate goes unasked.
Never re-decide the catering standard, the dietary and allergen policy, or signage. samber/dev-event-organizer-skills@event-hospitality sets those for every population and you add only the volunteer layer, the same shape samber/dev-event-organizer-skills@event-speaker-experience uses for speakers. The hospitality skill's own boundary table hands you the off-duty top-up, with its dietary, allergen and alcohol exposure inherited rather than re-argued, and hands food at the post to samber/dev-event-organizer-skills@event-volunteers.
Never write a role definition. Flag a standout volunteer as a candidate and stop; samber/dev-event-organizer-skills@event-team-structure owns the role taxonomy and everything that follows an offer.
Touch conduct nowhere. samber/dev-event-organizer-skills@event-code-of-conduct owns the policy and the response team, and samber/dev-event-organizer-skills@event-volunteers already briefs the escalation script to every volunteer. Volunteer care does not stretch into volunteer safety reporting. A reader who assumes it does writes a second, conflicting script.
Your thank-you is outward-facing; the retrospective is not. samber/dev-event-organizer-skills@event-debrief never surveys or writes to participants, so there is no collision. It reviews internally how volunteer ops performed; you write to the volunteers themselves.
The alumni loop is yours, and samber/dev-event-organizer-skills@event-community-building must mirror that when it is built. You close out this edition's volunteers - thanks, the retained list, the candidate flag. That skill runs the standing, multi-edition community work the list then sits inside.
This arbitration rests on samber/dev-event-organizer-skills@event-volunteers being shipped and explicitly routing next-edition volunteer material here. The other skill mirrors it from its own side: it scopes its audience to community members who never worked a shift, and runs the alumni loop as a segment inside its surface rather than as a second space.
Volunteer feedback is not claimed here. samber/dev-event-organizer-skills@event-feedback segments attendee, speaker and sponsor instruments and is silent on volunteers. A volunteer question set is closer to that skill's job than to this one's, so say so rather than absorbing it.
Ask one question at a time, multiple-choice where it helps. Questions 5-7 exist because the menus below diverge on time-to-effect, durability and effort, so nobody can pick those defaults for the user.
samber/dev-event-organizer-skills@event-volunteers, never as a change you make to the grid.Show the user any volunteer-facing message and any published entitlement before it goes out. An off-duty promise the roster cannot fund is worse than no promise, because the volunteer plans their day around it.
If your harness has persistent memory, record per edition:
That record is what makes next edition's loop yours instead of this skill's defaults.
Every ordering below is a default, not a law - it shifts with context and with who executes it. Before presenting a menu, re-rank it against the interview and say which answer moved which option.
The three efficiency orderings, every default rung, every promotion condition and every delete are this skill's own construction, not measured rankings. Where a named event runs one of these practices, it is cited. No published figure compares the rungs against each other on volunteer return. Treat each ordering as a starting argument to overturn with what you know about your own event, and say so when you present it.
An asset the defaults assume away beats the recommended rung outright: an existing past-volunteer list (Q4) collapses most of the third menu into one email, and a standing community space someone else already owns (Q9) means the alumni half is not even yours to build.
Where the interview rules an option out, delete it from the plan rather than parking it at the bottom. A ruled-out option left on the list reappears as scope.
What a volunteer gets to do with the hours they are not on a post. Not the seat in the session they are staffing - that is shift-linked and lives next door.
Efficiency: off-duty pointer > named personal-attendance blocks > published off-duty entitlement > nothing designed.
No compliance-cost axis applies: none of these rungs collects data, publishes anything about a person, or triggers a review.
Value and effort run in different orders here, and one inference is what separates them. That inference is this skill's own, not a measured finding:
Q2 is the question that breaks the inference. Where the grid leaves no free block, the entitlement stops being redundant and the order flips.
Deleted, not demoted: informal permission to slip away from a post when it is quiet. Delete it from this menu and from the axis lines above. It is the cheapest-looking rung on the page, and it directly contradicts the sibling's published coverage rule that nobody leaves a post without confirmation of a replacement. The failure it produces is not a missed session. It is an unstaffed desk nobody knew was unstaffed.
The volunteer-specific top-up on the general standard, for time off post. The shift-linked half - food at the desk, vouchers for long shifts, meals for buildup and teardown crews - is already the sibling's and is not repeated here. The general meal line and the quiet room a volunteer uses off-shift are decided by samber/dev-event-organizer-skills@event-accessibility-inclusion and samber/dev-event-organizer-skills@event-attendee-experience, not here.
Efficiency: off-duty catering access > volunteer rest space > volunteer social meal > attendee parity only.
No compliance-cost axis is derived here. The dietary, allergen and alcohol exposure these rungs carry is the general standard's, already decided in samber/dev-event-organizer-skills@event-hospitality and inherited rather than re-argued - deriving it twice is how two skills end up with two policies.
Efficiency diverges from value at the top of this menu: the rest space leads on value, the social meal leads on effort, and the cheapest rung leads on neither yet wins the ratio.
Deleted, not demoted: repurposing the event's quiet or accessible space as the volunteer break room. Delete it from this menu and from the axis lines above. It looks free and it is not. That room exists so a person who cannot be around interaction has somewhere to go, and samber/dev-event-organizer-skills@event-accessibility-inclusion provisions it for that population. Filling it with off-duty volunteers destroys the exact property it was provisioned for. Borrow a different room, or none.
What happens after the last shift. Recognition and continuity are one menu, not two.
Both are decided in the same week, by the same person, out of the same near-zero budget. Both are measured by the same outcome - a volunteer who comes back - and the status-marker rung cannot exist without the retained list.
Efficiency: retained past-volunteer list > public thank-you > nomination path > standing alumni channel > returning-volunteer marker.
Compliance cost earns its axis here. Every rung except the last holds or publishes personal data about people who are not attendees, and the retained list is the one that persists past the edition it was collected for. That retention duty is inherited from the sibling's sign-up flow, not invented here: apply it to a list that outlives its edition rather than re-deriving the rule.
samber/dev-event-organizer-skills@event-volunteers ranks a past-volunteer call-back second on efficiency among recruitment channels and names it in its own default, so without this list that channel structurally does not exist next edition. That is a sibling's published default, not external evidence: it says the list matters, and nobody has measured the payoff. Give it a named owner and a deletion date on the day you create it.samber/dev-event-organizer-skills@event-team-structure owns everything after that. Design the route to fit your own standing team rather than looking for a template to copy. references/alumni-list-and-handoff.md borrows DEF CON's own vouching criteria as a starting checklist for what the flag should capture.Deleted, not demoted: a formal reward with real cash value - a raffle prize, a travel grant, a comped ticket to a different event as payment for the shift. Delete it from this menu and from the axis lines above. Once a reward reads as wages, the arrangement is no longer volunteering, and that question is not reversible after the first reward is handed out. This mirrors the sibling's own cash-stipend deletion. TechCrunch runs exactly this shape at its own events: a stated minimum-hours commitment earns a named-dollar-value pass to a different, later event in the same company's portfolio. That is what the deleted rung looks like in practice, and the reason it stays deleted rather than becoming a menu option with guardrails.
A comped ticket offered as an invitation, not as payment, is a different thing. If you offer one, say in writing which it is. No convention ties a comped ticket to the same event's next edition: the named programs that exist run cross-event, inside one organizer's own portfolio, rather than volunteer-this-year-attend-free-next-year at one recurring conference.
No benchmark exists for any of this: no published figure says what share of a volunteer roster should return. Every threshold below is this skill's own, self-set rather than measured, and each becomes meaningful only across editions, against your own previous number.
The two self-set shares need a second edition before they say anything. The three gates do not, which is why they carry the pass threshold: check each against the grid and the list you already built, and iterate until all three hold.
Expected output:
See also, same collection:
samber/dev-event-organizer-skills@event-volunteers - recruits, defines roles, plans shifts, briefs, and owns shift-linked perks. Its shift grid is this skill's input; its past-volunteer call-back channel is what this skill's retained list feeds.samber/dev-event-organizer-skills@event-hospitality - sets the population-agnostic standard this skill tops up rather than restates.samber/dev-event-organizer-skills@event-team-structure - receives flagged candidates and owns the role from there.samber/dev-event-organizer-skills@event-accessibility-inclusion - owns the quiet and accessible space this skill refuses to borrow.samber/dev-event-organizer-skills@event-debrief - reviews volunteer operations internally; this skill writes to volunteers themselves.samber/dev-event-organizer-skills@event-community-building - runs standing between-editions community the retained list sits inside, and mirrors this boundary from its own side.