mismagent-realize-port

Implements consumer-owned port interfaces with reusable contract tests for inter-context boundaries.

Updated Jun 12, 2026
One-click install
npx skills add https://github.com/lucolucus/mismagent --skill mismagent-realize-port-lucolucus
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: mismagent-realize-port
Source: https://github.com/lucolucus/mismagent/tree/main/codex/skills/mismagent-realize-port
Command: npx skills add https://github.com/lucolucus/mismagent --skill mismagent-realize-port-lucolucus

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? When two bounded contexts interact, coupling the consumer to the supplier's domain types recreates the very dependency the boundary was meant to remove. This Skill realizes a Port — the consumer-owned, read-only interface that declares what a consumer context needs from another — using only primitives or shared-kernel types, so the inter-context boundary stays clean and independently testable. ## Core Features & Use Cases - Consumer-owned port realization: Generates the interface expressing the consumer's need, exposing named predicates (e.g. sellable) rather than raw supplier fields, with identity types pinned from the manifest. - Reusable contract test: Produces an abstract test class plus a factory and a fake implementation, so the consumer is green on its own and the same test later welds the real Adapter (D2). - tests_nl translation: Converts the user's natural-language boundary tests into concrete contract test cases. - Use Case: While building a Sales context that needs product data from Catalog, the worker loads this Skill to declare a Sales-owned port typed with Int identities, plus a contract test with a fake — later projected into OpenAPI or an event-schema CDC by the seam-cross-deploy skill if the boundary crosses deploys. ## Quick Start Ask the worker to realize the port block defined in your building-block manifest, including its consumer-driven contract test with a fake supplier.

Frequently Asked Questions about mismagent-realize-port

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

FAQPage Schema
How do I implement a consumer-driven contract test for a bounded context boundary?

Define an abstract contract test class with a factory for the subject under test, then provide a fake implementation that makes it pass. The same test later runs against the real Adapter, welding the boundary between consumer and supplier contexts.

What is a consumer-owned port in domain-driven design?

A consumer-owned port is an interface belonging to the consumer context that declares what it needs from a supplier, following the Customer/Supplier relationship of a Context Map. It expresses the consumer's need rather than mirroring the supplier's implementation.

Why should a port interface use primitives instead of supplier domain types?

Using the supplier's domain types, such as Catalog's ProductId on a Sales port, recreates the coupling the boundary was meant to remove. Ports use primitives or shared-kernel types pinned in the manifest, keeping contexts independently evolvable.

When is a port projected into OpenAPI or an event schema?

The worker-composer decides the projection: seam-in-process keeps the port as a code interface with an in-process contract test, while seam-cross-deploy projects it into OpenAPI with per-side types and Pact CDCs, or an event-schema descriptor-reflection CDC.

How are natural-language tests converted into contract test cases?

The user's tests_nl statements about the boundary are translated into concrete contract test cases that exercise the port. For example, a rule that old sales keep old prices becomes a test case routed through the port interface.