{"id":"78a55114-bcd7-43e0-8f34-9c9988f8e4f6","entityType":"agent","slug":"clawhub-juampihernandez-talent-powers","name":"builder-data","canonicalUrl":"https://www.xpersona.co/agent/clawhub-juampihernandez-talent-powers","canonicalPath":"/agent/clawhub-juampihernandez-talent-powers","generatedAt":"2026-10-10T10:44:57.205Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T08:28:28.294Z","emptyReason":null},"description":"Query builder reputation data via Talent Protocol API. Get Builder Rank, verify humans, resolve identities (Twitter/Farcaster/GitHub/wallet), search by location/country, get credentials, and enrich with GitHub data.","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.6K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s176xf487ntgt393vzkssjk6hh8859xm:talent-powers","sourceUrl":"https://clawhub.ai/juampihernandez/talent-powers","homepage":"https://clawhub.ai/juampihernandez/skills/talent-powers","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/juampihernandez/talent-powers","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/juampihernandez/skills/talent-powers","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":64,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"builder-data technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T08:28:28.294Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T08:28:28.294Z","emptyReason":null},"stars":null,"forks":null,"downloads":1558,"packageName":null,"latestVersion":"1.0.1","tractionLabel":"1.6K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T08:28:28.293Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T08:28:28.294Z","lastCrawledAt":"2026-10-10T08:28:28.293Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T08:28:28.293Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.1","createdAt":"2026-02-13T19:26:38.811Z","changelog":"- Renamed skill from \"talent-powers\" to \"builder-data\" - Removed reference files: endpoints.md, github-enrichment.md, and use-cases.md - Updated and clarified credential requirements (explicit API key and optional GitHub token) - Revised endpoint descriptions and made GitHub enrichment details clearer - Improved instructions for using filters, especially the recommendation to use ranks by default and only fetch scores if asked - Simplified and clarified sample requests and parameter explanations","fileCount":5,"zipByteSize":7544},{"version":"1.0.0","createdAt":"2026-02-03T20:44:28.392Z","changelog":"- query builder reputation and professional data from Talent Protocol. - Search and filter developers by location, skills, or identity (Twitter, GitHub, Farcaster, wallet). - Check builder reputation scores and rankings, and verify human identity. - Map Twitter accounts to wallets, and access builder credentials (earnings, contributions, hackathons, contracts, etc). - Discover what each builder is working on - geo-location of builders","fileCount":5,"zipByteSize":6781}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s176xf487ntgt393vzkssjk6hh8859xm:talent-powers","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s176xf487ntgt393vzkssjk6hh8859xm:talent-powers` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/juampihernandez/talent-powers before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-juampihernandez-talent-powers/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-juampihernandez-talent-powers/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-juampihernandez-talent-powers/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-juampihernandez-talent-powers/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-juampihernandez-talent-powers/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-juampihernandez-talent-powers/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T10:44:57.205Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-juampihernandez-talent-powers/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-juampihernandez-talent-powers/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-juampihernandez-talent-powers/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-juampihernandez-talent-powers/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T08:28:28.294Z","emptyReason":null},"readme":"Skill: builder-data\n\nOwner: juampihernandez\n\nSummary: Query builder reputation data via Talent Protocol API. Get Builder Rank, verify humans, resolve identities (Twitter/Farcaster/GitHub/wallet), search by location/country, get credentials, and enrich with GitHub data.\n\nTags: latest:1.0.1, mapping:1.0.0, onchain:1.0.0, reputation:1.0.0, wallet:1.0.0\n\nVersion history:\n\nv1.0.1 | 2026-02-13T19:26:38.811Z | user\n\n- Renamed skill from \"talent-powers\" to \"builder-data\"\n- Removed reference files: endpoints.md, github-enrichment.md, and use-cases.md\n- Updated and clarified credential requirements (explicit API key and optional GitHub token)\n- Revised endpoint descriptions and made GitHub enrichment details clearer\n- Improved instructions for using filters, especially the recommendation to use ranks by default and only fetch scores if asked\n- Simplified and clarified sample requests and parameter explanations\n\nv1.0.0 | 2026-02-03T20:44:28.392Z | user\n\n- query builder reputation and professional data from Talent Protocol.\n- Search and filter developers by location, skills, or identity (Twitter, GitHub, Farcaster, wallet).\n- Check builder reputation scores and rankings, and verify human identity.\n- Map Twitter accounts to wallets, and access builder credentials (earnings, contributions, hackathons, contracts, etc).\n- Discover what each builder is working on\n- geo-location of builders\n\nArchive index:\n\nArchive v1.0.1: 5 files, 7544 bytes\n\nFiles: references/endpoints.md (5131b), references/github-enrichment.md (2575b), references/use-cases.md (4520b), SKILL.md (4845b), _meta.json (132b)\n\nFile v1.0.1:SKILL.md\n\n---\nname: builder-data\ndescription: Query builder reputation data via Talent Protocol API. Get Builder Rank, verify humans, resolve identities (Twitter/Farcaster/GitHub/wallet), search by location/country, get credentials, and enrich with GitHub data.\n---\n\n# Talent Powers\n\nQuery professional data from [Talent Protocol](https://talent.app) - a platform that tracks builders\n\n**Use this skill to:**\n- Find verified developers by location, skills, or identity (Twitter/GitHub/Farcaster/wallet)\n- Check builder reputation (ranks by default, scores only when asked)\n- Map Twitter accounts with Wallet addresses\n- Verify human identity from a wallet\n- Search for builder's credentials (earnings, contributions, hackathons, contracts, etc)\n- Check the projects each builder is shipping\n\n## Required Credentials\n\n| Variable | Required | Description | Get it at |\n|----------|----------|-------------|-----------|\n| `TALENT_API_KEY` | **Yes** | API key for Talent Protocol (read access to profile/identity data) | https://talent.app/~/settings/api |\n| `GITHUB_TOKEN` | No | Personal access token for higher GitHub rate limits (60/hr → 5,000/hr) | https://github.com/settings/tokens |\n\n**Base URL:** `https://api.talentprotocol.com`\n\n```bash\ncurl -H \"X-API-KEY: $TALENT_API_KEY\" \"https://api.talentprotocol.com/...\"\n```\n\n## Endpoints\n\n| Endpoint | Purpose |\n|----------|---------|\n| `/search/advanced/profiles` | Search profiles by identity, tags, rank, verification |\n| `/profile` | Get profile by ID |\n| `/accounts` | Get connected wallets, GitHub, socials |\n| `/socials` | Get social profiles + bios |\n| `/credentials` | Get data points (earnings, followers, hackathons, etc.) |\n| `/human_checkmark` | Check if human-verified (optional, don't use by default) |\n| `/scores` | Get ranks (default) or scores (only when explicitly asked) |\n\n## Key Parameters\n\n**Identity lookup:**\n```\nquery[identity]={handle}&query[identity_type]={twitter|github|farcaster|ens|wallet}\n```\n\n**Filters (all optional, only use when relevant to the query):**\n```\nquery[tags][]=developer              # filter by tag (developer, designer, etc.)\nquery[verified_nationality]=true     # only verified nationality\nquery[human_checkmark]=true          # only human-verified (reduces results significantly)\n```\n\n**Sorting:**\n```\nsort[score][order]=desc&sort[score][scorer]=Builder%20Score\n```\n\n**Pagination:** `page=1&per_page=250` (max 250)\n\n## URL Encoding\n\n`[` = `%5B`, `]` = `%5D`, Space = `%20`\n\n## Response Fields\n\n**Default → Ranks (always use unless user asks for scores):**\n- `builder_score.rank_position` - Primary rank metric\n- `scores[].rank_position` where `slug = \"builder_score\"` - Latest rank\n\n**Only when user explicitly asks for scores:**\n- `builder_score.points` - Score value\n- `scores[].points` - Individual score values\n\n- `location` - User-entered location (returned in response)\n\n## Location Filter\n\n**DO NOT USE** `query[standardized_location]=Country` - doesn't work.\n\n**USE `customQuery` with regex:**\n\n```bash\ncurl -X POST -H \"X-API-KEY: $TALENT_API_KEY\" -H \"Content-Type: application/json\" \\\n  \"https://api.talentprotocol.com/search/advanced/profiles\" \\\n  -d '{\n    \"customQuery\": {\n      \"regexp\": {\n        \"standardized_location\": {\n          \"value\": \".*argentina.*\",\n          \"case_insensitive\": true\n        }\n      }\n    },\n    \"sort\": { \"score\": { \"order\": \"desc\", \"scorer\": \"Builder Score\" } },\n    \"perPage\": 50\n  }'\n```\n\nSee [use-cases.md](references/use-cases.md#by-location-country) for more examples.\n\n## Limitations\n\n- Max 250 per page\n- GET only for most endpoints (POST for customQuery)\n- Simple `query[standardized_location]` param broken - use `customQuery` regex\n\n## GitHub Enrichment\n\nGet projects/repos via GitHub after resolving username from `/accounts`:\n\n```bash\n# 1. Get GitHub username\n/accounts?id={profile_id} → { \"source\": \"github\", \"username\": \"...\" }\n\n# 2. Query GitHub\nGET https://api.github.com/users/{username}                           # Profile\nGET https://api.github.com/users/{username}/repos?sort=stars&per_page=5   # Top repos\nGET https://api.github.com/users/{username}/repos?sort=pushed&per_page=5  # Recent\nGET https://api.github.com/users/{username}/events/public             # Commits\nGET https://api.github.com/search/issues?q=author:{username}+type:pr+state:open  # Open PRs\n```\n\n**GitHub Token (recommended):** Without a token, GitHub limits to 60 requests/hr. With a personal access token, you get 5,000/hr.\n- Create one at: https://github.com/settings/tokens → \"Generate new token (classic)\" → no scopes needed for public data\n- Use it: `-H \"Authorization: token $GITHUB_TOKEN\"`\n\n## References\n\n- [endpoints.md](references/endpoints.md) - Full endpoint docs\n- [use-cases.md](references/use-cases.md) - Common patterns\n- [github-enrichment.md](references/github-enrichment.md) - GitHub data\n\nFile v1.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn7e1deyjs2wxztxdwbbn97v6980fjnh\",\n  \"slug\": \"talent-powers\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1771010798811\n}\n\nFile v1.0.1:references/endpoints.md\n\n# Endpoints\n\n**API Key:** https://talent.app/~/settings/api\n\n```bash\ncurl -H \"X-API-KEY: $TALENT_API_KEY\" \"https://api.talentprotocol.com/...\"\n```\n\n**URL Encoding:** `[` = `%5B`, `]` = `%5D`\n\n---\n\n## /search/advanced/profiles\n\n### GET (identity, tags, verification)\n\n```bash\ncurl -H \"X-API-KEY: $TALENT_API_KEY\" \\\n  \"https://api.talentprotocol.com/search/advanced/profiles?query%5Bidentity%5D=jessepollak&query%5Bidentity_type%5D=twitter\"\n```\n\n| Parameter | Example |\n|-----------|---------|\n| `query[identity]` | `jessepollak` |\n| `query[identity_type]` | `twitter`, `github`, `farcaster`, `ens`, `wallet` |\n| `query[verified_nationality]` | `true` |\n| `query[human_checkmark]` | `true` (optional - reduces results, only use when user asks) |\n| `query[tags][]` | `developer` |\n| `sort[score][order]` | `desc` |\n| `sort[score][scorer]` | `Builder Score` |\n| `page` | `1` |\n| `per_page` | `250` (max) |\n\n### POST with customQuery (for location filtering)\n\n**DO NOT USE** `query[standardized_location]` - it doesn't work.\n\n**USE POST with `customQuery` regex:**\n\n```bash\ncurl -X POST -H \"X-API-KEY: $TALENT_API_KEY\" -H \"Content-Type: application/json\" \\\n  \"https://api.talentprotocol.com/search/advanced/profiles\" \\\n  -d '{\n    \"customQuery\": {\n      \"regexp\": {\n        \"standardized_location\": {\n          \"value\": \".*argentina.*\",\n          \"case_insensitive\": true\n        }\n      }\n    },\n    \"sort\": { \"score\": { \"order\": \"desc\", \"scorer\": \"Builder Score\" } },\n    \"perPage\": 50\n  }'\n```\n\n> **Note:** `\"humanCheckmark\": true` is optional. Don't include it by default — it reduces results. Only add when user explicitly asks.\n\nSee [use-cases.md](use-cases.md#by-location-country) for more location examples.\n\n### Response\n\n```json\n{\n  \"profiles\": [{\n    \"id\": \"uuid\",\n    \"name\": \"username\",\n    \"display_name\": \"Name\",\n    \"bio\": \"...\",\n    \"location\": \"Buenos Aires, Argentina\",\n    \"human_checkmark\": true,\n    \"tags\": [\"developer\"],\n    \"builder_score\": { \"rank_position\": 127, \"points\": 229 },\n    \"scores\": [\n      { \"slug\": \"builder_score\", \"rank_position\": 154 }\n    ]\n  }],\n  \"pagination\": { \"current_page\": 1, \"total\": 100 }\n}\n```\n\n**Default:** Use `rank_position` fields. Only include `points` when user explicitly asks for scores.\n\n---\n\n## /profile\n\n```bash\ncurl -H \"X-API-KEY: $TALENT_API_KEY\" \\\n  \"https://api.talentprotocol.com/profile?id={profile_id}\"\n```\n\n| Parameter | Description |\n|-----------|-------------|\n| `id` | Profile ID, wallet, or identifier |\n| `account_source` | `farcaster`, `github`, `wallet` |\n\n---\n\n## /accounts\n\nGet connected wallets and platforms. Use to find GitHub username for enrichment.\n\n```bash\ncurl -H \"X-API-KEY: $TALENT_API_KEY\" \\\n  \"https://api.talentprotocol.com/accounts?id={profile_id}\"\n```\n\n**Response:**\n\n```json\n{\n  \"accounts\": [\n    { \"source\": \"wallet\", \"identifier\": \"0x...\" },\n    { \"source\": \"github\", \"username\": \"jessepollak\" },\n    { \"source\": \"farcaster\", \"username\": \"jesse\" },\n    { \"source\": \"x_twitter\", \"username\": \"jessepollak\" }\n  ]\n}\n```\n\n---\n\n## /socials\n\nGet social profiles with bios and follower counts.\n\n```bash\ncurl -H \"X-API-KEY: $TALENT_API_KEY\" \\\n  \"https://api.talentprotocol.com/socials?id={profile_id}\"\n```\n\n**Response:**\n\n```json\n{\n  \"socials\": [\n    { \"social_name\": \"Twitter\", \"handle\": \"jessepollak\", \"bio\": \"...\", \"followers_count\": 5000 },\n    { \"social_name\": \"Github\", \"handle\": \"jessepollak\", \"followers_count\": 200 },\n    { \"social_name\": \"Farcaster\", \"handle\": \"jesse\", \"followers_count\": 1500 }\n  ]\n}\n```\n\n---\n\n## /credentials\n\nGet all data points: earnings, followers, hackathons, events, memberships.\n\n```bash\ncurl -H \"X-API-KEY: $TALENT_API_KEY\" \\\n  \"https://api.talentprotocol.com/credentials?id={profile_id}\"\n```\n\n**Response:**\n\n```json\n{\n  \"credentials\": [\n    { \"slug\": \"github_total_contributions\", \"readable_value\": \"500\" },\n    { \"slug\": \"total_earnings\", \"readable_value\": \"1250\" },\n    { \"slug\": \"eth_global_hacker\", \"points\": 10 },\n    { \"slug\": \"base_basecamp\", \"points\": 5 }\n  ]\n}\n```\n\n**Common slugs:**\n\n| Category | Slugs |\n|----------|-------|\n| Followers | `total_followers`, `twitter_followers`, `github_followers`, `farcaster_followers` |\n| Earnings | `total_earnings`, `total_builder_earnings`, `base_builder_rewards_eth` |\n| Events | `base_basecamp`, `farcaster_farcon_nyc_2025_attendee` |\n| Hackathons | `eth_global_hacker`, `eth_global_finalist`, `devfolio_hackathons_won` |\n| Verification | `talent_protocol_human_checkmark`, `world_id_human`, `coinbase_verified_account` |\n| Memberships | `developer_dao_member`, `fwb_member` |\n\n---\n\n## /human_checkmark\n\n```bash\ncurl -H \"X-API-KEY: $TALENT_API_KEY\" \\\n  \"https://api.talentprotocol.com/human_checkmark?id={profile_id}\"\n```\n\n**Response:** `{ \"human_checkmark\": true }`\n\n---\n\n## /data_points\n\nList available data point slugs for a profile.\n\n```bash\ncurl -H \"X-API-KEY: $TALENT_API_KEY\" \\\n  \"https://api.talentprotocol.com/data_points?id={profile_id}\"\n```\n\n---\n\n## Errors\n\n| Status | Meaning |\n|--------|---------|\n| 400 | Bad request (e.g., per_page > 250) |\n| 401 | Missing/invalid API key |\n| 404 | Profile not found |\n| 302 | Used POST instead of GET |\n\nFile v1.0.1:references/github-enrichment.md\n\n# GitHub Enrichment\n\nGet projects/repos by resolving identity → GitHub username → GitHub API.\n\n**GitHub Token:** https://github.com/settings/tokens (60 req/hr without, 5000 with)\n\n---\n\n## Flow\n\n```bash\n# 1. Get GitHub username from Talent Protocol\ncurl -H \"X-API-KEY: $TALENT_API_KEY\" \\\n  \"https://api.talentprotocol.com/accounts?id={profile_id}\"\n# Response: { \"source\": \"github\", \"username\": \"jessepollak\" }\n\n# 2. Query GitHub API\n```\n\n---\n\n## Endpoints\n\n| Data | Endpoint |\n|------|----------|\n| Profile & company | `GET /users/{username}` |\n| Top repos | `GET /users/{username}/repos?sort=stars&per_page=5` |\n| Recent repos | `GET /users/{username}/repos?sort=pushed&per_page=5` |\n| Activity/commits | `GET /users/{username}/events/public` |\n| Open PRs | `GET /search/issues?q=author:{username}+type:pr+state:open&per_page=5` |\n| README | `GET /repos/{owner}/{repo}/readme` |\n| Languages | `GET /repos/{owner}/{repo}/languages` |\n\n---\n\n## Profile\n\n```bash\ncurl https://api.github.com/users/{username}\n```\n\n```json\n{\n  \"login\": \"jessepollak\",\n  \"name\": \"Jesse Pollak\",\n  \"company\": \"@coinbase\",\n  \"bio\": \"Building @base\",\n  \"location\": \"San Francisco\",\n  \"public_repos\": 142,\n  \"followers\": 5200\n}\n```\n\n---\n\n## Repos\n\n```bash\n# Top by stars\ncurl \"https://api.github.com/users/{username}/repos?sort=stars&direction=desc&per_page=5\"\n\n# Recent\ncurl \"https://api.github.com/users/{username}/repos?sort=pushed&direction=desc&per_page=5\"\n```\n\n```json\n{\n  \"name\": \"repo-name\",\n  \"description\": \"...\",\n  \"stargazers_count\": 1250,\n  \"language\": \"TypeScript\",\n  \"fork\": false,\n  \"pushed_at\": \"2024-01-28T00:00:00Z\"\n}\n```\n\n**Forked repos:** Filter where `fork=true`\n\n**Languages:** Aggregate `language` field from repos\n\n---\n\n## Open PRs\n\n```bash\ncurl \"https://api.github.com/search/issues?q=author:{username}+type:pr+state:open&per_page=5\"\n```\n\n---\n\n## Activity & Commits\n\n```bash\ncurl \"https://api.github.com/users/{username}/events/public?per_page=100\"\n```\n\nFilter by `type`:\n- `PushEvent` - commits\n- `PullRequestEvent` - PRs\n- `IssuesEvent` - issues\n\nExtract commits from PushEvent:\n```javascript\nevents.filter(e => e.type === 'PushEvent')\n  .flatMap(e => e.payload.commits)\n  .slice(0, 5)\n```\n\n---\n\n## README\n\n```bash\ncurl -H \"Accept: application/vnd.github.raw\" \\\n  \"https://api.github.com/repos/{owner}/{repo}/readme\"\n```\n\n---\n\n## Auth\n\n```bash\ncurl -H \"Authorization: token $GITHUB_TOKEN\" \\\n  \"https://api.github.com/users/{username}\"\n```\n\n| API | Without token | With token |\n|-----|---------------|------------|\n| REST | 60/hr | 5,000/hr |\n| Search | 10/min | 30/min |\n\nFile v1.0.1:references/use-cases.md\n\n# Use Cases\n\n**URL Encoding:** `[` = `%5B`, `]` = `%5D`\n\n---\n\n## Identity → Wallets\n\n```bash\n# 1. Search by identity\ncurl -H \"X-API-KEY: $TALENT_API_KEY\" \\\n  \"https://api.talentprotocol.com/search/advanced/profiles?query%5Bidentity%5D={handle}&query%5Bidentity_type%5D={identity_type}\"\n# Response: profiles[0].id → use as profile_id\n\n# 2. Get wallets from profile ID\ncurl -H \"X-API-KEY: $TALENT_API_KEY\" \\\n  \"https://api.talentprotocol.com/accounts?id={profile_id}\"\n# Filter: source = \"wallet\"\n```\n\n**Identity types:** `twitter`, `github`, `farcaster`, `ens`, `lens`, `basename`, `wallet`\n\n---\n\n## Get Rank (default behavior)\n\nResponse from `/search/advanced/profiles` includes:\n\n```json\n{\n  \"builder_score\": { \"rank_position\": 127 },\n  \"scores\": [\n    { \"slug\": \"builder_score\", \"rank_position\": 154 }\n  ]\n}\n```\n\n**Default:** Always return `rank_position` values. Use `builder_score.rank_position` for latest rank.\n\n**Only when user explicitly asks for scores:** include `points` values from `builder_score.points` or `scores[].points`.\n\n---\n\n## Get the Top Builders\n\n```bash\ncurl -H \"X-API-KEY: $TALENT_API_KEY\" \\\n  \"https://api.talentprotocol.com/search/advanced/profiles?sort%5Bscore%5D%5Border%5D=desc&sort%5Bscore%5D%5Bscorer%5D=Builder%20Score&per_page=250\"\n```\n\n---\n\n## By Location (Country)\n\n**DO NOT USE** `query[standardized_location]=Country` - it doesn't work.\n\n**USE `customQuery` with regex** - this queries the internal `standardized_location` field:\n\n### Top Builders from Argentina\n\n```bash\ncurl -X POST -H \"X-API-KEY: $TALENT_API_KEY\" -H \"Content-Type: application/json\" \\\n  \"https://api.talentprotocol.com/search/advanced/profiles\" \\\n  -d '{\n    \"customQuery\": {\n      \"regexp\": {\n        \"standardized_location\": {\n          \"value\": \".*argentina.*\",\n          \"case_insensitive\": true\n        }\n      }\n    },\n    \"sort\": { \"score\": { \"order\": \"desc\", \"scorer\": \"Builder Score\" } },\n    \"perPage\": 50\n  }'\n```\n\n### Top Builders from Brazil\n\n```bash\ncurl -X POST -H \"X-API-KEY: $TALENT_API_KEY\" -H \"Content-Type: application/json\" \\\n  \"https://api.talentprotocol.com/search/advanced/profiles\" \\\n  -d '{\n    \"customQuery\": {\n      \"regexp\": {\n        \"standardized_location\": {\n          \"value\": \".*brazil.*\",\n          \"case_insensitive\": true\n        }\n      }\n    },\n    \"sort\": { \"score\": { \"order\": \"desc\", \"scorer\": \"Builder Score\" } },\n    \"perPage\": 50\n  }'\n```\n\n### Pattern\n\nReplace country in regex: `\"value\": \".*{country}.*\"`\n\nExamples: `.*united states.*`, `.*germany.*`, `.*nigeria.*`, `.*india.*`\n\n### More precise (country at end of string)\n\nTo avoid matching \"Georgia, USA\" when searching for Georgia (country):\n\n```json\n{\n  \"customQuery\": {\n    \"regexp\": {\n      \"standardized_location\": {\n        \"value\": \".*,\\\\s*argentina$\",\n        \"case_insensitive\": true\n      }\n    }\n  }\n}\n```\n\nThis matches locations ending with \", argentina\" (e.g., \"Buenos Aires, Argentina\")\n\n---\n\n## Credentials\n\nAll from `/credentials?id={profile_id}`.\n\n**Discover all available data points:** Use `/data_issuers_meta` to get the full list of data issuers and credential slugs available. [API docs](https://docs.talentprotocol.com/docs/talent-api/api-reference/get-data-issuers-and-credentials-available)\n\n```bash\ncurl -H \"X-API-KEY: $TALENT_API_KEY\" \\\n  \"https://api.talentprotocol.com/data_issuers_meta\"\n```\n\n**Common credential slugs:**\n\n| Data | Slug |\n|------|------|\n| Total followers | `total_followers` |\n| Total earnings | `total_earnings` |\n| Verification | `talent_protocol_human_checkmark` |\n| Contracts | `base_mainnet_active_contracts`, `base_mainnet_contracts_deployed` |\n\n---\n\n## GitHub Enrichment\n\n```bash\n# 1. Get GitHub username from /accounts\n{ \"source\": \"github\", \"username\": \"jessepollak\" }\n\n# 2. Query GitHub API\ncurl \"https://api.github.com/users/{username}\"                    # Profile, company\ncurl \"https://api.github.com/users/{username}/repos?sort=stars&per_page=5\"   # Top repos\ncurl \"https://api.github.com/users/{username}/repos?sort=pushed&per_page=5\"  # Recent\ncurl \"https://api.github.com/users/{username}/events/public\"      # Commits, activity\ncurl \"https://api.github.com/search/issues?q=author:{username}+type:pr+state:open&per_page=5\"  # Open PRs\ncurl \"https://api.github.com/repos/{owner}/{repo}/readme\"         # README\n```\n\nGitHub token for higher rate limits: https://github.com/settings/tokens\n\n---\n\n## Batch Farcaster\n\n```bash\ncurl -H \"X-API-KEY: $TALENT_API_KEY\" \\\n  \"https://api.talentprotocol.com/farcaster/scores?fids%5B%5D=123&fids%5B%5D=456\"\n```\n\nArchive v1.0.0: 5 files, 6781 bytes\n\nFiles: references/endpoints.md (4869b), references/github-enrichment.md (2575b), references/use-cases.md (4031b), SKILL.md (3806b), _meta.json (132b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: talent-powers\ndescription: Query builder reputation data via Talent Protocol API. Get Builder Rank, verify humans, resolve identities (Twitter/Farcaster/GitHub/wallet), search by location/country, get credentials, and enrich with GitHub data.\n---\n\n# Talent Powers\n\nQuery professioanl data from [Talent Protocol](https://talent.app) - a platform that tracks onchain builders\n\n**Use this skill to:**\n- Find verified developers by location, skills, or identity (Twitter/GitHub/Farcaster/wallet)\n- Check builder reputation scores and rankings\n- Map Twitter accounts with Wallets\n- Verify human identity from a wallet\n- Search for builder's credentials (earnings, contributions, hackathons, contracts, etc)\n- Discover what projects are being built by profiles\n\n**API Key:** https://talent.app/~/settings/api  \n**Base URL:** `https://api.talentprotocol.com`\n\n```bash\ncurl -H \"X-API-KEY: $TALENT_API_KEY\" \"https://api.talentprotocol.com/...\"\n```\n\n## Endpoints\n\n| Endpoint | Purpose |\n|----------|---------|\n| `/search/advanced/profiles` | Search profiles by identity, tags, rank, verification |\n| `/profile` | Get profile by ID |\n| `/accounts` | Get connected wallets, GitHub, socials |\n| `/socials` | Get social profiles + bios |\n| `/credentials` | Get data points (earnings, followers, hackathons, etc.) |\n| `/human_checkmark` | Check if human-verified |\n| `/farcaster/scores` | Batch lookup Farcaster users |\n\n## Key Parameters\n\n**Identity lookup:**\n```\nquery[identity]={handle}&query[identity_type]={twitter|github|farcaster|ens|wallet}\n```\n\n**Filters:**\n```\nquery[human_checkmark]=true\nquery[verified_nationality]=true\nquery[tags][]=developer\n```\n\n**Sorting:**\n```\nsort[score][order]=desc&sort[score][scorer]=Builder%20Score\n```\n\n**Pagination:** `page=1&per_page=250` (max 250)\n\n## URL Encoding\n\n`[` = `%5B`, `]` = `%5D`, Space = `%20`\n\n## Response Fields\n\n- `builder_score.rank_position` - Primary metric\n- `location` - User-entered location (returned in response)\n- `scores[]` - Use `builder_score_2025` for latest rank\n\n## Location Filter\n\n**DO NOT USE** `query[standardized_location]=Country` - doesn't work.\n\n**USE `customQuery` with regex:**\n\n```bash\ncurl -X POST -H \"X-API-KEY: $TALENT_API_KEY\" -H \"Content-Type: application/json\" \\\n  \"https://api.talentprotocol.com/search/advanced/profiles\" \\\n  -d '{\n    \"customQuery\": {\n      \"regexp\": {\n        \"standardized_location\": {\n          \"value\": \".*argentina.*\",\n          \"case_insensitive\": true\n        }\n      }\n    },\n    \"humanCheckmark\": true,\n    \"sort\": { \"score\": { \"order\": \"desc\", \"scorer\": \"Builder Score\" } },\n    \"perPage\": 50\n  }'\n```\n\nSee [use-cases.md](references/use-cases.md#by-location-country) for more examples.\n\n## Limitations\n\n- Max 250 per page\n- GET only for most endpoints (POST for customQuery)\n- Simple `query[standardized_location]` param broken - use `customQuery` regex\n\n## GitHub Enrichment\n\nGet projects/repos via GitHub after resolving username from `/accounts`:\n\n```bash\n# 1. Get GitHub username\n/accounts?id={profile_id} → { \"source\": \"github\", \"username\": \"...\" }\n\n# 2. Query GitHub\nGET https://api.github.com/users/{username}                           # Profile\nGET https://api.github.com/users/{username}/repos?sort=stars&per_page=5   # Top repos\nGET https://api.github.com/users/{username}/repos?sort=pushed&per_page=5  # Recent\nGET https://api.github.com/users/{username}/events/public             # Commits\nGET https://api.github.com/search/issues?q=author:{username}+type:pr+state:open  # Open PRs\n```\n\nGitHub token: https://github.com/settings/tokens (60 req/hr without, 5000 with)\n\n## References\n\n- [endpoints.md](references/endpoints.md) - Full endpoint docs\n- [use-cases.md](references/use-cases.md) - Common patterns\n- [github-enrichment.md](references/github-enrichment.md) - GitHub data\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn7e1deyjs2wxztxdwbbn97v6980fjnh\",\n  \"slug\": \"talent-powers\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1770151468392\n}\n\nFile v1.0.0:references/endpoints.md\n\n# Endpoints\n\n**API Key:** https://talent.app/~/settings/api\n\n```bash\ncurl -H \"X-API-KEY: $TALENT_API_KEY\" \"https://api.talentprotocol.com/...\"\n```\n\n**URL Encoding:** `[` = `%5B`, `]` = `%5D`\n\n---\n\n## /search/advanced/profiles\n\n### GET (identity, tags, verification)\n\n```bash\ncurl -H \"X-API-KEY: $TALENT_API_KEY\" \\\n  \"https://api.talentprotocol.com/search/advanced/profiles?query%5Bidentity%5D=jessepollak&query%5Bidentity_type%5D=twitter\"\n```\n\n| Parameter | Example |\n|-----------|---------|\n| `query[identity]` | `jessepollak` |\n| `query[identity_type]` | `twitter`, `github`, `farcaster`, `ens`, `wallet` |\n| `query[human_checkmark]` | `true` |\n| `query[verified_nationality]` | `true` |\n| `query[tags][]` | `developer` |\n| `sort[score][order]` | `desc` |\n| `sort[score][scorer]` | `Builder Score` |\n| `page` | `1` |\n| `per_page` | `250` (max) |\n\n### POST with customQuery (for location filtering)\n\n**DO NOT USE** `query[standardized_location]` - it doesn't work.\n\n**USE POST with `customQuery` regex:**\n\n```bash\ncurl -X POST -H \"X-API-KEY: $TALENT_API_KEY\" -H \"Content-Type: application/json\" \\\n  \"https://api.talentprotocol.com/search/advanced/profiles\" \\\n  -d '{\n    \"customQuery\": {\n      \"regexp\": {\n        \"standardized_location\": {\n          \"value\": \".*argentina.*\",\n          \"case_insensitive\": true\n        }\n      }\n    },\n    \"humanCheckmark\": true,\n    \"sort\": { \"score\": { \"order\": \"desc\", \"scorer\": \"Builder Score\" } },\n    \"perPage\": 50\n  }'\n```\n\nSee [use-cases.md](use-cases.md#by-location-country) for more location examples.\n\n### Response\n\n```json\n{\n  \"profiles\": [{\n    \"id\": \"uuid\",\n    \"name\": \"username\",\n    \"display_name\": \"Name\",\n    \"bio\": \"...\",\n    \"location\": \"Buenos Aires, Argentina\",\n    \"human_checkmark\": true,\n    \"tags\": [\"developer\"],\n    \"builder_score\": { \"rank_position\": 127, \"points\": 229 },\n    \"scores\": [\n      { \"slug\": \"builder_score_2025\", \"rank_position\": 154 }\n    ]\n  }],\n  \"pagination\": { \"current_page\": 1, \"total\": 100 }\n}\n```\n\n---\n\n## /profile\n\n```bash\ncurl -H \"X-API-KEY: $TALENT_API_KEY\" \\\n  \"https://api.talentprotocol.com/profile?id={profile_id}\"\n```\n\n| Parameter | Description |\n|-----------|-------------|\n| `id` | Profile ID, wallet, or identifier |\n| `account_source` | `farcaster`, `github`, `wallet` |\n\n---\n\n## /accounts\n\nGet connected wallets and platforms. Use to find GitHub username for enrichment.\n\n```bash\ncurl -H \"X-API-KEY: $TALENT_API_KEY\" \\\n  \"https://api.talentprotocol.com/accounts?id={profile_id}\"\n```\n\n**Response:**\n\n```json\n{\n  \"accounts\": [\n    { \"source\": \"wallet\", \"identifier\": \"0x...\" },\n    { \"source\": \"github\", \"username\": \"jessepollak\" },\n    { \"source\": \"farcaster\", \"username\": \"jesse\" },\n    { \"source\": \"x_twitter\", \"username\": \"jessepollak\" }\n  ]\n}\n```\n\n---\n\n## /socials\n\nGet social profiles with bios and follower counts.\n\n```bash\ncurl -H \"X-API-KEY: $TALENT_API_KEY\" \\\n  \"https://api.talentprotocol.com/socials?id={profile_id}\"\n```\n\n**Response:**\n\n```json\n{\n  \"socials\": [\n    { \"social_name\": \"Twitter\", \"handle\": \"jessepollak\", \"bio\": \"...\", \"followers_count\": 5000 },\n    { \"social_name\": \"Github\", \"handle\": \"jessepollak\", \"followers_count\": 200 },\n    { \"social_name\": \"Farcaster\", \"handle\": \"jesse\", \"followers_count\": 1500 }\n  ]\n}\n```\n\n---\n\n## /credentials\n\nGet all data points: earnings, followers, hackathons, events, memberships.\n\n```bash\ncurl -H \"X-API-KEY: $TALENT_API_KEY\" \\\n  \"https://api.talentprotocol.com/credentials?id={profile_id}\"\n```\n\n**Response:**\n\n```json\n{\n  \"credentials\": [\n    { \"slug\": \"github_total_contributions\", \"readable_value\": \"500\" },\n    { \"slug\": \"total_earnings\", \"readable_value\": \"1250\" },\n    { \"slug\": \"eth_global_hacker\", \"points\": 10 },\n    { \"slug\": \"base_basecamp\", \"points\": 5 }\n  ]\n}\n```\n\n**Common slugs:**\n\n| Category | Slugs |\n|----------|-------|\n| Followers | `total_followers`, `twitter_followers`, `github_followers`, `farcaster_followers` |\n| Earnings | `total_earnings`, `total_builder_earnings`, `base_builder_rewards_eth` |\n| Events | `base_basecamp`, `farcaster_farcon_nyc_2025_attendee` |\n| Hackathons | `eth_global_hacker`, `eth_global_finalist`, `devfolio_hackathons_won` |\n| Verification | `talent_protocol_human_checkmark`, `world_id_human`, `coinbase_verified_account` |\n| Memberships | `developer_dao_member`, `fwb_member` |\n\n---\n\n## /human_checkmark\n\n```bash\ncurl -H \"X-API-KEY: $TALENT_API_KEY\" \\\n  \"https://api.talentprotocol.com/human_checkmark?id={profile_id}\"\n```\n\n**Response:** `{ \"human_checkmark\": true }`\n\n---\n\n## /data_points\n\nList available data point slugs for a profile.\n\n```bash\ncurl -H \"X-API-KEY: $TALENT_API_KEY\" \\\n  \"https://api.talentprotocol.com/data_points?id={profile_id}\"\n```\n\n---\n\n## Errors\n\n| Status | Meaning |\n|--------|---------|\n| 400 | Bad request (e.g., per_page > 250) |\n| 401 | Missing/invalid API key |\n| 404 | Profile not found |\n| 302 | Used POST instead of GET |\n\nFile v1.0.0:references/github-enrichment.md\n\n# GitHub Enrichment\n\nGet projects/repos by resolving identity → GitHub username → GitHub API.\n\n**GitHub Token:** https://github.com/settings/tokens (60 req/hr without, 5000 with)\n\n---\n\n## Flow\n\n```bash\n# 1. Get GitHub username from Talent Protocol\ncurl -H \"X-API-KEY: $TALENT_API_KEY\" \\\n  \"https://api.talentprotocol.com/accounts?id={profile_id}\"\n# Response: { \"source\": \"github\", \"username\": \"jessepollak\" }\n\n# 2. Query GitHub API\n```\n\n---\n\n## Endpoints\n\n| Data | Endpoint |\n|------|----------|\n| Profile & company | `GET /users/{username}` |\n| Top repos | `GET /users/{username}/repos?sort=stars&per_page=5` |\n| Recent repos | `GET /users/{username}/repos?sort=pushed&per_page=5` |\n| Activity/commits | `GET /users/{username}/events/public` |\n| Open PRs | `GET /search/issues?q=author:{username}+type:pr+state:open&per_page=5` |\n| README | `GET /repos/{owner}/{repo}/readme` |\n| Languages | `GET /repos/{owner}/{repo}/languages` |\n\n---\n\n## Profile\n\n```bash\ncurl https://api.github.com/users/{username}\n```\n\n```json\n{\n  \"login\": \"jessepollak\",\n  \"name\": \"Jesse Pollak\",\n  \"company\": \"@coinbase\",\n  \"bio\": \"Building @base\",\n  \"location\": \"San Francisco\",\n  \"public_repos\": 142,\n  \"followers\": 5200\n}\n```\n\n---\n\n## Repos\n\n```bash\n# Top by stars\ncurl \"https://api.github.com/users/{username}/repos?sort=stars&direction=desc&per_page=5\"\n\n# Recent\ncurl \"https://api.github.com/users/{username}/repos?sort=pushed&direction=desc&per_page=5\"\n```\n\n```json\n{\n  \"name\": \"repo-name\",\n  \"description\": \"...\",\n  \"stargazers_count\": 1250,\n  \"language\": \"TypeScript\",\n  \"fork\": false,\n  \"pushed_at\": \"2024-01-28T00:00:00Z\"\n}\n```\n\n**Forked repos:** Filter where `fork=true`\n\n**Languages:** Aggregate `language` field from repos\n\n---\n\n## Open PRs\n\n```bash\ncurl \"https://api.github.com/search/issues?q=author:{username}+type:pr+state:open&per_page=5\"\n```\n\n---\n\n## Activity & Commits\n\n```bash\ncurl \"https://api.github.com/users/{username}/events/public?per_page=100\"\n```\n\nFilter by `type`:\n- `PushEvent` - commits\n- `PullRequestEvent` - PRs\n- `IssuesEvent` - issues\n\nExtract commits from PushEvent:\n```javascript\nevents.filter(e => e.type === 'PushEvent')\n  .flatMap(e => e.payload.commits)\n  .slice(0, 5)\n```\n\n---\n\n## README\n\n```bash\ncurl -H \"Accept: application/vnd.github.raw\" \\\n  \"https://api.github.com/repos/{owner}/{repo}/readme\"\n```\n\n---\n\n## Auth\n\n```bash\ncurl -H \"Authorization: token $GITHUB_TOKEN\" \\\n  \"https://api.github.com/users/{username}\"\n```\n\n| API | Without token | With token |\n|-----|---------------|------------|\n| REST | 60/hr | 5,000/hr |\n| Search | 10/min | 30/min |\n\nFile v1.0.0:references/use-cases.md\n\n# Use Cases\n\n**URL Encoding:** `[` = `%5B`, `]` = `%5D`\n\n---\n\n## Identity → Wallets\n\n```bash\n# 1. Search by identity\ncurl -H \"X-API-KEY: $TALENT_API_KEY\" \\\n  \"https://api.talentprotocol.com/search/advanced/profiles?query%5Bidentity%5D=jessepollak&query%5Bidentity_type%5D=twitter\"\n\n# 2. Get wallets from profile ID\ncurl -H \"X-API-KEY: $TALENT_API_KEY\" \\\n  \"https://api.talentprotocol.com/accounts?id={profile_id}\"\n# Filter: source = \"wallet\"\n```\n\n**Identity types:** `twitter`, `github`, `farcaster`, `ens`, `lens`, `basename`, `wallet`\n\n---\n\n## Get Rank\n\nResponse from `/search/advanced/profiles` includes:\n\n```json\n{\n  \"builder_score\": { \"rank_position\": 127 },\n  \"scores\": [\n    { \"slug\": \"builder_score_2025\", \"rank_position\": 154 }\n  ]\n}\n```\n\nUse `builder_score_2025.rank_position` for latest rank.\n\n---\n\n## Top Builders\n\n```bash\ncurl -H \"X-API-KEY: $TALENT_API_KEY\" \\\n  \"https://api.talentprotocol.com/search/advanced/profiles?query%5Bhuman_checkmark%5D=true&sort%5Bscore%5D%5Border%5D=desc&sort%5Bscore%5D%5Bscorer%5D=Builder%20Score&per_page=250\"\n```\n\n---\n\n## By Location (Country)\n\n**DO NOT USE** `query[standardized_location]=Country` - it doesn't work.\n\n**USE `customQuery` with regex** - this queries the internal `standardized_location` field:\n\n### Top Builders from Argentina\n\n```bash\ncurl -X POST -H \"X-API-KEY: $TALENT_API_KEY\" -H \"Content-Type: application/json\" \\\n  \"https://api.talentprotocol.com/search/advanced/profiles\" \\\n  -d '{\n    \"customQuery\": {\n      \"regexp\": {\n        \"standardized_location\": {\n          \"value\": \".*argentina.*\",\n          \"case_insensitive\": true\n        }\n      }\n    },\n    \"humanCheckmark\": true,\n    \"sort\": { \"score\": { \"order\": \"desc\", \"scorer\": \"Builder Score\" } },\n    \"perPage\": 50\n  }'\n```\n\n### Top Builders from Brazil\n\n```bash\ncurl -X POST -H \"X-API-KEY: $TALENT_API_KEY\" -H \"Content-Type: application/json\" \\\n  \"https://api.talentprotocol.com/search/advanced/profiles\" \\\n  -d '{\n    \"customQuery\": {\n      \"regexp\": {\n        \"standardized_location\": {\n          \"value\": \".*brazil.*\",\n          \"case_insensitive\": true\n        }\n      }\n    },\n    \"humanCheckmark\": true,\n    \"sort\": { \"score\": { \"order\": \"desc\", \"scorer\": \"Builder Score\" } },\n    \"perPage\": 50\n  }'\n```\n\n### Pattern\n\nReplace country in regex: `\"value\": \".*{country}.*\"`\n\nExamples: `.*united states.*`, `.*germany.*`, `.*nigeria.*`, `.*india.*`\n\n### More precise (country at end of string)\n\nTo avoid matching \"Georgia, USA\" when searching for Georgia (country):\n\n```json\n{\n  \"customQuery\": {\n    \"regexp\": {\n      \"standardized_location\": {\n        \"value\": \".*,\\\\s*argentina$\",\n        \"case_insensitive\": true\n      }\n    }\n  }\n}\n```\n\nThis matches locations ending with \", argentina\" (e.g., \"Buenos Aires, Argentina\")\n\n---\n\n## Credentials\n\nAll from `/credentials?id={profile_id}`.\n\n**Example queries** (there are many more available):\n\n| Data | Slug |\n|------|------|\n| Total followers | `total_followers` |\n| Total earnings | `total_earnings` |\n| Verification | `talent_protocol_human_checkmark` |\n| Contracts | `base_mainnet_active_contracts`, `base_mainnet_contracts_deployed` |\n\n---\n\n## GitHub Enrichment\n\n```bash\n# 1. Get GitHub username from /accounts\n{ \"source\": \"github\", \"username\": \"jessepollak\" }\n\n# 2. Query GitHub API\ncurl \"https://api.github.com/users/{username}\"                    # Profile, company\ncurl \"https://api.github.com/users/{username}/repos?sort=stars&per_page=5\"   # Top repos\ncurl \"https://api.github.com/users/{username}/repos?sort=pushed&per_page=5\"  # Recent\ncurl \"https://api.github.com/users/{username}/events/public\"      # Commits, activity\ncurl \"https://api.github.com/search/issues?q=author:{username}+type:pr+state:open&per_page=5\"  # Open PRs\ncurl \"https://api.github.com/repos/{owner}/{repo}/readme\"         # README\n```\n\nGitHub token for higher rate limits: https://github.com/settings/tokens\n\n---\n\n## Batch Farcaster\n\n```bash\ncurl -H \"X-API-KEY: $TALENT_API_KEY\" \\\n  \"https://api.talentprotocol.com/farcaster/scores?fids%5B%5D=123&fids%5B%5D=456\"\n```","readmeExcerpt":"Skill: builder-data Owner: juampihernandez Summary: Query builder reputation data via Talent Protocol API. Get Builder Rank, verify humans, resolve identities (Twitter/Farcaster/GitHub/wallet), search by location/country, get credentials, and enrich with GitHub data. Tags: latest:1.0.1, mapping:1.0.0, onchain:1.0.0, reputation:1.0.0, wallet:1.0.0 Version history: v1.0.1 | 2026-02-13T19:26:38.811Z | user - Renamed ski","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"curl -H \"X-API-KEY: $TALENT_API_KEY\" \"https://api.talentprotocol.com/...\""},{"language":"bash","snippet":"curl -H \"X-API-KEY: $TALENT_API_KEY\" \"https://api.talentprotocol.com/...\""},{"language":"text","snippet":"query[identity]={handle}&query[identity_type]={twitter|github|farcaster|ens|wallet}"},{"language":"text","snippet":"query[tags][]=developer              # filter by tag (developer, designer, etc.)\nquery[verified_nationality]=true     # only verified nationality\nquery[human_checkmark]=true          # only human-verified (reduces results significantly)"},{"language":"text","snippet":"sort[score][order]=desc&sort[score][scorer]=Builder%20Score"},{"language":"bash","snippet":"curl -X POST -H \"X-API-KEY: $TALENT_API_KEY\" -H \"Content-Type: application/json\" \\"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: builder-data\ndescription: Query builder reputation data via Talent Protocol API. Get Builder Rank, verify humans, resolve identities (Twitter/Farcaster/GitHub/wallet), search by location/country, get credentials, and enrich with GitHub data.\n---\n\n# Talent Powers\n\nQuery professional data from [Talent Protocol](https://talent.app) - a platform that tracks builders\n\n**Use this skill to:**\n- Find verified developers by location, skills, or identity (Twitter/GitHub/Farcaster/wallet)\n- Check builder reputation (ranks by default, scores only when asked)\n- Map Twitter accounts with Wallet addresses\n- Verify human identity from a wallet\n- Search for builder's credentials (earnings, contributions, hackathons, contracts, etc)\n- Check the projects each builder is shipping\n\n## Required Credentials\n\n| Variable | Required | Description | Get it at |\n|----------|----------|-------------|-----------|\n| `TALENT_API_KEY` | **Yes** | API key for Talent Protocol (read access to profile/identity data) | https://talent.app/~/settings/api |\n| `GITHUB_TOKEN` | No | Personal access token for higher GitHub rate limits (60/hr → 5,000/hr) | https://github.com/settings/tokens |\n\n**Base URL:** `https://api.talentprotocol.com`\n\n```bash\ncurl -H \"X-API-KEY: $TALENT_API_KEY\" \"https://api.talentprotocol.com/...\"\n```\n\n## Endpoints\n\n| Endpoint | Purpose |\n|----------|---------|\n| `/search/advanced/profiles` | Search profiles by identity, tags, rank, verification |\n| `/profile` | Get profile by ID |\n| `/accounts` | Get connected wallets, GitHub, socials |\n| `/socials` | Get social profiles + bios |\n| `/credentials` | Get data points (earnings, followers, hackathons, etc.) |\n| `/human_checkmark` | Check if human-verified (optional, don't use by default) |\n| `/scores` | Get ranks (default) or scores (only when explicitly asked) |\n\n## Key Parameters\n\n**Identity lookup:**\n```\nquery[identity]={handle}&query[identity_type]={twitter|github|farcaster|ens|wallet}\n```\n\n**Filters (all optional, only use when relevant to the query):**\n```\nquery[tags][]=developer              # filter by tag (developer, designer, etc.)\nquery[verified_nationality]=true     # only verified nationality\nquery[human_checkmark]=true          # only human-verified (reduces results significantly)\n```\n\n**Sorting:**\n```\nsort[score][order]=desc&sort[score][scorer]=Builder%20Score\n```\n\n**Pagination:** `page=1&per_page=250` (max 250)\n\n## URL Encoding\n\n`[` = `%5B`, `]` = `%5D`, Space = `%20`\n\n## Response Fields\n\n**Default → Ranks (always use unless user asks for scores):**\n- `builder_score.rank_position` - Primary rank metric\n- `scores[].rank_position` where `slug = \"builder_score\"` - Latest rank\n\n**Only when user explicitly asks for scores:**\n- `builder_score.points` - Score value\n- `scores[].points` - Individual score values\n\n- `location` - User-entered location (returned in response)\n\n## Location Filter\n\n**DO NOT USE** `query[standardized_location]=Country` - doesn't work.\n\n**USE `customQuery` with regex:**\n\n```bas"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7e1deyjs2wxztxdwbbn97v6980fjnh\",\n  \"slug\": \"talent-powers\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1771010798811\n}"},{"path":"references/endpoints.md","content":"# Endpoints\n\n**API Key:** https://talent.app/~/settings/api\n\n```bash\ncurl -H \"X-API-KEY: $TALENT_API_KEY\" \"https://api.talentprotocol.com/...\"\n```\n\n**URL Encoding:** `[` = `%5B`, `]` = `%5D`\n\n---\n\n## /search/advanced/profiles\n\n### GET (identity, tags, verification)\n\n```bash\ncurl -H \"X-API-KEY: $TALENT_API_KEY\" \\\n  \"https://api.talentprotocol.com/search/advanced/profiles?query%5Bidentity%5D=jessepollak&query%5Bidentity_type%5D=twitter\"\n```\n\n| Parameter | Example |\n|-----------|---------|\n| `query[identity]` | `jessepollak` |\n| `query[identity_type]` | `twitter`, `github`, `farcaster`, `ens`, `wallet` |\n| `query[verified_nationality]` | `true` |\n| `query[human_checkmark]` | `true` (optional - reduces results, only use when user asks) |\n| `query[tags][]` | `developer` |\n| `sort[score][order]` | `desc` |\n| `sort[score][scorer]` | `Builder Score` |\n| `page` | `1` |\n| `per_page` | `250` (max) |\n\n### POST with customQuery (for location filtering)\n\n**DO NOT USE** `query[standardized_location]` - it doesn't work.\n\n**USE POST with `customQuery` regex:**\n\n```bash\ncurl -X POST -H \"X-API-KEY: $TALENT_API_KEY\" -H \"Content-Type: application/json\" \\\n  \"https://api.talentprotocol.com/search/advanced/profiles\" \\\n  -d '{\n    \"customQuery\": {\n      \"regexp\": {\n        \"standardized_location\": {\n          \"value\": \".*argentina.*\",\n          \"case_insensitive\": true\n        }\n      }\n    },\n    \"sort\": { \"score\": { \"order\": \"desc\", \"scorer\": \"Builder Score\" } },\n    \"perPage\": 50\n  }'\n```\n\n> **Note:** `\"humanCheckmark\": true` is optional. Don't include it by default — it reduces results. Only add when user explicitly asks.\n\nSee [use-cases.md](use-cases.md#by-location-country) for more location examples.\n\n### Response\n\n```json\n{\n  \"profiles\": [{\n    \"id\": \"uuid\",\n    \"name\": \"username\",\n    \"display_name\": \"Name\",\n    \"bio\": \"...\",\n    \"location\": \"Buenos Aires, Argentina\",\n    \"human_checkmark\": true,\n    \"tags\": [\"developer\"],\n    \"builder_score\": { \"rank_position\": 127, \"points\": 229 },\n    \"scores\": [\n      { \"slug\": \"builder_score\", \"rank_position\": 154 }\n    ]\n  }],\n  \"pagination\": { \"current_page\": 1, \"total\": 100 }\n}\n```\n\n**Default:** Use `rank_position` fields. Only include `points` when user explicitly asks for scores.\n\n---\n\n## /profile\n\n```bash\ncurl -H \"X-API-KEY: $TALENT_API_KEY\" \\\n  \"https://api.talentprotocol.com/profile?id={profile_id}\"\n```\n\n| Parameter | Description |\n|-----------|-------------|\n| `id` | Profile ID, wallet, or identifier |\n| `account_source` | `farcaster`, `github`, `wallet` |\n\n---\n\n## /accounts\n\nGet connected wallets and platforms. Use to find GitHub username for enrichment.\n\n```bash\ncurl -H \"X-API-KEY: $TALENT_API_KEY\" \\\n  \"https://api.talentprotocol.com/accounts?id={profile_id}\"\n```\n\n**Response:**\n\n```json\n{\n  \"accounts\": [\n    { \"source\": \"wallet\", \"identifier\": \"0x...\" },\n    { \"source\": \"github\", \"username\": \"jessepollak\" },\n    { \"source\": \"farcaster\", \"username\": \"jesse\" },\n    { \"source\": \"x_twitter\", \"username\": \"jessepollak\" "},{"path":"references/github-enrichment.md","content":"# GitHub Enrichment\n\nGet projects/repos by resolving identity → GitHub username → GitHub API.\n\n**GitHub Token:** https://github.com/settings/tokens (60 req/hr without, 5000 with)\n\n---\n\n## Flow\n\n```bash\n# 1. Get GitHub username from Talent Protocol\ncurl -H \"X-API-KEY: $TALENT_API_KEY\" \\\n  \"https://api.talentprotocol.com/accounts?id={profile_id}\"\n# Response: { \"source\": \"github\", \"username\": \"jessepollak\" }\n\n# 2. Query GitHub API\n```\n\n---\n\n## Endpoints\n\n| Data | Endpoint |\n|------|----------|\n| Profile & company | `GET /users/{username}` |\n| Top repos | `GET /users/{username}/repos?sort=stars&per_page=5` |\n| Recent repos | `GET /users/{username}/repos?sort=pushed&per_page=5` |\n| Activity/commits | `GET /users/{username}/events/public` |\n| Open PRs | `GET /search/issues?q=author:{username}+type:pr+state:open&per_page=5` |\n| README | `GET /repos/{owner}/{repo}/readme` |\n| Languages | `GET /repos/{owner}/{repo}/languages` |\n\n---\n\n## Profile\n\n```bash\ncurl https://api.github.com/users/{username}\n```\n\n```json\n{\n  \"login\": \"jessepollak\",\n  \"name\": \"Jesse Pollak\",\n  \"company\": \"@coinbase\",\n  \"bio\": \"Building @base\",\n  \"location\": \"San Francisco\",\n  \"public_repos\": 142,\n  \"followers\": 5200\n}\n```\n\n---\n\n## Repos\n\n```bash\n# Top by stars\ncurl \"https://api.github.com/users/{username}/repos?sort=stars&direction=desc&per_page=5\"\n\n# Recent\ncurl \"https://api.github.com/users/{username}/repos?sort=pushed&direction=desc&per_page=5\"\n```\n\n```json\n{\n  \"name\": \"repo-name\",\n  \"description\": \"...\",\n  \"stargazers_count\": 1250,\n  \"language\": \"TypeScript\",\n  \"fork\": false,\n  \"pushed_at\": \"2024-01-28T00:00:00Z\"\n}\n```\n\n**Forked repos:** Filter where `fork=true`\n\n**Languages:** Aggregate `language` field from repos\n\n---\n\n## Open PRs\n\n```bash\ncurl \"https://api.github.com/search/issues?q=author:{username}+type:pr+state:open&per_page=5\"\n```\n\n---\n\n## Activity & Commits\n\n```bash\ncurl \"https://api.github.com/users/{username}/events/public?per_page=100\"\n```\n\nFilter by `type`:\n- `PushEvent` - commits\n- `PullRequestEvent` - PRs\n- `IssuesEvent` - issues\n\nExtract commits from PushEvent:\n```javascript\nevents.filter(e => e.type === 'PushEvent')\n  .flatMap(e => e.payload.commits)\n  .slice(0, 5)\n```\n\n---\n\n## README\n\n```bash\ncurl -H \"Accept: application/vnd.github.raw\" \\\n  \"https://api.github.com/repos/{owner}/{repo}/readme\"\n```\n\n---\n\n## Auth\n\n```bash\ncurl -H \"Authorization: token $GITHUB_TOKEN\" \\\n  \"https://api.github.com/users/{username}\"\n```\n\n| API | Without token | With token |\n|-----|---------------|------------|\n| REST | 60/hr | 5,000/hr |\n| Search | 10/min | 30/min |"},{"path":"references/use-cases.md","content":"# Use Cases\n\n**URL Encoding:** `[` = `%5B`, `]` = `%5D`\n\n---\n\n## Identity → Wallets\n\n```bash\n# 1. Search by identity\ncurl -H \"X-API-KEY: $TALENT_API_KEY\" \\\n  \"https://api.talentprotocol.com/search/advanced/profiles?query%5Bidentity%5D={handle}&query%5Bidentity_type%5D={identity_type}\"\n# Response: profiles[0].id → use as profile_id\n\n# 2. Get wallets from profile ID\ncurl -H \"X-API-KEY: $TALENT_API_KEY\" \\\n  \"https://api.talentprotocol.com/accounts?id={profile_id}\"\n# Filter: source = \"wallet\"\n```\n\n**Identity types:** `twitter`, `github`, `farcaster`, `ens`, `lens`, `basename`, `wallet`\n\n---\n\n## Get Rank (default behavior)\n\nResponse from `/search/advanced/profiles` includes:\n\n```json\n{\n  \"builder_score\": { \"rank_position\": 127 },\n  \"scores\": [\n    { \"slug\": \"builder_score\", \"rank_position\": 154 }\n  ]\n}\n```\n\n**Default:** Always return `rank_position` values. Use `builder_score.rank_position` for latest rank.\n\n**Only when user explicitly asks for scores:** include `points` values from `builder_score.points` or `scores[].points`.\n\n---\n\n## Get the Top Builders\n\n```bash\ncurl -H \"X-API-KEY: $TALENT_API_KEY\" \\\n  \"https://api.talentprotocol.com/search/advanced/profiles?sort%5Bscore%5D%5Border%5D=desc&sort%5Bscore%5D%5Bscorer%5D=Builder%20Score&per_page=250\"\n```\n\n---\n\n## By Location (Country)\n\n**DO NOT USE** `query[standardized_location]=Country` - it doesn't work.\n\n**USE `customQuery` with regex** - this queries the internal `standardized_location` field:\n\n### Top Builders from Argentina\n\n```bash\ncurl -X POST -H \"X-API-KEY: $TALENT_API_KEY\" -H \"Content-Type: application/json\" \\\n  \"https://api.talentprotocol.com/search/advanced/profiles\" \\\n  -d '{\n    \"customQuery\": {\n      \"regexp\": {\n        \"standardized_location\": {\n          \"value\": \".*argentina.*\",\n          \"case_insensitive\": true\n        }\n      }\n    },\n    \"sort\": { \"score\": { \"order\": \"desc\", \"scorer\": \"Builder Score\" } },\n    \"perPage\": 50\n  }'\n```\n\n### Top Builders from Brazil\n\n```bash\ncurl -X POST -H \"X-API-KEY: $TALENT_API_KEY\" -H \"Content-Type: application/json\" \\\n  \"https://api.talentprotocol.com/search/advanced/profiles\" \\\n  -d '{\n    \"customQuery\": {\n      \"regexp\": {\n        \"standardized_location\": {\n          \"value\": \".*brazil.*\",\n          \"case_insensitive\": true\n        }\n      }\n    },\n    \"sort\": { \"score\": { \"order\": \"desc\", \"scorer\": \"Builder Score\" } },\n    \"perPage\": 50\n  }'\n```\n\n### Pattern\n\nReplace country in regex: `\"value\": \".*{country}.*\"`\n\nExamples: `.*united states.*`, `.*germany.*`, `.*nigeria.*`, `.*india.*`\n\n### More precise (country at end of string)\n\nTo avoid matching \"Georgia, USA\" when searching for Georgia (country):\n\n```json\n{\n  \"customQuery\": {\n    \"regexp\": {\n      \"standardized_location\": {\n        \"value\": \".*,\\\\s*argentina$\",\n        \"case_insensitive\": true\n      }\n    }\n  }\n}\n```\n\nThis matches locations ending with \", argentina\" (e.g., \"Buenos Aires, Argentina\")\n\n---\n\n## Credentials\n\nAll from `/credentials?id={profile_id}`.\n\n**Discover all available data"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1253,"uniquenessScore":43,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T08:28:28.294Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-10T08:28:28.294Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T10:44:57.205Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}