domain-predicates

Generate Schema.Data-based equality, field predicates, and Order instances for TypeScript domain types.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/front-depiction/claude-setup --skill domain-predicates
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: domain-predicates
Source: https://github.com/front-depiction/claude-setup/tree/main/skills/domain-predicates
Command: npx skills add https://github.com/front-depiction/claude-setup --skill domain-predicates

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill generates predicates and order instances for domain types by deriving them from schemas and typeclass patterns, enabling consistent comparisons and deduplication across codebases.

Core Features & Use Cases

  • Schema-based equality: automatically derive structural equality using Schema.Data for domain types.
  • Field-based predicates and orders: create Equivalence.mapInput and Order.mapInput based on domain fields.
  • Composable patterns: combine multiple predicates and orders with dedicated utilities to build complex queries.

Quick Start

Define a domain type with a Schema, then derive Equivalence and Order instances and apply them to collections to deduplicate or sort.

Frequently Asked Questions about domain-predicates

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I auto-derive structural equality for TypeScript domain types?

To auto-derive structural equality for TypeScript domain types, define your data using a Schema. This Skill uses Schema.Data to automatically generate Equivalence instances, enabling consistent comparisons and deduplication across your codebase.

What is the best way to generate multi-criteria sorting for TypeScript schemas?

The best way to generate multi-criteria sorting for TypeScript schemas is to derive Order instances using typeclass patterns. This Skill creates field-based orders and combines them with dedicated utilities to build complex, multi-field sorting logic.

Can I create field-based predicates from a Schema in TypeScript?

Yes, you can create field-based predicates from a Schema in TypeScript. This Skill uses Equivalence.mapInput and Order.mapInput based on specific domain fields to generate targeted predicates for querying and filtering collections.

How do I combine multiple predicates and orders using typeclass patterns?

You combine multiple predicates and orders using typeclass patterns by applying combinator-based composition. This Skill provides dedicated utilities that use mapInput and combine to compose complex queries from simpler field-based instances.

Does this typeclass derivation approach work without external dependencies?

Yes, this typeclass derivation approach works without external dependencies. The Skill specifies an empty dependency array, meaning it generates predicates and Order instances natively within your TypeScript environment.