Skip to content
Development
Skill

/preset-api

Prepare direct Preset API access: auth, JWT exchange, base URLs, pagination, Rison parameters, response handling, and shared API setup. Use only for direct API workflows; Do not use for MCP-only work.

From plugin
agent-skills
1329 skills

Claude Code

$ npx -y skills add preset-io/agent-skills --skill preset-api --agent claude-code

SKILL.md

preset-api.SKILL.md
name: preset-api
description: "Prepare direct Preset API access: auth, JWT exchange, base URLs, pagination, Rison parameters, response handling, and shared API setup. Use only for direct API workflows; Do not use for MCP-only work."

preset-api

Use as the prerequisite for direct Preset API skills. If the user is working through Preset/Superset MCP tools, stay on MCP unless they approve direct API calls.

Always

  • Keep `PRESET_CLIENT_ID`, `PRESET_CLIENT_SECRET`, and tokens out of source, logs, reports, and examples.
  • When checking whether credential environment variables are present, use a zsh-safe `printenv "$VAR_NAME"` pattern. Do not use bash-only indirect expansion such as `${!var}`.
  • Read and format JSON responses with `curl ... | jq`: use `jq -r` when capturing scalar shell values such as tokens, IDs, and hostnames; use plain `jq` for structured JSON output; do not use inline `python -c` parsers. For reusable parsing, load `skills/preset-api/examples/preset_client.py` instead of improvising.
  • Use the workspace hostname or API base URL directly when it is already known from trusted context (for example, an earlier Management API response or user-supplied configuration); derive it through the Management API when provenance is missing.
  • Run reads directly: metadata reads always; customer-data reads (chart data, samples, distinct values, existing screenshots/thumbnails, own query history) when the user asked in their own message, with row limits as request parameters and summarized output.
  • Require explicit confirmation before mutations, imports, role/RLS changes, guest-token creation, permalink creation, screenshot/thumbnail cache generation, cache invalidation, all asset exports, credential-bearing reads, audit downloads, and SQL that is not a confidently classified single-statement SELECT.
  • When a target, owner, workspace, output destination, SQL classification, or credential boundary cannot be proven from trusted context, fall back to confirmation.

Decision Rules

  • Use existing authenticated Preset API context; never ask users to paste secrets.
  • Select base URL from discovered team, workspace, or Superset workspace facts.
  • Use pagination and Rison for list, filter, sort, and search calls.
  • Load safety policy before risky follow-up calls.
  • If the user starts with direct API intent and mentions MCP only as a fallback, keep direct API intent. Say: "No MCP fallback. MCP tools are a different surface and require separate explicit approval. Stop before MCP calls."
  • Do not stop direct API planning just because MCP was mentioned. Stop only before MCP calls or before direct API operations that require confirmation.

Workflow Order

1. Resolve base URL and credentials. 2. Plan paginated Rison requests. 3. Classify each follow-up call by gate tier: reads run directly (with limits for customer data); mutations, credential reads, and unclassified SQL require confirmation. 4. Reject unapproved MCP fallback if the requested workflow is direct API. 5. Ask before changing surfaces and stop before MCP calls. 6. Continue the direct API plan unless the operation is confirmation-gated by the safety policy. 7. Redact credentials and tokens in all output.

Retrieve

  • Auth, token exchange, reusable client: [references/authentication.md](references/authentication.md)
  • Pagination, Rison, status codes, workspace OpenAPI/version handling: [references/api-conventions.md](references/api-conventions.md)
  • Approval gates and sensitive-operation policy: [references/safety-policy.md](references/safety-policy.md)
Read more
@preset-io
Ships withagent-skills

Agent guidance for working with Preset, Apache Superset, and Superset MCP tools. The skills are authored once and load across every supported agent client — see Supported clients.

Stars on GitHub

Momentum

stars in total
13
Star history of preset-io/agent-skills on GitHub, a chart by star-history.com

Other skills on agent-skills.

preset-admin

preset-admin

Manage Preset teams, workspaces, memberships, invites, role identifiers, seat checks, and audit logs through direct Management…

preset-dashboards

preset-dashboards

Inspect Preset workspace dashboards, charts, dashboard composition, screenshots, thumbnails, chart data, and chart/dashboard…

preset-datasets

preset-datasets

Inspect Preset workspace datasets, database metadata, schemas, tables, columns, metrics, and dataset/database workflow routing…

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about preset-api.

Which coding agents can use preset-api?
preset-api installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.