business-logic-coder

📁 majesticlabs-dev/majestic-marketplace 📅 8 days ago
11
总安装量
2
周安装量
#27211
全站排名
安装命令
npx skills add https://github.com/majesticlabs-dev/majestic-marketplace --skill business-logic-coder

Agent 安装分布

opencode 2
claude-code 2
replit 2
openhands 1
zencoder 1

Skill 文档

Business Logic Patterns

Orchestrator for structured business logic in Rails.

Skill Routing

Need Skill Use When
Typed operations active-interaction-coder Creating business operations, refactoring service objects
State machines aasm-coder Implementing workflows, managing state transitions

When to Use Each

ActiveInteraction

Use for operations – things that happen once:

  • User registration
  • Order placement
  • Payment processing
  • Data imports
  • Report generation
# Example: One-time operation with typed inputs
outcome = Users::Create.run(email: email, name: name)

AASM

Use for state management – things with lifecycle:

  • Order status (pending → paid → shipped)
  • Subscription state (trial → active → cancelled)
  • Document workflow (draft → review → published)
  • Task status (todo → in_progress → done)
# Example: Stateful entity with transitions
order.pay!  # pending → paid
order.ship! # paid → shipped

Combined Pattern

Often used together – interactions trigger state changes:

module Orders
  class Process < ActiveInteraction::Base
    object :order, class: Order

    def execute
      order.process!  # AASM transition
      fulfill_order(order)
      order
    end
  end
end

Setup

# Gemfile
gem "active_interaction", "~> 5.3"
gem "aasm", "~> 5.5"

Quick Reference

ActiveInteraction:

  • .run – Returns outcome (check .valid?)
  • .run! – Raises on failure
  • compose – Call nested interactions

AASM:

  • .event! – Transition or raise
  • .event – Transition or return false
  • .may_event? – Check if transition valid
  • .aasm.events – List available events

Related Skills

  • event-sourcing-coder – Record domain events from state transitions