Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 27 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,33 @@
[![Docs](https://img.shields.io/badge/docs-readthedocs-blue)](https://agentic-slayer.readthedocs.io/)
[![License](https://img.shields.io/github/license/MotleyAI/slayer)](LICENSE)

A lightweight open-source semantic layer for AI agents and humans
A lightweight, open-source semantic layer that lets AI agents query data without writing SQL.

---

### The problem
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix heading level to follow markdown hierarchy.

The heading jumps from h1 to h3, skipping h2. Per markdown best practices (MD001), headings should increment by one level at a time.

📝 Proposed fix
-### The problem
+## The problem

Apply the same fix to the other new section headings on lines 16 and 23.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
### The problem
## The problem
🧰 Tools
🪛 markdownlint-cli2 (0.21.0)

[warning] 12-12: Heading levels should only increment by one level at a time
Expected: h2; Actual: h3

(MD001, heading-increment)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@README.md` at line 12, Change the "### The problem" heading to an H2 by
replacing "### The problem" with "## The problem" and likewise adjust the other
new section headings referenced (the headings at lines showing new sections,
e.g., the headings currently using "###" around the README content) to use
one-level-lower numbers so the document increments heading levels sequentially
(H1 -> H2 -> H3), ensuring all new headings follow the MD001 rule.


When AI agents write raw SQL, things break in production — hallucinated column names, incorrect joins, metrics that drift across queries. Existing semantic layers (Cube, dbt metrics) were built for dashboards: heavy infrastructure, slow model refresh cycles, and limited expressiveness for the kinds of ad-hoc analysis agents need.

### What SLayer does differently

- **Auto-ingestion with FK awareness** — Connect a database, and SLayer introspects the schema, detects foreign keys, and generates usable models with denormalized joins instantly. No manual modeling required to get started.
- **Dynamic model manipulation** — Agents create and edit models at runtime. Changes take effect immediately — no rebuild, no deploy, no restart.
- **Query-time expressions** — Compose derived metrics on the fly with the `fields` API (`"revenue / count"`, `"cumsum(revenue)"`, `"change_pct(revenue)"`). No need to pre-define every metric.
- **First-class time operations** — Built-in `time_shift`, `change`, `change_pct`, `cumsum`, `rank`, and `last` — all composable and nestable (e.g., `"change(cumsum(revenue))"`).

### Roadmap

- Measures from joined models
- Multistage queries
- Unpivoting
- Smart output formatting (currency, percentages)
- Auto-propagating filters
- Asof joins
- Chart generation (eCharts)
- Claude Code plugin with query skills

---

## Quick Start

Expand Down
Loading