my_claude_skills / Emu_bulk_upload_FMNH
CLAUDE.md12 starsChanged 7 months agoApache-2.0View on GitHub
Interactive Claude skill to help insect curators bulk upload specimen data to the Emu database at the Field Museum of Natural History (FMNH). Emu has no API, so the workflow involves mapping user data to Emu's format, downloading existing records, matching/comparing, creating upload tables, and guiding users through Emu's bulk upload interface. Note: skillbuildingdocs/ is local-only (not tracked in git). It contains example data and original specifications.
Files
Emu Bulk Upload Skill — FMNH Entomology
Interactive Claude skill to help insect curators bulk upload specimen data to the Emu database at the Field Museum of Natural History (FMNH). Emu has no API, so the workflow involves mapping user data to Emu's format, downloading existing records, matching/comparing, creating upload tables, and guiding users through Emu's bulk upload interface.
Roadmap
Data intake (current)
Accept user data in any format (xlsx, csv, tsv, etc.) and map it to the Emu template format. Claude analyzes the input, proposes column mappings, and builds transformation scripts on the fly.
Phase 1: Sites (current)
Match user locality data to existing Emu site records. Create new site records where needed (with recursive parent finding). Output user table with site IRN column.
Phase 2: Events (planned)
Match collecting events (date, collector, method) linked to site IRNs from Phase 1.
Phase 3: Catalog (planned)
Upload specimen catalog records linking to event records from Phase 2.
Phase 4: Other entities (planned)
Taxonomy, collector parties, and other dependent records.
Data conventions
- The Emu upload template is at
references/Emu_upload_default.xlsx(49 columns, 3 modules). - Template format: Row 1 = user-friendly field names, Row 2 = Emu field names, Row 3 = example, data starts Row 4.
- Column colors indicate Emu modules: green (
FFCCFFCC) = Sites, gray (FFC0C0C0) = Events, tan (FFFFCC99) = Catalog. - User xlsx field names use
_tabsuffixes (e.g.,LocCountry_tab); Emu CSV exports use bare names (LocCountry). - Coordinate fields differ: user has
LatLatitude_nesttab/LatLongitude_nesttab, Emu export hasLatPreferredCentroidLatDec/LatPreferredCentroidLongDec.
User privilege gating
Some users have Emu bulk upload privileges, others do not. Ask at session start. Users without privileges get data prep assistance and are asked to send tables to their collection manager. Users with privileges are walked through the Emu upload interface.
Project structure
CLAUDE.md # This file
SKILL.md # Interactive skill specification (main orchestrator)
README.md # Author credits
references/
Emu_upload_default.xlsx # Emu upload template (54 columns, the target format)
emu_field_reference.md # Complete field reference (all modules, export mappings, normalization rules)
phase1_sites.md # Sites phase detailed reference
screenshots_sites_export/ # Step-by-step Emu sites export screenshots (10 images)
scripts/
parse_user_data.py # Extract site columns from Emu-formatted xlsx (internal reference)
parse_emu_export.py # Index Emu CSV export for matching
deduplicate_sites.py # Deduplicate user sites
match_sites.py # Match sites by coordinates or name
find_parents.py # Recursive parent finding
generate_bulk_upload.py # Create bulk upload CSV tables
finalize_user_table.py # Add IRN column to user tableNote: skill_building_docs/ is local-only (not tracked in git). It contains example data and original specifications.
Dependencies
- Python 3 with
openpyxl(for xlsx I/O) - Python stdlib:
csv,json,difflib,os,sys
TODO
Confirm Emu field names for unmapped template columns— Resolved: UTM and Expedition columns removed from template; Other numbers 1 mapped toColOtherNumbers_tab.- Create
references/phase2_events.mdwhen Events phase is implemented - Create
references/phase3_catalog.mdwhen Catalog phase is implemented
In this repository11 other files it gives its agents.
- accounting/CLAUDE.mdCLAUDE.md
- accountingSkill
- biogeobearsSkill
- document-ocrSkill
- emu-bulk-uploadSkill
- extract-from-pdfsSkill
- grant-proposal-workflowSkill
- lab-orderingSkill
- nirc-badge-requestSkill
- busco-phylogenySkill
- secure-raw-data-backupSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

