Agent skill

Ops Query

by boundless-xyz in boundless-xyz/boundless

Internal — for Boundless team members only. An agent skill from boundless-xyz/boundless.

Apache-2.0Auto-check passedDevelopment

Install Ops Query

skills CLI
$ npx skills add boundless-xyz/boundless --skill ops-query -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install boundless-xyz/boundless ops-query --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/boundless-xyz/boundless.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/ops-query .claude/skills/ops-query && rm -rf skills-src

Use ~/.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/

Facts

Skill name
ops-query
GitHub stars
193
Token cost
~3.3k tokens
SKILL.md length
1,352 words
Files
8 (incl. references)
Skills in repo
12
Repo updated
First seen
Licence
Apache-2.0

At a glance

Internal — for Boundless team members only. An agent skill from boundless-xyz/boundless.

  • Works in 5 steps: Read network_secrets.toml from the repo… → Read and follow the ops-indexer-query… → Read and follow the ops-telemetry-query… → …
  • The user wants to understand why slashings happened on prod/staging
  • SKILL.md covers Setup, Data Source Overview, Investigation Workflow and Pre-Built Investigations, plus 2 more sections
  • Calls aws; needs INDEXER_API_KEY

What it does

Ops Query is an agent skill from boundless-xyz/boundless. Internal — for Boundless team members only. Cross-reference Boundless indexer API data, broker telemetry, and service logs to investigate production and staging operational issues. Use when the user wants to understand why slashings happened on prod/staging, diagnose prover or service failures in deployed environments, correlate market events with broker behavior, investigate fulfillment rate drops, look at prover/service logs, or perform any analysis that requires combining on-chain indexer data with off-chain…

Its SKILL.md is about 3.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including reference files (for example `references/customer-expired-requests.md`, `references/fulfillment-rate-drops.md` and `references/investigations.md`).

It sits in Development, covering Smart contracts and Root cause analysis. The repository describes itself as: Monorepo for Boundless, the universal ZK protocol. The licence is Apache-2.0.

When your agent uses it

  • The user wants to understand why slashings happened on prod/staging
  • Diagnose prover
  • Service failures in deployed environments
  • Correlate market events with broker behavior

Example prompts

  • “investigate”
  • “diagnose”
  • “find root cause”
  • “/ops-query”

Requirements

  • Docker
  • A credential in INDEXER_API_KEY

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Read network_secrets.toml from the repo root. If it exists, it contains credentials for all environments (indexer API keys, telemetry DB…
  2. Read and follow the ops-indexer-query skill at .claude/skills/ops-indexer-query/SKILL.md to set up indexer access (MARKET_INDEXER_URL…
  3. Read and follow the ops-telemetry-query skill at .claude/skills/ops-telemetry-query/SKILL.md to set up Redshift access (REDSHIFT_URL)…
  4. Read and follow the ops-logs-query skill at .claude/skills/ops-logs-query/SKILL.md to set up CloudWatch log access (AWS credentials, log…
  5. Ask the user which network they want to investigate (determines which market indexer + ZKC indexer to use).

What it can do on your machine

Read from SKILL.md and the folder at commit 93e971a. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • aws

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use aws, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • INDEXER_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Ops Query loads about 3.3k tokens when it runs, and up to ~13k if it reads all its reference files. Until then it costs about 202 tokens; SKILL.md has 1,352 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~202
When it runs · the whole SKILL.md, loaded when a task matches
~3.3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~13k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from boundless-xyz/boundless at commit 93e971a, republished under its Apache-2.0 licence (© boundless-xyz). 1,352 words, ~3,259 tokens.

Download SKILL.mdSave it as .claude/skills/ops-query/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.
name
ops-query
description
Internal — for Boundless team members only. Cross-reference Boundless indexer API data, broker telemetry, and service logs to investigate production and staging operational issues. Use when the user wants to understand why slashings happened on prod/staging, diagnose prover or service failures in deployed environments, correlate market events with broker behavior, investigate fulfillment rate drops, look at prover/service logs, or perform any analysis that requires combining on-chain indexer data with off-chain broker telemetry and CloudWatch logs. Also use when the user asks to "investigate", "diagnose", or "find root cause" for prover, service, or market issues on live networks. Do NOT use for debugging local code changes, reviewing PRs, or investigating issues in the codebase itself.

Query

Combine on-chain indexer data, off-chain broker telemetry, and CloudWatch service logs to investigate operational issues and find insights.

Setup

Set up the data sources needed for the investigation. Not all sources are needed for every query -- use the ones relevant to the task.

  1. Read network_secrets.toml from the repo root. If it exists, it contains credentials for all environments (indexer API keys, telemetry DB URLs/passwords, AWS creds). Also read network_address_labels.json (same directory) for labelling addresses -- it is plain JSON ({"0xaddr": "label", ...}). If network_secrets.toml is not present, recommend the user create it -- instructions and credentials are in the Boundless runbook. If network_address_labels.json is not present, recommend the user create it -- the canonical address mapping is in the Boundless runbook.

  2. Read and follow the ops-indexer-query skill at .claude/skills/ops-indexer-query/SKILL.md to set up indexer access (MARKET_INDEXER_URL, ZKC_INDEXER_URL, optional INDEXER_API_KEY, and the indexer_get helper function).

  3. Read and follow the ops-telemetry-query skill at .claude/skills/ops-telemetry-query/SKILL.md to set up Redshift access (REDSHIFT_URL). Before writing any telemetry SQL, read crates/boundless-market/src/telemetry.rs for exact column names and enum values.

  4. Read and follow the ops-logs-query skill at .claude/skills/ops-logs-query/SKILL.md to set up CloudWatch log access (AWS credentials, log group discovery). Use when the investigation benefits from raw service logs -- especially for our own operated provers, or for other services like indexer, order stream, slasher, etc.

  5. Ask the user which network they want to investigate (determines which market indexer + ZKC indexer to use).

Data Source Overview

SourceWhat it knowsJoin fields
Market IndexerOn-chain request lifecycle: submitted, locked, fulfilled, slashed, expired. Pricing, collateral, tx hashes, timestamps.request_id, request_digest, prover/requestor addresses
Telemetry (Redshift)Broker-side operational data: evaluation decisions, skip reasons, proving durations, error codes, queue depths, estimated vs actual proving times.request_id, request_digest, broker_address, order_id
CloudWatch LogsRaw service logs for provers we operate (and other infra services). Detailed error messages, stack traces, runtime behavior.request_id, request_digest, timestamps

The key join between indexer and telemetry is request_id and request_digest. The indexer's lock_prover_address or fulfill_prover_address corresponds to telemetry's broker_address. Logs can be correlated by searching for the same request_id or request_digest within the relevant time window.

Telemetry is opt-in -- not all brokers send telemetry. If a prover address has no telemetry data, note this to the user. CloudWatch logs are only available for services we operate.

Investigation Workflow

All investigations follow the same pattern:

  1. Identify targets -- Use the indexer to find the relevant requests/addresses/time periods.
  2. Correlate with telemetry -- Use the request IDs, digests, or broker address + time window to look up telemetry data. Telemetry provides a pre-processed view with structured skip reasons, error codes, proving durations, and estimation accuracy -- this should answer most questions about why orders were skipped, failed, or slashed without needing raw logs.
  3. Dig into logs (last resort) -- Only go to CloudWatch logs if the indexer and telemetry data are insufficient. Logs are useful when you need raw error messages, stack traces, or runtime details that telemetry doesn't capture (e.g. infrastructure-level failures, panics, or non-prover service issues). One particularly useful check: look for recent deployments in bento prover logs. Nightly deployments restart Docker Compose and can explain gaps in telemetry, sudden behavior changes, or outages. New code deployed can also introduce bugs. See the "Checking for Recent Deployments" section in the ops-logs-query skill.
  4. Analyze and synthesize -- Combine findings from all sources into a coherent narrative.

Rate limit all sources:

  • Indexer: sleep 1 between requests, sleep 2 between pagination pages.
  • Redshift: No rate limit, but use LIMIT on exploratory queries.
  • CloudWatch: sleep 1 between paginated log queries.

Pre-Built Investigations

Before starting any work, check if the user's question matches a pre-built investigation. These are tested playbooks with the right queries, presentation format, and step-by-step instructions. Using them produces consistent, comprehensive results. Each lives in its own file under references/:

InvestigationFileWhen to use
Market Summaryreferences/market-summary.md"How's the market?" / "give me a summary" / overview of health, prover activity, failures, skips
Slashing Reasonsreferences/slashing-reasons.mdProver was slashed -- find out why
Fulfillment Rate Dropsreferences/fulfillment-rate-drops.mdMarket or prover fulfillment rate declined, success rate alarms
Prover Performancereferences/prover-performance.mdDeep dive into a specific prover's operational health
Request Lifecyclereferences/request-lifecycle.mdTrace a specific request end-to-end across all data sources
Customer Expired Requestsreferences/customer-expired-requests.mdCustomer's requests are expiring -- investigate why provers skip or fail to fulfill them

If the user's question clearly maps to one of these, read the corresponding file and follow it step by step. If it doesn't fit any pre-built investigation, fall back to the general Investigation Workflow above and build a custom investigation.

Aurora DB Instances

When investigating RDS/Aurora issues (storage, CPU, connections, etc.), never assume the DB identifier reflects the actual instance role. Instance identifiers containing reader or writer may be mislabeled -- the name is set at creation time and does not update if Aurora promotes/demotes instances.

Always determine the actual role by querying the instance metadata:

bash
aws rds describe-db-instances \
  --query 'DBInstances[?contains(DBInstanceIdentifier, `prod-8453-indexer`)].{id: DBInstanceIdentifier, role: DBInstanceArn}' \
  --output table

Or more directly, check the cluster's member list with roles:

bash
aws rds describe-db-clusters \
  --db-cluster-identifier "CLUSTER_ID" \
  --query 'DBClusters[0].DBClusterMembers[].{id: DBInstanceIdentifier, isWriter: IsClusterWriter}' \
  --output table

Use IsClusterWriter: true/false as the source of truth. When reporting findings, always state the actual role alongside the identifier, e.g. "instance *-reader-v19 (actual role: writer)".

Show full SKILL.md (513 more words)Show less

Presenting Results

Addresses

Always show the full address when displaying broker/prover addresses. Do not truncate to 0x8305...04b5. If a label exists in network_address_labels.json, show both: 0x83052f16a84e6f2cec4bf3beda45c40c800904b5 (BP1).

Our Provers

Provers we operate are labeled with a BP prefix in network_address_labels.json (e.g. BP1, BP2, BPNightlyAWS). When investigating any issue, always highlight what our provers are doing -- did they skip the order, did they fail, did they drop it, what error codes are they hitting? This should be called out explicitly in every investigation, even when the issue is not specifically about our provers.

Prover Summary Tables

When showing prover activity, pivot telemetry outcomes into columns so each prover is one row. Include fulfilled, failures, and skips as separate columns. By default summary tables should cover the top 5 provers by volume plus all provers we operate (from address labels).

Failure and Skip Breakdowns

After the summary table, include two separate breakdown sections:

Failure breakdown: For each prover, show a per-prover table of outcome, error_code, summarized error_reason, and count. Group by error pattern, not by individual request.

Skip breakdown: Same structure — per-prover table of skip_code, example reason, and count, sorted by count descending.

Drop breakdown: Same structure — per-prover table of commitment_skip_code, reason, and count, sorted by count descending.

Alerts and Error Codes

Alerts always match on error codes (e.g. [B-PRO-501]), not on string patterns. Seeing a string like ProvingFailed in a log message does NOT mean it counts toward the proving-failed metric or alert. Only entries with the corresponding error code (e.g. [B-PRO-501]) are counted. When investigating alert triggers or counting occurrences for a specific alert, always filter by the error code, not by keyword/string matching.

Telemetry Terminology
  • Locked: Order was priced and the broker decided to try locking it on-chain.
  • Skipped: Order was rejected during pricing in the OrderPicker (e.g. unprofitable, wrong image, over capacity). It never reached the OrderMonitor.
  • Committed: Order was successfully committed to the proving pipeline (lock tx succeeded or immediate commitment for FulfillAfterLockExpire).
  • Dropped: Order reached the OrderMonitor but was NOT committed to the proving pipeline. Reasons include: lock tx failed, order was fulfilled/expired/locked by another prover before we could act, insufficient deadline remaining, or insufficient balance. Check commitment_skip_code for specifics.
  • Cancelled: Completion outcome meaning the broker finished proving but another prover fulfilled the order first. This is a race loss (wasted proving work), NOT an error. Do not count Cancelled as a failure in summary tables — show it as a separate column.
Secondary Fulfillment

When a prover locks an order but fails to fulfill it before the lock expires, the order becomes available for secondary fulfillment by any other prover in the network. The secondary fulfiller earns the slash collateral as a reward. In telemetry, secondary fulfillments are identified by fulfillment_type = 'FulfillAfterLockExpire' (in both evaluations and completions). In the indexer, a secondary fulfillment shows as fulfill_prover_address differing from lock_prover_address, and market aggregates include total_secondary_fulfillments.

When investigating expired or slashed requests, always check whether secondary fulfillment was attempted -- especially by our BP provers. Did they see the opportunity? Did they skip it, and why? Did they attempt it but fail?

© 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

Files

SKILL.md and 7 other files (references) in .claude/skills/ops-query of boundless-xyz/boundless.

  • SKILL.md
  • references/customer-expired-requests.md
  • references/fulfillment-rate-drops.md
  • references/investigations.md
  • references/market-summary.md
  • references/prover-performance.md
  • references/request-lifecycle.md
  • references/slashing-reasons.md

Open the folder on GitHubat commit 93e971a

Compare with similar skills

Ops 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.

Ops Query compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ops Query this skillboundless-xyz/boundless193—~3.3kAutomated safety check: PassApache-2.0
Foundry Differential Testsaviggiano/security144—~613Automated safety check: PassMIT
Code Design Rationale Investigatorcursor/plugins10k9 repos~2.6kAutomated safety check: PassNone
OpenLogi macOS Permissions TriageAprilNEA/OpenLogi23k—~2.5kAutomated safety check: NotesApache-2.0
Bug Finder for daisyUIsaadeghi/daisyui43k—~2.3kAutomated safety check: PassMIT
Root Cause Debugginggarrytan/gstack136k—~1.4kAutomated safety check: PassMIT

Similar skills

  • Foundry Differential Tests

    aviggiano/security

    Create Foundry differential tests comparing production Solidity contracts against an independent reference model.

    144 GitHub stars~613 tokensUpdated 24 days ago
    Backend & APIsAuto-check passed
  • Official

    Digs into why code is shaped the way it is by checking git history, pull requests and connected tools in parallel, then reporting a cited read on the tradeoffs.

    10k GitHub starsUsed in 9 repos~2.6k tokens
    DevelopmentAuto-check passed
  • Decides whether an OpenLogi device problem on macOS is a privacy-permission (TCC) problem, using agent log lines, and says which identity needs which grant.

    23k GitHub stars~2.5k tokensUpdated today
    DevelopmentAuto-check: notes
  • Bug Finder for daisyUI

    saadeghi/daisyui

    Investigates suspected bugs in the daisyUI monorepo through read-only analysis, then writes a decision-ready fix plan in tmp/bugs without changing any product code.

    43k GitHub stars~2.3k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Root Cause Debugging

    garrytan/gstack

    Investigates bugs, errors and stack traces in phases and requires a root-cause hypothesis to be confirmed before any fix is written.

    136k GitHub stars~1.4k tokensUpdated today
    DevelopmentAuto-check passed
  • Review PR

    apache/shardingsphere

    Review Apache ShardingSphere or user-authorized downstream pull requests and PR discussions from public or authorized repository evidence.

    21k GitHub stars~6.4k tokensUpdated today
    DevelopmentAuto-check passed

More from boundless-xyz/boundless

All 12 skills in this repo
  • Boundless CLI

    boundless-xyz/boundless

    How to use the Boundless CLI — the primary interface for the Boundless ZK proof marketplace.

    193 GitHub stars~1.8k tokensUpdated 1 mo ago
    Auto-check passed
  • Ops Indexer Query

    boundless-xyz/boundless

    Internal — for Boundless team members only. An agent skill from boundless-xyz/boundless.

    193 GitHub stars~3.5k tokensUpdated 1 mo ago
    Auto-check passed
  • Localnet

    boundless-xyz/boundless

    Start and interact with the Boundless localnet (docker compose-based local development network).

    193 GitHub stars~1.8k tokensUpdated 1 mo ago
    Auto-check: notes
  • Ops Add New Chain

    boundless-xyz/boundless

    Internal — for Boundless team members only. An agent skill from boundless-xyz/boundless.

    193 GitHub stars~3.8k tokensUpdated 1 mo ago
    Auto-check passed
  • Ops Check Balances

    boundless-xyz/boundless

    Internal — for Boundless team members only. An agent skill from boundless-xyz/boundless.

    193 GitHub stars~4.9k tokensUpdated 1 mo ago
    Auto-check: notes
  • Ops Logs Query

    boundless-xyz/boundless

    Internal — for Boundless team members only. An agent skill from boundless-xyz/boundless.

    193 GitHub stars~3.5k tokensUpdated 1 mo ago
    Auto-check passed

Categories

Questions about Ops Query

What does Ops Query do?

Internal — for Boundless team members only. An agent skill from boundless-xyz/boundless. Ops Query is an agent skill from boundless-xyz/boundless. Internal — for Boundless team members only.

When should I use Ops Query?

Ops Query fits situations like: the user wants to understand why slashings happened on prod/staging; diagnose prover; service failures in deployed environments; correlate market events with broker behavior.

How do I install Ops Query in Claude Code?

Run `npx skills add boundless-xyz/boundless --skill ops-query -a claude-code`. Or copy the skill folder (.claude/skills/ops-query in boundless-xyz/boundless) into .claude/skills/ops-query in your project. Claude Code loads it when a task matches its description.

How do I install Ops Query in Codex?

Run `npx skills add boundless-xyz/boundless --skill ops-query -a codex`. Or copy the skill folder (.claude/skills/ops-query in boundless-xyz/boundless) into .agents/skills/ops-query in your project. Codex loads it when a task matches its description.

Can I use Ops Query in Cursor, Gemini CLI or GitHub Copilot?

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-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-query, .gemini/skills/ops-query, .github/skills/ops-query and .opencode/skills/ops-query in your project.

What does Ops Query need to run?

Going by SKILL.md and its folder, Ops Query needs the command-line tools its instructions call (aws) and credentials named INDEXER_API_KEY. Our summary lists: Docker; A credential in INDEXER_API_KEY.

Does Ops Query access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Ops Query safe to install?

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.

What licence does Ops Query use?

Ops 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.

How many tokens does Ops Query use?

About 3.3k tokens (SKILL.md is roughly 13k 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 9.6k tokens, read only when the agent opens those files.

What are the alternatives to Ops Query?

Skills that share tags, products or a category with Ops Query: Foundry Differential Tests (aviggiano/security, 144 stars), Code Design Rationale Investigator (cursor/plugins, 10k stars), OpenLogi macOS Permissions Triage (AprilNEA/OpenLogi, 23k stars) and Bug Finder for daisyUI (saadeghi/daisyui, 43k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Ops Query?

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.