bluesky-nz · git:20260722.79d8563 · 2026-07-22 · sha256 0e6afd0354a73955
bluesky-nz git:20260722.79d8563A
Immutable. This exact content never changes and is served at /api/v1/blob/0e6afd0354a73955.
--- name: bluesky-nz description: "Search public Bluesky posts and read public account feeds through the no-login Bluesky AppView API, tuned for New Zealand situational awareness: keyword and phrase search with recency sort, author feeds for official NZ accounts, and machine-readable post output. Use when the task involves scanning public social media for emerging NZ events, weather or hazard impacts, community reports, or monitoring a public Bluesky account. Read-only; no authentication required." license: MIT compatibility: "Requires Python 3.10+ and network access for live data" metadata: thecolab.category: "emergency" thecolab.source_owner: "Bluesky Social (public AppView)" thecolab.source_type: "community" thecolab.auth: "none" thecolab.access_mode: "public-api" thecolab.data_class: "public" thecolab.writes: "false" thecolab.browser: "false" thecolab.risk: "low" thecolab.cache_ttl: "24h" thecolab.schema_version: "1" thecolab.skill_type: "public-api" thecolab.pack: "nz-public-data" thecolab.source_url: "https://api.bsky.app/xrpc/app.bsky.feed.searchPosts" thecolab.allowed_domains: "api.bsky.app,bsky.app" thecolab.last_verified: "2026-07-22" thecolab.health: "healthy" thecolab.maintainer: "@adam91holt" --- # Bluesky NZ ## Goal Search public Bluesky posts and read public account feeds through the keyless AppView API — a public social signal channel for detecting emerging NZ events (weather impacts, outages, community reports) and monitoring official accounts. ## Use this when - A task needs to scan public social media for emerging NZ incident reports - A task needs recent public posts from a specific Bluesky account - A workflow needs machine-readable public post data with engagement counts ## Do not use this for - Posting, liking, following, DMs, or anything requiring a session - Private/protected content (only public posts are visible) - Treating crowd posts as verified fact — corroborate against official sources ## Commands ```bash python3 skills/bluesky-nz/scripts/cli.py search "wellington south coast waves" --limit 20 --json python3 skills/bluesky-nz/scripts/cli.py search "state of emergency" --since 2026-07-21 --lang en python3 skills/bluesky-nz/scripts/cli.py feed metservice.com --limit 10 python3 skills/bluesky-nz/scripts/cli.py profile some-account.bsky.social ``` - `search QUERY [--sort latest|top] [--since ISO] [--lang CODE] [--limit N] [--json]` — public post search - `feed HANDLE [--limit N] [--json]` — recent public posts from one account (replies excluded) - `profile HANDLE [--json]` — public profile summary ## Notes - **Craft NZ-specific queries.** Generic terms collide with overseas places — "wellington weather" surfaces Wellington, Ohio. Add NZ anchors: suburb names, "NZ", "Aotearoa", agency names. - **Verify handles before trusting an account.** Handles are self-registered: `metservice.bsky.social` is a band, not the weather service. Run `profile` and check the description/domain handle. A handle on the organisation's own domain, such as `metservice.com`, is domain-verified. - Crowd posts are unverified by definition; the JSON output carries this warning. - Timestamps are UTC as published. Post URLs link to the public web app. ## Resources - CLI entrypoint: `scripts/cli.py` - Contract test: `scripts/test_contract.py`; smoke test: `scripts/smoke_test.py` - Endpoint behaviour and rate-limit notes: `references/source-notes.md`