filtering
Use when the user needs to filter data — whether in a structured query, a metric aggregation, or an attribute expression.
Skill by honeydew-ai
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/honeydew-ai-filtering
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: data
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/filtering
What's inside
- Skill name
filtering- Description
- Use when the user needs to filter data — whether in a structured query, a metric aggregation, or an attribute expression. Covers filter syntax, date handling, and best practices.
- License
- Apache-2.0
- Instructions
- 176 lines in SKILL.md · view on GitHub
Files (2)
- SKILL.md
- examples.md
SKILL.md (first lines)
## Overview
Filtering restricts which rows contribute to a result. The same expression language applies across three contexts in Honeydew:
| Context | Where it appears | When it runs |
| ------------------------ | --------------------------------------------------------- | ------------------ |
| **Structured query** | `filters` parameter in `get_data_from_fields` / `get_sql_from_fields` | Pre-aggregation |
| **Metric aggregation** | `FILTER (WHERE ...)` on an aggregation | During aggregation |
| **Attribute expression** | `CASE WHEN ... END` in attribute SQL | Per-row evaluation |
| **Metric value filter** | Metric expression in `filters` parameter | Post-aggregation |
---
## Filter Expression Syntax
### Comparisons
```sql
entity.field = 'value'
entity.field > 100
entity.field >= 3 AND entity.field < 10
```
Operators: `=`, `<`, `>`, `>=`, `<=`, `!=`
You can compare an attribute to a constant or to another attribute. Cast mismatching types when comparing (e.g., `entity.field::DATE`).
### Strings
```sql
entity.field = 'exact value'
entity.field IN ('val1', 'val2', 'val3')
entity.field ILIKE '%keyword%'
```
- `ILIKE` is case-insensitive pattern matching (`%` = any characters, `_` = one character)
### Full-Text Search (Snowflake only)
Use `SEARCH` when you don't know exact values and need to find possible matches.
```sql
-- Single search — always use SEARCH_MODE => 'AND'
SEARCH(entity.field, 'search terms', SEARCH_MODE => 'AND')
-- Multiple alternatives — use OR between SEARCH calls
SEARCH(entity.field, 'term1', SEARCH_MODE => 'AND') OR SEARCH(entity.field, 'term2', SEARCH_MODE => 'AND')
```
**Always use `SEARCH_MODE => 'AND'`.**
### NULL Checks
```sql
entity.field IS NULL
entity.field IS NOT NULL
```
### Booleans
```sql
entity.flag = true
entity.flag = false
```
### Date Comparisons
```sql
YEAR(entity.date_field) = 2023
entity.date_field >= '2024-01-01'
entity.date_field BETWEEN '2024-02-05'::DATE AND '2024-02-10'::DATE
```
### Combining Conditions
```sql
entity.price > 50 AND entity.room_type = 'Private room'
entity.status = 'active' OR entity.status = 'pending'
```
Use `AND` / `OR` to combine conditions. Use parentheses to control precedence.
### Type Casting
Cast when types don't match:
```sql
entity.string_field::DATE
entity.number_field::VARCHAR
'2024-01-01'::DATE
DATE('2024-01-01')
```
---
## Filtering Contexts
### 1. Structured Query Filters
Pass filters as a list of expressions in the `filters` parameter of `get_data_from_fields` or `get_sql_from_fields`. Filters are applied **before** aggregation (equivalent to SQL `WHERE`):
Call `get_data_from_fields` with:
- `attributes`: `["detailed_listings.neighbourhood_cleansed"]`
- `metrics`: `["detailed_listings.count"]`
- `filters`: `["detailed_listings.room_type = 'Entire home/apt'", "detailed_listings.price > 50"]`
Each entry in the `filters` list is ANDed together.
### 2. Metric Aggregation Filters
Inside a metric's SQL, use `FILTER (WHERE ...)` to restrict which rows feed the aggregation:
```sql
SUM(orders.price) FILTER (WHERE orders.color = 'red')
COUNT(orders.id) FILTER (WHERE orders.status = 'completed')
```
**Use `FILTER (WHERE ...)`, not `CASE WHEN`**, for filtered aggregations in metrics.From honeydew-ai/honeydew-ai-coding-agents-plugins, Apache-2.0.
More from honeydew-ai/honeydew-ai-coding-agents-plugins
- 0.617score
conversation-review
honeydew-ai
Use when a semantic/context layer curator wants to review past analysis conversations in bulk, categorize user feedback into actionable improvement areas, and…
SkillBFreshness: B★ 43Claude Code +9 - 0.617score
model-exploration
honeydew-ai
Use when exploring Honeydew semantic layer, discovering entities/fields, setting up workspace and branch context, or running structured queries to spot-check…
SkillBFreshness: B★ 43Claude Code +9 - 0.617score
domain-creation
honeydew-ai
Guides you through creating a Honeydew domain — a governance object that scopes entity/field visibility and applies mandatory filters — ideal for setting up…
SkillBFreshness: B★ 43Claude Code +9 - 0.617score
workspace-branch
honeydew-ai
Use when setting up workspace and branch context, switching workspaces or branches, creating or deleting branches, reviewing branch history, or creating a…
SkillBFreshness: B★ 43Claude Code +9 - 0.617score
context-item-creation
honeydew-ai
Guides you through creating context items — instructions, skills, knowledge pointers, and memory events — that give the AI analyst persistent knowledge about…
SkillBFreshness: B★ 43Claude Code +9 - 0.614score
validation
honeydew-ai
Use after creating or modifying ANY Honeydew object (metric, attribute, entity, domain).
SkillBFreshness: B★ 43Claude Code +9 - 0.614score
entity-creation
honeydew-ai
Guides you through defining a new Honeydew entity from a data warehouse source — covering source type, granularity key, and initial attribute mapping — then…
SkillBFreshness: B★ 43Claude Code +9 - 0.614score
metric-creation
honeydew-ai
Guides you step-by-step through defining a business metric (aggregation) on a Honeydew entity.
SkillBFreshness: B★ 43Claude Code +9 - 0.614score
relation-creation
honeydew-ai
Guides you through defining a relationship between two Honeydew entities — covering join type, direction, cross-filtering, and connection method — then pushes…
SkillBFreshness: B★ 43Claude Code +9 - 0.614score
attribute-creation
honeydew-ai
Guides you step-by-step through defining a calculated attribute (dimension) on a Honeydew entity.
SkillBFreshness: B★ 43Claude Code +9 - 0.592score
query-debugging
honeydew-ai
Use when the user wants to review or inspect past query executions in Honeydew — what ran, from which client (BI tools, SQL interface, MCP, deep analysis)…
SkillBFreshness: B★ 43Claude Code +9 - 0.592score
query
honeydew-ai
Use when the user wants to query or analyze data through the Honeydew semantic layer — including natural language analysis questions, deep multi-step…
SkillBFreshness: B★ 43Claude Code +9
Signals
- Stars
- 43
- Forks
- 1
- Open issues
- 0
- Last commit (this folder)
- Apr 15, 2026 (6 months ago)
- Last release
- Aug 18, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Website
- honeydew.ai
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from honeydew-ai
- 0.617score
conversation-review
honeydew-ai
Use when a semantic/context layer curator wants to review past analysis conversations in bulk, categorize user feedback into actionable improvement areas, and…
SkillBFreshness: B★ 43Claude Code +9 - 0.617score
model-exploration
honeydew-ai
Use when exploring Honeydew semantic layer, discovering entities/fields, setting up workspace and branch context, or running structured queries to spot-check…
SkillBFreshness: B★ 43Claude Code +9 - 0.617score
domain-creation
honeydew-ai
Guides you through creating a Honeydew domain — a governance object that scopes entity/field visibility and applies mandatory filters — ideal for setting up…
SkillBFreshness: B★ 43Claude Code +9 - 0.617score
workspace-branch
honeydew-ai
Use when setting up workspace and branch context, switching workspaces or branches, creating or deleting branches, reviewing branch history, or creating a…
SkillBFreshness: B★ 43Claude Code +9 - 0.617score
context-item-creation
honeydew-ai
Guides you through creating context items — instructions, skills, knowledge pointers, and memory events — that give the AI analyst persistent knowledge about…
SkillBFreshness: B★ 43Claude Code +9 - 0.614score
validation
honeydew-ai
Use after creating or modifying ANY Honeydew object (metric, attribute, entity, domain).
SkillBFreshness: B★ 43Claude Code +9
Cite this page
filtering skill. Agent Mart. https://agentmart.dev/skills/honeydew-ai-filtering (last updated 2026-10-24)