
Colosseum Copilot
Wire an agent to Colosseum Copilot’s REST API to search hackathon projects and archives, run analyze/compare, and resolve filters with PAT auth and rate-limit discipline.
Overview
Colosseum Copilot is an agent skill most often used in Idea (also Validate, Launch) that documents how agents authenticate and call Colosseum Copilot APIs to search and analyze hackathon projects within strict rate limit
Install
npx skills add https://github.com/colosseumorg/colosseum-copilot --skill colosseum-copilotWhat is this skill?
- Documented Colosseum Copilot API: filters, search, analyze, compare, source-suggestions, feedback
- Per-user rate limits table (e.g., Search 30/min, Analysis 10/min) with 429 RATE_LIMITED handling
- 2 concurrent in-flight cap on data endpoints with sequential-call guidance for agents
- Bearer PAT auth pattern and PAT issuance limits for agent runtimes
- Fail-closed concurrency behavior with retryable 5xx when limiter unavailable
- Documented rate limits: Search 30 req/min, Analysis 10 req/min, 2 concurrent in-flight data calls
Adoption & trust: 2.7k installs on skills.sh; 9 GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
You want hackathon and archive intelligence from Colosseum but your agent keeps hitting 429s, wrong slugs, or unstructured guesses without the real API contract.
Who is it for?
Solo builders or small agent workflows doing Colosseum hackathon discovery, competitive scans, or post-hoc archive research via PAT-backed API calls.
Skip if: Builders with no Colosseum account or PAT who only need generic web search, or workloads that require unbounded parallel scraping against Colosseum endpoints.
When should I use this skill?
When the agent must call Colosseum Copilot data endpoints (search, analyze, compare, filters) with Bearer PAT and respect documented throttles.
What do I get? / Deliverables
Your agent performs filter-aware search, analysis, and compare calls with PAT auth, concurrency-safe sequencing, and chronology-correct hackathon metadata.
- Authenticated API requests with correct filters and slugs
- Structured search/analyze/compare responses for agent reasoning
- Throttle-safe call sequencing under concurrency caps
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
First meaningful use is Idea research—mapping hackathon tracks, tags, and prior submissions before committing to a build. Research subphase matches discovery endpoints like /filters, /search/projects, and /search/archives with chronology-aware hackathon metadata.
Where it fits
Fetch /filters to map hackathon names to slugs before picking a track.
Run /search/archives and /compare to see how similar ideas placed in past events.
Use /analyze on your draft concept against archive hits to tighten differentiation.
Pull winning project patterns from search results to shape demo narrative and submission positioning.
How it compares
Skill package for Colosseum’s official Copilot HTTP API—not a generic MCP browser scraper or local SQLite hackathon DB.
Common Questions / FAQ
Who is colosseum-copilot for?
Indie developers and agent authors who participate in or study Colosseum hackathons and need precise API usage for search, analysis, and comparison endpoints.
When should I use colosseum-copilot?
Use in Idea research to discover tracks and prior projects, in Validate to compare your scope against archives, and in Launch distribution planning when you need evidence-backed positioning from hackathon data—always with a valid COLOSSEUM_COPILOT_PAT.
Is colosseum-copilot safe to install?
Treat PATs as secrets, cap concurrency per the skill, and review the Security Audits panel on this Prism page before granting network access in your agent environment.
SKILL.md
READMESKILL.md - Colosseum Copilot
# API Reference ## API Reference ### Rate Limits All limits are per-user (keyed by PAT identity). Exceeding a limit returns `429` with `"code": "RATE_LIMITED"` and `"retryable": true`. | Category | Limit | Applies to | |----------|-------|------------| | Search | 30 req/min | `/search/projects`, `/search/archives` | | Analysis | 10 req/min | `/analyze`, `/compare` | | Concurrency | 2 in-flight | All data endpoints (`429` with `Retry-After: 1`) | | Source suggestions | 5 req/hr | `/source-suggestions` | | Feedback | 10 req/hr | `/feedback` | | PAT issuance | 10 req/min | `POST /api/copilot/auth/token` (per IP) | **Tip:** The 2-concurrent limit is enforced server-side. Most agent runtimes serialize overflow automatically — submit all your calls and they'll execute in order. If you get repeated `429`s, reduce to sequential calls. **Fail-closed:** If the concurrency limiter is temporarily unavailable, the API fails closed with a retryable 5xx rather than allowing unlimited concurrency. This is transient — retry after a brief delay. ### Endpoints Unless noted, all requests include: ```bash -H "Authorization: Bearer $COLOSSEUM_COPILOT_PAT" ``` #### GET /filters Fetch available filters (hackathons, tracks, tags, clusters). Use to translate hackathon or track names into valid slugs/keys and to get canonical hackathon `startDate` values for chronology-sensitive answers. ```bash curl "$COLOSSEUM_COPILOT_API_BASE/filters" \ -H "Authorization: Bearer $COLOSSEUM_COPILOT_PAT" ``` Response includes: - `tracks[]`: `{ key, name, hackathonSlug, projectCount }` - `hackathons[]`: `{ slug, name, startDate, projectCount, winnerCount }` — ordered chronologically (oldest first) - `acceleratorBatches[]`: `{ key, name, companyCount }` - `prizeTypes[]`: string array of prize category names - `prizePlacements[]`: integer array of placement ranks - `problemTags[]`: `{ tag, count }` — top 25 by frequency - `solutionTags[]`: `{ tag, count }` - `primitives[]`: `{ tag, count }` - `techStack[]`: `{ tag, count }` - `targetUsers[]`: `{ tag, count }` - `clusters[]`: `{ key, label, projectCount }` — key format `v<N>-c<N>` - `archiveSources[]`: `{ key, label, documentCount }` — use `key` values in archive `sources` filter Use this endpoint to discover valid filter values for search requests. #### POST /search/projects Primary similarity search for hackathon projects. Recommended defaults: - `limit`: 8-12 - `includeFacets`: false (only use when you need aggregate tags) ```bash curl -X POST "$COLOSSEUM_COPILOT_API_BASE/search/projects" \ -H "Authorization: Bearer $COLOSSEUM_COPILOT_PAT" \ -H "Content-Type: application/json" \ -d '{ "query": "privacy wallet for stablecoin users", "limit": 10, "filters": { "winnersOnly": false, "acceleratorOnly": false } }' ``` **Filter parameters** (`filters` object): | Param | Type | Description | |-------|------|-------------| | `winnersOnly` | boolean | Only prize-winning projects | | `acceleratorOnly` | boolean | Only accelerator portfolio companies | | `acceleratorBatchKeys` | string[] | Specific accelerator batches (format `accelerator/<batchSlug>`) | | `prizePlacements` | int[] | Prize placement ranks (e.g., `[1, 2, 3]`) | | `prizeTypes` | string[] | Prize categories | | `isUniversityProject` | boolean | University-affiliated projects only | | `isSolanaMobile` | boolean | Solana Mobile projects only | | `techStack` | string[] | Filter by tech stack tags | | `primitives` | string[] | Filter by primitive/protocol tags | | `problemTags` | string[] | Filter by problem domain tags | | `solutionTags` | string[] | Filter by solution approach tags | | `targetUsers` | string[] | Filter by target user segments | | `clusterKeys` | string[] | Filter by cluster (format `v<N>-c<N>`) | Discover valid values for tag/cluster/source filters via `GET /filters`. **Facets** — aggregate tag distributions across the matched set: - `includeFacets` (boolean, default `false`): enable facet com