Skip to main content

ny-tech-week-2026

A flat-file, agent-friendly mirror of every NY Tech Week 2026 event (June 1–7, NYC). Use when planning a Tech Week schedule, filtering events for a specific person/company, or analyzing the event landscape (top hosts, neighborhoods, capacity). 1,410 events with full descriptions, RSVP links, hero images, and 2,406 resolved host profiles.

Zur Installation springen

Quellinformationen

Repository
natea/twag
Letzte Quellaktivität
1. Juni 2026 um 16:31
Erkannte Sprache von SKILL.md
Englisch
Sterne
0
Forks
1

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
100 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
ny-tech-week-2026
description
A flat-file, agent-friendly mirror of every NY Tech Week 2026 event (June 1–7, NYC). Use when planning a Tech Week schedule, filtering events for a specific person/company, or analyzing the event landscape (top hosts, neighborhoods, capacity). 1,410 events with full descriptions, RSVP links, hero images, and 2,406 resolved host profiles.
# NY Tech Week 2026 — Agent Skill You are working inside a community-maintained mirror of [tech-week.com/calendar/nyc](https://www.tech-week.com/calendar/nyc), restructured as flat markdown files so other agents can read, filter, and rank without scraping the live calendar. ## Dataset shape ``` ny-tech-week-reference/ ├── README.md ← human-readable overview ├── SKILL.md ← you are here ├── INDEX.md ← chronological + by-host + by-neighborhood listing ├── HOST-STATS.md ← top 50 hosts + recurring co-host pairs ├── manifest.json ← raw calendar extraction ├── users.json ← 2,406 resolved Partiful profiles (id → name, bio, photo, socials, tags) ├── events/ ← 1,410 markdown files, one per event └── images/ ← 1,401 hero images (PNG/JPG), keyed by event_id ``` Each `events/*.md` has YAML frontmatter and a body. Filename is `YYYY-MM-DD-HHMM-<slug>.md` — sortable by start time. ## Frontmatter quick reference | Field | Type | Notes | |-------|------|-------| | `title` | string | From Partiful | | `event_id` | string | Partiful event ID (last segment of RSVP URL) | | `date`, `day` | string | ISO date + day name in ET | | `start_time`, `end_time` | string | `"10:00am ET"` — pretty form | | `start_iso`, `end_iso` | ISO 8601 | UTC, for date math | | `host` | string | Calendar's joined host string (up to 2 names visible) | | `owner_count` | int | True host count from Partiful (includes platform admin — see Quirks) | | `owner_ids` | list[string] | All Partiful user IDs; join with `users.json` for names + bios | | `venue_name`, `venue_address` | string | From Partiful's structured location | | `neighborhood` | string | NYC neighborhood like `Chelsea`, `Midtown`, `Virtual (NYC)` | | `rsvp_url`, `public_short_url` | URL | Partiful links | | `google_maps` | URL | Pre-formed maps query | | `is_capped`, `max_capacity`, `remaining_capacity` | bool / int | When the host capped the guestlist | | `going_guest_count`, `total_guest_count`, `approved_guest_count` | int | Guest count at crawl time (2026-05-30) | | `at_capacity` | bool | Whether RSVPs are currently closed | | `canceled` | bool | `true` if the host marked the event canceled on Partiful | | `canceled_at` | ISO 8601 | When cancellation was logged (only when `canceled: true`) | | `canceled_by` | string | Partiful user ID that triggered the cancellation | | `cancellation_message` | string | The host's note explaining why (verbatim, may be multi-line) | | `guest_action` | `"APPLY"` or `"RSVP"` | APPLY = hosts approve; RSVP = open | | `visibility` | string | `"public"` for the entire dataset | | `badges` | list[string] | `["Sponsored"]`, `["Morning"]`, etc. | | `image` | URL | Partiful Firebase image URL (may expire) | | `local_image` | string | Path to archived image in `images/` (use this, not `image`) | | `fetch_status` | `"ok"` or `"failed"` | 7 events are stubs (Partiful 404'd at crawl time) | ## Body shape ``` # {title} ![{title}](images/{event_id}.png) **Hosts:** {calendar host string} _(+N more on Partiful)_ **When:** {pretty date} **Where:** {venue · address · neighborhood} **Capacity:** capped at N · X taken, Y remaining **Going:** N of M **Access:** apply / hosts approve **RSVP:** {url} **Map:** {google maps url} ### Hosts on Partiful - [{name}](https://partiful.com/u/{id}) — _{bio}_ - [{name}](https://partiful.com/u/{id}) - _(plus Partiful platform admin auto-added to most events)_ ## Description {full Partiful description, verbatim} --- [Apply on Partiful →]({url}) ``` ## Quirks worth knowing 1. **The platform admin user.** `7DFu4rITofNzKIjA7hCx` appears in `owner_ids` for ~99% of events (1,362 of 1,374). Treat it as noise — it's an automated TechWeek/Partiful account, not a real host. Filter at analysis time: ```python real_hosts = [oid for oid in owner_ids if oid != "7DFu4rITofNzKIjA7hCx"] ``` `owner_count` includes it to match Partiful's UI count. 2. **Capacity fields only present when capped.** If `is_capped: false`, `max_capacity` and `remaining_capacity` will be absent. Use `going_guest_count` / `total_guest_count` for uncapped events. 3. **7 stub events** (`fetch_status: failed`) had their Partiful pages 404 at crawl time. Frontmatter is sparse, body is a stub with the RSVP URL. They still exist in `events/` for completeness — handle by checking `fetch_status` first. 4. **Calendar host string is truncated.** `host: "Foo, Bar"` shows up to 2 hosts. For the true list, look at `### Hosts on Partiful` in the body, or join `owner_ids` against `users.json`. 5. **One outlier date.** One event (`Pitch and Rum`) is dated 2026-06-11, outside the official June 1–7 window. It's on tech-week.com's calendar so it stays. 6. **Cancellations stay in the dataset.** When a host marks an event `CANCELED` on Partiful, we keep the file (so the URL stays resolvable, the data stays diff-able across crawls, and downstream agents can see *what* was cancelled and *why*) but flag it loudly: `canceled: true` in frontmatter, a `⚠ CANCELED` banner at the top of the body with the host's `cancellation_message`. Filter at analysis time: ```python live_events = [f for f in events if not f.get("canceled")] ``` 7. **Crawl provenance.** Snapshotted 2026-05-30 (prior round 2026-05-21; see `CHANGES-2026-05-30.md` for the diff). Event details, RSVP availability, and guest counts may have drifted since. ## Common queries ### "What events are happening on Tuesday June 2 in SoHo?" ```bash grep -l 'date: 2026-06-02' events/*.md \ | xargs grep -l 'neighborhood: "SoHo"' ``` ### "Which events focus on agent orchestration?" ```bash grep -l -i 'agent' events/*.md \ | xargs grep -l -iE '(orchestrat|autonomous|multi-?agent|MCP)' ``` ### "Top 10 hosts by event count" See `HOST-STATS.md`, or compute from `events/*.md` `owner_ids` joined with `users.json`: ```python import json, re, pathlib, collections users = json.load(open("users.json")) counts = collections.Counter() for f in pathlib.Path("events").glob("*.md"): m = re.search(r'owner_ids:\s*(\[[^\]]+\])', f.read_text()) if m: for uid in json.loads(m.group(1)): if uid != "7DFu4rITofNzKIjA7hCx": counts[uid] += 1 for uid, n in counts.most_common(10): print(n, users.get(uid, {}).get("name")) ``` ### "Build a shortlist for a specific person" Score each event against the person's interests (use their bio, role, or stated themes as keyword seeds), then pick top N per day. See `scripts/score.py` for the pattern used to score events for Atin Woodard / Stage 11. **Do not modify individual event files** for a person-specific shortlist — write the picks to a new file like `picks-for-<name>.md`. Keep `events/` neutral so it stays useful to everyone. ### "Show me all cancelled events and why" ```bash grep -l '^canceled: true' events/*.md | while read f; do title=$(grep -m1 '^title:' "$f" | sed 's/title: //; s/^"//; s/"$//') msg=$(grep -m1 '^cancellation_message:' "$f" || true) printf "%s\n %s\n %s\n\n" "$title" "$f" "$msg" done ``` ### "Find events at risk of filling up" Where `is_capped: true` and `remaining_capacity` is small relative to `max_capacity`: ```python import re, json, pathlib for f in pathlib.Path("events").glob("*.md"): s = f.read_text() if re.search(r"is_capped:\s*true", s): max_c = int(re.search(r"max_capacity:\s*(\d+)", s).group(1)) rem = int(re.search(r"remaining_capacity:\s*(\d+)", s).group(1)) if rem / max_c < 0.15: title = re.search(r'title:\s*"([^"]+)"', s).group(1) print(f"{rem}/{max_c} remaining: {title}") ``` ## Re-crawling NYTW data shifts daily. To refresh: 1. Open the calendar in a browser; scroll through the full page (or use `c11` / Playwright to script the scroll). 2. Run `scripts/fetch.py` against the regenerated manifest. 3. Run `scripts/enrich.py` to refresh capacity + image data. 4. Run `scripts/resolve_hosts.py` to re-resolve any new host IDs. 5. Run `scripts/render_body.py` to regenerate the rendered markdown. 6. Run `scripts/build_index.py` and `scripts/host_stats.py`. Each step is idempotent — re-runnable without duplication. ## What this dataset is not - **Not authoritative.** Always include `rsvp_url` so humans can verify. `tech-week.com` is the source of truth; this repo is a convenience layer. - **Not real-time.** Guest counts, capacity, and even event existence drift after the crawl date. - **Not opinionated.** `events/` is neutral. Person-specific picks belong in separate files. ## Attribution Event metadata © respective hosts and tech-week.com / a16z. Partiful images © Partiful + respective uploaders. This dataset is shared under fair-use for community planning and agent tooling.
Auf GitHub ansehen