Firebase MCP
Gives AI development tools Firebase-specific capabilities and expertise.
ยังไม่มีคำอธิบายภาษาไทย ดูข้อเท็จจริงด้านล่าง หรือเปิดคำอธิบายต้นฉบับจากผู้ทำ
Open-source intelligence for the global theater. Track everything from the corporate/private jets of the wealthy, and spy satellites, to seismic events in one unified interface. Hook an AI agent up to have it parse through data and find previously unseen correlations. The knowledge is available to…ถ้าคุณเป็นผู้ทำตัวนี้ คัดลอกโค้ดนี้ไปวางใน README ได้เลย ป้ายลิงก์กลับมาที่หน้านี้
[](https://mcp.popnx.com/th/skills/bigbodycobain-shadowbroker)MCP ที่ต่อ AI เข้ากับบริการในงานเดียวกัน
Gives AI development tools Firebase-specific capabilities and expertise.
หมวดงานเดียวกัน เรียงแบบเดียวกับหน้ารายการ Skill
| ตัวนี้ Shadowbroker | timesfm | google-maps-scraper | Supervisor-Skills | AutoResearchClaw | |
|---|---|---|---|---|---|
| ผู้ทำ | BigBodyCobain | google-research | gosom | HKUSTDial | aiming-lab |
| จำนวน Skill | 1 | 1 | 1 | 12 | 34 |
| ดาว GitHub | 11,580 | 35,567 | 8,107 | 12,586 | 14,878 |
| แก้โค้ดล่าสุด | 16 พ.ย. 2569 | 13 พ.ย. 2569 | 15 พ.ย. 2569 | 5 พ.ย. 2569 | 19 ส.ค. 2569 |
| สัญญาอนุญาต | AGPL-3.0 | Apache-2.0 | MIT | – | MIT |
ชุดคำสั่ง (Skill) 1 ชุดจาก BigBodyCobain ให้ AI อ่านแล้วทำงานตามวิธีนี้ · ไม่ใช่ MCP server
MCP = มือ
ต่อ AI เข้ากับบริการหรือข้อมูลข้างนอก เช่น อ่าน Notion หรือสร้างใบแจ้งหนี้ ต้องมีโปรแกรมหรือ server ทำงานอยู่
Skill = คู่มือ
ไฟล์ข้อความที่สอน AI ว่างานนี้ทำยังไง ไม่ต่อบริการใด
บางตัวคล้ายกัน: Skill บางตัวมีสคริปต์เรียกเครื่องมือ และ MCP บางตัวส่งแค่ความรู้ ให้ดูที่งานที่อยากทำเป็นหลัก
ผู้ทำไม่ได้ระบุ · Skill แบบ SKILL.md ใช้ได้กับแอปที่รองรับ Agent Skills เช่น Claude Code, Codex และ Cursor
บัญชี GitHub BigBodyCobain (บุคคล) เปิดมา 8 ปี
★ 11,580 ดาว · แก้โค้ดล่าสุด 16 พ.ย. 2569
มีสคริปต์ 9 ไฟล์ที่รันบนเครื่องได้: sb_get_summary.py, sb_gt_report.py, __init__.py, sb_alerts.py และอีก 5 ไฟล์
สคริปต์ที่เรียกอินเทอร์เน็ต: verify_hmac.py
ไม่พบ hook หรือการเขียนค่าตั้งของเครื่อง
ตรวจอัตโนมัติจากไฟล์ใน repo ที่ commit 5349d9d (อ่านไฟล์อย่างเดียว ไม่ได้รัน) ไม่ใช่การรับรองความปลอดภัย อ่านแล้วตัดสินใจเอง
ขั้นแรก: คุณใช้ AI ตัวไหน
เลือกแอปที่ใช้ แล้วหน้านี้จะแสดงเฉพาะวิธีติดตั้งของแอปนั้น
Skill นี้ใช้ใบอนุญาต AGPL-3.0 ซึ่งไม่อยู่ในรายการที่เราแจกต่อ เราจึงไม่แจกไฟล์ ZIP จากเว็บเรา ดาวน์โหลดจาก GitHub แล้วจัดโฟลเดอร์เอง หรือใช้ทาง "ให้ AI ติดตั้งให้" ด้านบนซึ่งง่ายกว่า
ดาวน์โหลดจาก GitHub (ทั้ง repo) ↗
แตกไฟล์ แล้วบีบอัดเฉพาะโฟลเดอร์ openclaw-skills/shadowbroker ใหม่ ZIP ต้องมีโฟลเดอร์ shadowbroker ที่มี SKILL.md อยู่ชั้นบนสุด ห้ามวางไฟล์หลวมไว้ชั้นบนสุด
+Create skillUpload a skillเลือกไฟล์ shadowbroker.zip
SettingsCapabilitiesCode execution and file creation
ต้องเปิด Code execution and file creation ก่อน (เมนูรุ่นใหม่เรียก Create and edit files) · แผนส่วนตัวที่ Settings → Capabilities · Team/Enterprise ผู้ดูแลเปิดที่ Organization settings → Plugins & skills · ใช้ได้ทุกแผนรวมแผนฟรี
อัปโหลดครั้งเดียว ใช้ได้ทั้ง claude.ai และ Claude Desktop รวมถึง Claude Code รุ่นใหม่ที่ล็อกอินด้วยบัญชี Claude (ล็อกอินด้วยคีย์ API ไม่ซิงก์)
Cowork และ session บนคลาวด์ใช้ Skill ที่เปิดในบัญชี claude.ai ไม่อ่าน ~/.claude/skills ในเครื่อง (งานตั้งเวลาของ Claude Desktop ที่รันในเครื่องยังอ่านได้)
ตรวจกับเอกสารทางการล่าสุด 12 พ.ย. 2569 · แหล่ง: support.claude.com, support.claude.com, code.claude.com
คัดลอกประโยคนี้ไปวางในแชตของ Claude Code
เลือกเฉพาะโปรเจกต์ ให้วางในแชตที่เปิดอยู่ในโฟลเดอร์ของโปรเจกต์นั้น · AI จะบอก path ให้ดูก่อนติดตั้งเสมอ
AI จะบอกก่อนว่าจะทำอะไร และขออนุญาตคุณทุกขั้น
เปิด Claude Code ใหม่ แล้วพิมพ์ /shadowbroker หรือสั่งงานที่ตรงเรื่อง Claude จะเลือกใช้เอง
ตรวจกับเอกสารทางการล่าสุด 12 พ.ย. 2569 · แหล่ง: code.claude.com
Skill คือคำสั่งที่ AI จะทำตาม อ่านไฟล์ก่อนติดตั้ง และติดตั้งเฉพาะจากผู้ทำที่เชื่อถือได้
Mac: กด Command+Space พิมพ์ Terminal · Windows: คำสั่งด้านล่างใช้ใน PowerShell ไม่ได้ ให้ใช้ทาง “ให้ AI ติดตั้งให้” ด้านบนแทน
คำสั่งนี้ดาวน์โหลด repo ไว้ชั่วคราว แล้วคัดลอกเฉพาะโฟลเดอร์ที่มี SKILL.md
กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน
Skill ที่ติดตั้งเองใช้ได้ในแอป ChatGPT บนคอม, Codex CLI และส่วนขยาย Codex ใน IDE · ChatGPT บนเว็บและมือถือใช้ Skill ที่ติดตั้งเองไม่ได้ ใช้ได้เฉพาะ Skill ที่มากับปลั๊กอินในไดเรกทอรี
แอป ChatGPT บนคอมมี Codex อยู่ในตัว Codex อ่าน Skill จากโฟลเดอร์ ~/.agents/skills
เปิด Codex ในแอป ChatGPT บนคอม แล้ววางประโยคนี้ในแชต
AI จะบอก path ให้ดูก่อนติดตั้งเสมอ
AI จะบอกก่อนว่าจะทำอะไร และขออนุญาตคุณทุกขั้น
วางโฟลเดอร์ shadowbroker ไว้ที่ ~/.agents/skills/shadowbroker
~ คือโฟลเดอร์บ้านของคุณ ($HOME)
Skill คือคำสั่งที่ AI จะทำตาม อ่านไฟล์ก่อนติดตั้ง และติดตั้งเฉพาะจากผู้ทำที่เชื่อถือได้
Mac: กด Command+Space พิมพ์ Terminal · Windows: คำสั่งด้านล่างใช้ใน PowerShell ไม่ได้ ให้ใช้ทาง “ให้ AI ติดตั้งให้” ด้านบนแทน
คำสั่งนี้ดาวน์โหลด repo ไว้ชั่วคราว แล้วคัดลอกเฉพาะโฟลเดอร์ที่มี SKILL.md
กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน
ตรวจกับเอกสารทางการล่าสุด 15 พ.ย. 2569 · แหล่ง: learn.chatgpt.com
ใช้ Skill ที่ติดตั้งเองไม่ได้ ใช้ได้เฉพาะ Skill ที่มากับปลั๊กอินในไดเรกทอรี
อยากใช้ Skill นี้กับ ChatGPT ให้ใช้แอป ChatGPT บนคอมตามวิธีด้านบน
ตรวจกับเอกสารทางการล่าสุด 15 พ.ย. 2569 · แหล่ง: learn.chatgpt.com
คัดลอกประโยคนี้ไปวางในแชตของ Codex · ใช้ได้ทั้ง Codex ในแอป ChatGPT บนคอม, Codex CLI และส่วนขยายใน IDE
เลือกเฉพาะโปรเจกต์ ให้วางในแชตที่เปิดอยู่ในโฟลเดอร์ของโปรเจกต์นั้น · AI จะบอก path ให้ดูก่อนติดตั้งเสมอ
AI จะบอกก่อนว่าจะทำอะไร และขออนุญาตคุณทุกขั้น
Codex เห็น Skill ที่ติดตั้งใหม่เอง ถ้ายังไม่ขึ้นให้ปิดแล้วเปิด Codex ใหม่ · เรียกใช้: ใน ChatGPT พิมพ์ @ แล้วเลือก Skill · ใน Codex CLI หรือส่วนขยายใน IDE พิมพ์ /skills หรือพิมพ์ $ แล้วตามด้วยชื่อ Skill
ตรวจกับเอกสารทางการล่าสุด 15 พ.ย. 2569 · แหล่ง: learn.chatgpt.com
Skill คือคำสั่งที่ AI จะทำตาม อ่านไฟล์ก่อนติดตั้ง และติดตั้งเฉพาะจากผู้ทำที่เชื่อถือได้
Mac: กด Command+Space พิมพ์ Terminal · Windows: คำสั่งด้านล่างใช้ใน PowerShell ไม่ได้ ให้ใช้ทาง “ให้ AI ติดตั้งให้” ด้านบนแทน
คำสั่งนี้ดาวน์โหลด repo ไว้ชั่วคราว แล้วคัดลอกเฉพาะโฟลเดอร์ที่มี SKILL.md
กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน
คัดลอกประโยคนี้ไปวางในแชตของ Cursor
เลือกเฉพาะโปรเจกต์ ให้วางในแชตที่เปิดอยู่ในโฟลเดอร์ของโปรเจกต์นั้น · AI จะบอก path ให้ดูก่อนติดตั้งเสมอ
AI จะบอกก่อนว่าจะทำอะไร และขออนุญาตคุณทุกขั้น
ใน Agent chat ของ Cursor พิมพ์ / แล้วเลือก shadowbroker
ตรวจกับเอกสารทางการล่าสุด 12 พ.ย. 2569 · แหล่ง: cursor.com
Skill คือคำสั่งที่ AI จะทำตาม อ่านไฟล์ก่อนติดตั้ง และติดตั้งเฉพาะจากผู้ทำที่เชื่อถือได้
Mac: กด Command+Space พิมพ์ Terminal · Windows: คำสั่งด้านล่างใช้ใน PowerShell ไม่ได้ ให้ใช้ทาง “ให้ AI ติดตั้งให้” ด้านบนแทน
คำสั่งนี้ดาวน์โหลด repo ไว้ชั่วคราว แล้วคัดลอกเฉพาะโฟลเดอร์ที่มี SKILL.md
กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน
สำหรับแอปอื่นที่อ่าน Skill ได้ ประโยคนี้มี path ของ Claude Code, Codex และ Cursor ให้ AI เลือกตามแอปที่ใช้ · คัดลอกประโยคนี้ไปวางในแชตของแอป
เลือกเฉพาะโปรเจกต์ ให้วางในแชตที่เปิดอยู่ในโฟลเดอร์ของโปรเจกต์นั้น · AI จะบอก path ให้ดูก่อนติดตั้งเสมอ
AI จะบอกก่อนว่าจะทำอะไร และขออนุญาตคุณทุกขั้น
ตรวจกับเอกสารทางการล่าสุด 12 พ.ย. 2569 · แหล่ง: code.claude.com, learn.chatgpt.com, cursor.com
แอปอื่นที่รองรับ Agent Skills (เช่น Gemini CLI, GitHub Copilot) เก็บ skill ในโฟลเดอร์ต่างกัน ดูคู่มือของแอปนั้น แล้วคัดลอกโฟลเดอร์ที่มี SKILL.md ไปวาง
ตรวจโฟลเดอร์ skill กับคู่มือทางการของ Claude Code, Codex และ Cursor เมื่อ 11 พ.ย. 2569
ข้อความต่อไปนี้มาจาก repo ของผู้ทำ ไม่ใช่คำสั่งของ PopNx MCP
แสดง 8,000 ตัวอักษรแรก · เปิดไฟล์เต็มบน GitHub
---
name: shadowbroker
description: >
Query the ShadowBroker OSINT intelligence platform for real-time geospatial
intelligence, place AI intel pins on the map, manage autonomous monitoring,
inject data into native layers, fetch satellite imagery, aggregate news,
generate intelligence reports, and participate in the Wormhole mesh network.
---
# ShadowBroker Intelligence Skill
You have access to **ShadowBroker**, a real-time global OSINT intelligence platform
running on `localhost:8000`. It tracks military flights, ships, satellites, SIGINT,
earthquakes, fires, GDELT conflict events, prediction markets, and 30+ other data
layers — all with geographic coordinates.
## Agent Fast Path (read first)
ShadowBroker exposes dozens of read commands. **Do not explore them.** Use the
three-tool surface:
| Tool | When |
|------|------|
| `await sb.ask("natural language question")` | **Default for reads** — server routes to fastest command |
| `await sb.run_playbook("hot_snapshot")` | Pre-batched snapshots (morning brief, monitor poll, status) |
| `await sb.channel_status()` | Liveness (~5 ms) — never `/api/health` |
**Latency tiers:** `get_entity_profile` / `find_entity` / `get_entity_trail` / `find_flights` / `search_news` / `entities_near` → **⚡ <30 ms**.
`search_telemetry` / `get_telemetry` / `get_report` → **🔴 seconds** — blocked unless `confirm_expensive=true`.
```python
# Default read path (route + execute)
answer = await sb.ask("where is the Patriots jet")
# Named batch plans
brief = await sb.run_playbook("hot_snapshot")
monitor = await sb.run_playbook("monitor_heartbeat")
# Structured lookup when you already parsed fields
entity = await sb.send_command("find_entity", {"owner": "musk", "compact": True})
# Multi-command — always batch, never sequential loops
batch = await sb.send_batch([
{"cmd": "get_summary", "args": {"compact": True}},
{"cmd": "what_changed", "args": {"compact": True}},
])
```
**Playbooks:** `hot_snapshot`, `morning_brief`, `status_check`, `monitor_heartbeat`, `track_snapshot`, `jet_recon`, `area_brief`, `entity_recon`.
**Anti-patterns:** `search_telemetry` for known tail numbers; `get_telemetry` for routine polls; sequential `send_command` loops; empty `layers: []` on `get_layer_slice`.
Load machine-readable routing hints once: `GET /api/ai/capabilities` → `routing`.
## How to Use This Skill
Import the client and call methods:
```python
from sb_query import ShadowBrokerClient
sb = ShadowBrokerClient() # auto-detects local or remote mode
```
### Local Mode (same machine)
No configuration needed. The client connects to `localhost:8000` automatically.
### Remote Mode (agent on different machine/VPS)
Set these environment variables in your agent's config:
```bash
SHADOWBROKER_URL=https://your-shadowbroker-host:8000
SHADOWBROKER_HMAC_SECRET=your-hmac-secret-here
```
The HMAC secret is found in ShadowBroker's **Connect OpenClaw** modal (AI Intel panel).
`SHADOWBROKER_HMAC_SECRET` is a shared signing secret, not a raw API key. Do not
send it as `X-Admin-Key`, `Authorization: Bearer`, a query parameter, or any
plain request header. The `ShadowBrokerClient` signs every direct request with
`X-SB-Timestamp`, `X-SB-Nonce`, and `X-SB-Signature` using:
```text
HMAC-SHA256(secret, METHOD|path|timestamp|nonce|sha256(body))
```
For compatibility with older snippets, `SHADOWBROKER_KEY` is also accepted by
the client as the same HMAC signing secret. Prefer `SHADOWBROKER_HMAC_SECRET`
for new setups.
**Docker Compose:** host-side agents (`localhost:8000` from the Kali/macOS host)
are not loopback inside the backend container — HMAC is required. After
**Connect OpenClaw → Bootstrap → Reveal**, the secret is persisted under
`data/openclaw.env` on the `backend_data` volume. Restart the backend once,
then verify with:
```bash
python openclaw-skills/shadowbroker/verify_hmac.py
```
Hand-rolled signers must hash the **exact** POST bytes. Use compact JSON:
`json.dumps(payload, separators=(",", ":"), sort_keys=True)`.
### SSE Stream (Preferred — Low-Latency Push)
Open the SSE stream **first** and keep it open for the session. The server pushes
`layer_changed` events whenever any data layer refreshes — you know exactly which
layers to fetch instead of blind-polling.
```python
# Open the stream — authenticates once via HMAC, then stays open
async for event in sb.stream_updates():
if event["event"] == "connected":
# Initial handshake — contains full layer_versions snapshot
print(f"Connected: {event['data']['layer_versions']}")
elif event["event"] == "layer_changed":
# Server tells you which layers updated and their new version/count
changed = event["data"]["layers"] # e.g. {"ships": {"version": 43, "count": 1287}}
# Fetch ONLY the layers that actually changed
data = await sb.get_layer_slice(list(changed.keys()))
# get_layer_slice uses per-layer versions internally — only changed
# layers are serialized, unchanged layers transfer zero bytes
elif event["event"] == "alert":
# Watchdog alert — geofence hit, callsign spotted, keyword matched
print(f"Alert: {event['data']}")
elif event["event"] == "task":
# Operator-pushed task
print(f"Task: {event['data']}")
```
### Command Channel (Bidirectional)
Send commands via HTTP alongside the SSE stream:
```python
# Send a command and get the result
result = await sb.send_command("get_summary")
# Batch multiple commands in one HTTP round-trip (concurrent execution)
results = await sb.send_batch([
{"cmd": "find_flights", "args": {"query": "N189AM", "compact": True}},
{"cmd": "search_news", "args": {"query": "carrier", "compact": True}},
])
# Check channel status and security tier
status = await sb.channel_status()
print(f"Tier {status['tier']}: {status['reason']}")
```
The channel operates over HMAC-authenticated HTTP with body-integrity binding:
- **HMAC Direct:** Commands are signed with HMAC-SHA256. Wire privacy relies on TLS.
- **SSE Stream:** Authenticates once at connection open — no per-event HMAC overhead.
- **MLS E2EE (planned, not yet available):** Future upgrade to route commands via Wormhole DM with forward secrecy.
---
## Available Tools
### 1. Telemetry Queries
**Primary pattern (lowest latency):** Use the SSE stream + targeted `get_layer_slice`:
| Method | What It Returns | When to Use |
|--------|----------------|-------------|
| `sb.stream_updates()` | SSE push: `layer_changed`, alerts, tasks | **Open first, keep open** — tells you exactly which layers updated |
| `await sb.get_layer_slice(["ships", "gdelt"])` | Only the requested layers, with per-layer incremental | **Primary fetch method** — automatically skips layers you already have |
| `await sb.send_command("get_summary")` | Lightweight counts-only summary | Discover what data exists before pulling anything |
| `await sb.get_fetch_health()` | Sanitized process-local outcomes for instrumented fetch and maintenance tasks | Results reset on backend restart; condition is the latest recorded task completion, not data freshness |
| `await sb.ask("...")` | **Route + execute** | **Default** for natural-language reads |
| `await sb.send_command("get_entity_profile", {...})` | **Preferred aircraft/vessel dossier** — identity, VIP tags, trail, route, ACARS, jamming/correlations, news | Tail, owner, callsign, MMSI |
| `await sb.send_command("get_entity_trail", {...})` | Observed path + route + ACARS hints only | When you don't need full dossier |
| `await sb.send_command("find_entity", {...})` | Exact-first entity resolver | Parsed person/tail/callsign/MMSI — skips fuzzy unless `fallback_search=true` |
| `await sb.send_command("find_flights", {...})` | Targeted flight search | When you know the domain (callsign, tail number) |
| `await sb.send_command("route_query", {...})` | Routing plan only | Inspect recommended command before executing |
| `await sb.send_command("search_telemetry", {..ถาม แชร์เคล็ดลับ หรือแจ้งว่าใช้ไม่ได้ เรียงตามที่คนกดว่ามีประโยชน์
ยังไม่มีใครโพสต์ ถามหรือแชร์เป็นคนแรกได้เลย
ข้อความในส่วนนี้เขียนโดยผู้ใช้ ไม่ใช่ทีม PopNx