skilldrop-cli 1.6.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/README.md +2 -0
  2. package/catalogue.json +18 -2
  3. package/model-routing.json +16 -0
  4. package/package.json +1 -1
  5. package/packs/event-planner/pack.json +61 -0
  6. package/packs/event-planner/skills/run-of-show/SKILL.md +141 -0
  7. package/packs/event-planner/skills/run-of-show/evals/eval_queries.json +30 -0
  8. package/packs/event-planner/skills/run-of-show/evals/evals.json +103 -0
  9. package/packs/event-planner/skills/run-of-show/evals/files/1/agenda.md +16 -0
  10. package/packs/event-planner/skills/run-of-show/evals/files/2/schedule.csv +8 -0
  11. package/packs/event-planner/skills/run-of-show/evals/files/3/notes.txt +3 -0
  12. package/packs/event-planner/skills/run-of-show/evals/files/4/sessions_export.csv +25 -0
  13. package/packs/event-planner/skills/run-of-show/evals/files/4/venue_and_crew.txt +27 -0
  14. package/packs/event-planner/skills/run-of-show/evals/files/5/runsheet_v4.csv +28 -0
  15. package/packs/event-planner/skills/run-of-show/evals/files/5/venue_and_suppliers.txt +22 -0
  16. package/packs/event-planner/skills/run-of-show/evals/files/6/acts_from_booker.csv +26 -0
  17. package/packs/event-planner/skills/run-of-show/evals/files/6/venue_rooms_and_crew.txt +14 -0
  18. package/packs/event-planner/skills/run-of-show/evals/files/7/runsheet_draft_v4.csv +25 -0
  19. package/packs/event-planner/skills/run-of-show/evals/files/7/venue_and_fixed_times.txt +24 -0
  20. package/packs/event-planner/skills/run-of-show/examples/product-launch.md +77 -0
  21. package/packs/event-planner/skills/run-of-show/examples/product-launch.svg +58 -0
  22. package/packs/event-planner/skills/run-of-show/manifest.json +44 -0
  23. package/packs/event-planner/skills/run-of-show/scripts/show_check.py +295 -0
  24. package/packs/event-planner/skills/run-of-show/templates/show.json +15 -0
  25. package/packs/event-planner/skills/seating-plan/SKILL.md +152 -0
  26. package/packs/event-planner/skills/seating-plan/evals/eval_queries.json +30 -0
  27. package/packs/event-planner/skills/seating-plan/evals/evals.json +134 -0
  28. package/packs/event-planner/skills/seating-plan/evals/files/1/guests.csv +31 -0
  29. package/packs/event-planner/skills/seating-plan/evals/files/2/table-plan.txt +8 -0
  30. package/packs/event-planner/skills/seating-plan/evals/files/3/brief.txt +4 -0
  31. package/packs/event-planner/skills/seating-plan/evals/files/3/guests.csv +49 -0
  32. package/packs/event-planner/skills/seating-plan/evals/files/4/rsvp_export.csv +127 -0
  33. package/packs/event-planner/skills/seating-plan/evals/files/4/seating_notes.txt +21 -0
  34. package/packs/event-planner/skills/seating-plan/evals/files/5/organiser_notes.txt +10 -0
  35. package/packs/event-planner/skills/seating-plan/evals/files/5/registrations.csv +93 -0
  36. package/packs/event-planner/skills/seating-plan/evals/files/5/table_plan_v3.csv +94 -0
  37. package/packs/event-planner/skills/seating-plan/evals/files/6/bridgets_notes.txt +30 -0
  38. package/packs/event-planner/skills/seating-plan/evals/files/6/ticket_export.csv +117 -0
  39. package/packs/event-planner/skills/seating-plan/evals/files/6/venue_floorplan_notes.txt +14 -0
  40. package/packs/event-planner/skills/seating-plan/evals/files/7/keep_apart_CONFIDENTIAL.txt +9 -0
  41. package/packs/event-planner/skills/seating-plan/evals/files/7/prom_seating_v3.csv +101 -0
  42. package/packs/event-planner/skills/seating-plan/evals/files/7/ticket_list.csv +101 -0
  43. package/packs/event-planner/skills/seating-plan/evals/files/7/venue_info.txt +16 -0
  44. package/packs/event-planner/skills/seating-plan/evals/files/8/registrations_export.csv +147 -0
  45. package/packs/event-planner/skills/seating-plan/evals/files/8/room_layout.md +22 -0
  46. package/packs/event-planner/skills/seating-plan/evals/files/8/seating_requests.txt +31 -0
  47. package/packs/event-planner/skills/seating-plan/evals/files/9/guest_list.csv +84 -0
  48. package/packs/event-planner/skills/seating-plan/evals/files/9/notes.txt +16 -0
  49. package/packs/event-planner/skills/seating-plan/evals/files/9/table_plan.csv +85 -0
  50. package/packs/event-planner/skills/seating-plan/examples/wedding-dinner.md +61 -0
  51. package/packs/event-planner/skills/seating-plan/examples/wedding-dinner.svg +39 -0
  52. package/packs/event-planner/skills/seating-plan/manifest.json +44 -0
  53. package/packs/event-planner/skills/seating-plan/scripts/seating_check.py +324 -0
  54. package/packs/event-planner/skills/seating-plan/templates/seating.json +28 -0
  55. package/packs/experience-design/pack.json +5 -0
  56. package/packs/experience-design/skills/locale-check/SKILL.md +139 -0
  57. package/packs/experience-design/skills/locale-check/evals/eval_queries.json +38 -0
  58. package/packs/experience-design/skills/locale-check/evals/evals.json +104 -0
  59. package/packs/experience-design/skills/locale-check/evals/files/1/budget.json +1 -0
  60. package/packs/experience-design/skills/locale-check/evals/files/1/locales/ar.json +16 -0
  61. package/packs/experience-design/skills/locale-check/evals/files/1/locales/de.json +12 -0
  62. package/packs/experience-design/skills/locale-check/evals/files/1/locales/en.json +12 -0
  63. package/packs/experience-design/skills/locale-check/evals/files/1/locales/pl.json +12 -0
  64. package/packs/experience-design/skills/locale-check/evals/files/2/app/src/main/res/values/strings.xml +12 -0
  65. package/packs/experience-design/skills/locale-check/evals/files/2/app/src/main/res/values-es/strings.xml +11 -0
  66. package/packs/experience-design/skills/locale-check/evals/files/2/app/src/main/res/values-fr/strings.xml +12 -0
  67. package/packs/experience-design/skills/locale-check/evals/files/3/po/ja.po +20 -0
  68. package/packs/experience-design/skills/locale-check/evals/files/3/po/messages.pot +23 -0
  69. package/packs/experience-design/skills/locale-check/evals/files/3/po/ru.po +22 -0
  70. package/packs/experience-design/skills/locale-check/evals/files/4/budgets.json +15 -0
  71. package/packs/experience-design/skills/locale-check/evals/files/4/locales/ar.json +265 -0
  72. package/packs/experience-design/skills/locale-check/evals/files/4/locales/de.json +265 -0
  73. package/packs/experience-design/skills/locale-check/evals/files/4/locales/en.json +265 -0
  74. package/packs/experience-design/skills/locale-check/evals/files/4/locales/fr.json +265 -0
  75. package/packs/experience-design/skills/locale-check/evals/files/4/locales/pl.json +265 -0
  76. package/packs/experience-design/skills/locale-check/evals/files/5/app/src/main/res/values/strings.xml +77 -0
  77. package/packs/experience-design/skills/locale-check/evals/files/5/app/src/main/res/values-es/strings.xml +63 -0
  78. package/packs/experience-design/skills/locale-check/evals/files/5/app/src/main/res/values-ja/strings.xml +61 -0
  79. package/packs/experience-design/skills/locale-check/evals/files/6/po/cs.po +605 -0
  80. package/packs/experience-design/skills/locale-check/evals/files/6/po/marlin.pot +602 -0
  81. package/packs/experience-design/skills/locale-check/evals/files/6/po/pt_BR.po +602 -0
  82. package/packs/experience-design/skills/locale-check/evals/files/6/po/ru.po +608 -0
  83. package/packs/experience-design/skills/locale-check/evals/files/7/Tidewatch/Resources/en.lproj/Localizable.strings +160 -0
  84. package/packs/experience-design/skills/locale-check/evals/files/7/Tidewatch/Resources/en.lproj/Localizable.stringsdict +70 -0
  85. package/packs/experience-design/skills/locale-check/evals/files/7/Tidewatch/Resources/he.lproj/Localizable.strings +157 -0
  86. package/packs/experience-design/skills/locale-check/evals/files/7/Tidewatch/Resources/he.lproj/Localizable.stringsdict +86 -0
  87. package/packs/experience-design/skills/locale-check/evals/files/7/Tidewatch/Resources/it.lproj/Localizable.strings +160 -0
  88. package/packs/experience-design/skills/locale-check/evals/files/7/Tidewatch/Resources/it.lproj/Localizable.stringsdict +68 -0
  89. package/packs/experience-design/skills/locale-check/evals/files/7/Tidewatch/Resources/ko.lproj/Localizable.strings +160 -0
  90. package/packs/experience-design/skills/locale-check/evals/files/7/Tidewatch/Resources/ko.lproj/Localizable.stringsdict +62 -0
  91. package/packs/experience-design/skills/locale-check/examples/settings-release.md +107 -0
  92. package/packs/experience-design/skills/locale-check/manifest.json +45 -0
  93. package/packs/experience-design/skills/locale-check/scripts/locale_check.py +1105 -0
  94. package/packs/operations-manager/pack.json +60 -0
  95. package/packs/operations-manager/skills/shift-roster/SKILL.md +166 -0
  96. package/packs/operations-manager/skills/shift-roster/evals/eval_queries.json +38 -0
  97. package/packs/operations-manager/skills/shift-roster/evals/evals.json +135 -0
  98. package/packs/operations-manager/skills/shift-roster/evals/files/1/shifts.csv +3 -0
  99. package/packs/operations-manager/skills/shift-roster/evals/files/1/staff.csv +8 -0
  100. package/packs/operations-manager/skills/shift-roster/evals/files/2/rota.csv +22 -0
  101. package/packs/operations-manager/skills/shift-roster/evals/files/2/staff.csv +6 -0
  102. package/packs/operations-manager/skills/shift-roster/evals/files/3/team.md +14 -0
  103. package/packs/operations-manager/skills/shift-roster/evals/files/4/availability_export_wk47.csv +23 -0
  104. package/packs/operations-manager/skills/shift-roster/evals/files/4/rota_notes.txt +20 -0
  105. package/packs/operations-manager/skills/shift-roster/evals/files/5/rota_draft_16-29nov.csv +107 -0
  106. package/packs/operations-manager/skills/shift-roster/evals/files/5/staff_list.csv +17 -0
  107. package/packs/operations-manager/skills/shift-roster/evals/files/6/availability_notes.txt +24 -0
  108. package/packs/operations-manager/skills/shift-roster/evals/files/6/peoplehub_staff_export.csv +14 -0
  109. package/packs/operations-manager/skills/shift-roster/evals/files/6/rota_template.csv +25 -0
  110. package/packs/operations-manager/skills/shift-roster/evals/files/7/leave_and_availability.txt +18 -0
  111. package/packs/operations-manager/skills/shift-roster/evals/files/7/rota_wc_30nov.csv +47 -0
  112. package/packs/operations-manager/skills/shift-roster/evals/files/7/staff_list.csv +15 -0
  113. package/packs/operations-manager/skills/shift-roster/evals/files/8/availability_form_responses.csv +22 -0
  114. package/packs/operations-manager/skills/shift-roster/evals/files/8/cover_requirements.csv +15 -0
  115. package/packs/operations-manager/skills/shift-roster/evals/files/8/staff_export.csv +29 -0
  116. package/packs/operations-manager/skills/shift-roster/evals/files/9/leave_and_restrictions.txt +16 -0
  117. package/packs/operations-manager/skills/shift-roster/evals/files/9/rota_export_07-13Dec.csv +85 -0
  118. package/packs/operations-manager/skills/shift-roster/evals/files/9/staff_list.csv +27 -0
  119. package/packs/operations-manager/skills/shift-roster/examples/cafe-week.md +72 -0
  120. package/packs/operations-manager/skills/shift-roster/examples/cafe-week.svg +123 -0
  121. package/packs/operations-manager/skills/shift-roster/manifest.json +34 -0
  122. package/packs/operations-manager/skills/shift-roster/scripts/roster_check.py +633 -0
  123. package/packs/operations-manager/skills/shift-roster/templates/roster.json +22 -0
package/README.md CHANGED
@@ -74,6 +74,8 @@ Install one pack. Every role pack also brings `core` (intake, critique, review c
74
74
  - **Writing agent skills:** `skill-engineering` — author a portable skill with evals, and review one before it ships. [Open pack](https://sananthanarayan.github.io/skilldrop/packs/skill-engineering/)
75
75
  - **Applying for a job:** `career` — an honest fit check against the posting, a tailored resume and cover letter that claim nothing you didn't, and the application form's answers. [Open pack](https://sananthanarayan.github.io/skilldrop/packs/career/)
76
76
  - **Designing buildings:** `civil-architect` — a dimensioned concept floor plan from a room list and a footprint, checked for overlapping rooms, doors on no wall and rooms no one can reach. [Open pack](https://sananthanarayan.github.io/skilldrop/packs/civil-architect/)
77
+ - **Running a team on shifts:** `operations-manager` — a weekly rota checked for cover, hours, rest between shifts and days in a row, handed back in your own sheet. [Open pack](https://sananthanarayan.github.io/skilldrop/packs/operations-manager/)
78
+ - **Running events:** `event-planner` — a seating plan where every together, keep-apart and access request holds, and a run of show with no room or person booked twice, both checked and drawn. [Open pack](https://sananthanarayan.github.io/skilldrop/packs/event-planner/)
77
79
  - **Everyone:** `core` on its own. [Open pack](https://sananthanarayan.github.io/skilldrop/packs/core/)
78
80
 
79
81
  </details>
package/catalogue.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$comment": "RFC-0034. The catalogue index: pack display order and the outcome browse axis (RFC-0026). Pack metadata lives in packs/<pack>/pack.json; membership is the folders — a skill is in a pack because it sits at packs/<pack>/skills/<name>/.",
3
3
  "version": "1.0.0",
4
- "packs": ["core", "solution-architect", "product-manager", "dev-team", "sre-oncall", "stakeholder-comms", "design", "ai-engineering", "api-builder", "converters", "experience-design", "research", "trackers", "data-analytics", "grc", "infra-as-code", "frontend", "skill-engineering", "career", "civil-architect"],
4
+ "packs": ["core", "solution-architect", "product-manager", "dev-team", "sre-oncall", "stakeholder-comms", "design", "ai-engineering", "api-builder", "converters", "experience-design", "research", "trackers", "data-analytics", "grc", "infra-as-code", "frontend", "skill-engineering", "career", "civil-architect", "operations-manager", "event-planner"],
5
5
  "outcomes": {
6
6
  "decide-what-to-build": {
7
7
  "for": "Product managers · founders · strategists",
@@ -157,7 +157,8 @@
157
157
  "design-system-spec",
158
158
  "information-architecture",
159
159
  "service-blueprint",
160
- "ux-writing"
160
+ "ux-writing",
161
+ "locale-check"
161
162
  ]
162
163
  },
163
164
  "research-a-question": {
@@ -212,6 +213,21 @@
212
213
  "skills": [
213
214
  "floor-plan-layout"
214
215
  ]
216
+ },
217
+ "staff-the-shifts": {
218
+ "for": "Operations managers · shop, hotel, leisure-centre and care-home managers",
219
+ "description": "Turn who is available and what each shift needs into a rota with every shift covered by the right people, and nobody double-booked, over their hours or short of rest.",
220
+ "skills": [
221
+ "shift-roster"
222
+ ]
223
+ },
224
+ "plan-an-event": {
225
+ "for": "Event planners · wedding planners · conference organisers",
226
+ "description": "Seat every guest with the people they should and shouldn't be near, and run the day with no room or person booked twice.",
227
+ "skills": [
228
+ "seating-plan",
229
+ "run-of-show"
230
+ ]
215
231
  }
216
232
  },
217
233
  "retired": {
@@ -287,6 +287,22 @@
287
287
  "tier": "light",
288
288
  "rationale": "A deterministic stdlib script does the extraction; the model runs it, relays the dropped-content report and hands off. No generation beyond a short summary of losses."
289
289
  },
290
+ "shift-roster": {
291
+ "tier": "standard",
292
+ "rationale": "Assigning people to shifts is constraint-heavy but bounded: the script checks every rule and summarises the final rota, so the model's job is a good first assignment, fixing what the check reports and returning the person's own file."
293
+ },
294
+ "seating-plan": {
295
+ "tier": "standard",
296
+ "rationale": "Assigning guests against overlapping rules is bounded judgment; the script decides whether every rule holds."
297
+ },
298
+ "run-of-show": {
299
+ "tier": "standard",
300
+ "rationale": "Ordering a day around rooms and people is bounded judgment; the script decides whether anything clashes."
301
+ },
302
+ "locale-check": {
303
+ "tier": "standard",
304
+ "rationale": "The script finds every mechanical defect; the model ranks them by what breaks first, writes the mechanical fixes and reads reordered and named-screen strings for meaning."
305
+ },
290
306
  "floor-plan-layout": {
291
307
  "tier": "heavy",
292
308
  "rationale": "Spatial layout is design judgment: zoning, adjacencies, daylight and circulation traded against areas, with a checker to iterate against."
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skilldrop-cli",
3
- "version": "1.6.0",
3
+ "version": "1.7.0",
4
4
  "description": "Portable AI-agent skills, measured against the agent without them. ADRs, PRDs, runbooks, decks and reviews, installable into Claude Code, Cursor, Kiro, and any IDE that takes custom instructions. One command per skill or per role-based pack.",
5
5
  "author": {
6
6
  "name": "Sanjay Ananthanarayan",
@@ -0,0 +1,61 @@
1
+ {
2
+ "description": "Seated dinners and event days that hold together: a table plan where every guest has one seat and every together, keep-apart and access request holds, and a run of show where no room or person is booked twice and every changeover has the time it needs, each checked by a script and drawn before anyone prints it.",
3
+ "display_name": "Event planner",
4
+ "keywords": [
5
+ "events",
6
+ "event planning",
7
+ "seating plan",
8
+ "table plan",
9
+ "wedding",
10
+ "run of show",
11
+ "running order",
12
+ "agenda",
13
+ "conference"
14
+ ],
15
+ "links": {
16
+ "documentation": "https://sananthanarayan.github.io/skilldrop/packs/event-planner/"
17
+ },
18
+ "maintainers": [
19
+ {
20
+ "name": "sananthanarayan"
21
+ }
22
+ ],
23
+ "first-value": {
24
+ "audience-posture": "non-technical",
25
+ "prerequisites": [
26
+ "The guest list with households and requests, or the day's sessions with rooms and times",
27
+ "Python 3 on the machine, which the checking and drawing scripts run on"
28
+ ],
29
+ "starter-task": "Get a checked seating plan from a guest list and a few requests",
30
+ "starter-prompt": "Seat these 36 wedding guests at four tables of 10 (the head table seats 6). Keep each household together, keep Dan and Priya apart, and Grandma Rose uses a wheelchair, so she needs table 1, which is step-free. Here's the list: <paste it>.",
31
+ "verification": "seating-plan replies with a table of who sits where, names any request it couldn't meet and why, lists dietary needs per table, and saves a drawing of the room with names at each table, after a check that every guest has one seat and every request holds.",
32
+ "recovery": "If seating-plan does not activate, ask for it by name (\"use seating-plan\"). If a request can't be met, say which one may give, and ask again."
33
+ },
34
+ "requires": [
35
+ "core"
36
+ ],
37
+ "journey": {
38
+ "when": "You're running a seated dinner or a day of sessions, and want a plan that won't fall apart on the day.",
39
+ "you_bring": [
40
+ "the guest list, with households, access needs and dietary needs",
41
+ "the tables: how many, seats each, which are step-free",
42
+ "who must sit together and who must be kept apart",
43
+ "the day's sessions, rooms, speakers and venue hours"
44
+ ],
45
+ "steps": [
46
+ {
47
+ "skill": "run-of-show",
48
+ "you_do": "Give it the sessions, rooms, speakers and the venue's hours.",
49
+ "you_get": "A running order with every changeover and break, checked so no room or person is booked twice, and a timeline per room.",
50
+ "decide": "Accept the moves it proposes for any clash, or name what may give."
51
+ },
52
+ {
53
+ "skill": "seating-plan",
54
+ "you_do": "Give it the guest list, the tables and the requests.",
55
+ "you_get": "A table-by-table plan with every request held or named, the caterer's list per table, and a drawing of the room.",
56
+ "decide": "Print the place cards, or ask for another arrangement."
57
+ }
58
+ ],
59
+ "you_end_with": "A running order the crew can work from and a seating plan the venue can set, both checked."
60
+ }
61
+ }
@@ -0,0 +1,141 @@
1
+ ---
2
+ name: run-of-show
3
+ description: Turn an event's agenda into a timed run of show — every session, speaker, changeover and break with its start, end, room and who's needed — and check it with a script for two things in one room at once, a speaker booked in two places, changeovers shorter than the turnaround and anything outside venue hours, drawn as a timeline per room. Use when an organiser asks for "a run of show", "a running order", "the minute-by-minute for the day", "check the agenda for clashes", or has sessions, speakers and rooms for a conference, launch, festival or wedding day.
4
+ ---
5
+
6
+ # run-of-show
7
+
8
+ The running order the crew works from on the day: every item with its start, end, room and
9
+ the people it needs, and the setup and changeover time between items. An agenda that reads
10
+ fine often has a speaker in two rooms at once, a room handed over with five minutes to reset a
11
+ stage that needs twenty, or a session that runs past the venue's close. The agent builds the
12
+ order; a script checks every room and every person against the clock and draws the day, so the
13
+ clash is found in the plan, not on the day.
14
+
15
+ ## How to respond
16
+
17
+ **These rules come before the steps and outrank them:**
18
+
19
+ - **Deliver in the person's format first.** Given an agenda or runsheet as a CSV or
20
+ spreadsheet, hand back the finished or corrected one in the same columns, with a `change`
21
+ column saying what moved and why. Given a pasted agenda, reply with a table. Write every
22
+ deliverable the request names: a minute-by-minute per room, a crew sheet with turnarounds,
23
+ resets and host notes, a speaker call sheet.
24
+ - **Working files stay out of sight.** The checker's input and any intermediate file go in a
25
+ temporary folder outside the working directory, or are deleted before you reply. Draw the
26
+ timeline only when a drawing is asked for, and then once. Never leave anything running in
27
+ the background.
28
+ - **Carry every field through.** Every column or note the person gave per item (crew, cues,
29
+ AV, contact, notes) appears in the deliverable, and each conflict between them is flagged.
30
+ - **Soft notes are rules.** "Keep the couple's photos before sunset", "the band wants a break
31
+ before the last set": build them in, and say which you couldn't meet.
32
+ - **Fixing their running order means minimal changes.** Move only what a rule forces, keep the
33
+ rest at the times they set, and keep every supplier and venue limit, such as a call to
34
+ seats or a music cut-off.
35
+ - **A passing check is the floor, not the reply.** The reply is about their day, in their
36
+ words: never file formats, tools or paths.
37
+
38
+ 1. **Collect the agenda and the constraints.** From the files the organiser names (an agenda,
39
+ a speaker list, a venue contract) or the message:
40
+ - **Items:** title, room, start and end or a length, and who's needed (speakers, hosts, AV
41
+ crew, the band)
42
+ - **Rooms:** opening and closing times, and the turnaround each needs between items
43
+ - **Setup and changeover:** minutes an item needs in the room before it (a band's line
44
+ check) or after it (striking a stage)
45
+ - **Walking time** between rooms, and the published end of the day
46
+
47
+ Ask at most two questions, only about a time that changes the order. With no items, emit
48
+ `BLOCKED: need the sessions or items for the day`.
49
+
50
+ 2. **Write the show file** in the shape of [`templates/show.json`](templates/show.json):
51
+ `rooms` (`open`, `close`, `turnaround`), `items` (id, title, room, `start`, `end` or
52
+ `duration`, `people`, `setup`, `changeover`), `travel` between rooms and `published_end`.
53
+ Times are 24-hour `HH:MM`; a multi-day event gives each item a `day`. Make every break,
54
+ changeover and doors-open an item, so nothing in the day is implied.
55
+
56
+ 3. **Run the checker and fix every FAIL before showing anything.** Keep `show.json` in a
57
+ temporary folder; a drawing, when wanted, goes in the working directory as
58
+ `run-of-show.svg`, never inside this folder.
59
+
60
+ ```bash
61
+ # Claude Code
62
+ python3 "${CLAUDE_SKILL_DIR}/scripts/show_check.py" "$TMPDIR/show.json"
63
+ # Other IDEs (from the skill folder); add --svg only when a drawing is wanted
64
+ python3 scripts/show_check.py /tmp/show/show.json --svg run-of-show.svg
65
+ ```
66
+
67
+ Exit 0 means no clashes; 1 means a clash (an overlap in a room, a person in two places or
68
+ without time to walk, a changeover shorter than needed, an item outside the room's hours);
69
+ 2 means the file is malformed. Move or shorten items and rerun until it exits 0. A WARN
70
+ (someone working three hours without a break, a room empty for most of an hour, the day
71
+ running past its published end) stands only with a sentence saying why.
72
+
73
+ 4. **When the day can't fit, say what gives.** Name the clash and the smallest change: ✅
74
+ *"The panel and the pricing workshop both need Ana from 10:15. Moving the workshop to 11:10
75
+ keeps every other time; shortening the keynote to 35 minutes is the other way."* Never
76
+ squeeze a changeover below what the room needs to make the order pass.
77
+
78
+ 5. **Reply for the organiser, in this order:**
79
+ 1. **The running order:** in their file's format when they gave one, otherwise a table of
80
+ time, room, item and who's needed, sorted by time; and each sheet the request named.
81
+ 2. **What moved, and why,** if they gave an agenda and it had clashes.
82
+ 3. **What couldn't be resolved,** with the choice it needs from them.
83
+ 4. **The assumptions,** each tagged `[assumption]`: a turnaround or walking time they didn't give.
84
+ 5. **The files:** their running order in their format, and the drawing if one was made.
85
+
86
+ Write for someone running an event: no file formats, no tool or script names, no paths
87
+ inside this folder. Say *"no one is booked in two places"*, not what checked it.
88
+
89
+ **Checking an agenda the organiser already made:** run the same checker on it, report each
90
+ clash with the move that shifts the fewest items, and hand back their file with those moves
91
+ made and noted. Don't redo the day unless they ask.
92
+
93
+ **Non-interactive runs** (subagent, CI, headless): with no turnaround, use 15 minutes per room;
94
+ with no walking time, none; with no venue hours, none, each tagged `[assumption]` at the top of
95
+ the reply. With no items, emit `BLOCKED: need the sessions or items for the day`.
96
+
97
+ ## Useful references in this skill
98
+
99
+ - [`templates/show.json`](templates/show.json) — the file shape: rooms, items, travel and the published end
100
+ - [`scripts/show_check.py`](scripts/show_check.py) — checks rooms, people, changeovers and venue hours; draws one lane per room
101
+ - [`examples/product-launch.md`](examples/product-launch.md) — worked example: a launch day where the first agenda booked the CEO in two rooms
102
+
103
+ Who sits where at the dinner belongs to `seating-plan`.
104
+
105
+ ## Quality bar
106
+
107
+ - **No room holds two items at once, and no one is needed in two places.** The checker exits 0 before the order is shown.
108
+ - **Every gap in a room is at least the turnaround, the next item's setup and the last item's changeover.**
109
+ - **Nothing runs outside its room's hours,** setup included.
110
+ - **Breaks, doors and changeovers are items,** with times, not gaps someone has to infer.
111
+ - **The reply leads with the running order,** in a table the crew could print.
112
+ - **Nothing is invented:** no speaker, session or venue time that wasn't given.
113
+ - **The running order comes back in the person's format,** with every field they gave and each sheet they asked for.
114
+ - **Their notes and every supplier limit hold,** and their own order changes only where a rule forces it.
115
+ - **No working file is left in their folder.**
116
+
117
+ ## When to use this skill
118
+
119
+ - ✅ A run of show or minute-by-minute for a conference, launch, festival or wedding day
120
+ - ✅ Checking an agenda for clashes before it's published
121
+ - ✅ Re-timing the day after a speaker cancels or a session moves room
122
+ - ✅ A multi-day, multi-room programme
123
+
124
+ ## When NOT to use this skill
125
+
126
+ - ❌ Who sits where at the dinner: that's `seating-plan`
127
+ - ❌ Staff shifts across a week with hours rules: that's a rota, not a running order
128
+ - ❌ Writing the speeches or the event announcement
129
+ - ❌ The budget or the supplier list
130
+
131
+ ## Anti-patterns to avoid
132
+
133
+ - ❌ **Showing an order before every room and person is checked.** The speaker double-booked at 10:15 is the one the crew finds out about at 10:14.
134
+ - ❌ **Squeezing a changeover to make the day fit.** The stage still takes twenty minutes to strike.
135
+ - ❌ **Breaks as gaps.** A break no one wrote down is the first thing an overrun eats.
136
+ - ❌ **Forgetting the walk.** Two rooms on different floors aren't back to back.
137
+ - ❌ **Mentioning files, formats or tools in the reply.** The organiser wants the times.
138
+ - ❌ **Re-timing the whole day unasked** when one move fixes the clash.
139
+ - ❌ **One merged table when they asked for a sheet per room.** The crew in room B needs room B's sheet.
140
+ - ❌ **Describing the fixes instead of making them.** Hand back the corrected runsheet.
141
+ - ❌ **A JSON file and a drawing nobody asked for** left beside their files.
@@ -0,0 +1,30 @@
1
+ [
2
+ {
3
+ "query": "put together a run of show for the conference, two rooms, here are the sessions",
4
+ "should_trigger": true
5
+ },
6
+ {
7
+ "query": "I need the minute-by-minute for the launch event",
8
+ "should_trigger": true
9
+ },
10
+ {
11
+ "query": "check this agenda for speaker clashes",
12
+ "should_trigger": true
13
+ },
14
+ {
15
+ "query": "make a running order for the festival main stage",
16
+ "should_trigger": true
17
+ },
18
+ {
19
+ "query": "seat the dinner guests, keep the two CEOs apart",
20
+ "should_trigger": false
21
+ },
22
+ {
23
+ "query": "plan the phases and rollback for our product launch",
24
+ "should_trigger": false
25
+ },
26
+ {
27
+ "query": "write the release notes for the launch",
28
+ "should_trigger": false
29
+ }
30
+ ]
@@ -0,0 +1,103 @@
1
+ {
2
+ "skill_name": "run-of-show",
3
+ "evals": [
4
+ {
5
+ "id": 1,
6
+ "prompt": "Here's the summit agenda (agenda.md). Turn it into a run of show the crew can work from, and sort out any clashes.",
7
+ "assertions": [
8
+ "Gives a running order with start, end, room and who's needed for every item, sorted by time",
9
+ "Finds that Dr. Lena Ortiz is due in Room 2 at 09:45, the minute her keynote ends, with a 5-minute walk, and moves one item to fix it",
10
+ "Finds that the keynote's 20 minutes of stage setup collides with registration if registration is on the main stage, or states where registration is",
11
+ "Finds that the main stage runs items back to back with less than its 15-minute turnaround (the break after the panel, the talk after the break, lunch, and the lightning talks), and re-times them",
12
+ "Finds that closing at 16:45 for 60 minutes runs past the published 17:30 finish",
13
+ "Lists every change it made, and why",
14
+ "Saves a timeline drawing under a plain name and names it",
15
+ "Does not mention scripts, JSON or the skill's own files in the reply"
16
+ ]
17
+ },
18
+ {
19
+ "id": 2,
20
+ "prompt": "Can you check this schedule for clashes (schedule.csv)? It's going to the printer tonight. Just tell me what's wrong — don't redo it.",
21
+ "assertions": [
22
+ "Finds that June Park is booked in Hall A's investor update and Hall B's roadmap deep dive at once, from 10:15 to 10:30",
23
+ "Does not report the 11:30 Q&A as a clash: Mo Reyes and June Park are both free by then",
24
+ "Notes that Hall A runs straight from one item into the next at 09:30, 10:30 and 10:40 with no changeover, and says the room needs time or states the turnaround it assumed",
25
+ "Gives one fix per clash that moves as little as possible",
26
+ "Does not hand back a rewritten schedule",
27
+ "Does not invent rooms, people or venue hours not in the file"
28
+ ]
29
+ },
30
+ {
31
+ "id": 3,
32
+ "prompt": "Make the minute-by-minute for the wedding day from these notes (notes.txt). Non-interactive, no follow-up questions.",
33
+ "assertions": [
34
+ "Makes every part of the day an item with a start and end, including drinks, speeches and cake",
35
+ "Gives the band its hour of setup and soundcheck in the barn before 19:30, while dinner is in the same room, and flags that as a clash or resolves it",
36
+ "Keeps everything in the barn within its 23:30 close",
37
+ "States the assumptions it made (turnaround, durations it had to guess), tagged",
38
+ "Leads with the running order as a table",
39
+ "Does not invent suppliers, names or times not implied by the notes"
40
+ ]
41
+ },
42
+ {
43
+ "id": 4,
44
+ "held_out": "2026-11-06",
45
+ "prompt": "Can you turn our sessions into a run of show for Fieldwork 2026 (Tue 1 Dec, Kelso Exchange)? sessions_export.csv is everything accepted from the CFP tool, 24 sessions. venue_and_crew.txt has the rooms, turnaround times, the fixed bits of the day and the AV crew, and speaker availability is in the notes column of the export. I need the minute-by-minute for every room that I can hand to the crew and the room hosts.",
46
+ "assertions": [
47
+ "Writes the run of show, runs the run-of-show check script on it, and shows it only after a run with no failures, with a timeline per room (Main Hall, Birch Room, Cedar Room, Workshop Lab)",
48
+ "Schedules all 24 sessions from the export exactly once, each with its start, end, room and who is needed (speakers or chair plus that room's AV tech), at the length given in the export",
49
+ "Keeps the fixed parts of the day: opening keynote 09:00-09:45 and closing keynote 17:00-17:45 in the Main Hall with nothing else running, nothing in any room during lunch (12:30-13:30) or the afternoon break (15:15-15:35), and everything inside the 08:00-18:30 venue hours",
50
+ "Never has two things in one room at once, and leaves at least each room's turnaround between sessions (Main Hall 15 min, Birch and Cedar 10 min, Workshop Lab 20 min)",
51
+ "Never has anyone in two places at once, with at least 10 minutes between a person's sessions in different rooms: Ines Varga (FW-09, FW-22 and the FW-03 panel), Hollis Grant (both panels), Sven Aaltonen and Priti Raman (their talks and the FW-23 workshop), and the other speakers with two sessions",
52
+ "Honours speaker availability: the FW-03 panel and FW-12 (Kofi Mensah-Baird) start at or after 12:15, FW-04 and the FW-06 panel (Lena Ostrowski) end by 14:30, FW-13 (Odile Fournier) starts at 11:00 or later, and FW-14 (Jarrah Whitcombe) ends by 16:00",
53
+ "Puts each session in a room that suits its request and fits its expected attendance: Main Hall requests in the Main Hall, the three workshops in the Workshop Lab, and FW-09 (72), FW-11 (66) and FW-17 (63) in the Birch Room, not the 60-seat Cedar Room",
54
+ "Does not invent sessions, speakers, crew or breaks that are not in the export or the venue notes"
55
+ ]
56
+ },
57
+ {
58
+ "id": 5,
59
+ "held_out": "2026-11-06",
60
+ "prompt": "This is the running order for Anouk and Callum's wedding at Hollow Farm on Saturday 21 November (runsheet_v4.csv, from our planning sheet). Everything the venue and suppliers have told us is pasted into venue_and_suppliers.txt. Can you check it for clashes and anything that breaks the venue's rules, and fix what you can? I'm meeting the couple first thing Monday so I need to know what I have to ask them about.",
61
+ "assertions": [
62
+ "Runs the run-of-show check script on the runsheet as supplied and reports what it fails before changing anything",
63
+ "Finds the Coach House booked twice at once: Groom prep photos 12:15-12:45 overlaps the Caterer staff briefing 12:30-13:00",
64
+ "Finds Wren (photographer) booked in two places: Couple portraits in the Orchard 16:15-16:45 and Family group photos on the Front Lawn 16:30-17:00",
65
+ "Finds the Barn turnaround after the ceremony too short: the ceremony ends 15:45 and guests are called back to their seats at 17:00 (75 minutes, and the flip row itself allows only 60) against the venue's 90-minute minimum",
66
+ "Finds Band set 3 (23:00-23:45) runs past the 23:00 amplified-music limit, and shows it can't be fixed by moving things: with the 15:00 ceremony, 90-minute flip, 15-minute call to seats, 2-hour meal, 45-minute speeches after the meal, 45-minute dance-floor flip and 10-minute first dance, the band can't start before about 21:10, leaving about 110 minutes, room for two 45-minute sets and one break but not three",
67
+ "Puts the band problem to the couple as their decision (for example two sets, shorter sets agreed with the band, or speeches moved), and does not leave a set running past 23:00 or cut any venue turnaround below its minimum",
68
+ "Does not flag correct entries as errors: the 45-minute dance-floor flip (20:00-20:45) meets the venue minimum, and the Orchard, Front Lawn and Terrace need no turnaround",
69
+ "Does not invent suppliers, times or permissions that are not in the runsheet or the notes, such as a later music licence or a band agreement to shorter sets"
70
+ ]
71
+ },
72
+ {
73
+ "id": 6,
74
+ "held_out": "2026-11-07",
75
+ "prompt": "Kettleby Folk & Word Festival is Sat 6 March. Here's the acts list from our booker (acts_from_booker.csv) and the rooms, hours and crew from the venue (venue_rooms_and_crew.txt). Can you build the running order for the day, with every set's start, end, room and who's needed, and check it for clashes before it goes out? I need a run sheet for each room's stage manager (CSV is fine) and a timeline of the day for each room that I can stick on the production office wall.",
76
+ "assertions": [
77
+ "Schedules all 25 items in the booker's list once each, in their booked rooms and at their booked lengths (7 in the Main Hall, 9 in the Studio, 5 in the Library Room, 4 on the Courtyard Stage), each with a start, an end and who's needed",
78
+ "No two items overlap in one room, and every changeover is at least the room's turnaround: 30 min in the Main Hall, 15 in the Studio and on the Courtyard Stage, 10 in the Library Room",
79
+ "Everything sits inside room hours: nothing in the Main Hall before 14:00 and nothing after the 23:00 curfew, the Library Room finished by 17:30, the Courtyard Stage within 12:00-15:30, and the Studio within 11:30-22:00 with the Sea Fret film last",
80
+ "Keeps the fixed points: The Marrowbone Few on at 21:30 (so 21:30-22:45), Storytime with Mabel Quist at 12:00-12:45, the Folk Radio Kettleby broadcast at 18:00-19:00, Hazel & the Hum off by 19:00 and Ollie Brandt done by 14:30",
81
+ "No one is booked in two places: Tamsin Ellery (Corvid Lane and her solo set), Dev Ashraf (hosting the slam and his Courtyard set), Juniper Strand (Studio set and Library workshop) and Ruth Penhaligon, the BSL interpreter (Writing the Land, the poetry slam, Kit Harrow), each have at least 15 minutes between rooms",
82
+ "Notes how tight three rooms are: the Library Room (325 of 330 minutes with changeovers), the Courtyard Stage (205 of 210) and the Main Hall before the headliner (415 of the 420 minutes from 14:00 to 21:00) each have only 5 minutes to spare, so they have to run back to back from opening",
83
+ "Delivers a run sheet per room with start, end, item and who's needed (performers, that room's crew, and Ruth where a session is BSL interpreted), plus a timeline drawn for each room",
84
+ "Does not invent acts, crew, a second interpreter, extra rooms or different set lengths that are not in the input"
85
+ ]
86
+ },
87
+ {
88
+ "id": 7,
89
+ "held_out": "2026-11-07",
90
+ "prompt": "This is our draft run of show for the Lumio Fold 2 launch on Thu 21 Jan at the Granary Rooms (runsheet_draft_v4.csv). Can you check it before it goes to the venue and the AV company? The venue rules and our fixed points are in venue_and_fixed_times.txt. Fix what you can, send it back as the same sheet, and give me a short list of anything I need to decide.",
91
+ "assertions": [
92
+ "Flags that the Developer breakout (11:00-11:45) and the Retail partners briefing (11:30-12:15) are both in Studio B at once, and moves the briefing so neither speaker clashes (for example to 11:55-12:40, after the 10-min turnaround and before lunch)",
93
+ "Flags that Imran Kestrel is down for the keynote in the Hall (10:00-10:40) and the Tech Weekly interview in the Green Room (10:30-10:50) at once, and moves the interview to a free Green Room slot at least 10 minutes after he leaves the Hall",
94
+ "Flags that the Hall has only 10 minutes between the keynote (ends 10:40) and the Product demo (10:50) against the 20-min reset, and moves the demo to 11:00-11:40, which still leaves 20 minutes before the 12:00 panel and 10 minutes before Ana Ruiz's 11:50 interview",
95
+ "Flags that Closing & customer awards (17:45-18:45) runs past the 18:00 deadline for clearing the Hall, and explains that moving things can't fix it: after the fixed livestream the Hall needs 225 minutes (three sessions and three 20-min resets) but only 180 are left, the morning is full once the demo moves (125 of 125 minutes between the keynote and lunch), lunch and the livestream are fixed, and Studio B seats only 80. So about 45 minutes have to be cut, and that goes on the list of decisions",
96
+ "Does not quietly shorten or drop a session in the returned sheet to make the Hall fit; any cut is put to the user as a choice",
97
+ "Raises no false alarms: the 20-min Hall resets in the afternoon, the 5-min Green Room turnarounds (15:35 to 15:40, 16:00 to 16:05), the Studio B 15-min gaps and Imran's 15:15 interview after the livestream are not reported as problems",
98
+ "Returns runsheet_draft_v4.csv in the same columns with the changed rows marked, plus a short list of decisions",
99
+ "Does not invent speakers, rooms, crew or new fixed times that are not in the input"
100
+ ]
101
+ }
102
+ ]
103
+ }
@@ -0,0 +1,16 @@
1
+ # Fieldwork Summit — agenda draft
2
+
3
+ Rooms: Main stage (open 08:00–18:00, needs 15 min between sessions), Room 2 (open 09:00–17:30, 10 min between sessions). Room 2 is on the floor above: allow 5 minutes to walk.
4
+ We publish a 17:30 finish.
5
+
6
+ - 08:30 Registration (Main stage foyer, 30 min)
7
+ - 09:00 Welcome and keynote — Dr. Lena Ortiz (Main stage, 45 min; AV needs 20 min before to set the stage)
8
+ - 09:45 Workshop: field data quality — Dr. Lena Ortiz (Room 2, 60 min)
9
+ - 10:00 Panel: tools we actually use — Sam Bayo, Kit Ng (Main stage, 50 min)
10
+ - 11:00 Break (Main stage, 20 min)
11
+ - 11:20 Talk: sampling in the wild — Kit Ng (Room 2, 40 min)
12
+ - 11:20 Talk: storage that scales — Sam Bayo (Main stage, 40 min)
13
+ - 12:00 Lunch (Main stage, 60 min)
14
+ - 13:00 Workshop: dashboards — Priya Das (Room 2, 120 min)
15
+ - 13:00 Lightning talks — 6 speakers (Main stage, 90 min)
16
+ - 16:45 Closing — Dr. Lena Ortiz (Main stage, 60 min)
@@ -0,0 +1,8 @@
1
+ start,end,room,session,people
2
+ 09:00,09:30,Hall A,Opening,Mo Reyes
3
+ 09:30,10:30,Hall A,Investor update,June Park; Mo Reyes
4
+ 10:15,11:00,Hall B,Roadmap deep dive,June Park
5
+ 10:30,10:40,Hall A,Coffee,
6
+ 10:40,11:40,Hall A,Partner showcase,Ali Haddad
7
+ 11:30,12:30,Hall B,Q&A with the founders,Mo Reyes; June Park
8
+ 12:30,13:30,Hall A,Lunch,
@@ -0,0 +1,3 @@
1
+ Wedding day — Ivy & Ross. Ceremony at the garden, everything else in the barn.
2
+ Ceremony 14:00, about 30 mins. Photos after, maybe an hour. Drinks while photos happen.
3
+ Dinner sat down by 16:30, speeches between mains and dessert (3 speeches, 10 min each). Band from 19:30, they need to set up and soundcheck in the barn for an hour beforehand while people are still eating?? Barn closes at 23:30. Cake cutting before the band.
@@ -0,0 +1,25 @@
1
+ Session ID,Title,Format,Length (mins),Speaker(s),Room request,Expected attendance,Speaker notes
2
+ FW-01,Opening keynote: Data as a public utility,Keynote,45,Tobias Rennick,Main Hall,380,
3
+ FW-22,Workshop: Hands-on with QGIS,Workshop,90,Ines Varga,Workshop Lab,24,Needs the lab laptops
4
+ FW-20,Plain-language metadata,Talk,30,Ngozi Eze,Breakout,29,
5
+ FW-08,Lightning talks (5 x 5 min),Lightning,25,Ana Dorsey; Ben Kwarteng; Cass Ludlow; Dmitri Volk; Esi Mensah,Main Hall,150,
6
+ FW-09,Mapping informal settlements from the air,Talk,30,Ines Varga,Breakout,72,
7
+ FW-23,Workshop: Cleaning messy CSVs,Workshop,90,Sven Aaltonen; Priti Raman,Workshop Lab,24,Needs the lab laptops
8
+ FW-19,Timetables as a public good,Talk,30,Marguerite Achebe-Lund,Breakout,44,
9
+ FW-10,Postcodes are not places,Talk,30,Sven Aaltonen,Breakout,45,
10
+ FW-03,Panel: Who owns the street?,Panel,45,Ines Varga; Tobias Rennick; Kofi Mensah-Baird; Hollis Grant (chair),Main Hall,250,Must be in Main Hall
11
+ FW-11,Flood data for people who aren't hydrologists,Talk,30,Priti Raman,Breakout,66,
12
+ FW-17,"Small councils, big spreadsheets",Talk,45,Hamid Sarraf,Breakout,63,
13
+ FW-04,Open budgets in five councils,Talk,30,Lena Ostrowski,Main Hall,210,Lena has to leave at 14:30 for a flight
14
+ FW-24,Workshop: Accessibility audit of a data portal,Workshop,60,Ngozi Eze,Workshop Lab,20,Needs the lab laptops
15
+ FW-21,Archiving the council website,Talk,25,Tomasz Wrona,Breakout,33,
16
+ FW-16,Consent and the census,Talk,30,Yusra Benali,Breakout,41,
17
+ FW-18,Schools data without the league tables,Talk,30,Bettina Kroll,Breakout,35,
18
+ FW-14,Ten things I got wrong about APIs,Talk,25,Jarrah Whitcombe,Breakout,58,Jarrah needs to be away by 16:00
19
+ FW-02,Closing keynote: What we owe the next decade,Keynote,45,Ama Owusu-Leith,Main Hall,360,
20
+ FW-15,Grants data: following the money,Talk,30,Rafa Quintero,Breakout,49,
21
+ FW-13,Building a register nobody asked for,Talk,30,Odile Fournier,Breakout,38,Odile can't get there before 11:00
22
+ FW-05,The data behind the bus timetable,Talk,45,Marguerite Achebe-Lund,Main Hall,190,
23
+ FW-12,"Street trees, counted by volunteers",Talk,30,Kofi Mensah-Baird,Breakout,52,Kofi arrives on the 11:40 train - nothing before 12:15
24
+ FW-06,Panel: Funding the commons,Panel,45,Ama Owusu-Leith; Lena Ostrowski; Rafa Quintero; Hollis Grant (chair),Main Hall,230,
25
+ FW-07,The ethics of scraping public sites,Talk,30,Yusra Benali,Main Hall,170,
@@ -0,0 +1,27 @@
1
+ FIELDWORK 2026 - venue + crew info
2
+ Kelso Exchange, Tue 1 Dec
3
+
4
+ Venue hours: building open 08:00-18:30, we have to be out by 18:30.
5
+ Registration + coffee in the Foyer 08:00-09:00. Drinks in the Foyer 17:45-18:30.
6
+
7
+ Rooms
8
+ Main Hall - seats 400. needs 15 min between sessions (stage reset + mic swap)
9
+ Birch Room - seats 80. 10 min turnaround
10
+ Cedar Room - seats 60. 10 min turnaround
11
+ Workshop Lab - 24 laptops. 20 min turnaround (reset the laptops)
12
+ Don't put a session in a room smaller than its expected attendance.
13
+
14
+ Fixed bits
15
+ 09:00-09:45 opening keynote, Main Hall - NOTHING else running
16
+ 12:30-13:30 lunch in the Foyer - nothing running anywhere
17
+ 15:15-15:35 afternoon break - nothing running
18
+ 17:00-17:45 closing keynote, Main Hall - nothing else from 17:00
19
+
20
+ Speakers doing more than one thing need at least 10 mins between them if it's a different room.
21
+ Hollis Grant chairs both panels.
22
+
23
+ AV crew (one per room, all day)
24
+ Main Hall - Dom Ferraro
25
+ Birch - Lou Akintola
26
+ Cedar - Petra Sandoval
27
+ Lab - Wes Harlow (also does the laptops)
@@ -0,0 +1,28 @@
1
+ Start,End,What,Where,Who,Notes
2
+ 10:00,12:30,Florist + stylist set up ceremony,Barn,Bloom & Thistle; Nell (venue coordinator),"chairs, aisle, arch"
3
+ 10:00,13:00,"Hair & makeup - Anouk, 4 bridesmaids, both mums",Bridal Suite,Glow Studio (2 artists),
4
+ 11:00,12:15,Callum + ushers get ready,Coach House,Callum; Jonty (best man); ushers,
5
+ 12:15,12:45,Groom prep photos,Coach House,Wren (photographer); Callum; Jonty; ushers,
6
+ 12:30,13:00,Caterer staff briefing,Coach House,Sorrel & Salt (caterer); Nell,12 staff
7
+ 13:00,13:45,Anouk gets dressed + detail photos,Bridal Suite,Wren; Anouk; bridesmaids,
8
+ 14:00,14:45,String trio set up + soundcheck,Barn,Corvo Strings,
9
+ 14:15,14:55,Guests arrive - welcome water,Terrace,ushers,
10
+ 14:30,14:50,Registrar interviews (separately),Bridal Suite,Registrar; Anouk; Callum,
11
+ 15:00,15:45,CEREMONY,Barn,Registrar; Corvo Strings; Wren; Anouk; Callum,registrar booked 15:00 - can't move
12
+ 15:45,16:00,Confetti line,Orchard,Wren; Anouk; Callum; ushers,
13
+ 15:50,16:50,Barn flip: ceremony to wedding breakfast,Barn,venue team; Bloom & Thistle,
14
+ 16:00,17:15,Drinks reception + canapes,Terrace,Sorrel & Salt; Corvo Strings,
15
+ 16:15,16:45,Couple portraits,Orchard,Wren; Anouk; Callum,
16
+ 16:30,17:00,Family group photos,Front Lawn,Wren; Jonty (rounding people up),list of 12 groups from Anouk
17
+ 17:00,17:15,Call to seats,Barn,Nell,
18
+ 17:15,19:15,Wedding breakfast (3 courses),Barn,Sorrel & Salt,
19
+ 19:15,20:00,Speeches,Barn,Anouk's dad (Pieter); Callum; Jonty,
20
+ 20:00,20:45,Dance floor flip + band load-in/soundcheck,Barn,venue team; Velvet Static (band),
21
+ 20:00,20:45,"Evening guests arrive, drinks",Terrace,ushers,
22
+ 20:15,20:30,Sunset photos,Orchard,Wren; Anouk; Callum,sunset ~20:20? check
23
+ 20:45,20:55,Cake cutting + first dance,Barn,Anouk; Callum; Wren,
24
+ 21:00,21:45,Band set 1,Barn,Velvet Static,
25
+ 21:45,22:00,Evening food - bacon rolls + fries,Terrace,Sorrel & Salt,
26
+ 22:00,22:45,Band set 2,Barn,Velvet Static,
27
+ 23:00,23:45,Band set 3,Barn,Velvet Static,
28
+ 23:45,00:00,Carriages,Front Lawn,Nell; ushers,taxis booked 23:45
@@ -0,0 +1,22 @@
1
+ Hollow Farm - venue + supplier bits (from emails, copied in)
2
+
3
+ VENUE (Hollow Farm, Nell is our coordinator)
4
+ - access from 10:00, everyone off site by midnight
5
+ - premises licence: amplified music has to stop at 23:00. no exceptions, they've had complaints
6
+ - Barn turnaround ceremony -> wedding breakfast is 90 mins minimum from when the ceremony finishes to when guests come back in (chairs out, tables in, laying up). Nell was very clear on this
7
+ - Barn turnaround wedding breakfast/speeches -> dance floor = 45 mins
8
+ - Orchard, Front Lawn, Terrace - no turnaround needed
9
+
10
+ REGISTRAR
11
+ - ceremony 15:00, 45 mins. interviews 30 mins before. booked, cannot move
12
+
13
+ SORREL & SALT (catering)
14
+ - guests need to be called to seats 15 mins before service
15
+ - 3 course service takes 2 hours, they won't do it faster
16
+ - we want speeches AFTER the meal (Pieter is nervous and wants to eat first)
17
+
18
+ VELVET STATIC (band) - from the contract
19
+ - 3 x 45 min sets, 15 min break between sets
20
+ - first set starts straight after the first dance
21
+
22
+ WREN (photographer) - 12:00 til 21:30
@@ -0,0 +1,26 @@
1
+ Act / session,Room booked,Set length,Line-up,Fee,Contact,Booker notes
2
+ Tamsin Ellery (solo),Studio,40 mins,solo,£300,tamsinelleryso@acts.example,see Corvid Lane
3
+ Moss & Mallow,Studio,45min,duo,£400,mossmallow@acts.example,
4
+ Brass Neck Ceilidh Band,Main Hall,1 hr,6-piece + caller,£600,brassneckceili@acts.example,
5
+ Hazel & the Hum,Main Hall,45 minutes,trio,£400,hazelthehum@acts.example,"need to be OFF STAGE by 7pm, last train to Leeds"
6
+ Kit Harrow,Main Hall,40min,solo (spoken word + songs),£250,kitharrow@acts.example,BSL interpreted
7
+ Corvid Lane,Main Hall,50min,4-piece incl. Tamsin Ellery (fiddle),£400,corvidlane@acts.example,Tamsin also doing a solo set in the Studio - don't clash her!
8
+ Dev Ashraf,Courtyard Stage,40 mins,solo,£150,devashraf@acts.example,also hosting the slam
9
+ Sean O'Rourke,Studio,45 minutes,solo,£300,seanorourke@acts.example,
10
+ "'Writing the Land' - talk, Prof. Elin Marchbank",Studio,1 hr,,£250,writingtheland@acts.example,BSL interpreted
11
+ Night Ferry,Studio,45 minutes,trio,£400,nightferry@acts.example,
12
+ Sea Fret (film) + Q&A with director Noor Halabi,Studio,1.5 hrs,,£250,seafretfilmqaw@acts.example,needs full blackout so it has to be the last thing in the Studio
13
+ The Wheelwrights,Courtyard Stage,40min,trio acoustic,£200,thewheelwright@acts.example,
14
+ The Dunlin Sisters,Main Hall,40 mins,duo,£400,thedunlinsiste@acts.example,
15
+ Lark Rising,Courtyard Stage,40 mins,morris side + 2 musicians,£150,larkrising@acts.example,
16
+ The Marrowbone Few,Main Hall,1h15,5-piece,£2500,themarrowbonef@acts.example,HEADLINE. Contract says on stage 21:30 - not negotiable.
17
+ Poetry slam (host: Dev Ashraf),Library Room,1.5 hrs,"8 poets, host Dev Ashraf",£300,poetryslamhost@acts.example,BSL interpreted
18
+ Wren & Ashby,Main Hall,30 minutes,duo,£400,wrenashby@acts.example,happy to open
19
+ Folk Radio Kettleby - live broadcast,Studio,1 hr,presenter + 2 guests,£200,folkradiokettl@acts.example,"LIVE ON AIR 18:00-19:00, fixed by the station"
20
+ The Fieldfares,Studio,45 minutes,4-piece,£150,thefieldfares@acts.example,
21
+ Juniper Strand,Studio,45min,solo,£200,juniperstrand@acts.example,Juniper is ALSO running the songwriting workshop in the Library
22
+ Storytime with Mabel Quist,Library Room,45 minutes,,£250,storytimewithm@acts.example,school group booked for 12:00 - fixed
23
+ Rafe Oduya in conversation,Library Room,45 minutes,,£250,rafeoduyaincon@acts.example,
24
+ Songwriting workshop - Juniper Strand,Library Room,1 hr,max 20 people,£400,songwritingwor@acts.example,
25
+ Writing for children - Mabel Quist,Library Room,45 mins,,£300,writingforchil@acts.example,
26
+ Ollie Brandt,Courtyard Stage,40 minutes,solo acoustic,£200,olliebrandt@acts.example,has another gig - must be done by 2.30pm
@@ -0,0 +1,14 @@
1
+ Kettleby Folk & Word Festival - Sat 6 March 2027 - The Kettleby Exchange
2
+ Rooms / hours / changeovers (from the venue tech spec + my emails with them)
3
+
4
+ MAIN HALL - craft fair in there till 13:30, so first act on 14:00 at the earliest. Noise curfew 23:00 (last note by 23:00).
5
+ Changeover between acts: 30 min (band kit, line check). Crew: stage manager Pat Rourke, sound Jules Amadi, lights Sacha Bell
6
+ STUDIO - available 11:30 to 22:00. Changeover 15 min. Crew: stage manager Freya Lund, sound Benedikt Roth
7
+ LIBRARY ROOM - library is open to us 12:00-17:30 only (they lock up at half 5). Changeover 10 min. Crew: room host (volunteer) Anne Pickles
8
+ COURTYARD STAGE - street-use permit 12:00-15:30 only. Changeover 15 min. Crew: stage manager Tom Garbutt, sound Ivo Mertens
9
+
10
+ BSL interpreter: Ruth Penhaligon - one interpreter for the day. She's booked for the three sessions marked BSL
11
+ (the Writing the Land talk, the poetry slam, Kit Harrow).
12
+
13
+ Anyone in two places on the day (performers or Ruth) needs at least 15 minutes between finishing in one room and starting
14
+ in another - the Exchange is a rabbit warren.