Install any skill in seconds. Free to start, no credit card required.
Get Started Free →rohitg00/microservices-design
Microservices design patterns including service mesh, event-driven architecture, saga pattern, and API gateway
Passed 19 of 22 test cases with the skill, and 16 of 22 without it.
and 1 more in the full report
3 fixed16 passed either way3 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 3 test cases the skill fixed. Same model, same prompt, with and without the skill.
I need to write an asynchronous domain event handler in TypeScript for our event-driven system when a customer places an order. Provide a standard TypeScript interface for a domain event, along with an async consumer function that processes incoming order events, updates database records, and safely handles duplicate message delivery.
| Checked | Without skill | With skill |
|---|---|---|
| The DomainEvent interface defines a version field typed as a number. | Missed | Passed |
| The DomainEvent interface defines a payload field typed as Record<string, unknown>. | Missed | Passed |
| The event consumer function records processed event IDs to maintain idempotency. | Passed | Passed |
The instructions your model reads when the skill loads.
Define services around business capabilities, not technical layers. Each service owns its data store and exposes a clear API contract.
order-service/ -> owns orders table, publishes OrderCreated events
inventory-service/ -> owns inventory table, subscribes to OrderCreated
payment-service/ -> owns payments table, handles payment processing
notification-service -> stateless, subscribes to events, sends emails/SMS
interface DomainEvent {
eventId: string;
eventType: string;
aggregateId: string;
timestamp: string;
version: number;
payload: Record<string, unknown>;
}
const orderCreatedEvent: DomainEvent = {
eventId: crypto.randomUUID(),
eventType: "order.created",
aggregateId: orderId,
timestamp: new Date().toISOString(),
version: 1,
payload: { customerId, items, totalAmount },
};
await broker.publish("orders", orderCreatedEvent);
async function handleOrderCreated(event: DomainEvent) {
const { items } = event.payload as OrderPayload;
test cases passed, vs 16 / 22 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.