Concepts

Agent concepts in Rails terms

Inspired by Eve-style agent building blocks — expressed as a directory under app/agents/ and a RailsAgents::Base class.

app/agents/support/agent.rb
class Support < RailsAgents::Base
  model :auto                 # cloud-routed models
  memory :conversation        # managed memory
  knowledge_from "knowledge/**/*"

  tool :lookup_order do |order_id:|
    Order.find(order_id).as_json
  end

  skill :triage, from: "skills/triage.rb"
  channel :slack
end

Instructions

The system prompt lives in prompt.md next to the agent. Chat edits and git commits share one source of truth.

app/agents/<name>/prompt.md

Tools

Each tool is a Ruby method. Arguments are keyword args; return values are JSON-safe hashes from your models.

app/agents/<name>/tools/

Skills

Skills are multi-step playbooks (refund flow, escalate, summarize). Compose them instead of stuffing the prompt.

app/agents/<name>/skills/

Channels

Where users meet the agent — Slack, Discord, web chat, cron, REST. One agent, many surfaces.

app/agents/<name>/channels/

Sandbox

Dashboard Test runs against a free cloud sandbox. No production side effects until you Deploy.

Dashboard → Test

Subagents

Other folders under app/agents/ can be called as specialists. Keep each agent small and focused.

app/agents/<other>/

Schedules

Cron-style channels fire digests and batch jobs without owning Sidekiq schedules yourself.

channels/cron.rb

Evals

YAML cases with expected outcomes. Run on every deploy so regressions fail before traffic.

app/agents/<name>/evals/

Ready to build?

Follow the getting started guide — gem, mount, vibe-code, test, deploy.

Getting started →