Reactive Agents — Framework Orientation

SkillProductivity

Orient to the Reactive Agents framework, understand the builder API shape, and select the right capability skills for your task.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Reactive Agents — Framework Orientation skill

What this skill tells your AI

The instructions your AI receives, as published by tylerjrbuell/reactive-agents-ts in apps/docs/skills/reactive-agents/SKILL.md and read by ahel’s review.

Agent objective

After loading this skill you know: (1) what the framework does, (2) the canonical builder chain pattern, (3) which capability skills to load for the task at hand.

Framework overview

Reactive Agents is an Effect-TS layered runtime for building autonomous AI agents in TypeScript. Agents are composed via a fluent ReactiveAgentBuilder — each .withX() call wires in an optional capability layer. The runtime ships 25 packages covering reasoning, memory, tools, MCP, guardrails, identity, observability, orchestration, cost, verification, eval, A2A networking, and web framework integrations (React, Vue, Svelte).

Six LLM providers are supported: anthropic, openai, gemini, ollama, litellm, and test.

Two syntaxes, one API

createAgent(config) (declarative) and ReactiveAgents.create().withX() (fluent) are the same API — same key names, same nesting, validated against the same AgentConfigSchema. Prefer createAgent for static definitions (the 90% case); reach for the builder when construction is conditional/imperative or needs a code-only escape hatch (.withHook, .withLayers, .compose).

Canonical pattern — createAgent(config) (front door)

import { createAgent } from "@reactive-agents/runtime";

const agent = await createAgent({
  name: "my-agent",
  provider: "anthropic",              // required
  model: "claude-sonnet-4-6",         // optional — provider default if omitted
  reasoning: { defaultStrategy: "adaptive", maxIterations: 10 },
  tools: {},                          // enables built-in tools
  memory: { tier: "enhanced", dbPath: "./agent.db" },
  observability: { verbosity: "normal", live: true },
});

const result = await agent.run("Your task here");
console.log(result.output);
console.log(result.metadata.stepsCount, result.metadata.strategyUsed);

Same agent — fluent builder

import { ReactiveAgents } from "@reactive-agents/runtime";

const agent = await ReactiveAgents.create()
  .withName("my-agent")
  .withProvider("anthropic")
  .withModel("claude-sonnet-4-6")
  .withReasoning({ defaultStrategy: "adaptive", maxIterations: 10 })
  .withTools()
  .withMemory({ tier: "enhanced", dbPath: "./agent.db" })
  .withObservability({ verbosity: "normal", live: true })
  .build();                           // always await — returns Promise<ReactiveAgent>

Skill routing — select by what you're building

Building...Load these skills
Any agent (start here)builder-api-reference
Task agent (research, analysis, coding)reasoning-strategy-selection, tool-creation
Agent that runs shell commandsshell-execution-sandbox
Agent with persistent memorymemory-patterns, context-and-continuity
Agent using MCP toolsmcp-tool-integration
Always-on / scheduled agentgateway-persistent-agents
Multi-agent workflowmulti-agent-orchestration
Agent embedded in a web appui-integration, interaction-autonomy
Production / multi-tenant agentidentity-and-guardrails, cost-budget-enforcement
Agent with output quality guaranteesreasoning-strategy-selection, quality-assurance
Agent-to-agent networkinga2a-agent-networking
Custom provider behavior or local modelsprovider-patterns

Recipe skills — complete reference implementations

Load a recipe skill for a full working example:

RecipeWhat it builds
recipe-research-agentResearch/analysis agent with memory + verification
recipe-code-assistantCode generation + sandboxed shell execution
recipe-persistent-monitorAlways-on monitoring via gateway + crons
recipe-orchestrated-workflowMulti-agent pipeline, lead/worker pattern
recipe-saas-agentMulti-tenant agent with identity + cost controls
recipe-embedded-app-agentAgent in React/Vue/Svelte with streaming UI

Builder factory methods

createAgent(config)                          // declarative front door — validate + build in one call
ReactiveAgents.create()                      // blank builder
ReactiveAgents.fromConfig(config)            // from AgentConfig object → builder
ReactiveAgents.fromJSON(json)                // from JSON string
ReactiveAgents.runOnce("task", builder)      // build + run + dispose in one call
builder.buildEffect()                        // returns Effect<ReactiveAgent> for Effect runtimes

Pitfalls

  • .build() is async — always await it; forgetting causes silent "agent is undefined" errors
  • .withProvider() is required — there is no default provider
  • .withTools() with no args enables 5 standard tools: web-search, http-get, file-read, file-write, code-execute. Shell execution is opt-in only via .withTools({ terminal: true }); use allowedTools to restrict standard tools
  • Strategy name is "plan-execute-reflect"not "plan-execute" (throws StrategyNotFoundError)
  • Memory tiers are "standard" and "enhanced"not "1" and "2" (those are deprecated)
  • "groq" and "openrouter" are not valid provider names — use "litellm" for proxy/router providers

Signals

GitHub stars
28
Forks
4
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
reactive-agents
Source
github.com/tylerjrbuell/reactive-agents-ts