Skip to main content

Creating a Skill

A Skill is how you teach QRY something it can't read from your schema: a glossary, a house rule, a step-by-step playbook, or a reusable script. You author Skills in the Skills IDE, and once saved they apply automatically to the right conversations. This guide walks through creating one.

For the conceptual overview — the three dimensions and how they fit together — see the Skills feature reference.

Open the Skills IDE

Open Skills from the main navigation. The IDE works like the Notebooks editor: a list of your Skills on the left, multi-tab editing on the right. A single click opens a Skill in a transient (italic) preview tab; editing it or double-clicking makes the tab permanent.

Click New Skill to start.

Step 1 — Name and describe it

Give the Skill a clear name and a one-line description. The description matters more than you'd think: for model-driven Skills, the description is all the model sees in the catalog until it decides to load the Skill. Write it so the model can tell, at a glance, when this Skill is relevant.

  • Good: "Definitions and SQL for finance metrics: MRR, ARR, churn, CAC."
  • Vague: "Finance stuff."

Step 2 — Choose the scope

Scope decides who the Skill applies to:

ScopeUse it forYou can create it if…
UserYour own preferences and shortcutsalways (it's yours)
WorkspaceKnowledge and rules for a teamyou own the workspace
DatasourceFacts tied to a specific databaseyou're a datasource admin
SystemTenant-wide conventionsyou're a system admin

When several Skills apply, the narrower scope wins on conflicts (user → workspace → datasource → system), but all of them are still provided to the model.

Step 3 — Choose the content type

Content typeWhat you writeExample
KnowledgeFacts, glossaries, documents, business rules (Markdown)"MRR = SUM(monthly_amount) WHERE status='active'"
InstructionHow QRY should behave"Always show the SQL you ran. Prefer charts over tables."
ProcedureA numbered playbook for a class of request"Monthly close: 1. pull trial balance, 2. reconcile…"
ScriptPython that QRY runs in its sandboxa cohort-retention calculation

Knowledge Skills can also be backed by an uploaded document — see Domain Context for the document/RAG path.

Step 4 — Choose the trigger

The trigger decides when the Skill reaches the model:

  • Always — injected into every matching conversation. Use for short, broadly-useful content. Keep it tight; it counts against the context window every time.
  • Similarity — retrieved only when the question is semantically related. Use for long documents and playbooks.
  • Model-driven — the model sees only your one-line description and pulls the full Skill in (or runs the script) when it decides it's relevant. Use for large libraries, procedures, and scripts. Requires an admin to enable model-driven Skills for the tenant — see Model-Driven Skills.
Rule of thumb

Short and always-relevant → Always. Big reference docs → Similarity. Playbooks, scripts, and "only sometimes relevant" → Model-driven.

Step 5 — Write the content and save

Write the body in the editor (Markdown for knowledge/instruction/procedure, Python for scripts). For a script Skill, use the Run button to test it inline — it executes in the sandbox under your permissions, so what you see is what a user with your access would get.

Click Save. The Skill takes effect on the next conversation turn for everyone in its scope.

Testing your Skill

  1. Start a new conversation in the scope the Skill targets (e.g. open the workspace, or select the datasource).
  2. Ask a question the Skill should influence.
  3. For always Skills, the effect is immediate. For similarity and model-driven Skills, phrase the question so it's clearly relevant — you'll see QRY load the Skill (model-driven Skills show a load_skill / run_script step).

If a model-driven Skill never fires, check that an admin has enabled model-driven Skills and that your description actually signals when to use it.

Versioning your Skills

Skills are tracked in Git Folders as .qryskill files, so you can review changes in pull requests, branch to experiment, and move Skills between QRY instances.

See also

QRYA product of IXEN.