Agent skill

Contact Filter

by ChatbotXIO in ChatbotXIO/ChatbotX

Work with the ChatbotX contact filter system — the shared filter model behind the contacts list, conversations, and broadcast audiences.

Custom licenceAuto-check passedDatabases

Install Contact Filter

skills CLI
$ npx skills add ChatbotXIO/ChatbotX --skill contact-filter -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ChatbotXIO/ChatbotX contact-filter --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ChatbotXIO/ChatbotX.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/contact-filter .claude/skills/contact-filter && rm -rf skills-src

Use ~/.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/

Facts

Skill name
contact-filter
GitHub stars
879
Token cost
~2.5k tokens
SKILL.md length
827 words
Files
1
Skills in repo
18
Repo updated
First seen
Licence
Custom licence

At a glance

Work with the ChatbotX contact filter system — the shared filter model behind the contacts list, conversations, and broadcast audiences.

  • Works in 5 steps: Enum — add the field key to… → Definition — add one entry to… → Operator rules — TWO places (CRITICAL,… → …
  • Adding a filter field
  • SKILL.md covers Architecture, Adding a new filter field, Where filter application lives and Backend query builder…, plus 6 more sections
  • Calls pnpm

What it does

Contact Filter is an agent skill from ChatbotXIO/ChatbotX. Work with the ChatbotX contact filter system — the shared filter model behind the contacts list, conversations, and broadcast audiences. Use when adding a filter field or operator, changing the filter UI, editing the SQL query builder, or enforcing an audience constraint. Covers the definitions single-source, the two operator-rule sources that must stay in sync, NULL / negation three-valued logic, relation EXISTS subqueries, and the excludeFields mechanism.

Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Databases, covering SQL. It works with SQL. The repository describes itself as: Open-source ManyChat alternative, built for AI. Omnichannel marketing across WhatsApp, TikTok, Facebook, Instagram, Telegram, Zalo, Email, API, and Webchat 🤖.

When your agent uses it

  • Adding a filter field
  • Changing the filter UI
  • Editing the SQL query builder
  • Enforcing an audience constraint

Example prompts

  • “/contact-filter”

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Enum — add the field key to contactFilterFields in
  2. Definition — add one entry to CONTACT_FILTER_FIELD_DEFINITIONS
  3. Operator rules — TWO places (CRITICAL, must match)
  4. Backend SQL — add a case to buildConditionWhere
  5. Options / group (if not none) — wire the option source in

What it can do on your machine

Read from SKILL.md and the folder at commit 9966b28. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • pnpm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use pnpm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Contact Filter loads about 2.5k tokens when it runs. Until then it costs about 119 tokens; SKILL.md has 827 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~119
When it runs · the whole SKILL.md, loaded when a task matches
~2.5k

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.

Safety

Auto-check passed

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.

SKILL.md

Its licence (Custom licence) doesn't allow us to republish the file, so here is its outline and opening line. It has 827 words (~2,535 tokens).

“A reusable, structured filter ({ operator, conditions[] }) applied to contacts. Lives in two packages:”

— opening of SKILL.md by ChatbotXIO, Custom licence
name
contact-filter

Read the full SKILL.md on GitHub

Files

Just SKILL.md in .agents/skills/contact-filter of ChatbotXIO/ChatbotX.

Open the folder on GitHubat commit 9966b28

Compare with similar skills

Contact Filter 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.

Contact Filter compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Contact Filter this skillChatbotXIO/ChatbotX879—~2.5kAutomated safety check: PassCustom licence
Evolving The Data ModelTriliumNext/Trilium38k—~2.1kAutomated safety check: PassAGPL-3.0
Orchardcore Data MigrationOrchardCMS/OrchardCore8.2k—~1.7kAutomated safety check: PassBSD-3-Clause
SQL Optimization Patternsynulihao/AgentSkillOS61711 repos~3.3kAutomated safety check: PassNone
SQL PortabilityHL7/sql-on-fhir150—~512Automated safety check: PassCustom licence
StmoSAP/project-foxhound1802 repos~1.8kAutomated safety check: PassGPL-3.0

Similar skills

  • 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…

    38k GitHub stars~2.1k tokensUpdated today
    DatabasesAuto-check passed
  • Orchardcore Data Migration

    OrchardCMS/OrchardCore

    Creates and updates OrchardCore data migrations (DataMigration classes with CreateAsync/UpdateFromX).

    8.2k GitHub stars~1.7k tokensUpdated today
    DatabasesAuto-check passed
  • SQL Optimization Patterns

    ynulihao/AgentSkillOS

    Master SQL query optimization, indexing strategies, and EXPLAIN analysis to dramatically improve database performance and eliminate slow queries.

    617 GitHub starsUsed in 11 repos~3.3k tokens
    DatabasesAuto-check passed
  • SQL Portability

    HL7/sql-on-fhir

    Analyse whether a SQL query is portable across database implementations using sqlglot transpilation.

    150 GitHub stars~512 tokensUpdated 2 days ago
    DatabasesAuto-check passed
  • Stmo

    SAP/project-foxhound

    Official

    Manage Redash queries and dashboards on Mozilla's STMO (sql.telemetry.mozilla.org) using stmo-cli.

    180 GitHub starsUsed in 2 repos~1.8k tokens
    DatabasesAuto-check passed
  • DB Migrations

    kurealnum/dotfiles

    A skill your agent uses when generating or regenerating Drizzle migration files, changing database schema tables or columns, resolving migration sequence conflicts after rebase, reviewing migration…

    290 GitHub stars~820 tokensUpdated 5 mo ago
    DatabasesAuto-check passed

More from ChatbotXIO/ChatbotX

All 18 skills in this repo
  • Builder UI I18n

    ChatbotXIO/ChatbotX

    Build or modify ChatbotX builder UI components, forms, tables, dialogs, shared UI usage, and translations.

    879 GitHub stars~2.1k tokensUpdated today
    Auto-check passed
  • Business Data Access

    ChatbotXIO/ChatbotX

    Implement or modify ChatbotX business services, repositories, cache invalidation, event emission, and data-access boundaries.

    879 GitHub stars~1.8k tokensUpdated today
    Auto-check passed
  • Chatbotx Basecode

    ChatbotXIO/ChatbotX

    Understand and audit the ChatbotX base code before making changes.

    879 GitHub stars~806 tokensUpdated today
    Auto-check passed
  • Drizzle Database

    ChatbotXIO/ChatbotX

    Work with Drizzle ORM database schema, migrations, relations, and queries in PostgreSQL.

    879 GitHub stars~2.1k tokensUpdated today
    Auto-check passed
  • Flow Step Development

    ChatbotXIO/ChatbotX

    Add new flow steps with state-based routing (success/error/skip).

    879 GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • Minigame

    ChatbotXIO/ChatbotX

    Work on the Minigame tool — the Jackpot slot-machine game (and four scaffolded-but-unimplemented types: luckyWheel, gashapon, drawLots, scratchOff) that workspaces create, share a public play link…

    879 GitHub stars~3.3k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Contact Filter

What does Contact Filter do?

Work with the ChatbotX contact filter system — the shared filter model behind the contacts list, conversations, and broadcast audiences. Contact Filter is an agent skill from ChatbotXIO/ChatbotX. Work with the ChatbotX contact filter system — the shared filter model behind the contacts list, conversations, and broadcast audiences.

When should I use Contact Filter?

Contact Filter fits situations like: adding a filter field; changing the filter UI; editing the SQL query builder; enforcing an audience constraint.

How do I install Contact Filter in Claude Code?

Run `npx skills add ChatbotXIO/ChatbotX --skill contact-filter -a claude-code`. Or copy the skill folder (.agents/skills/contact-filter in ChatbotXIO/ChatbotX) into .claude/skills/contact-filter in your project. Claude Code loads it when a task matches its description.

How do I install Contact Filter in Codex?

Run `npx skills add ChatbotXIO/ChatbotX --skill contact-filter -a codex`. Or copy the skill folder (.agents/skills/contact-filter in ChatbotXIO/ChatbotX) into .agents/skills/contact-filter in your project. Codex loads it when a task matches its description.

Can I use Contact Filter in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ChatbotXIO/ChatbotX --skill contact-filter -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/contact-filter, .gemini/skills/contact-filter, .github/skills/contact-filter and .opencode/skills/contact-filter in your project.

What does Contact Filter need to run?

Going by SKILL.md and its folder, Contact Filter needs the command-line tools its instructions call (pnpm).

Does Contact Filter access the network?

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.

Is Contact Filter safe to install?

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.

What licence does Contact Filter use?

Contact Filter has a licence file (the repository's licence) that doesn't match a standard licence. Read it on GitHub before reusing the skill.

How many tokens does Contact Filter use?

About 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Contact Filter?

Skills that share tags, products or a category with Contact Filter: 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.

Who maintains Contact Filter?

ChatbotXIO (a GitHub organization) maintains it in ChatbotXIO/ChatbotX, which has 879 GitHub stars. The repository holds 18 skills in this directory. The repository was last updated on October 8, 2026.

Source: ChatbotXIO/ChatbotX on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.