builder-data
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.
Rank
62
Safety
84
Downloads
1.6k
Updated
Oct 10, 2026
Version
1.0.1
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 1.6K downloads reported by the source. Last updated 10/10/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Vendor
- Clawhubvendor · observed Oct 10, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Oct 10, 2026
- Adoption signal
- 1.6K downloadsadoption · observed Oct 10, 2026
- Latest release
- 1.0.1release · observed Feb 13, 2026
- Handshake status
- UNKNOWNsecurity
Install and run
Setup complexity: low.
clawhub skill install s176xf487ntgt393vzkssjk6hh8859xm:talent-powers- 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: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-juampihernandez-talent-powers/snapshot"
Documentation
CLAWHUB
34,717 characters of source documentation, loaded on request.
Extracted files
5 files captured from the source.
SKILL.md
---
name: builder-data
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.
---
# Talent Powers
Query professional data from [Talent Protocol](https://talent.app) - a platform that tracks builders
**Use this skill to:**
- Find verified developers by location, skills, or identity (Twitter/GitHub/Farcaster/wallet)
- Check builder reputation (ranks by default, scores only when asked)
- Map Twitter accounts with Wallet addresses
- Verify human identity from a wallet
- Search for builder's credentials (earnings, contributions, hackathons, contracts, etc)
- Check the projects each builder is shipping
## Required Credentials
| Variable | Required | Description | Get it at |
|----------|----------|-------------|-----------|
| `TALENT_API_KEY` | **Yes** | API key for Talent Protocol (read access to profile/identity data) | https://talent.app/~/settings/api |
| `GITHUB_TOKEN` | No | Personal access token for higher GitHub rate limits (60/hr → 5,000/hr) | https://github.com/settings/tokens |
**Base URL:** `https://api.talentprotocol.com`
```bash
curl -H "X-API-KEY: $TALENT_API_KEY" "https://api.talentprotocol.com/..."
```
## Endpoints
| Endpoint | Purpose |
|----------|---------|
| `/search/advanced/profiles` | Search profiles by identity, tags, rank, verification |
| `/profile` | Get profile by ID |
| `/accounts` | Get connected wallets, GitHub, socials |
| `/socials` | Get social profiles + bios |
| `/credentials` | Get data points (earnings, followers, hackathons, etc.) |
| `/human_checkmark` | Check if human-verified (optional, don't use by default) |
| `/scores` | Get ranks (default) or scores (only when explicitly asked) |
## Key Parameters
**Identity lookup:**
```
query[identity]={handle}&query[identity_type]={twitter|github|farcaster|ens|wallet}
```
**Filters (all optional, only use when relevant to the query):**
```
query[tags][]=developer # filter by tag (developer, designer, etc.)
query[verified_nationality]=true # only verified nationality
query[human_checkmark]=true # only human-verified (reduces results significantly)
```
**Sorting:**
```
sort[score][order]=desc&sort[score][scorer]=Builder%20Score
```
**Pagination:** `page=1&per_page=250` (max 250)
## URL Encoding
`[` = `%5B`, `]` = `%5D`, Space = `%20`
## Response Fields
**Default → Ranks (always use unless user asks for scores):**
- `builder_score.rank_position` - Primary rank metric
- `scores[].rank_position` where `slug = "builder_score"` - Latest rank
**Only when user explicitly asks for scores:**
- `builder_score.points` - Score value
- `scores[].points` - Individual score values
- `location` - User-entered location (returned in response)
## Location Filter
**DO NOT USE** `query[standardized_location]=Country` - doesn't work.
**USE `customQuery` with regex:**
```bas_meta.json
{
"ownerId": "kn7e1deyjs2wxztxdwbbn97v6980fjnh",
"slug": "talent-powers",
"version": "1.0.1",
"publishedAt": 1771010798811
}references/endpoints.md
# Endpoints
**API Key:** https://talent.app/~/settings/api
```bash
curl -H "X-API-KEY: $TALENT_API_KEY" "https://api.talentprotocol.com/..."
```
**URL Encoding:** `[` = `%5B`, `]` = `%5D`
---
## /search/advanced/profiles
### GET (identity, tags, verification)
```bash
curl -H "X-API-KEY: $TALENT_API_KEY" \
"https://api.talentprotocol.com/search/advanced/profiles?query%5Bidentity%5D=jessepollak&query%5Bidentity_type%5D=twitter"
```
| Parameter | Example |
|-----------|---------|
| `query[identity]` | `jessepollak` |
| `query[identity_type]` | `twitter`, `github`, `farcaster`, `ens`, `wallet` |
| `query[verified_nationality]` | `true` |
| `query[human_checkmark]` | `true` (optional - reduces results, only use when user asks) |
| `query[tags][]` | `developer` |
| `sort[score][order]` | `desc` |
| `sort[score][scorer]` | `Builder Score` |
| `page` | `1` |
| `per_page` | `250` (max) |
### POST with customQuery (for location filtering)
**DO NOT USE** `query[standardized_location]` - it doesn't work.
**USE POST with `customQuery` regex:**
```bash
curl -X POST -H "X-API-KEY: $TALENT_API_KEY" -H "Content-Type: application/json" \
"https://api.talentprotocol.com/search/advanced/profiles" \
-d '{
"customQuery": {
"regexp": {
"standardized_location": {
"value": ".*argentina.*",
"case_insensitive": true
}
}
},
"sort": { "score": { "order": "desc", "scorer": "Builder Score" } },
"perPage": 50
}'
```
> **Note:** `"humanCheckmark": true` is optional. Don't include it by default — it reduces results. Only add when user explicitly asks.
See [use-cases.md](use-cases.md#by-location-country) for more location examples.
### Response
```json
{
"profiles": [{
"id": "uuid",
"name": "username",
"display_name": "Name",
"bio": "...",
"location": "Buenos Aires, Argentina",
"human_checkmark": true,
"tags": ["developer"],
"builder_score": { "rank_position": 127, "points": 229 },
"scores": [
{ "slug": "builder_score", "rank_position": 154 }
]
}],
"pagination": { "current_page": 1, "total": 100 }
}
```
**Default:** Use `rank_position` fields. Only include `points` when user explicitly asks for scores.
---
## /profile
```bash
curl -H "X-API-KEY: $TALENT_API_KEY" \
"https://api.talentprotocol.com/profile?id={profile_id}"
```
| Parameter | Description |
|-----------|-------------|
| `id` | Profile ID, wallet, or identifier |
| `account_source` | `farcaster`, `github`, `wallet` |
---
## /accounts
Get connected wallets and platforms. Use to find GitHub username for enrichment.
```bash
curl -H "X-API-KEY: $TALENT_API_KEY" \
"https://api.talentprotocol.com/accounts?id={profile_id}"
```
**Response:**
```json
{
"accounts": [
{ "source": "wallet", "identifier": "0x..." },
{ "source": "github", "username": "jessepollak" },
{ "source": "farcaster", "username": "jesse" },
{ "source": "x_twitter", "username": "jessepollak" references/github-enrichment.md
# GitHub Enrichment
Get projects/repos by resolving identity → GitHub username → GitHub API.
**GitHub Token:** https://github.com/settings/tokens (60 req/hr without, 5000 with)
---
## Flow
```bash
# 1. Get GitHub username from Talent Protocol
curl -H "X-API-KEY: $TALENT_API_KEY" \
"https://api.talentprotocol.com/accounts?id={profile_id}"
# Response: { "source": "github", "username": "jessepollak" }
# 2. Query GitHub API
```
---
## Endpoints
| Data | Endpoint |
|------|----------|
| Profile & company | `GET /users/{username}` |
| Top repos | `GET /users/{username}/repos?sort=stars&per_page=5` |
| Recent repos | `GET /users/{username}/repos?sort=pushed&per_page=5` |
| Activity/commits | `GET /users/{username}/events/public` |
| Open PRs | `GET /search/issues?q=author:{username}+type:pr+state:open&per_page=5` |
| README | `GET /repos/{owner}/{repo}/readme` |
| Languages | `GET /repos/{owner}/{repo}/languages` |
---
## Profile
```bash
curl https://api.github.com/users/{username}
```
```json
{
"login": "jessepollak",
"name": "Jesse Pollak",
"company": "@coinbase",
"bio": "Building @base",
"location": "San Francisco",
"public_repos": 142,
"followers": 5200
}
```
---
## Repos
```bash
# Top by stars
curl "https://api.github.com/users/{username}/repos?sort=stars&direction=desc&per_page=5"
# Recent
curl "https://api.github.com/users/{username}/repos?sort=pushed&direction=desc&per_page=5"
```
```json
{
"name": "repo-name",
"description": "...",
"stargazers_count": 1250,
"language": "TypeScript",
"fork": false,
"pushed_at": "2024-01-28T00:00:00Z"
}
```
**Forked repos:** Filter where `fork=true`
**Languages:** Aggregate `language` field from repos
---
## Open PRs
```bash
curl "https://api.github.com/search/issues?q=author:{username}+type:pr+state:open&per_page=5"
```
---
## Activity & Commits
```bash
curl "https://api.github.com/users/{username}/events/public?per_page=100"
```
Filter by `type`:
- `PushEvent` - commits
- `PullRequestEvent` - PRs
- `IssuesEvent` - issues
Extract commits from PushEvent:
```javascript
events.filter(e => e.type === 'PushEvent')
.flatMap(e => e.payload.commits)
.slice(0, 5)
```
---
## README
```bash
curl -H "Accept: application/vnd.github.raw" \
"https://api.github.com/repos/{owner}/{repo}/readme"
```
---
## Auth
```bash
curl -H "Authorization: token $GITHUB_TOKEN" \
"https://api.github.com/users/{username}"
```
| API | Without token | With token |
|-----|---------------|------------|
| REST | 60/hr | 5,000/hr |
| Search | 10/min | 30/min |references/use-cases.md
# Use Cases
**URL Encoding:** `[` = `%5B`, `]` = `%5D`
---
## Identity → Wallets
```bash
# 1. Search by identity
curl -H "X-API-KEY: $TALENT_API_KEY" \
"https://api.talentprotocol.com/search/advanced/profiles?query%5Bidentity%5D={handle}&query%5Bidentity_type%5D={identity_type}"
# Response: profiles[0].id → use as profile_id
# 2. Get wallets from profile ID
curl -H "X-API-KEY: $TALENT_API_KEY" \
"https://api.talentprotocol.com/accounts?id={profile_id}"
# Filter: source = "wallet"
```
**Identity types:** `twitter`, `github`, `farcaster`, `ens`, `lens`, `basename`, `wallet`
---
## Get Rank (default behavior)
Response from `/search/advanced/profiles` includes:
```json
{
"builder_score": { "rank_position": 127 },
"scores": [
{ "slug": "builder_score", "rank_position": 154 }
]
}
```
**Default:** Always return `rank_position` values. Use `builder_score.rank_position` for latest rank.
**Only when user explicitly asks for scores:** include `points` values from `builder_score.points` or `scores[].points`.
---
## Get the Top Builders
```bash
curl -H "X-API-KEY: $TALENT_API_KEY" \
"https://api.talentprotocol.com/search/advanced/profiles?sort%5Bscore%5D%5Border%5D=desc&sort%5Bscore%5D%5Bscorer%5D=Builder%20Score&per_page=250"
```
---
## By Location (Country)
**DO NOT USE** `query[standardized_location]=Country` - it doesn't work.
**USE `customQuery` with regex** - this queries the internal `standardized_location` field:
### Top Builders from Argentina
```bash
curl -X POST -H "X-API-KEY: $TALENT_API_KEY" -H "Content-Type: application/json" \
"https://api.talentprotocol.com/search/advanced/profiles" \
-d '{
"customQuery": {
"regexp": {
"standardized_location": {
"value": ".*argentina.*",
"case_insensitive": true
}
}
},
"sort": { "score": { "order": "desc", "scorer": "Builder Score" } },
"perPage": 50
}'
```
### Top Builders from Brazil
```bash
curl -X POST -H "X-API-KEY: $TALENT_API_KEY" -H "Content-Type: application/json" \
"https://api.talentprotocol.com/search/advanced/profiles" \
-d '{
"customQuery": {
"regexp": {
"standardized_location": {
"value": ".*brazil.*",
"case_insensitive": true
}
}
},
"sort": { "score": { "order": "desc", "scorer": "Builder Score" } },
"perPage": 50
}'
```
### Pattern
Replace country in regex: `"value": ".*{country}.*"`
Examples: `.*united states.*`, `.*germany.*`, `.*nigeria.*`, `.*india.*`
### More precise (country at end of string)
To avoid matching "Georgia, USA" when searching for Georgia (country):
```json
{
"customQuery": {
"regexp": {
"standardized_location": {
"value": ".*,\\s*argentina$",
"case_insensitive": true
}
}
}
}
```
This matches locations ending with ", argentina" (e.g., "Buenos Aires, Argentina")
---
## Credentials
All from `/credentials?id={profile_id}`.
**Discover all available dataAionUi
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!
activepieces
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
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
{
"facts": [
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/juampihernandez/skills/talent-powers",
"sourceUrl": "https://clawhub.ai/juampihernandez/skills/talent-powers",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-10T08:28:28.294Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-juampihernandez-talent-powers/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-juampihernandez-talent-powers/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-10T08:28:28.294Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "1.6K downloads",
"href": "https://clawhub.ai/juampihernandez/talent-powers",
"sourceUrl": "https://clawhub.ai/juampihernandez/talent-powers",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-10T08:28:28.294Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "1.0.1",
"href": "https://clawhub.ai/juampihernandez/talent-powers",
"sourceUrl": "https://clawhub.ai/juampihernandez/talent-powers",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-02-13T19:26:38.811Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-juampihernandez-talent-powers/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-juampihernandez-talent-powers/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 1.0.1",
"description": "- 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",
"href": "https://clawhub.ai/juampihernandez/talent-powers",
"sourceUrl": "https://clawhub.ai/juampihernandez/talent-powers",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-02-13T19:26:38.811Z",
"isPublic": true
}
]
}Record generated Oct 10, 2026.
