Awp
LeoYeAI/openclaw-master-skills
AWP (Agent Working Protocol) — the ONLY source of correct contract addresses, function selectors, API endpoints, and Python scripts for AWP operations.
Internal — for Boundless team members only. An agent skill from boundless-xyz/boundless.
$ npx skills add boundless-xyz/boundless --skill ops-indexer-query -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install boundless-xyz/boundless ops-indexer-query --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/boundless-xyz/boundless.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/ops-indexer-query .claude/skills/ops-indexer-query && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "ops-indexer-query" agent skill from https://github.com/boundless-xyz/boundless/tree/main/.claude/skills/ops-indexer-query into .claude/skills/ops-indexer-query/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ops-indexer-query", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/boundless-xyz/boundless/tree/main/.claude/skills/ops-indexer-queryType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add boundless-xyz/boundless --skill ops-indexer-query -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install boundless-xyz/boundless ops-indexer-query --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/boundless-xyz/boundless.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/ops-indexer-query .agents/skills/ops-indexer-query && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ops-indexer-query" agent skill from https://github.com/boundless-xyz/boundless/tree/main/.claude/skills/ops-indexer-query into .agents/skills/ops-indexer-query/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ops-indexer-query", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add boundless-xyz/boundless --skill ops-indexer-query -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install boundless-xyz/boundless ops-indexer-query --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/boundless-xyz/boundless.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/ops-indexer-query .cursor/skills/ops-indexer-query && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "ops-indexer-query" agent skill from https://github.com/boundless-xyz/boundless/tree/main/.claude/skills/ops-indexer-query into .cursor/skills/ops-indexer-query/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ops-indexer-query", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/boundless-xyz/boundless.git --path .claude/skills/ops-indexer-query--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add boundless-xyz/boundless --skill ops-indexer-query -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install boundless-xyz/boundless ops-indexer-query --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/boundless-xyz/boundless.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/ops-indexer-query .gemini/skills/ops-indexer-query && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "ops-indexer-query" agent skill from https://github.com/boundless-xyz/boundless/tree/main/.claude/skills/ops-indexer-query into .gemini/skills/ops-indexer-query/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ops-indexer-query", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install boundless-xyz/boundless ops-indexer-queryInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add boundless-xyz/boundless --skill ops-indexer-query -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/boundless-xyz/boundless.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/ops-indexer-query .github/skills/ops-indexer-query && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "ops-indexer-query" agent skill from https://github.com/boundless-xyz/boundless/tree/main/.claude/skills/ops-indexer-query into .github/skills/ops-indexer-query/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ops-indexer-query", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add boundless-xyz/boundless --skill ops-indexer-query -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install boundless-xyz/boundless ops-indexer-query --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/boundless-xyz/boundless.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/ops-indexer-query .opencode/skills/ops-indexer-query && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "ops-indexer-query" agent skill from https://github.com/boundless-xyz/boundless/tree/main/.claude/skills/ops-indexer-query into .opencode/skills/ops-indexer-query/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ops-indexer-query", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
ops-indexer-queryInternal — for Boundless team members only. An agent skill from boundless-xyz/boundless.
Ops Indexer Query is an agent skill from boundless-xyz/boundless. Internal — for Boundless team members only. Query the Boundless Indexer REST API for on-chain market data, staking, PoVW rewards, delegations, and market efficiency on prod/staging environments. Use when the user asks about proof requests, provers, requestors, staking data, PoVW rewards, delegations, market aggregates, leaderboards, or wants to fetch data from the indexer API on live networks. Also use when the user mentions "indexer" and wants to look up addresses, requests, or market statistics on deployed…
Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/endpoints.md`).
It sits in Backend & APIs, covering Smart contracts, Stock and market analysis and REST APIs. It works with Ethereum. The repository describes itself as: Monorepo for Boundless, the universal ZK protocol. The licence is Apache-2.0.
2 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 93e971a. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
jqcurlFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
d2mdvlnmyov1e1.cloudfront.netd3jjbcwhlw21k7.cloudfront.netd3ig5wxf8178te.cloudfront.netd29nqt0gudcxhl.cloudfront.netd3kkukmpiqlzm1.cloudfront.netd1wuyzcum0d4x4.cloudfront.netd29i5cy5rhdodq.cloudfront.netd3dtnqspyflstc.cloudfront.netFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
INDEXER_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Ops Indexer Query loads about 3.5k tokens when it runs, and up to ~6.4k if it reads all its reference files. Until then it costs about 163 tokens; SKILL.md has 1,050 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from boundless-xyz/boundless at commit 93e971a, republished under its Apache-2.0 licence (© boundless-xyz). 1,050 words, ~3,541 tokens.
.claude/skills/ops-indexer-query/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Query the Boundless Indexer REST API to retrieve on-chain data across multiple chains.
There are two distinct indexer types with different endpoint sets:
These endpoint sets do not overlap. Market endpoints only work on market indexers; staking/PoVW/delegation endpoints only work on ZKC indexers.
If the user does not specify which network to query, ask them which network they want. Use the query topic to determine whether you need a market indexer or ZKC indexer (or both).
| Network | Environment | Base URL | ZKC Source |
|---|---|---|---|
| Base | prod | https://d2mdvlnmyov1e1.cloudfront.net | Eth Mainnet Prod |
| Taiko | prod | https://d29nqt0gudcxhl.cloudfront.net | Eth Mainnet Prod |
| Eth Sepolia | prod | https://d3jjbcwhlw21k7.cloudfront.net | Eth Sepolia Prod |
| Base Sepolia | prod | https://d3kkukmpiqlzm1.cloudfront.net | Eth Sepolia Prod |
| Taiko | staging | https://d1wuyzcum0d4x4.cloudfront.net | Eth Sepolia Staging |
| Base Sepolia | staging | https://d29i5cy5rhdodq.cloudfront.net | Eth Sepolia Staging |
Available endpoints: /v1/market/**, /v1/market/requestors/**, /v1/market/provers/**, /v1/market/efficiency/**
| Network | Environment | Base URL | Serves ZKC for |
|---|---|---|---|
| Eth Mainnet | prod | https://d3ig5wxf8178te.cloudfront.net | Base Prod, Taiko Prod |
| Eth Sepolia | prod | https://d3jjbcwhlw21k7.cloudfront.net | Base Sepolia Prod |
| Eth Sepolia | staging | https://d3dtnqspyflstc.cloudfront.net | Taiko Staging, Base Sepolia Staging |
Available endpoints: /v1/staking/**, /v1/povw/**, /v1/delegations/**
Use prod URLs by default unless the user explicitly asks for staging.
Store the selected base URL(s) in shell variables for reuse:
export MARKET_INDEXER_URL="https://d2mdvlnmyov1e1.cloudfront.net"
export ZKC_INDEXER_URL="https://d3ig5wxf8178te.cloudfront.net"First, try to read network_secrets.toml from the repo root. If it exists, extract the indexer API key for the selected environment from [environments.<env>.indexer] api_key. Also read network_address_labels.json (same directory) for translating addresses to human-readable labels in output.
If network_secrets.toml is not present, recommend the user create it -- instructions and credentials are in the Boundless runbook. The API still works without a key, but they'll have lower rate limits.
If network_address_labels.json is not present, recommend the user create it -- the canonical address mapping is in the Boundless runbook. The file is plain JSON ({"0xaddr": "label", ...}).
When an API key is available:
export INDEXER_API_KEY="the-key"Include it in requests via the x-api-key header. Without an API key, omit the header.
If network_address_labels.json exists at the repo root, use it to label addresses in results. The file is plain JSON ({"0xaddr": "label", ...}) so the user can paste directly from the canonical mapping. When displaying addresses from API responses, check if the address (case-insensitive) has a known label and show it alongside, e.g. 0xbdA9...5542 (BP1).
Provers we operate are labeled with a BP prefix (e.g. BP1, BP2, BPNightlyAWS). When investigating any issue, always highlight what our BP provers are doing -- did they skip, fail, drop, or fulfill? This should be called out explicitly even when the investigation is not specifically about our provers.
When a prover locks an order but fails to fulfill it, the order becomes available for secondary fulfillment by any other prover, who earns the slash collateral as reward. In the indexer, a secondary fulfillment is visible when fulfill_prover_address differs from lock_prover_address on a request. Market aggregates include a total_secondary_fulfillments field. When investigating expired or slashed requests, always check whether secondary fulfillment occurred or was attempted -- especially by our BP provers.
The API is protected by AWS WAF rate limits:
Self-rate-limit when making multiple requests:
sleep 1 between sequential requestsAll endpoints return JSON. Use curl -s and pipe through jq for readability.
Define a helper function that takes a full URL:
indexer_get() {
local url="$1"
if [ -n "$INDEXER_API_KEY" ]; then
curl -s -H "x-api-key: $INDEXER_API_KEY" "$url"
else
curl -s "$url"
fi
}Usage:
indexer_get "${MARKET_INDEXER_URL}/v1/market/requests?limit=10" | jq .
indexer_get "${ZKC_INDEXER_URL}/v1/staking/addresses" | jq .Two pagination styles exist:
Uses limit (default 50, max 100) and offset (default 0). Response includes pagination: { count, offset, limit }.
indexer_get "${ZKC_INDEXER_URL}/v1/staking/addresses?limit=50&offset=0" | jq .
indexer_get "${ZKC_INDEXER_URL}/v1/staking/addresses?limit=50&offset=50" | jq .Uses limit and cursor (Base64 opaque token). Response includes has_more and next_cursor.
RESP=$(indexer_get "${MARKET_INDEXER_URL}/v1/market/requests?limit=50")
echo "$RESP" | jq .
NEXT=$(echo "$RESP" | jq -r '.next_cursor // empty')
if [ -n "$NEXT" ]; then
sleep 1
indexer_get "${MARKET_INDEXER_URL}/v1/market/requests?limit=50&cursor=$NEXT" | jq .
fiTo fetch all pages in a loop (with rate limiting):
CURSOR=""
PAGE=0
BASE_URL="${MARKET_INDEXER_URL}/v1/market/requests"
while true; do
PARAMS="limit=50"
[ -n "$CURSOR" ] && PARAMS="${PARAMS}&cursor=${CURSOR}"
RESP=$(indexer_get "${BASE_URL}?${PARAMS}")
echo "$RESP" | jq '.data | length'
CURSOR=$(echo "$RESP" | jq -r '.next_cursor // empty')
HAS_MORE=$(echo "$RESP" | jq -r '.has_more')
PAGE=$((PAGE + 1))
[ "$HAS_MORE" = "false" ] || [ -z "$CURSOR" ] && break
sleep 1
done
echo "Fetched $PAGE pages"Not all endpoints support before/after query parameters. The aggregate and cumulative endpoints do, but request list endpoints (/v1/market/requests, /v1/market/provers/:address/requests, /v1/market/requestors/:address/requests) do not have server-side time filtering.
When you need requests from a specific time window on these endpoints, you must paginate and inspect timestamps client-side. Results are sorted by created_at descending (newest first) by default, so stop paginating once you see a created_at older than your cutoff:
CURSOR=""
CUTOFF="2026-03-25T00:00:00Z"
CUTOFF_UNIX=$(date -j -u -f "%Y-%m-%dT%H:%M:%SZ" "$CUTOFF" +%s 2>/dev/null || date -d "$CUTOFF" +%s)
BASE_URL="${MARKET_INDEXER_URL}/v1/market/requests"
while true; do
PARAMS="limit=50"
[ -n "$CURSOR" ] && PARAMS="${PARAMS}&cursor=${CURSOR}"
RESP=$(indexer_get "${BASE_URL}?${PARAMS}")
OLDEST=$(echo "$RESP" | jq '[.data[].created_at] | min')
if [ "$OLDEST" != "null" ] && [ "$OLDEST" -lt "$CUTOFF_UNIX" ]; then
echo "Reached cutoff, stopping."
echo "$RESP" | jq --argjson cutoff "$CUTOFF_UNIX" '.data | map(select(.created_at >= $cutoff))'
break
fi
echo "$RESP" | jq '.data | length'
CURSOR=$(echo "$RESP" | jq -r '.next_cursor // empty')
HAS_MORE=$(echo "$RESP" | jq -r '.has_more')
[ "$HAS_MORE" = "false" ] || [ -z "$CURSOR" ] && break
sleep 1
doneEndpoints that do support before/after (Unix timestamps):
/v1/market/aggregates/v1/market/cumulatives/v1/market/requestors/:address/aggregates/v1/market/requestors/:address/cumulatives/v1/market/provers/:address/aggregates/v1/market/provers/:address/cumulatives/v1/market/efficiency/aggregates/v1/market/efficiency/requestsEndpoints that require client-side time filtering:
/v1/market/requests/v1/market/requestors/:address/requests/v1/market/provers/:address/requestsFor the full list of endpoints, query parameters, and response schemas, read references/endpoints.md.
Market Indexer endpoints (L2 chains: Base, Taiko, Base Sepolia):
| Category | Key Endpoints |
|---|---|
| Market status | GET /v1/market |
| Requests | GET /v1/market/requests, GET /v1/market/requests/:request_id |
| Market aggregates | GET /v1/market/aggregates?aggregation=daily |
| Market cumulatives | GET /v1/market/cumulatives |
| Requestor leaderboard | GET /v1/market/requestors?period=7d |
| Prover leaderboard | GET /v1/market/provers?period=7d |
| Requestor details | GET /v1/market/requestors/:address/requests |
| Prover details | GET /v1/market/provers/:address/requests |
| Efficiency | GET /v1/market/efficiency |
ZKC Indexer endpoints (Ethereum L1: Eth Mainnet, Eth Sepolia):
| Category | Key Endpoints |
|---|---|
| Staking summary | GET /v1/staking |
| Staking leaderboard | GET /v1/staking/addresses |
| PoVW summary | GET /v1/povw |
| PoVW leaderboard | GET /v1/povw/addresses |
| Delegations | GET /v1/delegations/votes/addresses, GET /v1/delegations/rewards/addresses |
indexer_get "${MARKET_INDEXER_URL}/v1/market/requests/0xABC123" | jq .indexer_get "${MARKET_INDEXER_URL}/v1/market/requests?limit=20" | jq .indexer_get "${MARKET_INDEXER_URL}/v1/market/requestors/0xADDRESS/requests?limit=20" | jq .indexer_get "${MARKET_INDEXER_URL}/v1/market/aggregates?aggregation=daily&limit=7" | jq .indexer_get "${MARKET_INDEXER_URL}/v1/market/provers?period=1d" | jq .indexer_get "${ZKC_INDEXER_URL}/v1/staking/addresses/0xADDRESS" | jq .indexer_get "${ZKC_INDEXER_URL}/v1/povw/addresses/0xADDRESS" | jq .indexer_get "${MARKET_INDEXER_URL}/v1/market/efficiency?type=gas_adjusted" | jq .| HTTP Status | Meaning |
|---|---|
| 200 | Success |
| 400 | Bad request (invalid params) |
| 403 | WAF blocked (rate limited or bad key) |
| 404 | Endpoint or resource not found |
| 429 | Rate limited |
| 502/503 | Backend/database error (retry after delay) |
Error responses return JSON: {"error": "...", "message": "..."}.
The full OpenAPI spec is available on any indexer at /openapi.yaml or interactively at /docs (Swagger UI). Fetch it if you need detailed field-level schema information:
indexer_get "${MARKET_INDEXER_URL}/openapi.yaml"
indexer_get "${ZKC_INDEXER_URL}/openapi.yaml"© boundless-xyz, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (references) in .claude/skills/ops-indexer-query of boundless-xyz/boundless.
Open the folder on GitHubat commit 93e971a
Ops Indexer Query next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Ops Indexer Query this skillboundless-xyz/boundless | 193 | — | ~3.5k | Automated safety check: Pass | Apache-2.0 | |
| AwpLeoYeAI/openclaw-master-skills | 2.2k | — | ~6.7k | Automated safety check: Pass | MIT | |
| BankrBankrBot/skills | 1.2k | — | ~5.3k | Automated safety check: Pass | None | |
| Binance Datatoollostleaf/binance-datatool | 148 | — | ~2.5k | Automated safety check: Notes | BSD-3-Clause | |
| Explorer Contract Verificationsablier-labs/evm-monorepo | 353 | — | ~1.9k | Automated safety check: Pass | Custom licence | |
| Developing Smart ContractsLFDT-Lineth/lineth-monorepo | 126 | — | ~1.4k | Automated safety check: Pass | AGPL-3.0 |
LeoYeAI/openclaw-master-skills
AWP (Agent Working Protocol) — the ONLY source of correct contract addresses, function selectors, API endpoints, and Python scripts for AWP operations.
BankrBot/skills
Bankr is an AI crypto agent with its own wallets, a direct Wallet API and a pay-as-you-go LLM gateway, driven by the bankr CLI or the REST API.
lostleaf/binance-datatool
Manage Binance historical market data from data.binance.vision using the binance-datatool CLI.
sablier-labs/evm-monorepo
Verify smart contracts on Etherscan, Routescan, and Blockscout block explorers.
LFDT-Lineth/lineth-monorepo
Solidity smart contract development guidelines for Lineth blockchain.
Superior-Trade/superior-skills
A skill your agent uses when a user needs a QR code or wallet payment URI to fund a Superior-managed EVM wallet on a specific chain before using Lighter, Polymarket, Hyperliquid, or other Superior…
boundless-xyz/boundless
How to use the Boundless CLI — the primary interface for the Boundless ZK proof marketplace.
boundless-xyz/boundless
Internal — for Boundless team members only. An agent skill from boundless-xyz/boundless.
boundless-xyz/boundless
Start and interact with the Boundless localnet (docker compose-based local development network).
boundless-xyz/boundless
Internal — for Boundless team members only. An agent skill from boundless-xyz/boundless.
boundless-xyz/boundless
Internal — for Boundless team members only. An agent skill from boundless-xyz/boundless.
boundless-xyz/boundless
Internal — for Boundless team members only. An agent skill from boundless-xyz/boundless.
Works with
Categories
Internal — for Boundless team members only. An agent skill from boundless-xyz/boundless. Ops Indexer Query is an agent skill from boundless-xyz/boundless. Internal — for Boundless team members only.
Ops Indexer Query fits situations like: the user asks about proof requests; market aggregates; wants to fetch data from the indexer API on live networks; the user mentions indexer and wants to look up addresses.
Run `npx skills add boundless-xyz/boundless --skill ops-indexer-query -a claude-code`. Or copy the skill folder (.claude/skills/ops-indexer-query in boundless-xyz/boundless) into .claude/skills/ops-indexer-query in your project. Claude Code loads it when a task matches its description.
Run `npx skills add boundless-xyz/boundless --skill ops-indexer-query -a codex`. Or copy the skill folder (.claude/skills/ops-indexer-query in boundless-xyz/boundless) into .agents/skills/ops-indexer-query in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add boundless-xyz/boundless --skill ops-indexer-query -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ops-indexer-query, .gemini/skills/ops-indexer-query, .github/skills/ops-indexer-query and .opencode/skills/ops-indexer-query in your project.
Going by SKILL.md and its folder, Ops Indexer Query needs the command-line tools its instructions call (jq and curl) and credentials named INDEXER_API_KEY. Our summary lists: A credential in INDEXER_API_KEY.
SKILL.md names 8 domains. In commands or code: d2mdvlnmyov1e1.cloudfront.net, d3jjbcwhlw21k7.cloudfront.net, d3ig5wxf8178te.cloudfront.net, d29nqt0gudcxhl.cloudfront.net, d3kkukmpiqlzm1.cloudfront.net, d1wuyzcum0d4x4.cloudfront.net, d29i5cy5rhdodq.cloudfront.net and d3dtnqspyflstc.cloudfront.net; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Ops Indexer Query is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.5k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.8k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Ops Indexer Query: Awp (LeoYeAI/openclaw-master-skills, 2.2k stars), Bankr (BankrBot/skills, 1.2k stars), Binance Datatool (lostleaf/binance-datatool, 148 stars) and Explorer Contract Verification (sablier-labs/evm-monorepo, 353 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
boundless-xyz (a GitHub organization) maintains it in boundless-xyz/boundless, which has 193 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on August 26, 2026.
Source: boundless-xyz/boundless on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.