# Send Prediction Bridge Dev to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "prediction-bridge-dev",
    "name": "Prediction Bridge Dev",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/smallyunet/prediction-bridge-dev",
    "canonicalUrl": "https://clawhub.ai/smallyunet/prediction-bridge-dev",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/prediction-bridge-dev",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=prediction-bridge-dev",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "prediction-bridge-dev",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T08:41:09.473Z",
      "expiresAt": "2026-05-14T08:41:09.473Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=prediction-bridge-dev",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=prediction-bridge-dev",
        "contentDisposition": "attachment; filename=\"prediction-bridge-dev-0.0.2.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "prediction-bridge-dev"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/prediction-bridge-dev"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/prediction-bridge-dev",
    "downloadUrl": "https://openagent3.xyz/downloads/prediction-bridge-dev",
    "agentUrl": "https://openagent3.xyz/skills/prediction-bridge-dev/agent",
    "manifestUrl": "https://openagent3.xyz/skills/prediction-bridge-dev/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/prediction-bridge-dev/agent.md"
  }
}
```
## Documentation

### Usage scenarios (when to use)

Use this skill when the user asks:

“Find prediction markets for this topic/headline”
“What markets match this tweet/X link?”
“Search Polymarket/Kalshi for events about …”

This skill is best for:

turning unstructured text (or an X URL) into ranked, actionable event links
quickly surfacing the top 5–10 matches with a brief market snapshot

Not a good fit when the user wants:

full market orderbooks or historical candles (use the market-data endpoints instead)
deep-dive sentiment/timeline generation (use the event deep-dive endpoints instead)

This skill calls the existing Prediction Bridge backend endpoint:

POST /api/v1/search/unified

It returns matched events (prediction market events) and optionally matched news.

### Configuration

API base (defaults to production):

PREDICTION_BRIDGE_API_URL

Defaults:

Production: https://prediction-bridge.onrender.com/api/v1
Local dev (if you run the backend locally): http://localhost:8000/api/v1

### How to run

Build the query text

If the user provides an X status link, pass the URL as text unchanged. The backend will resolve it.
If the user provides plain text, pass it as-is.

Call unified search

Use exec with curl:

API_URL="${PREDICTION_BRIDGE_API_URL:-https://prediction-bridge.onrender.com/api/v1}"

curl -sS -X POST "$API_URL/search/unified" \\
  -H "Content-Type: application/json" \\
  -H "X-Request-ID: pb-$(date +%s)" \\
  --data-binary @- <<'JSON'
{
  "text": "<USER_TEXT_OR_X_URL>",
  "limit": 10,
  "offset": 0,
  "include_inactive": false,
  "include_markets": true,
  "markets_per_event": 1,
  "include_translations": false
}
JSON

Notes:

Use markets_per_event: 1 to keep payload small but still show the leading market.
If the user explicitly asks for more markets per event, increase markets_per_event.

### API response format (what you will receive)

POST /search/unified returns JSON with this shape (fields may be omitted or null depending on data availability):

{
  "source": {
    "type": "x" ,
    "url": "https://x.com/.../status/...",
    "text": "resolved tweet text (optional)",
    "id": "optional"
  },
  "events": [
    {
      "score": 0.82,
      "event": {
        "id": 123,
        "title": "...",
        "description": "...",
        "source": "polymarket",
        "source_url": "https://polymarket.com/event/...",
        "status": "active",
        "volume_usd": 12345.67,
        "liquidity_usd": 2345.0,
        "end_date": "2026-12-31T00:00:00Z",
        "markets": [
          {
            "id": 999,
            "question": "...",
            "outcomes": ["Yes", "No"],
            "outcome_prices": {"Yes": 0.61, "No": 0.39},
            "volume": 1000.0,
            "active": true,
            "closed": false
          }
        ]
      }
    }
  ],
  "news": [
    {
      "score": 0.74,
      "news": {
        "id": 456,
        "title": "...",
        "summary": "...",
        "url": "https://...",
        "image_url": "https://...",
        "source": "...",
        "published_at": "2026-02-01T12:34:56Z"
      }
    }
  ]
}

Key points:

events[] is the primary output. Each item has { score, event }.
score is a relevance score; higher is better.
event.markets is present when you requested include_markets: true.

When you set markets_per_event, the backend may return only a preview subset.


news[] is optional supporting context; do not let it crowd out event results.

### How the agent should parse + handle results

Important:

Do NOT show the raw JSON response to the user.
Always parse/validate the response first, then present the matched events as a clean, human-readable list.

Validate payload shape

Treat missing/invalid JSON as a failure and retry once (or ask the user to retry).
If events is missing or not an array, treat it as empty.

Rank and select

Sort events by score descending (even if the backend already sorted).
Default to presenting top 5 results; show up to 10 if the user asked for “more”.

Extract a “market snapshot” per event (best-effort)

Prefer event.source_url as the click-through link.
If event.source_url is missing, fall back to the frontend detail page:

https://www.predictionbridge.xyz/event/<event.id>


If event.markets[0].outcome_prices exists:

show the YES/Long price if present: outcome_prices.Yes or outcome_prices.Long
otherwise show the first available outcome price

Present concise output

For each event, output:

Title
Source/platform (event.source)
Relevance score (rounded, e.g. 0.82)
Link (event.source_url preferred)
1-line snapshot: probability (if available) + volume/liquidity (if available)

Optional: include related news

If news exists, include at most 1–3 items with title + URL as extra context.

Empty results

If events is empty:

say no strong matches found
ask for 1 clarifying detail (timeframe, geography, person/org name, or paste the text instead of a shortened link)

### How to present results

After you receive JSON:

If events is empty, say no matches were found and ask for a more specific query.
Otherwise list the top results (usually 5–10):

event title
platform/source (e.g. Polymarket, Kalshi)
score (higher is better)
a link to the event (event.source_url when present)
quick market snapshot (from the first market in event.markets, if present)

If news is present, optionally show 1–3 related news items as context.

### Error handling

HTTP 400: invalid input or X resolve error → ask the user to paste a different link or provide plain text.
HTTP 503: backend DB unavailable → suggest retrying later.
Any network error: confirm PREDICTION_BRIDGE_API_URL and whether the API is reachable.
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: smallyunet
- Version: 0.0.2
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-07T08:41:09.473Z
- Expires at: 2026-05-14T08:41:09.473Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/prediction-bridge-dev)
- [Send to Agent page](https://openagent3.xyz/skills/prediction-bridge-dev/agent)
- [JSON manifest](https://openagent3.xyz/skills/prediction-bridge-dev/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/prediction-bridge-dev/agent.md)
- [Download page](https://openagent3.xyz/downloads/prediction-bridge-dev)