# Two Deep > Paste the posts and the volunteer roster for one event day - a holiday food distribution, a community meal, a food drive, a fun run - and see it as an org chart: the event lead, the shift leads on a strip of the day, and every post with a half-hour coverage strip marking two deep (enough named people plus a named backup), one deep (no backup) or short. A metered check gives every post a status, quote, reason and fix, the posts to add, a briefing card for the start of each shift, a message asking for the open shifts and a ready / patch / rebuild verdict. https://two-deep.skillsafe.ai/ ## What it does - Free, in the browser (rosterkit.js, orgchart.js): reads the plan by its headings (Event, Date, Hours, Lead, Shift length, Posts, Roster, Shift leads, Briefing, Contacts). Posts are one a line ("Check-in | 2 | 8:00-12:00 | client records"); the roster can be one post a line ("Check-in: Ann Leesworth 8:00-12:00; Joe Kimrow (backup)"), one person a line ("Ann Leesworth | Check-in | 8:00-12:00"), or a spreadsheet paste with name, post, start and end columns. Tags: (backup), (first time). Times take 24-hour or am/pm. - Sizes bottom-up, never by attendee ratio: people needed at once x hours / shift length = shift-slots per post. Lays every post on a half-hour grid and counts post-hours needed and named, coverage %, the share of staffed half hours with a named backup, and about how many shifts are still open. TBD slots count as nobody. - Flags: half hours short of people, half hours with no backup, slots still TBD, records-or-money posts without named people, double bookings, backups who are working another post at the same time (a floater or on-call backup is fine), shifts over five hours, first-timers (arrive 30 minutes early instead of 15), times with no shift lead or two, the posts most days need (setup, teardown, floater, check-in or welcome, a safety or conduct contact), and the briefing's three parts (what each post does, who to call and how, the conduct and safety script) plus the hand-off rule. Its own verdict: ready, patch or rebuild. - Metered, one task `check`: per post a status (two_deep / thin / gap), an exact quote, a reason and one fix naming only people the plan shows are free; the posts to add; a 3-6 line briefing card; a 2-4 sentence recruiting message for the open shifts; next steps; caveats. - The page holds the reply to the grid: a post is never shown better than the grid counted, every quote must appear in the plan as written, every missing post the page found must be listed, the briefing card must carry the hand-off rule, and a plan with open shifts must get a recruiting message. ## Limits - Coverage is computed only from what was pasted; the "usually needs" posts and the arrival buffers are rules of thumb, not an organisation's policy. - One calendar day, up to 20 hours on the grid and 24 posts; an overnight event is split at midnight. Times with no am/pm are read against the event hours. - Exports: Markdown (chart table, check, arrival list), a CSV of who arrives when plus every open slot and backup still wanted, and a free message asking for the open shifts. After edits, the page lists what changed since the last check (post statuses, open shifts, coverage) without another run. ## Sources - Built on the SkillSafe skill @samber/event-volunteers: https://skillsafe.ai/skill/@samber/event-volunteers - Why now: food banks are recruiting volunteers for holiday distribution days (for example, one regional food bank says 4,500 community volunteers will be needed for its November 21, 2026 distribution): https://regionalfoodbank.net/2026-thanksgiving-food-distribution-live/ - API: https://two-deep.skillsafe.ai/api.html