Prepare Field Museum NIRC ID badge requests (Scientific Affiliate, Visitor, Contractor) and prefill the NIRC Badge Request Google Form for human review. Use this skill whenever the user mentions a badge, badge renewal, expiring badge, building access, door access, room access, West Lot parking for a non-staff person, or getting a research associate, affiliate, visitor, or contractor into NIRC spaces or the collections — even if they never name the form. Also use it for the questions this process raises: whether after-hours or weekend access is possible, who has to approve it, how far in advance to submit, and whether someone should go through this form or through HR. Restricted to curators; other Museum staff may prepare a draft but must route it to a curator for submission.
76
95%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Low
Low-risk findings worth noting
Prepare a complete, validated NIRC badge request, prefill the live form, and stop for a curator to review and submit. Never click Submit — badge sponsorship is an accountable act by a named Museum staff person, and the final click is theirs.
Keywords: badge, badge renewal, NIRC, ID badge, building access, door access, room access, Access Control, Scientific Affiliate, Visitor badge, Contractor badge, West Lot parking, affiliate, research associate.
references/form-fields.md — every question in form order, required/optional, all dropdown and radio options, and the browser quirks encountered when filling it. Read this before collecting answers or touching the browser; the form has been revised since 2024 and this file is where changes get recorded.references/config.example.yaml — placeholder config layout.| Step | Action |
|---|---|
| 0 | Load config — the form URL lives outside this repo |
| 1 | Establish the requester's status — curator, other staff, or non-staff |
| 2 | Confirm this form is the right channel at all |
| 3 | Collect the field values (renewals carry forward) |
| 4 | Validate against the rules that bounce requests |
| 5 | Prefill the live form in the browser |
| 6 | Hand off an answer sheet and stop |
Read ~/.config/nirc_badge_request/config.yaml.
nirc_badge_form_url, nirc_key_form_url, and after_hours_approver.references/config.example.yaml, ask for each value, and write the completed file to ~/.config/nirc_badge_request/config.yaml. Never store these values in the skill repo.Where this file says "the approver" for after-hours access, use after_hours_approver.
The supervisor field names an accountable Museum staff person vouching for a non-staff individual, so standing matters before the work starts, not after.
Catching a misrouted request here saves a bounce later:
Work from references/form-fields.md rather than memory.
For renewals, ask for the previous submission first. Google Forms emails a receipt from forms-receipts-noreply@google.com with the subject "NIRC Badge Request Form" containing every prior answer. Read it, then ask only what plausibly changed — dates, phone, emergency contact, room access, after-hours status. Confirming five fields beats re-asking eighteen. Check "Yes" on the renewal question.
Offer the paste option explicitly. Many people would rather hand over everything at once than answer serial questions. Tell them they can paste a table, a list, or the old receipt email, and that gaps will be asked about afterward. When asking directly, batch related fields into one question rather than going one at a time.
Raise each of these as a question rather than guessing:
| Check | Why it matters |
|---|---|
| Start date ≥ 7 days out | Access Control's stated lead time; same-day and next-day requests are usually refused |
| Start date ≤ 2 weeks out | The form asks that requests not be submitted earlier than this |
| After-hours/weekends on a Visitor badge | Not possible at all — this is a badge-type problem, not a checkbox |
| After-hours/weekend approval | Requires the requester's supervisor or after_hours_approver in advance |
| After-hours reason field | Required even when no after-hours access is wanted; takes N/A |
| Supervisor is Museum staff | With a real Museum extension or contact number |
| West Lot parking on a Visitor badge | Needs prior approval |
| Unpaid staff | Owe a $10 cash deposit at pickup — warn them before they go |
| End date | Affiliate terms are commonly two years; confirm rather than assume, and check it follows the start date |
A renewal requested well before expiry shortens the current term. Point this out and offer the continuous alternative (new term starting the day after the current badge ends) so the choice is deliberate.
Open nirc_badge_form_url in the user's Chrome and fill every field so the curator reviews a populated form rather than a list of values to retype. Google Forms is a custom-widget UI, so the mechanics matter:
form_input. Dates take YYYY-MM-DD and render as MM/DD/YYYY.form_input fails on them with "Element type DIV is not a supported form input" — click them instead, preferring element refs over coordinates.Do not click Submit, and do not click Clear form.
Deliver an answer sheet file alongside the prefilled form, in the form's own question order so it reads top to bottom:
# NIRC Badge Request — [Badgeholder name][, Renewal]
**Form:** [url]
**Prepared for submission by:** [curator name]
| # | Form question | Answer |
|---|---------------|--------|
## Before you submit
- [each validation flag that applies, and what to do about it]
## Notes
- [what was carried forward, and anything still unconfirmed]Close with one line naming what still needs a human decision, and state explicitly that Submit has not been clicked.
5bdff99
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.