Skip to content
cccskills
FreePublished on GitHub

data-loading

Find missing data in connected sources, inspect table structure, and suggest loading options for analysis. It also helps prepare a connection form for a new source, leaving connection and loading choices to the user.

OriginalShow the original description

Discover connected data sources, add new data connectors through a user-confirmed form, inspect table metadata, and run bounded read-only probes when the current workspace data is insufficient.

See how to install

Good for

  • Find external tables needed for an analysis
  • Browse available connected data sources
  • Check table columns before choosing data
  • Prepare a connection to a new database

Files included (3)

  • SKILL.md5.5 KB
  • skill.py14.5 KB
  • tools.json9.2 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Skill: Data discovery

The workspace tables listed in your context are the data already loaded into the system, and the only data that can be read directly. Everything these tools return is not loaded yet — it lives in a connected source and only becomes usable after the user selects a loading option and the server materializes it.

Use these tools to determine whether connected sources contain data needed for the user's goal. They are read-only: discovering, describing, or probing a source does not add anything to the workspace analysis inputs.

Adding a connector

When the user wants to connect a new source, do not merely ask them to navigate to settings and do not attempt to connect on their behalf.

  1. Call list_connectors first because available built-ins and plugins vary by deployment. For a broad request such as "help me connect", summarize the concrete available types and ask which one they use.
  2. Once the source type is known, call describe_connector when field or auth details are useful.
  3. When the requested source type is known and available, you MUST call propose_connection in this same turn. Do not stop with text such as "I'll open the form", "you'll need to provide", or a list of required fields. Only the action opens the form. Include one or two helpful sentences alongside the action call explaining what the user should review or supply; this text appears above the chat while the form opens on the canvas. Pass prefilled values the user already supplied, including values parsed from a connection string or config snippet. Never invent missing values.
  4. The form is only a proposal. The user reviews it and clicks Connect; the action must never connect automatically.

Prefilled values may include credentials the user deliberately supplied. Do not repeat those values in prose or subsequent tool output. They are transient form seeds and are removed from persisted UI state.

Discovery sequence

  1. Use find_data when the user names a business concept or table. Use list_data when you need to browse available sources or hierarchy.
  2. Use describe_data before relying on columns, types, row counts, or filter values. Pass the exact source_id and table_key returned by discovery.
  3. Use probe_data only when metadata is insufficient to choose a useful bounded result. Probes are limited, read-only, and may be approximate.
  4. First reconcile discoveries with every table in [PRIMARY TABLE(S)], [OTHER AVAILABLE TABLES], or [AVAILABLE TABLES]. If the needed data is already loaded, use or explain that workspace table instead of proposing it.
  5. When there are genuinely missing useful alternatives, call propose_data_operation with one to three complete immutable plans. This pauses for the user's choice; it does not load data yet.

Proposing loading options

Write your answer as message text alongside the call — that prose is what the user reads, so it carries the whole answer. Do not put it in an action field, and do not leave the call bare. Say what you went looking for, what you actually found, and what each option would give them — enough that they can choose without opening a single preview. Two to four sentences; more when the options differ in ways that matter (grain, coverage, freshness, joins needed), fewer when the choice is obvious. Name real tables and columns you saw during discovery, and say plainly when an option is a compromise or when you'd pick one yourself. Write it as you'd say it to a colleague, not as a schema summary.

  • Each option is a complete alternative: a concise action label (2–6 words) and one or more tables. The labels are buttons, not sentences — the reasoning belongs in your message text. The application displays table previews separately, so don't list columns as a substitute for explaining.
  • Use only source IDs, table keys, columns, and values grounded by discovery.
  • For a whole table, omit query. Use the optional raw-row query only when the request needs filters, projection, ordering, or an intentional limit. It uses the same filters / columns / order_by / limit vocabulary as probe_data, without aggregation.
  • Do not invent operation IDs, plan IDs, or hashes. The server creates them.
  • Never propose an exact connector query already represented by a workspace table. The server also enforces this using persisted load provenance.

Grounding rules

  • Never invent source IDs, table keys, columns, or category values.
  • Prefer cached catalog discovery before a live probe.
  • Treat probe rows as evidence for planning, not as analysis input data.
  • Keep queries structured and bounded. Do not generate source-specific SQL.
  • If a source is unavailable or permissions changed, report the tool result and ask the user for the needed connection or choose another source.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

core

FreeSummary

Supports analysis of tables already in the workspace through data inspection, Python calculations, and charts chosen for the question. It also explains how to ask users for clarification and label results with meaningful units and names.

  • Inspecting table columns, statistics, and sample rows
  • Comparing categories or tracking changes over time
  • Exploring distributions and relationships
microsoft/data-formulator17.6KUpdated Oct 17, 2026

error-handling

FreeSummary

Guides developers in handling API failures consistently from backend responses to frontend messages. It covers ordinary and streaming requests, translated error codes, retry and authentication handling, request identifiers, and removing credentials from server logs.

  • Adding an API endpoint with consistent error responses
  • Displaying errors during streaming responses
  • Adding error codes and translated messages
microsoft/data-formulator17.6KUpdated Oct 17, 2026

Guides developers in making agent replies and interface messages follow each user's language settings. It covers language instructions in prompts, frontend translation keys, and adding languages through the application's existing shared modules.

  • Making agent replies follow the user's language
  • Translating backend messages for the interface
  • Adding support for another language
microsoft/data-formulator17.6KUpdated Oct 17, 2026

path-safety

FreeSummary

Guides developers in restricting server file access to approved directories. It covers validated download paths, agent file tools, local data connectors, and sandbox settings to address path traversal, where supplied paths escape their allowed location.

  • Reviewing file download routes
  • Restricting agent file access to a workspace
  • Checking local file connectors for cloud deployment
microsoft/data-formulator17.6KUpdated Oct 17, 2026

report

FreeSummary

Turn data exploration findings into one Markdown report with embedded charts and tables. Adapt the structure for a short summary, blog post, executive briefing, KPI overview, or detailed analysis while checking supporting data.

  • Summarize analysis findings for management
  • Write a blog post with supporting charts
  • Compile a KPI overview with commentary
microsoft/data-formulator17.6KUpdated Oct 17, 2026

See all skills by microsoft

Report a problem with this skill