프로토타입 · 미리 보기: 공식 레지스트리의 모든 서버를 담고 있으며 30분마다 동기화해요. Google로 로그인하면 리뷰를 쓸 수 있어요.프로토타입 · 30분마다 업데이트
PopNx MCPAI를 쓰는 사람을 위한 MCP 서버 · 쉬운 말로 설명해요

Shadowbroker Skill

제작자: BigBodyCobain★ 11,580skill 1개

설치

What it does

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…

  • Connects Instruction files the AI reads; connects to nothing
  • Account or key No key needed
  • Category 데이터와 리서치
제작자용: README에 배지 달기

제작자라면 이 코드를 README에 붙여 넣으세요. 배지는 이 페이지로 연결됩니다.

[![Featured on PopNx MCP](https://mcp.popnx.com/badge/skill/bigbodycobain-shadowbroker.svg)](https://mcp.popnx.com/en/skills/bigbodycobain-shadowbroker)

함께 쓰기

같은 작업에서 AI를 서비스에 연결하는 MCP

Firebase MCP

Gives AI development tools Firebase-specific capabilities and expertise.

제작자: firebase널리 사용됨↓ 490.6만/주★ 4.5천 저장소 전체의 별12개월 전 업데이트

MCP · 서비스 연결내 컴퓨터에서 실행

Supabase

MCP server for interacting with the Supabase platform

제작자: supabase널리 사용됨↓ 24.6만/주★ 3천 저장소 전체의 별3일 전 업데이트

MCP · 서비스 연결컴퓨터 또는 클라우드✓ 서비스 회사 · supabase.com

Dbx

Query databases from AI agents using connections configured in DBX.

제작자: t8y2널리 사용됨↓ 9.4천/주★ 3만7개월 전 업데이트

MCP · 서비스 연결내 컴퓨터에서 실행

비슷한 Skill

같은 종류의 작업, Skill 목록과 같은 순서

비슷한 항목과 비교
이 항목
Shadowbroker
timesfmgoogle-maps-scraperSupervisor-SkillsAutoResearchClaw
제작자BigBodyCobaingoogle-researchgosomHKUSTDialaiming-lab
Skill 수1111234
GitHub 별11,58035,5678,10712,58614,878
마지막 코드 변경2026년 11월 16일2026년 11월 13일2026년 11월 15일2026년 11월 5일2026년 8월 19일
라이선스AGPL-3.0Apache-2.0MIT–MIT

BigBodyCobain의 Skill(지시 묶음) 1개, AI가 읽고 그대로 일해요 · MCP server가 아니에요

Skill과 MCP의 차이

MCP = 손

AI를 외부 서비스나 데이터에 연결합니다(예: Notion 읽기, 청구서 만들기). 프로그램이나 서버가 실행 중이어야 합니다.

Skill = 안내서

작업 방법을 AI에게 가르치는 텍스트 파일. 어떤 서비스에도 연결되지 않습니다.

겹치는 경우도 있습니다. 도구를 부르는 스크립트가 있는 Skill도, 지식만 보내는 MCP도 있습니다. 하려는 작업을 기준으로 고르세요.

쓸 수 있는 앱

제작자가 밝히지 않음 · SKILL.md 형식 Skill은 Claude Code, Codex, Cursor 같은 Agent Skills 지원 앱에서 써요

설치

Is it safe?

  • Who made it

    GitHub account BigBodyCobain (person), 8 years old

  • Use and upkeep

    ★ 11,580 stars · code last changed 2026년 11월 16일

  • Any scripts?

    9 scripts that can run on a computer: sb_get_summary.py, sb_gt_report.py, __init__.py, sb_alerts.py and 5 more

  • Uses the internet?

    Scripts that go online: verify_hmac.py

  • Changes machine-wide settings?

    No hooks or writes to machine settings found

Checked automatically from the repo files at commit 5349d9d (read only, nothing was run). Not a safety guarantee: read it and decide for yourself

먼저: 어떤 AI를 쓰시나요

쓰는 앱을 고르면 그 앱의 설치 방법만 보여 드립니다

Option 1Upload to claude.ai (web and app)

  1. Download from GitHub

    This skill uses the AGPL-3.0 license, which is not on the list we redistribute, so we do not hand out a ZIP from our site. Download it from GitHub and arrange the folder yourself, or use "Let the AI install it" above, which is easier

    Download from GitHub (whole repo) ↗

    Unzip it, then zip only the openclaw-skills/shadowbroker folder again. The ZIP must have a shadowbroker folder with SKILL.md at the top level, no loose files

  2. Open Skills on claude.ai and upload

    +Create skillUpload a skillpick shadowbroker.zip

    Open claude.ai/customize/skills ↗

  3. No Upload button? Turn on file creation first

    SettingsCapabilitiesCode execution and file creation

    Turn on Code execution and file creation first (newer menus: Create and edit files) · personal plans: Settings → Capabilities · Team/Enterprise: an admin turns it on under Organization settings → Plugins & skills · every plan, including Free

Upload once; it works in claude.ai and Claude Desktop, and in recent Claude Code signed in with a Claude account (not with an API key)

Cowork and cloud sessions use the skills turned on in your claude.ai account, not ~/.claude/skills on your computer (Claude Desktop scheduled tasks run locally and still load it)

Checked against official docs 2026년 11월 12일 · Source: support.claude.com, support.claude.com, code.claude.com

Option 1Claude Code에게 설치 맡기기

이 문장을 복사해 Claude Code 채팅에 붙여 넣으세요

Where to install

명령을 확인하는 중 · 확인을 통과하면 복사 버튼이 나타나요

명령을 확인하는 중 · 확인을 통과하면 복사 버튼이 나타나요

For one project, paste it into a chat that is open in that project’s folder · The AI always shows you the path before installing

The AI tells you what it will do first and asks your permission at every step

Claude Code를 다시 열고 /shadowbroker를 입력하거나 관련 작업을 요청하면 Claude가 알아서 써요

Checked against official docs 2026년 11월 12일 · Source: code.claude.com

For Terminal users

Skill은 AI가 따르는 지시예요. 설치 전에 파일을 읽고, 믿을 수 있는 제작자 것만 설치하세요.

  1. 터미널 열기

    Mac: Command+스페이스 후 Terminal 입력 · Windows: 아래 명령은 PowerShell에서 안 돼요. 위의 “AI에게 설치 맡기기”를 쓰세요

  2. skill 폴더를 ~/.claude/skills에 복사

    repo를 임시 폴더에 내려받고 SKILL.md가 있는 폴더만 복사해요

    명령을 확인하는 중 · 확인을 통과하면 복사 버튼이 나타나요

  3. Claude Code를 다시 열고 /shadowbroker를 입력하거나 관련 작업을 요청하면 Claude가 알아서 써요

직접 설치한 Skill은 ChatGPT 데스크톱 앱, Codex CLI, IDE의 Codex 확장 프로그램에서 쓸 수 있습니다 · 웹과 모바일의 ChatGPT에서는 직접 설치한 Skill을 쓸 수 없고 디렉터리의 플러그인에 들어 있는 Skill만 쓸 수 있습니다

ChatGPT 데스크톱 앱

ChatGPT 데스크톱 앱에는 Codex가 들어 있고, Codex는 ~/.agents/skills 폴더에서 Skill을 읽습니다

Option 1ChatGPT에게 설치 맡기기

ChatGPT 데스크톱 앱에서 Codex를 열고 이 문장을 채팅에 붙여 넣으세요

Where to install

명령을 확인하는 중 · 확인을 통과하면 복사 버튼이 나타나요

명령을 확인하는 중 · 확인을 통과하면 복사 버튼이 나타나요

The AI always shows you the path before installing

The AI tells you what it will do first and asks your permission at every step

Option 2폴더를 직접 넣기

shadowbroker 폴더를 ~/.agents/skills/shadowbroker에 넣으세요

~는 홈 폴더($HOME)입니다

For Terminal users

Skill은 AI가 따르는 지시예요. 설치 전에 파일을 읽고, 믿을 수 있는 제작자 것만 설치하세요.

  1. 터미널 열기

    Mac: Command+스페이스 후 Terminal 입력 · Windows: 아래 명령은 PowerShell에서 안 돼요. 위의 “AI에게 설치 맡기기”를 쓰세요

  2. skill 폴더를 ~/.agents/skills에 복사

    repo를 임시 폴더에 내려받고 SKILL.md가 있는 폴더만 복사해요

    명령을 확인하는 중 · 확인을 통과하면 복사 버튼이 나타나요

설치한 뒤

  • ChatGPT 데스크톱 앱: 사이드바에서 Skills를 열어 Skill이 보이는지 확인하세요
  • 쓰는 법: ChatGPT에서는 @를 입력하고 Skill을 고르세요 · Codex CLI나 IDE 확장 프로그램에서는 /skills를 실행하거나 $ 뒤에 Skill 이름을 입력하세요
  • Codex는 새로 설치한 Skill을 스스로 찾습니다. 보이지 않으면 Codex를 다시 시작하세요

Checked against official docs 2026년 11월 15일 · Source: learn.chatgpt.com

웹과 모바일의 ChatGPT

직접 설치한 Skill은 쓸 수 없고, 디렉터리의 플러그인에 들어 있는 Skill만 쓸 수 있습니다

이 Skill을 ChatGPT에서 쓰려면 위 방법대로 ChatGPT 데스크톱 앱을 쓰세요

Checked against official docs 2026년 11월 15일 · Source: learn.chatgpt.com

Option 1Codex에게 설치 맡기기

이 문장을 복사해 Codex 채팅에 붙여 넣으세요 · ChatGPT 데스크톱 앱 안의 Codex, Codex CLI, IDE 확장 프로그램에서 모두 쓸 수 있습니다

Where to install

명령을 확인하는 중 · 확인을 통과하면 복사 버튼이 나타나요

명령을 확인하는 중 · 확인을 통과하면 복사 버튼이 나타나요

For one project, paste it into a chat that is open in that project’s folder · The AI always shows you the path before installing

The AI tells you what it will do first and asks your permission at every step

Codex는 새로 설치한 Skill을 스스로 찾습니다. 보이지 않으면 Codex를 다시 시작하세요 · 쓰는 법: ChatGPT에서는 @를 입력하고 Skill을 고르세요 · Codex CLI나 IDE 확장 프로그램에서는 /skills를 실행하거나 $ 뒤에 Skill 이름을 입력하세요

Checked against official docs 2026년 11월 15일 · Source: learn.chatgpt.com

For Terminal users

Skill은 AI가 따르는 지시예요. 설치 전에 파일을 읽고, 믿을 수 있는 제작자 것만 설치하세요.

  1. 터미널 열기

    Mac: Command+스페이스 후 Terminal 입력 · Windows: 아래 명령은 PowerShell에서 안 돼요. 위의 “AI에게 설치 맡기기”를 쓰세요

  2. skill 폴더를 ~/.agents/skills에 복사

    repo를 임시 폴더에 내려받고 SKILL.md가 있는 폴더만 복사해요

    명령을 확인하는 중 · 확인을 통과하면 복사 버튼이 나타나요

  3. Codex를 다시 열고 관련 작업을 요청하면 Codex가 skill을 목록에 보여 줘요

Option 1Cursor에게 설치 맡기기

이 문장을 복사해 Cursor 채팅에 붙여 넣으세요

Where to install

명령을 확인하는 중 · 확인을 통과하면 복사 버튼이 나타나요

명령을 확인하는 중 · 확인을 통과하면 복사 버튼이 나타나요

For one project, paste it into a chat that is open in that project’s folder · The AI always shows you the path before installing

The AI tells you what it will do first and asks your permission at every step

Cursor Agent 채팅에서 /를 입력하고 shadowbroker 선택

Checked against official docs 2026년 11월 12일 · Source: cursor.com

For Terminal users

Skill은 AI가 따르는 지시예요. 설치 전에 파일을 읽고, 믿을 수 있는 제작자 것만 설치하세요.

  1. 터미널 열기

    Mac: Command+스페이스 후 Terminal 입력 · Windows: 아래 명령은 PowerShell에서 안 돼요. 위의 “AI에게 설치 맡기기”를 쓰세요

  2. skill 폴더를 ~/.cursor/skills에 복사

    repo를 임시 폴더에 내려받고 SKILL.md가 있는 폴더만 복사해요

    명령을 확인하는 중 · 확인을 통과하면 복사 버튼이 나타나요

  3. Cursor Agent 채팅에서 /를 입력하고 shadowbroker 선택

Option 1Let the AI install it

Skill을 읽을 수 있는 다른 앱용입니다. 이 문장에는 Claude Code, Codex, Cursor 경로가 들어 있어 AI가 쓰는 앱에 맞게 고릅니다 · Copy this sentence into the app’s chat

Where to install

명령을 확인하는 중 · 확인을 통과하면 복사 버튼이 나타나요

명령을 확인하는 중 · 확인을 통과하면 복사 버튼이 나타나요

For one project, paste it into a chat that is open in that project’s folder · The AI always shows you the path before installing

The AI tells you what it will do first and asks your permission at every step

Checked against official docs 2026년 11월 12일 · Source: code.claude.com, learn.chatgpt.com, cursor.com

For Terminal users

Gemini CLI, GitHub Copilot 같은 다른 Agent Skills 지원 앱은 폴더가 달라요. 그 앱 안내를 보고 SKILL.md가 있는 폴더를 복사하세요.

GitHub에서 보기 ↗

2026년 11월 11일에 Claude Code, Codex, Cursor 공식 안내로 skill 폴더 확인

원본 SKILL.md 보기

아래 글은 제작자 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 팀의 글이 아니에요.

로그인하고 글쓰기

GitHub 정보

GitHub 스타
11,580
제작자
BigBodyCobain
라이선스
AGPL-3.0
최근 코드 수정
2026년 11월 16일
repo 안 SKILL.md(번역본과 템플릿 포함)
1
토픽
ads-b, adsb, aircraft, aircraft-tracking, asdb, cctv, cctv-cameras, cctv-surveillance, earthquake-visualization, elonjet, gis, osint