# Uoa Map

> Query University of Auckland (UoA) campus buildings, room numbers, lecture theatres, campus facilities, and indoor/outdoor walking routes. Use when Codex or code agents need to look up room locations (e.g. "Where is 303-G20?"), find building numbers (e.g. "Where is OGGB / Building 260?"), search campus amenities (e.g. cafes, drinking fountains, restrooms, libraries), or plan step-by-step walking routes across UoA campuses.

- Skill: `pengqianhan/uoa-map` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add pengqianhan/uoa-map`
- Raw SKILL.md: https://api.skillmd.com/api/skills/pengqianhan/uoa-map/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: pengqianhan (https://skillmd.com/u/pengqianhan)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/pengqianhan/uoa-map

---


# UoA Campus Map & Wayfinding

## Overview

Use this skill to look up University of Auckland (UoA) buildings, classrooms, lecture theatres, facilities, and indoor/outdoor walking directions across all 8 UoA campuses (City, Grafton, Newmarket, Tai Tonga, Tai Tokerau, Leigh, Ardmore, Waiheke).

This skill uses a zero-dependency CLI tool (`scripts/uoa_map.py`) powered entirely by Python's standard library to communicate directly with UoA's public MapsIndoors API (`https://maps.auckland.ac.nz`).

## Workflow

1. Identify the user's inquiry:
   - **Room or Location Lookup**: User gives a room code (e.g. `303-G20`, `260-098`, `OGGB3`) or a place name (e.g. `General Library`, `Strata Cafe`).
   - **Building Identification**: User asks for building details, building number, or address.
   - **Route & Navigation**: User asks how to walk from point A to point B on campus.
   - **Facility Search**: User asks for nearest drinking fountain, microwave, printer, or cafe.
2. Read [references/current-guidance.md](references/current-guidance.md) for campus code mapping and building numbering conventions.
3. Run the CLI tool `scripts/uoa_map.py` to retrieve verified live data from UoA Maps:
   - `python3 skills/uoa-map/scripts/uoa_map.py search "<keyword>" --json`
   - `python3 skills/uoa-map/scripts/uoa_map.py building "<building_number_or_name>" --json`
   - `python3 skills/uoa-map/scripts/uoa_map.py route --from "<origin>" --to "<destination>" --json`
4. Formulate the response with:
   - Specific Building Number and Building Name
   - Floor level (e.g. Ground Floor, Level 3, Basement)
   - Room number and accessibility notes
   - Step-by-step walking directions if requested

## CLI Commands Reference

All commands use pure Python standard library with no external dependencies:

```bash
# 1. Search room, lecture hall, or facility
python3 skills/uoa-map/scripts/uoa_map.py search "303-G20"
python3 skills/uoa-map/scripts/uoa_map.py search "OGGB" --json

# 2. Query building info by number or name
python3 skills/uoa-map/scripts/uoa_map.py building "260"
python3 skills/uoa-map/scripts/uoa_map.py building "Library"

# 3. Calculate indoor & outdoor walking route
python3 skills/uoa-map/scripts/uoa_map.py route --from "General Library" --to "OGGB"
python3 skills/uoa-map/scripts/uoa_map.py route --from "303-G20" --to "401-401" --avoid-stairs

# 4. List all campuses
python3 skills/uoa-map/scripts/uoa_map.py venue

# 5. Browse amenity categories
python3 skills/uoa-map/scripts/uoa_map.py category "Food"
```

## Answering Rules

- Always provide the **Building Number** (e.g. `Building 260`) alongside the building name (e.g. `Sir Owen G Glenn Building (OGGB)`).
- Clarify the **Floor Level** (e.g. `Level G` is ground floor, `Level B` is basement, `Level 1` is upper floor).
- When giving directions, mention indoor vs outdoor transitions and floor changes clearly.
- If a room is not found, offer fuzzy matching suggestions using `uoa_map.py search`.

## References

- Guidance: [references/current-guidance.md](references/current-guidance.md)
- CLI Tool: [scripts/uoa_map.py](scripts/uoa_map.py)
- Official Web Map: `https://maps.auckland.ac.nz/auckland/29ba645554a3413ab0b28dfb/search`

