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.

インストールへ移動

ソース情報

リポジトリ
natea/twag
ソースの最終更新活動
2026年6月1日 16:31
検出された SKILL.md の言語
英語
スター
0
フォーク
1

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

ファイルエクスプローラー
100 ファイル

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
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.
GitHubで見る