{"id":51508,"plugin_id":"plugin_asdk_app_6ac61addf6fc8191a574d9124ef0576c","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-10-24T13:46:36.914Z","digest":"a47d8bb1ce30e6dbb75218321692dcebe6edb25ef04fef59ff027c7e19982bde","against":null,"payload":{"description":"Route Superset MCP tool workflows, source-of-truth checks, and surface-boundary decisions. Use only for MCP tool workflows; do not use for direct API work.","included_files":[{"relative_path":"references/surface-boundary.md","size_in_bytes":1490},{"relative_path":"references/tool-categories.md","size_in_bytes":1183}],"name":"preset-mcp","skill_md_contents":"---\nname: preset-mcp\ndescription: Route Superset MCP tool workflows, source-of-truth checks, and surface-boundary decisions. Use only for MCP tool workflows; do not use for direct API work.\n---\n\n# preset-mcp\n\nUse for Superset MCP intent, MCP tool routing, and MCP/API surface-boundary decisions.\n\n## Always\n\n- Stay on MCP tools for MCP intent.\n- Treat `superset/superset/mcp_service` as the only source of truth for MCP tool names, schemas, tags, annotations, prompts, resources, and RBAC metadata.\n- Call tools directly with the obvious parameters; fetch a tool's schema only after a validation error. These skills are workflow guidance, not schema definitions.\n- Do not use direct Preset Management API, Superset REST API, Snowflake Cortex API, curl, Python requests, exports, or database calls from this package.\n- If MCP cannot satisfy the request, stop and explain the missing MCP capability. Do not switch surfaces.\n\n## Decision Rules\n\n- MCP intent includes MCP tools, MCP clients, Superset MCP, Preset MCP, MCP resources, MCP prompts, tool discovery, and MCP tool errors.\n- Direct API intent includes API credentials, REST endpoints, OpenAPI, curl/Python requests, Management API, workspace API, and Snowflake Cortex APIs.\n- If the user starts with MCP intent and mentions direct API only as a fallback, keep MCP intent. Say: \"No API fallback. Direct API is a different surface and requires separate explicit approval. Stop before API calls.\"\n- When the session is connected through MCP tools and the user has not named a surface, default to MCP and proceed; ask only when the user explicitly mixes both surfaces in one request.\n- Use a domain skill after routing: discovery, data, visualization, dashboard, sqllab, datasets, or troubleshooting.\n\n## Workflow Order\n\n1. Identify whether the user requested MCP or direct API.\n2. For MCP, choose the narrowest MCP domain skill.\n3. Call the tool with the obvious parameters; consult its schema only after a validation error.\n4. If MCP lacks a requested capability, explain the missing MCP capability.\n5. Ask before changing surfaces and stop before API calls.\n\n## Retrieve\n\n- Tool categories and loading strategy: [references/tool-categories.md](references/tool-categories.md)\n- Surface boundary examples: [references/surface-boundary.md](references/surface-boundary.md)\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}