> For the complete documentation index, see [llms.txt](https://docs.euno.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.euno.ai/ai/skills.md).

# Skills

## Skills

Skills let you teach your agent how your organization wants recurring questions answered — not just what terminology to use, but the full workflow: which resources to check first, what to prefer, what to avoid, and how to format the answer.

Where [AI Instructions](https://app.gitbook.com/o/Zp1PQYN4C2QeTxTCoMoq/s/jd87LSzdZm6uu6WlpVMg/~/edit/~/changes/369/ai#ai-directives) are short, always-on context (“prefer certified dashboards”, “when we say *model* we mean a Snowflake semantic view”), skills are structured playbooks for specific jobs. A skill might define a three-step discovery process for analytical questions, a governance checklist before recommending a dataset, or the exact output sections your analysts expect in every response.

### Why use skills?

Most teams eventually ask the same kinds of metadata questions again and again:

* “Where do I find metrics about customer retention?”
* “Which semantic view covers this topic, and has anyone already built a report on it?”
* “What base tables feed this KPI?”

Without a skill, the assistant searches ad hoc. It may load heavy metadata, miss existing BI work, or answer in a format that does not match how your team works.

A skill captures your approach once. After that, every run follows the same guardrails — parallel discovery rounds, preferred resource types, lineage checks, ranking rules — without the user repeating instructions in every conversation.

### Skills vs AI Instructions

|                 | AI Instructions                               | Skills                                                             |
| --------------- | --------------------------------------------- | ------------------------------------------------------------------ |
| Purpose         | Global preferences and terminology            | Repeatable workflows for specific question types                   |
| Length          | A few sentences                               | Often a full Markdown document with steps and guardrails           |
| When they apply | Always (when set)                             | When loaded manually, or automatically if configured               |
| Best for        | “Prefer certified assets”, naming conventions | “Route analytical questions through semantic layer → lineage → BI” |

Use both together: AI Instructions set the baseline; skills handle the detailed procedure.

## Example: Analytical Routing

The example below shows a customer skill for a common pattern: route analytical questions through the semantic layer, upstream lineage, and existing BI analyses.

It is written for accounts that use Snowflake semantic views as the primary routing surface and Tableau or Power BI for existing reports. Adapt the Customer Preferences section for your integrations, domains, and naming conventions.

````markdown
---
name: analytical-question-routing
description: Route analytical and data questions through the semantic layer, upstream lineage, and existing BI analyses. Use when a user asks where to find metrics, dimensions, or reports for a business topic — not when they already named a specific resource URI.
---

# Analytical Question Routing

Route analytical questions across: **semantic model → lineage → BI coverage**.

Execute in **three rounds**. Within each round, run independent steps **in parallel**.

**HARD STOP:** Never load a full semantic view's `native_raw_object`. Use the child inventory
(Return: name, uri, type only.) instead. The only permitted `native_raw_object` loads are on individual child
dimension/metric URIs, in Round 3 only, and only when aggregation type cannot be inferred from
the name.

---

## Purpose

Help analysts and data consumers find the right semantic definitions, upstream tables, and
existing analyses for a business question — without writing SQL or guessing resource names.

## When To Use

Use this skill when the user asks:

- Where to find a metric, dimension, or KPI
- Which semantic view or model covers a topic
- What base tables or dbt models feed a metric
- Whether an existing dashboard, workbook, or notebook already answers the question

Do **not** use when the user already provided a specific resource URI or name to debug — use
`TRACE_LINEAGE` or `DISCREPANCY_ANALYSIS` instead.

## Customer Preferences

- **Semantic layer:** Prefer Snowflake semantic views (`snowflake_semantic_view`) as the primary
  routing surface; fall back to dbt models and tables only in Round 3.
- **BI tools:** Surface Tableau dashboards and workbooks and Power BI reports when present; rank by name/description
  overlap with the question, then recency.
- **Glossary first:** When a business term appears in the question, check definitions before
  broad discovery.
- **Certified assets:** When two candidates tie, prefer resources marked certified or in the
  Finance / Core Analytics domain (adjust to your domains).
- **Naming variants:** If your account uses paired semantic views (for example a base view and an
  `_ai` enriched sibling), evaluate both in Round 2 and prefer the variant whose child inventory
  best matches the question's noun phrases.

## Euno Capabilities To Use

| Step | Euno MCP skill | Role |
| --- | --- | --- |
| Business term in question | `GLOSSARY_LOOKUP` | Resolve definition and associated resources before broad search |
| Round 1 discovery | `LOCATE_RESOURCES_FOR_TOPIC` | Find semantic views, dimensions/metrics, glossary terms, BI assets |
| Round 2 validation | `TRACE_LINEAGE` | Enumerate upstream base tables for each candidate semantic view |
| Round 2 related assets | `LOCATE_RESOURCES_FOR_TOPIC` | Inspect semantically related resources from glossary or SV metadata |
| Round 3 gap-fill | `LOCATE_RESOURCES_FOR_TOPIC` | Search tables and dbt models for unmatched noun phrases |

**Fallback (no MCP skill):** Round 2 child inventory uses EQL via `search_resources_eql`:

```eql
type IN ('snowflake_dimension', 'snowflake_metric') AND has parent(uri = '<sv-uri>')
```

````


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.euno.ai/ai/skills.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
