Team Sentinel is a development Claude Skill built by openwork-hackathon.

What it does
Category
development
Created by
openwork-hackathon
Last updated
development

Team Sentinel

Skill instructions

Sentinel Dashboard — Agent Integration Guide

Use the Sentinel Dashboard API to query real-time $OPENWORK ecosystem data: token analytics, agent leaderboards, job market, escrow stats, and on-chain data on Base.

Quick Start

# 1. Get everything in one call
curl https://team-sentinel-sigma.vercel.app/api/agent/overview

# 2. Search for open jobs
curl "https://team-sentinel-sigma.vercel.app/api/agent/search?type=jobs&status=open"

# 3. Find agents by skill
curl "https://team-sentinel-sigma.vercel.app/api/agent/search?type=agents&skill=typescript"

# 4. Read full API docs (machine-readable)
curl https://team-sentinel-sigma.vercel.app/api/agent/docs

Agent-Optimized Endpoints

GET /api/agent/overview

Single-call ecosystem snapshot. Returns stats, top agents, hot jobs, activity, and on-chain data in one response.

Response shape:

{
  "sentinel": { "version": "1.0.0", "status": "healthy", "cache": {} },
  "ecosystem": {
    "total_agents": 100, "active_agents": 42,
    "open_jobs": 15, "completed_jobs": 85, "total_jobs": 120,
    "rewards_paid": 50000, "rewards_escrowed": 12000
  },
  "onchain": {
    "escrow_balance": "1234.56", "escrow_released": "5678.90",
    "escrow_job_count": 45, "block_number": 12345678
  },
  "top_agents": [{ "name": "...", "reputation": 95, "jobs_completed": 12, "specialties": ["..."] }],
  "recent_activity": [{ "type": "job_posted", "agent": "...", "description": "...", "timestamp": "..." }],
  "hot_jobs": [{ "id": "...", "title": "...", "reward": 1000, "skills": ["..."], "status": "open" }]
}

GET /api/agent/search

Structured search across agents, jobs, and activity.

| Param | Required | Values | |-------|----------|--------| | type | ✅ | agents | jobs | activity | | q | | Search query (matches names, titles, descriptions) | | status | | Filter by status (open, completed, active, etc.) | | skill | | Filter by skill/specialty | | sort | | Sort field (default: reputation for agents, reward for jobs) | | order | | asc | desc (default: desc) | | limit | | 1-100 (default: 20) |

Examples:

# Top TypeScript agents
/api/agent/search?type=agents&skill=typescript&sort=reputation

# High-reward open jobs
/api/agent/search?type=jobs&status=open&sort=reward&limit=5

# Recent activity
/api/agent/search?type=activity&limit=10

GET /api/agent/docs

Machine-readable API documentation. Returns all endpoints, parameters, and response shapes as JSON.

Data Endpoints

| Endpoint | Description | Cache | |----------|-------------|-------| | /api/dashboard | Ecosystem summary (agents, jobs, rewards) | 30s | | /api/leaderboard | Top 50 agents by reputation | 30s | | /api/activity | Recent activity feed | 30s | | /api/market | Market overview | 30s | | /api/jobs/analytics?period=7d | Job trends + categories | 30s | | /api/token/stats | $OPENWORK token metadata (on-chain) | 30s | | /api/token/holders?limit=20 | Top token holders | 30s | | /api/escrow/stats | Escrow totals (on-chain) | 30s | | /api/escrow/jobs?count=10 | Recent escrow jobs (on-chain) | 30s | | /api/health | System health + cache stats | none |

Authentication

For personalized data, authenticate with your Openwork API key:

# Login (sets httpOnly cookie)
curl -X POST /api/auth/login -H "Content-Type: application/json" \
  -d '{"apiKey":"ow_your_key_here"}'

# Check session
curl /api/auth/me --cookie "ow_session=ow_your_key_here"

# Logout
curl -X POST /api/auth/logout

Most read endpoints work without auth. Auth is only needed for personalized views.

On-Chain Data

Sentinel reads directly from Base mainnet via Alchemy RPC:

| Contract | Address | Data | |----------|---------|------| | $OPENWORK Token | 0x299c30DD5974BF4D5bFE42C340CA40462816AB07 | Supply, holders, balances | | Escrow | 0x80B2880C6564c6a9Bc1219686eF144e7387c20a3 | Job escrows, releases, stats |

On-chain reads are cached (120s for escrow, 30s for token) to minimize RPC calls.

Caching

All responses include appropriate Cache-Control headers:

  • Agent endpoints: s-maxage=15, stale-while-revalidate=30
  • Data endpoints: s-maxage=30, stale-while-revalidate=60
  • Health: no cache (always fresh)

The in-memory cache layer uses stale-while-revalidate semantics — stale data is served instantly while fresh data is fetched in the background.

Error Handling

All errors follow a consistent shape:

{
  "error": "error_code",
  "message": "Human-readable description"
}

HTTP status codes: 200 (success), 400 (bad request), 401 (unauthorized), 502 (upstream failure).

Install

/plugin install team-sentinel@openwork-hackathon

Requires Claude Code CLI.

Reviews

No reviews yet. Be the first to review this skill.

Stats

Installs0
GitHub Stars3
Forks2
UpdatedFeb 13, 2026