From sentio-ai-kit
Build, modify, or troubleshoot Sentio projects across processors, Sentio SQL in Data Studio, alerting, and dashboards. Use for tasks involving @sentio/sdk handlers in processor.ts, sentio.yaml config, metrics/event logs/entity store, running or sharing Sentio SQL queries, creating/updating alert rules and notification channels, or managing dashboards and panels.
npx claudepluginhub sentioxyz/sentio-ai-kit --plugin sentio-ai-kitThis skill uses the workspace's default tool permissions.
Use `npx @sentio/cli@latest` for SQL, data queries, alerts, endpoints, and project management.
Use when initializing Sentio projects, writing blockchain processor code, adding contracts/ABIs, testing processors, or deploying to the Sentio platform. Triggers on sentio CLI usage, processor development, multi-chain indexing, blockchain data analytics with Sentio SDK, DeFi protocols, points systems, or store entities.
Audits Sentry usage via Stats API and configures SDK sampling/filters to cut event volume and costs 60-95% without losing critical error insights.
Guides use of Sentry CLI to view issues, events, projects, organizations, make API calls, and authenticate from the command line. Useful for Sentry CLI interactions.
Share bugs, ideas, or general feedback.
Use npx @sentio/cli@latest for SQL, data queries, alerts, endpoints, and project management.
npx @sentio/cli@latest login --statusnpx @sentio/cli@latest login --api-key <key>sentio data sql --project <owner>/<slug> --query "SELECT * FROM transfer LIMIT 10"sentio data sql --project <owner>/<slug> --query "..." --asyncsentio data sql --project <owner>/<slug> --result <execution-id>sentio data sql --project <owner>/<slug> --cursor <cursor>sentio data sql --project <owner>/<slug> --file query.yaml--no-cache; control TTL with --cache-ttl-secs <s> and --cache-refresh-ttl-secs <s>--version <version>sentio data events --project <owner>/<slug>sentio data metrics --project <owner>/<slug>sentio data query --project <owner>/<slug> --event Transfer --aggr total --group-by timestampsentio data query --project <owner>/<slug> --metric burn --aggr avg --filter meta.chain=1sentio data query --project <owner>/<slug> --price ETH--func 'topk(5)', --func 'delta(1m)'--start <time> --end <time> --step <seconds>--limit <count> --offset <count>--timezone <tz>sentio data query --docsentio alert list --project <owner>/<slug>sentio alert get <rule-id> --project <owner>/<slug>sentio alert create --project <owner>/<slug> --type METRIC --subject "Burn spike" --metric burn --aggr avg --op '>' --threshold 100sentio alert create --project <owner>/<slug> --type METRIC --subject "Transfer anomaly" --event Transfer --filter amount>0 --aggr total --func 'delta(1m)' --op '>' --threshold 100sentio alert create --project <owner>/<slug> --type LOG --subject "Large transfers" --query 'amount:>1000' --op '>' --threshold 0sentio alert create --project <owner>/<slug> --type SQL --subject "Alert" --query 'select timestamp, amount from transfer where amount > 1000' --time-column timestamp --value-column amount --sql-aggr MAX --op '>' --threshold 1000sentio alert create --project <owner>/<slug> --file alert.yamlsentio alert update <rule-id> --project <owner>/<slug> --file updated.yamlsentio alert delete <rule-id> --project <owner>/<slug>--for 5m --interval 1m; between condition: --op between --threshold 10 --threshold2 100sentio alert create --docsentio endpoint create --project <owner>/<slug> --query "SELECT * FROM t WHERE amount > \${min}" --args '{"min":"int"}'sentio endpoint list --project <owner>/<slug>sentio endpoint get --project <owner>/<slug> --id <id>sentio endpoint test --project <owner>/<slug> --id <id> --args '{"min":1000}'sentio endpoint delete --project <owner>/<slug> --id <id>sentio dashboard list --project <owner>/<slug>sentio dashboard create --project <owner>/<slug> --title "My Dashboard"sentio dashboard create --project <owner>/<slug> --file dashboard.jsonsentio dashboard export <dashboardId> --project <owner>/<slug>sentio dashboard import <dashboardId> --project <owner>/<slug> --file dashboard.jsonsentio dashboard import <dashboardId> --project <owner>/<slug> --stdinsentio dashboard import <dashboardId> --project <owner>/<slug> --file dashboard.json --override-layoutssentio dashboard add-panel <dashboardId> --project <owner>/<slug> --panel-name "Top Holders" --type TABLE --sql "SELECT * FROM CoinBalance ORDER BY balance DESC LIMIT 50"sentio dashboard add-panel <dashboardId> --project <owner>/<slug> --panel-name "Transfer Count" --type LINE --event Transfer --aggr totalsentio dashboard add-panel <dashboardId> --project <owner>/<slug> --panel-name "ETH Price" --type LINE --metric cbETH_price--filter amount>1000 --group-by meta.address --func 'topk(5)'--time-range-start -24h --time-range-end now --time-range-step 3600TABLE, LINE, BAR, PIE, QUERY_VALUE, AREA, BAR_GAUGE, SCATTERtotal, unique, AAU, DAU, WAU, MAUavg, sum, min, max, countWhen constructing or editing dashboard.json for import, refer to references/openapi.swagger.json for the full schema. Key structure:
{
"dashboardId": "<target-dashboard-id>",
"dashboardJson": {
"name": "My Dashboard",
"panels": {
"<panelId>": {
"id": "<panelId>",
"name": "Panel Name",
"chart": {
"type": "<ChartType>",
"datasourceType": "<DataSourceType>",
"sqlQuery": "SELECT ...", // for SQL panels
"queries": [...], // for metric/event panels
"formulas": [...],
"config": { ... }
}
}
},
"layouts": { ... }
},
"overrideLayouts": false
}
Chart.type values: TABLE, LINE, BAR, PIE, QUERY_VALUE, AREA, BAR_GAUGE, SCATTERChart.datasourceType: determines query shape — SQL panels use sqlQuery string; metric/event panels use queries arraypanels is a map keyed by panel ID; each panel contains a chart objectlayouts controls responsive grid placement; omit or set overrideLayouts: true to auto-arrangereferences/openapi.swagger.json definitions web_service.Dashboard, web_service.Panel, web_service.Chart, common.Query for complete field listssentio project listsentio project get <owner>/<slug>sentio project create --owner <owner> --name <name> --type sentio --visibility privatesentio project delete <owner>/<slug>sentio, subgraph, actionsentio processor status --project <owner>/<slug>sentio processor source --project <owner>/<slug>sentio processor activate-pending --project <owner>/<slug>sentio processor pause --project <owner>/<slug> --reason "maintenance" -ysentio processor resume --project <owner>/<slug>sentio processor stop --project <owner>/<slug>sentio processor logs --project <owner>/<slug> --limit 100sentio processor logs --project <owner>/<slug> -f--log-type execution --level ERROR --query "timeout"sentio price get --coin ETH or --symbol ETH or --address 0x... --chain 1sentio price get --coin ETH --timestamp <unix-ts>sentio price batch --file prices.yamlsentio price coinssentio price check-latestsentio simulation run --project <owner>/<slug> --file sim.yamlsentio simulation run-bundle --project <owner>/<slug> --chain-id <id> --file bundle.yamlsentio simulation list --project <owner>/<slug>sentio simulation get <simulation-id> --project <owner>/<slug>sentio simulation bundle --project <owner>/<slug>sentio simulation trace --project <owner>/<slug>--api-key <key> or use saved credentials from sentio login.--token <token> for bearer token auth.--json or --yaml for machine-readable output.--project <owner>/<slug> to target a project, or --owner + --name separately, or --project-id <id>.--async then fetch with --result <id>.$startTime/$endTime placeholders.references/openapi.swagger.json contains the full Sentio REST API spec — read it when constructing dashboard JSON payloads, debugging CLI calls, or building custom integrations. Key definitions for dashboards: web_service.ImportDashboardRequest, web_service.Dashboard, web_service.Panel, web_service.Chart, common.Query.