37signals-events

Implement domain event models, activity feeds, and webhook delivery in Rails apps.

1|Updated Feb 3, 2026
One-click install
npx skills add https://github.com/joshyorko/agent-skills --skill 37signals-events
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: 37signals-events
Source: https://github.com/joshyorko/agent-skills/tree/main/plugins/rails-37signals-patterns/skills/37signals-events
Command: npx skills add https://github.com/joshyorko/agent-skills --skill 37signals-events

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Builds structured domain events, activity feeds, and webhook integrations to provide auditable histories, real-time updates, and external system integrations in Rails apps.

Core Features & Use Cases

  • Domain events as first-class models (e.g., CardMoved, CommentAdded, MemberInvited) to drive accurate history and actions.
  • Polymorphic Activity feeds that reference concrete events for timeline views and auditing.
  • Webhook system with durable deliveries, retries, and security signatures for external integrations.
  • Client-side event tracking and analytics hooks to capture user interactions without polluting domain models.

Quick Start

Implement the domain event pattern by defining event models, wiring them to activity and webhook delivery, and exposing an activity feed for the account.

Frequently Asked Questions about 37signals-events

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

FAQPage Schema
How do I implement domain events and activity feeds in Rails?

This pattern creates structured domain events as first-class Rails models, such as CardMoved or CommentAdded, and links them to polymorphic activity feeds to provide accurate audit trails and timeline views.

What is the best way to set up webhooks with retries and delivery guarantees in Rails?

You achieve durable webhook delivery by combining database-backed persistence, UUID keys, and Solid Queue background jobs to handle retries and security signatures for external system integrations.

When do I need event sourcing for audit trails in my application?

You need event sourcing when your Rails app requires durable audit trails, real-time activity feeds, and accurate domain histories driven by specific events without polluting core domain models.

Does this Rails event pattern work with Solid Queue for background job processing?

Yes, this Rails event pattern explicitly leverages Solid Queue-backed background jobs to ensure reliable webhook delivery, automatic retries, and real-time updates for domain events.

Can I track client-side analytics events without polluting my Rails domain models?

Yes, you can capture client-side user interactions and analytics hooks as distinct domain events, preventing tracking logic from polluting your core Rails domain models.

Why use UUID keys for domain event models in Rails?

Using UUID keys for domain event models in Rails ensures globally unique identification, which is essential for reliable database-backed persistence and durable webhook delivery workflows.