About coral
Coral is an AI-agent skill for querying external context through Coral MCP tools and resources. It lays out a discovery-to-SQL workflow and requires checking available sources and metadata before making claims or guiding code changes.
Key features
- 01Discover tables and table functions
- 02Inspect schemas, columns, and source inputs
- 03Query data with SQL
- 04Apply required filters and bounded results
- 05Summarize evidence, gaps, and next steps
Use cases
- 01Verify live external state before answering
- 02Find source data and query it for a request
- 03Use query results to guide code changes
MCP support
Coral MCP tools and resources are the required entry point for discovery and queries. The skill says to stop and report the blocker if Coral MCP is unavailable.
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ withcoral/ skills --skill coralAfter installing, type/coralin Claude Code to confirm it loaded.
Bundled filesagents/openai.yaml
Details
From the project READMECoral
Overview
Use this as the Coral entrypoint for external context. Query Coral before answering from assumptions or changing code when live external state matters.
- Use Coral MCP tools/resources for discovery and query.
- Do not use the
coralCLI, compile Coral, copy binaries, or bootstrap a server unless explicitly asked. - Do not switch to vendor tools for the same read unless the user asks to continue without Coral or Coral does not cover the source.
Support Checks
- Confirm Coral MCP tools/resources before making external-system claims.
- If Coral MCP is unavailable, state the blocker and stop; no local recovery.
- Distinguish missing source config, missing credentials, query errors, and empty results.
- If scope is missing, inspect guidance first, then ask for the smallest missing identifier.
Workflow
- Identify the needed source, entity, and scope from the user request.
- Discover relevant tables, table functions, columns, and filters with
search; uselist_catalogwhen you need a paged catalog view narrowed by catalog, schema, or kind. - Use
describewithschemaand a baresurfacename when you need exact metadata; addcatalogfor a three-part table. Coral resolves whether the surface is a table or table function. Keep the request target or earlier discovery result because an exact response returns metadata without repeating the target. Readkind,guide,required_filters, function arguments, and result columns; usecoral://guidefor query patterns andcoral://tablesfor table summaries. - Inspect
coral.columnsfor table columns, required filters, virtual columns, and descriptions. - Inspect
coral.table_functionsfor source-scoped function guides, arguments, and result columns. - Inspect
coral.inputswhen source configuration affects the answer. - Query with
sql: select useful columns, include required filters or function arguments, and addLIMITunless complete output is requested. - Summarize evidence, gaps, and next action. If editing code, use the Coral result to guide changes.
Query Rules
- Use each table's
sql_referencewhen available. Emptycatalog_namemeansschema_name.table_name; otherwise usecatalog_name.schema_name.table_name. Quote identifiers separately, never the whole qualified reference. - Use each table function's
sql_call_example, filling in required arguments before querying it. - Keep metadata discovery bounded: page catalog discovery, query
coral.columnsfor one table orcoral.table_functionsfor one source when possible, and addLIMITwhen reading broad metadata directly. - Virtual columns are filter-only and return
NULL; checkis_virtual. - Required filters must appear in
WHERE; inspectrequired_filtersandis_required_filter. - Secret inputs always return
value = NULL; useis_set. - Cross-source joins work and execute locally after source scans complete.
- Keep answers compact: name the source, table, required filters, and query shape. Avoid exhaustive column dumps unless requested.
- Lead with the answer or blocker. Include SQL only when it helps the user trust or reuse the result.
Boundaries
- Manifest fallback is only by request; inspect the smallest relevant sections and summarize table/filter shape.
- Do not paste large manifest excerpts, present source-wide conclusions without query coverage, or treat query failures as empty results.
Feedback
If the MCP feedback tool is available, file feedback when Coral blocks progress, pushes an unproductive pattern, or a vendor tool was easier for the same read.
Include trying_to_do, tried, and stuck, with table/source names, query snippets, and error text. Do not file feedback for ordinary empty results or missing credentials unless Coral made the problem unclear.