context-distiller

Distills domain concepts into bounded contexts using verb-first and effect-first analysis.

Updated Nov 19, 2020
One-click install
npx skills add https://github.com/kwojtasinski-repo/ECommerceApp --skill context-distiller-kwojtasinski-repo
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: context-distiller
Source: https://github.com/kwojtasinski-repo/ECommerceApp/tree/main/.github/skills/context-distiller
Command: npx skills add https://github.com/kwojtasinski-repo/ECommerceApp --skill context-distiller-kwojtasinski-repo

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Domain modeling often produces ambiguous boundaries: the same noun means different things in different contexts, or similar concepts get duplicated when they could share one model. This Skill resolves that ambiguity by systematically deciding whether concepts should be generalized, split, or kept specific. ## Core Features & Use Cases - Verb-first generalization: Groups concepts by shared actions and consumer effects rather than by noun similarity, producing reusable abstractions like availability or scheduling. - Meaning-based splitting: Splits a word into separate context-specific models when different contexts need different data, commands, or actors. - Interactive boundary confirmation: Asks one clarifying question at a time before finalizing any boundary decision, with counterexample attacks on every proposed generalization. - Use Case: After an event storming session for an e-commerce system, feed the concept list in and receive a distilled context map showing which concepts generalize (e.g., reservation across inventory and shipping) and which must split (e.g., 'order' in checkout vs. fulfillment). ## Quick Start Ask the assistant to distill the bounded contexts from your domain description or event storming output and confirm each proposed boundary through its questions.

Frequently Asked Questions about context-distiller

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

FAQPage Schema
How do I decide whether to split a concept into separate bounded contexts?

Split a concept when different contexts need different data, different commands apply, or different actors treat it differently. The Skill tests whether the same word carries the same meaning everywhere and splits it when meanings diverge.

How to find generalization candidates in domain modeling?

Search by verbs rather than nouns: if two concepts share the same actions and the consumer only cares about the same effect, they are generalization candidates. Each candidate is then attacked with counterexamples before being accepted.

What input does this domain distillation workflow accept?

It accepts a domain description, event storming output, or a concept list. It extracts noun and verb inventories from that input before analyzing split and generalization candidates.

Does the distillation process require user interaction?

Yes, it is interactive by default and asks one clarifying question at a time before finalizing boundary decisions. It uses the host question UI when available, otherwise plain chat, and never silently assumes boundary-affecting details.

When should I not use context distillation?

Avoid it when you only need code implementation advice, when the domain is already clear with no boundary ambiguity, or when you just need a quick lookup of a known concept. It produces a context map, not implementation guidance.