Skip to main content
Skills are version-controlled prompts with structured metadata that extend what Fabric’s chat interface can do. Write a Markdown file with YAML frontmatter, commit it, and it becomes a callable capability in chat.

What a skill is

A skill is a SKILL.md file. The frontmatter declares its name, triggers, and parameters. The body is a prompt template.
SKILL.md
---
name: summarize-thread
label: Summarize Thread
description: Summarize an email thread or Slack conversation
triggers:
  - "summarize this thread"
  - "tldr"
parameters:
  - name: thread_id
    description: The thread to summarize
    required: true
---

Summarize the following thread concisely, highlighting decisions and action items:

{{thread_content}}

Version-controlled in the repo

Skills live in backend/skills/ in the repository. Meaning:

Tracked in git

Alongside the rest of the codebase.

Reviewed like code

Changes go through code review and roll back like any other code.

Shared via the repo

Teams share a common skill library — no hidden per-user config.
On startup (and on demand), Fabric hydrates skills from the skills/ directory into the database, making them available to every user in the tenant.

Creating a custom skill

Create the file

backend/skills/<name>/SKILL.md.

Fill in frontmatter

name, label, description, triggers, parameters (optional).

Write the prompt body

Use {{variable}} placeholders for parameters. Reference other Fabric tools (the agent can call search_knowledge, query_database, etc. when the skill runs).

Commit and push

The skill is available on next hydration.

How skills are triggered

The chat interface matches user input against skill triggers. If a match is detected, the skill is invoked with extracted parameters. Users can also invoke skills explicitly by name.
Skills can reference Fabric’s knowledge base in their prompts — a skill can instruct the model to search the graph, retrieve documents, compare entities across sources, or execute SQL. The skill body is a prompt, not executable code; the agent interprets it and calls the tools it needs.

Skill parameters

Parameters can be extracted from the user’s message or filled interactively. A skill declares required parameters; Fabric prompts the user for any that are missing before invocation.

System skills

Fabric ships with system skills in backend/skills/_system/ that teach the agent how to use Fabric’s own tools effectively:

searching-gmail

Best practices for querying Gmail-sourced nodes.

searching-slack

Channel-scoped retrieval patterns.

searching-imap

Generic email search across IMAP accounts.

navigating-knowledge-graph

Multi-hop graph traversal examples.
You can read them to understand the tool surface, or copy and modify them as starting points for your own skills.