Evolving The Data Model
TriliumNext/Trilium
A skill your agent uses when adding a DB migration or a new column/field to a Becca entity in Trilium ("add a migration", "new column on notes/attributes", "ALTER TABLE", "add a field to…
A skill your agent uses when the user needs to filter data — whether in a structured query, a metric aggregation, or an attribute expression.
$ npx skills add hashgraph-online/awesome-codex-plugins --skill filtering -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install hashgraph-online/awesome-codex-plugins filtering --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/honeydew-ai/honeydew-ai-coding-agents-plugins/skills/filtering .claude/skills/filtering && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "filtering" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/honeydew-ai/honeydew-ai-coding-agents-plugins/skills/filtering into .claude/skills/filtering/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "filtering", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/honeydew-ai/honeydew-ai-coding-agents-plugins/skills/filteringType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add hashgraph-online/awesome-codex-plugins --skill filtering -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install hashgraph-online/awesome-codex-plugins filtering --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/honeydew-ai/honeydew-ai-coding-agents-plugins/skills/filtering .agents/skills/filtering && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "filtering" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/honeydew-ai/honeydew-ai-coding-agents-plugins/skills/filtering into .agents/skills/filtering/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "filtering", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add hashgraph-online/awesome-codex-plugins --skill filtering -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install hashgraph-online/awesome-codex-plugins filtering --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/honeydew-ai/honeydew-ai-coding-agents-plugins/skills/filtering .cursor/skills/filtering && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "filtering" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/honeydew-ai/honeydew-ai-coding-agents-plugins/skills/filtering into .cursor/skills/filtering/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "filtering", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/hashgraph-online/awesome-codex-plugins.git --path plugins/honeydew-ai/honeydew-ai-coding-agents-plugins/skills/filtering--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add hashgraph-online/awesome-codex-plugins --skill filtering -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install hashgraph-online/awesome-codex-plugins filtering --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/honeydew-ai/honeydew-ai-coding-agents-plugins/skills/filtering .gemini/skills/filtering && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "filtering" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/honeydew-ai/honeydew-ai-coding-agents-plugins/skills/filtering into .gemini/skills/filtering/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "filtering", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install hashgraph-online/awesome-codex-plugins filteringInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add hashgraph-online/awesome-codex-plugins --skill filtering -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/honeydew-ai/honeydew-ai-coding-agents-plugins/skills/filtering .github/skills/filtering && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "filtering" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/honeydew-ai/honeydew-ai-coding-agents-plugins/skills/filtering into .github/skills/filtering/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "filtering", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add hashgraph-online/awesome-codex-plugins --skill filtering -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install hashgraph-online/awesome-codex-plugins filtering --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/honeydew-ai/honeydew-ai-coding-agents-plugins/skills/filtering .opencode/skills/filtering && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "filtering" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/honeydew-ai/honeydew-ai-coding-agents-plugins/skills/filtering into .opencode/skills/filtering/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "filtering", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
filteringA skill your agent uses when the user needs to filter data — whether in a structured query, a metric aggregation, or an attribute expression.
Filtering is an agent skill from hashgraph-online/awesome-codex-plugins. 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.
Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `examples.md`).
It sits in Databases. It works with SQL. The repository describes itself as: A curated list of awesome OpenAI Codex / ChatGPT plugins, skills, and resources. The 1 Codex Marketplace. See live plugins at: https://hol.org/plugins/best-codex-plugins. The licence is Apache-2.0.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 78497e5. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are sql).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Filtering loads about 1.5k tokens when it runs. Until then it costs about 47 tokens; SKILL.md has 470 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from hashgraph-online/awesome-codex-plugins at commit 78497e5, republished under its Apache-2.0 licence (© hashgraph-online). 470 words, ~1,490 tokens.
.claude/skills/filtering/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.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 |
entity.field = 'value'
entity.field > 100
entity.field >= 3 AND entity.field < 10Operators: =, <, >, >=, <=, !=
You can compare an attribute to a constant or to another attribute. Cast mismatching types when comparing (e.g., entity.field::DATE).
entity.field = 'exact value'
entity.field IN ('val1', 'val2', 'val3')
entity.field ILIKE '%keyword%'ILIKE is case-insensitive pattern matching (% = any characters, _ = one character)Use SEARCH when you don't know exact values and need to find possible matches.
-- 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'.
entity.field IS NULL
entity.field IS NOT NULLentity.flag = true
entity.flag = falseYEAR(entity.date_field) = 2023
entity.date_field >= '2024-01-01'
entity.date_field BETWEEN '2024-02-05'::DATE AND '2024-02-10'::DATEentity.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.
Cast when types don't match:
entity.string_field::DATE
entity.number_field::VARCHAR
'2024-01-01'::DATE
DATE('2024-01-01')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.
Inside a metric's SQL, use FILTER (WHERE ...) to restrict which rows feed the aggregation:
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.
In attribute SQL, use CASE WHEN for conditional per-row logic:
CASE
WHEN orders.amount > 1000 THEN 'high'
WHEN orders.amount > 100 THEN 'medium'
ELSE 'low'
ENDYou can filter on aggregated metric values — the equivalent of SQL's HAVING clause. Use the metric expression (named or ad-hoc) in the filters parameter of a structured query. These filters are applied after aggregation.
This works with both named metrics (e.g., entity.metric_name > 10) and ad-hoc aggregations (e.g., COUNT(entity.field) > 1).
For examples — including duplicate detection, minimum group size, and revenue thresholds — see
examples.md.
| Function | Use |
|---|---|
CURRENT_DATE | Reference today |
DATE_TRUNC | Get boundaries: DATE_TRUNC(month, CURRENT_DATE()) |
INTERVAL | Relative time: CURRENT_DATE() - INTERVAL '1 month' |
| Cast strings | DATE('2024-01-01') or '2024-01-01'::DATE |
DATE_TRUNC(month, order.order_date) = DATE_TRUNC(month, CURRENT_DATE() - INTERVAL '1 month')Do NOT use interval calculation when asked about specific dates (e.g., "November 2024"). Use explicit date values instead.
SEARCH when values are unknown — avoids hard-coding exact stringsILIKE for pattern matching — case-insensitive, good for partial matchesFILTER (WHERE ...) in metrics, not CASE WHEN — cleaner, standard SQLCASE WHEN in attributes — for per-row conditional logicIN (...) over multiple OR — cleaner for known value listsCURRENT_DATE, DATE_TRUNC, INTERVAL© hashgraph-online, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in plugins/honeydew-ai/honeydew-ai-coding-agents-plugins/skills/filtering of hashgraph-online/awesome-codex-plugins.
Open the folder on GitHubat commit 78497e5
Filtering next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Filtering this skillhashgraph-online/awesome-codex-plugins | 1.2k | — | ~1.5k | Automated safety check: Pass | Apache-2.0 | |
| Evolving The Data ModelTriliumNext/Trilium | 38k | — | ~2.1k | Automated safety check: Pass | AGPL-3.0 | |
| Orchardcore Data MigrationOrchardCMS/OrchardCore | 8.2k | — | ~1.7k | Automated safety check: Pass | BSD-3-Clause | |
| SQL Optimization Patternsynulihao/AgentSkillOS | 617 | 11 repos | ~3.3k | Automated safety check: Pass | None | |
| SQL PortabilityHL7/sql-on-fhir | 150 | — | ~512 | Automated safety check: Pass | Custom licence | |
| ChronicleailyProject/aily-blockly | 3.8k | — | ~1.6k | Automated safety check: Pass | GPL-3.0 |
TriliumNext/Trilium
A skill your agent uses when adding a DB migration or a new column/field to a Becca entity in Trilium ("add a migration", "new column on notes/attributes", "ALTER TABLE", "add a field to…
OrchardCMS/OrchardCore
Creates and updates OrchardCore data migrations (DataMigration classes with CreateAsync/UpdateFromX).
ynulihao/AgentSkillOS
Master SQL query optimization, indexing strategies, and EXPLAIN analysis to dramatically improve database performance and eliminate slow queries.
HL7/sql-on-fhir
Analyse whether a SQL query is portable across database implementations using sqlglot transpilation.
ailyProject/aily-blockly
Analyze indexed Aily chat session history for prior decisions, tool executions, project summaries, usage tips, and session-store reindexing.
SAP/project-foxhound
Manage Redash queries and dashboards on Mozilla's STMO (sql.telemetry.mozilla.org) using stmo-cli.
hashgraph-online/awesome-codex-plugins
Create original anime-style reaction stickers as looping GIFs and MP4 previews, using generated character pose sheets and timed key poses.
hashgraph-online/awesome-codex-plugins
Manage and query Calibre libraries with the calibredb CLI (local paths or Calibre Content server URLs).
hashgraph-online/awesome-codex-plugins
A skill your agent uses when adding, changing, testing, or debugging Rust HTTP APIs and services, especially when Codex needs black-box integration tests, random-port app startup, real database test…
hashgraph-online/awesome-codex-plugins
Make a studio's game look like something at build time — a cover from a real frame of the game (free), painted covers, backdrops, textures and character plates from image models through the…
hashgraph-online/awesome-codex-plugins
Balance game difficulty, resources, rewards, probability, progression, economies, and dominant strategies.
hashgraph-online/awesome-codex-plugins
Analyze nonfiction manuscripts for reader engagement signals, including heading-level word counts, slow starts, long slogs, weak takeaway titles, value pacing, beta-reader comment dropoff, and…
Works with
Categories
A skill your agent uses when the user needs to filter data — whether in a structured query, a metric aggregation, or an attribute expression. Filtering is an agent skill from hashgraph-online/awesome-codex-plugins. Use when the user needs to filter data — whether in a structured query, a metric aggregation, or an attribute expression.
Filtering fits situations like: the user needs to filter data — whether in a structured query; A metric aggregation; an attribute expression.
Run `npx skills add hashgraph-online/awesome-codex-plugins --skill filtering -a claude-code`. Or copy the skill folder (plugins/honeydew-ai/honeydew-ai-coding-agents-plugins/skills/filtering in hashgraph-online/awesome-codex-plugins) into .claude/skills/filtering in your project. Claude Code loads it when a task matches its description.
Run `npx skills add hashgraph-online/awesome-codex-plugins --skill filtering -a codex`. Or copy the skill folder (plugins/honeydew-ai/honeydew-ai-coding-agents-plugins/skills/filtering in hashgraph-online/awesome-codex-plugins) into .agents/skills/filtering in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add hashgraph-online/awesome-codex-plugins --skill filtering -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/filtering, .gemini/skills/filtering, .github/skills/filtering and .opencode/skills/filtering in your project.
SKILL.md names no scripts, command-line tools or credentials: Filtering is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Filtering is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.5k tokens (SKILL.md is roughly 6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Filtering: Evolving The Data Model (TriliumNext/Trilium, 38k stars), Orchardcore Data Migration (OrchardCMS/OrchardCore, 8.2k stars), SQL Optimization Patterns (ynulihao/AgentSkillOS, 617 stars) and SQL Portability (HL7/sql-on-fhir, 150 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
hashgraph-online (a GitHub organization) maintains it in hashgraph-online/awesome-codex-plugins, which has 1,242 GitHub stars. The repository holds 686 skills in this directory. The repository was last updated on October 8, 2026.
Source: hashgraph-online/awesome-codex-plugins on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.